Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
canifa_note
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Hoàng Anh
canifa_note
Commits
506b477d
Commit
506b477d
authored
Aug 04, 2025
by
johnnyjoy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: get user by username
parent
fa2fa8a5
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
515 additions
and
1239 deletions
+515
-1239
filter.go
plugin/filter/filter.go
+5
-0
user_service.proto
proto/api/v1/user_service.proto
+1
-33
user_service.pb.go
proto/gen/api/v1/user_service.pb.go
+219
-372
user_service.pb.gw.go
proto/gen/api/v1/user_service.pb.gw.go
+0
-74
user_service_grpc.pb.go
proto/gen/api/v1/user_service_grpc.pb.go
+0
-40
openapi.yaml
proto/gen/openapi.yaml
+84
-336
user_filter_test.go
server/router/api/v1/user_filter_test.go
+68
-0
user_service.go
server/router/api/v1/user_service.go
+48
-44
user.go
store/db/mysql/user.go
+21
-0
user.go
store/db/postgres/user.go
+21
-0
user.go
store/db/sqlite/user.go
+21
-0
user.go
store/user.go
+3
-0
user.ts
web/src/store/user.ts
+2
-2
user_service.ts
web/src/types/proto/api/v1/user_service.ts
+3
-218
descriptor.ts
web/src/types/proto/google/protobuf/descriptor.ts
+19
-120
No files found.
plugin/filter/filter.go
View file @
506b477d
...
@@ -36,6 +36,11 @@ var MemoFilterCELAttributes = []cel.EnvOption{
...
@@ -36,6 +36,11 @@ var MemoFilterCELAttributes = []cel.EnvOption{
),
),
}
}
// UserFilterCELAttributes are the CEL attributes for user.
var
UserFilterCELAttributes
=
[]
cel
.
EnvOption
{
cel
.
Variable
(
"username"
,
cel
.
StringType
),
}
// Parse parses the filter string and returns the parsed expression.
// Parse parses the filter string and returns the parsed expression.
// The filter string should be a CEL expression.
// The filter string should be a CEL expression.
func
Parse
(
filter
string
,
opts
...
cel
.
EnvOption
)
(
expr
*
exprv1
.
ParsedExpr
,
err
error
)
{
func
Parse
(
filter
string
,
opts
...
cel
.
EnvOption
)
(
expr
*
exprv1
.
ParsedExpr
,
err
error
)
{
...
...
proto/api/v1/user_service.proto
View file @
506b477d
...
@@ -50,12 +50,6 @@ service UserService {
...
@@ -50,12 +50,6 @@ service UserService {
option
(
google.api.method_signature
)
=
"name"
;
option
(
google.api.method_signature
)
=
"name"
;
}
}
// SearchUsers searches for users based on query.
rpc
SearchUsers
(
SearchUsersRequest
)
returns
(
SearchUsersResponse
)
{
option
(
google.api.http
)
=
{
get
:
"/api/v1/users:search"
};
option
(
google.api.method_signature
)
=
"query"
;
}
// GetUserAvatar gets the avatar of a user.
// GetUserAvatar gets the avatar of a user.
rpc
GetUserAvatar
(
GetUserAvatarRequest
)
returns
(
google.api.HttpBody
)
{
rpc
GetUserAvatar
(
GetUserAvatarRequest
)
returns
(
google.api.HttpBody
)
{
option
(
google.api.http
)
=
{
get
:
"/api/v1/{name=users/*}/avatar"
};
option
(
google.api.http
)
=
{
get
:
"/api/v1/{name=users/*}/avatar"
};
...
@@ -231,12 +225,8 @@ message ListUsersRequest {
...
@@ -231,12 +225,8 @@ message ListUsersRequest {
// Supported fields: username, email, role, state, create_time, update_time
// Supported fields: username, email, role, state, create_time, update_time
string
filter
=
3
[(
google.api.field_behavior
)
=
OPTIONAL
];
string
filter
=
3
[(
google.api.field_behavior
)
=
OPTIONAL
];
// Optional. The order to sort results by.
// Example: "create_time desc" or "username asc"
string
order_by
=
4
[(
google.api.field_behavior
)
=
OPTIONAL
];
// Optional. If true, show deleted users in the response.
// Optional. If true, show deleted users in the response.
bool
show_deleted
=
5
[(
google.api.field_behavior
)
=
OPTIONAL
];
bool
show_deleted
=
4
[(
google.api.field_behavior
)
=
OPTIONAL
];
}
}
message
ListUsersResponse
{
message
ListUsersResponse
{
...
@@ -307,28 +297,6 @@ message DeleteUserRequest {
...
@@ -307,28 +297,6 @@ message DeleteUserRequest {
bool
force
=
2
[(
google.api.field_behavior
)
=
OPTIONAL
];
bool
force
=
2
[(
google.api.field_behavior
)
=
OPTIONAL
];
}
}
message
SearchUsersRequest
{
// Required. The search query.
string
query
=
1
[(
google.api.field_behavior
)
=
REQUIRED
];
// Optional. The maximum number of users to return.
int32
page_size
=
2
[(
google.api.field_behavior
)
=
OPTIONAL
];
// Optional. A page token for pagination.
string
page_token
=
3
[(
google.api.field_behavior
)
=
OPTIONAL
];
}
message
SearchUsersResponse
{
// The list of users matching the search query.
repeated
User
users
=
1
;
// A token for the next page of results.
string
next_page_token
=
2
;
// The total count of matching users.
int32
total_size
=
3
;
}
message
GetUserAvatarRequest
{
message
GetUserAvatarRequest
{
// Required. The resource name of the user.
// Required. The resource name of the user.
// Format: users/{user}
// Format: users/{user}
...
...
proto/gen/api/v1/user_service.pb.go
View file @
506b477d
...
@@ -140,7 +140,7 @@ func (x UserSetting_Key) Number() protoreflect.EnumNumber {
...
@@ -140,7 +140,7 @@ func (x UserSetting_Key) Number() protoreflect.EnumNumber {
// Deprecated: Use UserSetting_Key.Descriptor instead.
// Deprecated: Use UserSetting_Key.Descriptor instead.
func
(
UserSetting_Key
)
EnumDescriptor
()
([]
byte
,
[]
int
)
{
func
(
UserSetting_Key
)
EnumDescriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
4
,
0
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
2
,
0
}
}
}
type
User
struct
{
type
User
struct
{
...
@@ -294,11 +294,8 @@ type ListUsersRequest struct {
...
@@ -294,11 +294,8 @@ type ListUsersRequest struct {
// Supported operators: =, !=, <, <=, >, >=, :
// Supported operators: =, !=, <, <=, >, >=, :
// Supported fields: username, email, role, state, create_time, update_time
// Supported fields: username, email, role, state, create_time, update_time
Filter
string
`protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
Filter
string
`protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"`
// Optional. The order to sort results by.
// Example: "create_time desc" or "username asc"
OrderBy
string
`protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
// Optional. If true, show deleted users in the response.
// Optional. If true, show deleted users in the response.
ShowDeleted
bool
`protobuf:"varint,
5
,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"`
ShowDeleted
bool
`protobuf:"varint,
4
,opt,name=show_deleted,json=showDeleted,proto3" json:"show_deleted,omitempty"`
unknownFields
protoimpl
.
UnknownFields
unknownFields
protoimpl
.
UnknownFields
sizeCache
protoimpl
.
SizeCache
sizeCache
protoimpl
.
SizeCache
}
}
...
@@ -354,13 +351,6 @@ func (x *ListUsersRequest) GetFilter() string {
...
@@ -354,13 +351,6 @@ func (x *ListUsersRequest) GetFilter() string {
return
""
return
""
}
}
func
(
x
*
ListUsersRequest
)
GetOrderBy
()
string
{
if
x
!=
nil
{
return
x
.
OrderBy
}
return
""
}
func
(
x
*
ListUsersRequest
)
GetShowDeleted
()
bool
{
func
(
x
*
ListUsersRequest
)
GetShowDeleted
()
bool
{
if
x
!=
nil
{
if
x
!=
nil
{
return
x
.
ShowDeleted
return
x
.
ShowDeleted
...
@@ -681,132 +671,6 @@ func (x *DeleteUserRequest) GetForce() bool {
...
@@ -681,132 +671,6 @@ func (x *DeleteUserRequest) GetForce() bool {
return
false
return
false
}
}
type
SearchUsersRequest
struct
{
state
protoimpl
.
MessageState
`protogen:"open.v1"`
// Required. The search query.
Query
string
`protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`
// Optional. The maximum number of users to return.
PageSize
int32
`protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
// Optional. A page token for pagination.
PageToken
string
`protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
unknownFields
protoimpl
.
UnknownFields
sizeCache
protoimpl
.
SizeCache
}
func
(
x
*
SearchUsersRequest
)
Reset
()
{
*
x
=
SearchUsersRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
func
(
x
*
SearchUsersRequest
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
SearchUsersRequest
)
ProtoMessage
()
{}
func
(
x
*
SearchUsersRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
7
]
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use SearchUsersRequest.ProtoReflect.Descriptor instead.
func
(
*
SearchUsersRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
7
}
}
func
(
x
*
SearchUsersRequest
)
GetQuery
()
string
{
if
x
!=
nil
{
return
x
.
Query
}
return
""
}
func
(
x
*
SearchUsersRequest
)
GetPageSize
()
int32
{
if
x
!=
nil
{
return
x
.
PageSize
}
return
0
}
func
(
x
*
SearchUsersRequest
)
GetPageToken
()
string
{
if
x
!=
nil
{
return
x
.
PageToken
}
return
""
}
type
SearchUsersResponse
struct
{
state
protoimpl
.
MessageState
`protogen:"open.v1"`
// The list of users matching the search query.
Users
[]
*
User
`protobuf:"bytes,1,rep,name=users,proto3" json:"users,omitempty"`
// A token for the next page of results.
NextPageToken
string
`protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
// The total count of matching users.
TotalSize
int32
`protobuf:"varint,3,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
unknownFields
protoimpl
.
UnknownFields
sizeCache
protoimpl
.
SizeCache
}
func
(
x
*
SearchUsersResponse
)
Reset
()
{
*
x
=
SearchUsersResponse
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
8
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
}
func
(
x
*
SearchUsersResponse
)
String
()
string
{
return
protoimpl
.
X
.
MessageStringOf
(
x
)
}
func
(
*
SearchUsersResponse
)
ProtoMessage
()
{}
func
(
x
*
SearchUsersResponse
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
8
]
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
ms
.
StoreMessageInfo
(
mi
)
}
return
ms
}
return
mi
.
MessageOf
(
x
)
}
// Deprecated: Use SearchUsersResponse.ProtoReflect.Descriptor instead.
func
(
*
SearchUsersResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
8
}
}
func
(
x
*
SearchUsersResponse
)
GetUsers
()
[]
*
User
{
if
x
!=
nil
{
return
x
.
Users
}
return
nil
}
func
(
x
*
SearchUsersResponse
)
GetNextPageToken
()
string
{
if
x
!=
nil
{
return
x
.
NextPageToken
}
return
""
}
func
(
x
*
SearchUsersResponse
)
GetTotalSize
()
int32
{
if
x
!=
nil
{
return
x
.
TotalSize
}
return
0
}
type
GetUserAvatarRequest
struct
{
type
GetUserAvatarRequest
struct
{
state
protoimpl
.
MessageState
`protogen:"open.v1"`
state
protoimpl
.
MessageState
`protogen:"open.v1"`
// Required. The resource name of the user.
// Required. The resource name of the user.
...
@@ -818,7 +682,7 @@ type GetUserAvatarRequest struct {
...
@@ -818,7 +682,7 @@ type GetUserAvatarRequest struct {
func
(
x
*
GetUserAvatarRequest
)
Reset
()
{
func
(
x
*
GetUserAvatarRequest
)
Reset
()
{
*
x
=
GetUserAvatarRequest
{}
*
x
=
GetUserAvatarRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
9
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -830,7 +694,7 @@ func (x *GetUserAvatarRequest) String() string {
...
@@ -830,7 +694,7 @@ func (x *GetUserAvatarRequest) String() string {
func
(
*
GetUserAvatarRequest
)
ProtoMessage
()
{}
func
(
*
GetUserAvatarRequest
)
ProtoMessage
()
{}
func
(
x
*
GetUserAvatarRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
GetUserAvatarRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
9
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
7
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -843,7 +707,7 @@ func (x *GetUserAvatarRequest) ProtoReflect() protoreflect.Message {
...
@@ -843,7 +707,7 @@ func (x *GetUserAvatarRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetUserAvatarRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use GetUserAvatarRequest.ProtoReflect.Descriptor instead.
func
(
*
GetUserAvatarRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
GetUserAvatarRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
9
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
7
}
}
}
func
(
x
*
GetUserAvatarRequest
)
GetName
()
string
{
func
(
x
*
GetUserAvatarRequest
)
GetName
()
string
{
...
@@ -875,7 +739,7 @@ type UserStats struct {
...
@@ -875,7 +739,7 @@ type UserStats struct {
func
(
x
*
UserStats
)
Reset
()
{
func
(
x
*
UserStats
)
Reset
()
{
*
x
=
UserStats
{}
*
x
=
UserStats
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
10
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
8
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -887,7 +751,7 @@ func (x *UserStats) String() string {
...
@@ -887,7 +751,7 @@ func (x *UserStats) String() string {
func
(
*
UserStats
)
ProtoMessage
()
{}
func
(
*
UserStats
)
ProtoMessage
()
{}
func
(
x
*
UserStats
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserStats
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
10
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
8
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -900,7 +764,7 @@ func (x *UserStats) ProtoReflect() protoreflect.Message {
...
@@ -900,7 +764,7 @@ func (x *UserStats) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserStats.ProtoReflect.Descriptor instead.
// Deprecated: Use UserStats.ProtoReflect.Descriptor instead.
func
(
*
UserStats
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserStats
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
10
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
8
}
}
}
func
(
x
*
UserStats
)
GetName
()
string
{
func
(
x
*
UserStats
)
GetName
()
string
{
...
@@ -956,7 +820,7 @@ type GetUserStatsRequest struct {
...
@@ -956,7 +820,7 @@ type GetUserStatsRequest struct {
func
(
x
*
GetUserStatsRequest
)
Reset
()
{
func
(
x
*
GetUserStatsRequest
)
Reset
()
{
*
x
=
GetUserStatsRequest
{}
*
x
=
GetUserStatsRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
11
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
9
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -968,7 +832,7 @@ func (x *GetUserStatsRequest) String() string {
...
@@ -968,7 +832,7 @@ func (x *GetUserStatsRequest) String() string {
func
(
*
GetUserStatsRequest
)
ProtoMessage
()
{}
func
(
*
GetUserStatsRequest
)
ProtoMessage
()
{}
func
(
x
*
GetUserStatsRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
GetUserStatsRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
11
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
9
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -981,7 +845,7 @@ func (x *GetUserStatsRequest) ProtoReflect() protoreflect.Message {
...
@@ -981,7 +845,7 @@ func (x *GetUserStatsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetUserStatsRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use GetUserStatsRequest.ProtoReflect.Descriptor instead.
func
(
*
GetUserStatsRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
GetUserStatsRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
11
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
9
}
}
}
func
(
x
*
GetUserStatsRequest
)
GetName
()
string
{
func
(
x
*
GetUserStatsRequest
)
GetName
()
string
{
...
@@ -999,7 +863,7 @@ type ListAllUserStatsRequest struct {
...
@@ -999,7 +863,7 @@ type ListAllUserStatsRequest struct {
func
(
x
*
ListAllUserStatsRequest
)
Reset
()
{
func
(
x
*
ListAllUserStatsRequest
)
Reset
()
{
*
x
=
ListAllUserStatsRequest
{}
*
x
=
ListAllUserStatsRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
2
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
0
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1011,7 +875,7 @@ func (x *ListAllUserStatsRequest) String() string {
...
@@ -1011,7 +875,7 @@ func (x *ListAllUserStatsRequest) String() string {
func
(
*
ListAllUserStatsRequest
)
ProtoMessage
()
{}
func
(
*
ListAllUserStatsRequest
)
ProtoMessage
()
{}
func
(
x
*
ListAllUserStatsRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ListAllUserStatsRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
2
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
0
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1024,7 +888,7 @@ func (x *ListAllUserStatsRequest) ProtoReflect() protoreflect.Message {
...
@@ -1024,7 +888,7 @@ func (x *ListAllUserStatsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListAllUserStatsRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use ListAllUserStatsRequest.ProtoReflect.Descriptor instead.
func
(
*
ListAllUserStatsRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ListAllUserStatsRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
2
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
0
}
}
}
type
ListAllUserStatsResponse
struct
{
type
ListAllUserStatsResponse
struct
{
...
@@ -1037,7 +901,7 @@ type ListAllUserStatsResponse struct {
...
@@ -1037,7 +901,7 @@ type ListAllUserStatsResponse struct {
func
(
x
*
ListAllUserStatsResponse
)
Reset
()
{
func
(
x
*
ListAllUserStatsResponse
)
Reset
()
{
*
x
=
ListAllUserStatsResponse
{}
*
x
=
ListAllUserStatsResponse
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
3
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
1
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1049,7 +913,7 @@ func (x *ListAllUserStatsResponse) String() string {
...
@@ -1049,7 +913,7 @@ func (x *ListAllUserStatsResponse) String() string {
func
(
*
ListAllUserStatsResponse
)
ProtoMessage
()
{}
func
(
*
ListAllUserStatsResponse
)
ProtoMessage
()
{}
func
(
x
*
ListAllUserStatsResponse
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ListAllUserStatsResponse
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
3
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
1
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1062,7 +926,7 @@ func (x *ListAllUserStatsResponse) ProtoReflect() protoreflect.Message {
...
@@ -1062,7 +926,7 @@ func (x *ListAllUserStatsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListAllUserStatsResponse.ProtoReflect.Descriptor instead.
// Deprecated: Use ListAllUserStatsResponse.ProtoReflect.Descriptor instead.
func
(
*
ListAllUserStatsResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ListAllUserStatsResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
3
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
1
}
}
}
func
(
x
*
ListAllUserStatsResponse
)
GetStats
()
[]
*
UserStats
{
func
(
x
*
ListAllUserStatsResponse
)
GetStats
()
[]
*
UserStats
{
...
@@ -1092,7 +956,7 @@ type UserSetting struct {
...
@@ -1092,7 +956,7 @@ type UserSetting struct {
func
(
x
*
UserSetting
)
Reset
()
{
func
(
x
*
UserSetting
)
Reset
()
{
*
x
=
UserSetting
{}
*
x
=
UserSetting
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
4
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
2
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1104,7 +968,7 @@ func (x *UserSetting) String() string {
...
@@ -1104,7 +968,7 @@ func (x *UserSetting) String() string {
func
(
*
UserSetting
)
ProtoMessage
()
{}
func
(
*
UserSetting
)
ProtoMessage
()
{}
func
(
x
*
UserSetting
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserSetting
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
4
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
2
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1117,7 +981,7 @@ func (x *UserSetting) ProtoReflect() protoreflect.Message {
...
@@ -1117,7 +981,7 @@ func (x *UserSetting) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserSetting.ProtoReflect.Descriptor instead.
// Deprecated: Use UserSetting.ProtoReflect.Descriptor instead.
func
(
*
UserSetting
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserSetting
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
4
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
2
}
}
}
func
(
x
*
UserSetting
)
GetName
()
string
{
func
(
x
*
UserSetting
)
GetName
()
string
{
...
@@ -1209,7 +1073,7 @@ type GetUserSettingRequest struct {
...
@@ -1209,7 +1073,7 @@ type GetUserSettingRequest struct {
func
(
x
*
GetUserSettingRequest
)
Reset
()
{
func
(
x
*
GetUserSettingRequest
)
Reset
()
{
*
x
=
GetUserSettingRequest
{}
*
x
=
GetUserSettingRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
5
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
3
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1221,7 +1085,7 @@ func (x *GetUserSettingRequest) String() string {
...
@@ -1221,7 +1085,7 @@ func (x *GetUserSettingRequest) String() string {
func
(
*
GetUserSettingRequest
)
ProtoMessage
()
{}
func
(
*
GetUserSettingRequest
)
ProtoMessage
()
{}
func
(
x
*
GetUserSettingRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
GetUserSettingRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
5
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
3
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1234,7 +1098,7 @@ func (x *GetUserSettingRequest) ProtoReflect() protoreflect.Message {
...
@@ -1234,7 +1098,7 @@ func (x *GetUserSettingRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetUserSettingRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use GetUserSettingRequest.ProtoReflect.Descriptor instead.
func
(
*
GetUserSettingRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
GetUserSettingRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
5
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
3
}
}
}
func
(
x
*
GetUserSettingRequest
)
GetName
()
string
{
func
(
x
*
GetUserSettingRequest
)
GetName
()
string
{
...
@@ -1256,7 +1120,7 @@ type UpdateUserSettingRequest struct {
...
@@ -1256,7 +1120,7 @@ type UpdateUserSettingRequest struct {
func
(
x
*
UpdateUserSettingRequest
)
Reset
()
{
func
(
x
*
UpdateUserSettingRequest
)
Reset
()
{
*
x
=
UpdateUserSettingRequest
{}
*
x
=
UpdateUserSettingRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
6
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
4
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1268,7 +1132,7 @@ func (x *UpdateUserSettingRequest) String() string {
...
@@ -1268,7 +1132,7 @@ func (x *UpdateUserSettingRequest) String() string {
func
(
*
UpdateUserSettingRequest
)
ProtoMessage
()
{}
func
(
*
UpdateUserSettingRequest
)
ProtoMessage
()
{}
func
(
x
*
UpdateUserSettingRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UpdateUserSettingRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
6
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
4
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1281,7 +1145,7 @@ func (x *UpdateUserSettingRequest) ProtoReflect() protoreflect.Message {
...
@@ -1281,7 +1145,7 @@ func (x *UpdateUserSettingRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateUserSettingRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use UpdateUserSettingRequest.ProtoReflect.Descriptor instead.
func
(
*
UpdateUserSettingRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UpdateUserSettingRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
6
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
4
}
}
}
func
(
x
*
UpdateUserSettingRequest
)
GetSetting
()
*
UserSetting
{
func
(
x
*
UpdateUserSettingRequest
)
GetSetting
()
*
UserSetting
{
...
@@ -1318,7 +1182,7 @@ type ListUserSettingsRequest struct {
...
@@ -1318,7 +1182,7 @@ type ListUserSettingsRequest struct {
func
(
x
*
ListUserSettingsRequest
)
Reset
()
{
func
(
x
*
ListUserSettingsRequest
)
Reset
()
{
*
x
=
ListUserSettingsRequest
{}
*
x
=
ListUserSettingsRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
7
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
5
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1330,7 +1194,7 @@ func (x *ListUserSettingsRequest) String() string {
...
@@ -1330,7 +1194,7 @@ func (x *ListUserSettingsRequest) String() string {
func
(
*
ListUserSettingsRequest
)
ProtoMessage
()
{}
func
(
*
ListUserSettingsRequest
)
ProtoMessage
()
{}
func
(
x
*
ListUserSettingsRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ListUserSettingsRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
7
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
5
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1343,7 +1207,7 @@ func (x *ListUserSettingsRequest) ProtoReflect() protoreflect.Message {
...
@@ -1343,7 +1207,7 @@ func (x *ListUserSettingsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListUserSettingsRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use ListUserSettingsRequest.ProtoReflect.Descriptor instead.
func
(
*
ListUserSettingsRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ListUserSettingsRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
7
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
5
}
}
}
func
(
x
*
ListUserSettingsRequest
)
GetParent
()
string
{
func
(
x
*
ListUserSettingsRequest
)
GetParent
()
string
{
...
@@ -1383,7 +1247,7 @@ type ListUserSettingsResponse struct {
...
@@ -1383,7 +1247,7 @@ type ListUserSettingsResponse struct {
func
(
x
*
ListUserSettingsResponse
)
Reset
()
{
func
(
x
*
ListUserSettingsResponse
)
Reset
()
{
*
x
=
ListUserSettingsResponse
{}
*
x
=
ListUserSettingsResponse
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
8
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
6
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1395,7 +1259,7 @@ func (x *ListUserSettingsResponse) String() string {
...
@@ -1395,7 +1259,7 @@ func (x *ListUserSettingsResponse) String() string {
func
(
*
ListUserSettingsResponse
)
ProtoMessage
()
{}
func
(
*
ListUserSettingsResponse
)
ProtoMessage
()
{}
func
(
x
*
ListUserSettingsResponse
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ListUserSettingsResponse
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
8
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
6
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1408,7 +1272,7 @@ func (x *ListUserSettingsResponse) ProtoReflect() protoreflect.Message {
...
@@ -1408,7 +1272,7 @@ func (x *ListUserSettingsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListUserSettingsResponse.ProtoReflect.Descriptor instead.
// Deprecated: Use ListUserSettingsResponse.ProtoReflect.Descriptor instead.
func
(
*
ListUserSettingsResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ListUserSettingsResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
8
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
6
}
}
}
func
(
x
*
ListUserSettingsResponse
)
GetSettings
()
[]
*
UserSetting
{
func
(
x
*
ListUserSettingsResponse
)
GetSettings
()
[]
*
UserSetting
{
...
@@ -1452,7 +1316,7 @@ type UserAccessToken struct {
...
@@ -1452,7 +1316,7 @@ type UserAccessToken struct {
func
(
x
*
UserAccessToken
)
Reset
()
{
func
(
x
*
UserAccessToken
)
Reset
()
{
*
x
=
UserAccessToken
{}
*
x
=
UserAccessToken
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
9
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1464,7 +1328,7 @@ func (x *UserAccessToken) String() string {
...
@@ -1464,7 +1328,7 @@ func (x *UserAccessToken) String() string {
func
(
*
UserAccessToken
)
ProtoMessage
()
{}
func
(
*
UserAccessToken
)
ProtoMessage
()
{}
func
(
x
*
UserAccessToken
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserAccessToken
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
9
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
1
7
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1477,7 +1341,7 @@ func (x *UserAccessToken) ProtoReflect() protoreflect.Message {
...
@@ -1477,7 +1341,7 @@ func (x *UserAccessToken) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserAccessToken.ProtoReflect.Descriptor instead.
// Deprecated: Use UserAccessToken.ProtoReflect.Descriptor instead.
func
(
*
UserAccessToken
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserAccessToken
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
9
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
7
}
}
}
func
(
x
*
UserAccessToken
)
GetName
()
string
{
func
(
x
*
UserAccessToken
)
GetName
()
string
{
...
@@ -1530,7 +1394,7 @@ type ListUserAccessTokensRequest struct {
...
@@ -1530,7 +1394,7 @@ type ListUserAccessTokensRequest struct {
func
(
x
*
ListUserAccessTokensRequest
)
Reset
()
{
func
(
x
*
ListUserAccessTokensRequest
)
Reset
()
{
*
x
=
ListUserAccessTokensRequest
{}
*
x
=
ListUserAccessTokensRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
20
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
18
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1542,7 +1406,7 @@ func (x *ListUserAccessTokensRequest) String() string {
...
@@ -1542,7 +1406,7 @@ func (x *ListUserAccessTokensRequest) String() string {
func
(
*
ListUserAccessTokensRequest
)
ProtoMessage
()
{}
func
(
*
ListUserAccessTokensRequest
)
ProtoMessage
()
{}
func
(
x
*
ListUserAccessTokensRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ListUserAccessTokensRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
20
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
18
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1555,7 +1419,7 @@ func (x *ListUserAccessTokensRequest) ProtoReflect() protoreflect.Message {
...
@@ -1555,7 +1419,7 @@ func (x *ListUserAccessTokensRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListUserAccessTokensRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use ListUserAccessTokensRequest.ProtoReflect.Descriptor instead.
func
(
*
ListUserAccessTokensRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ListUserAccessTokensRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
20
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
18
}
}
}
func
(
x
*
ListUserAccessTokensRequest
)
GetParent
()
string
{
func
(
x
*
ListUserAccessTokensRequest
)
GetParent
()
string
{
...
@@ -1593,7 +1457,7 @@ type ListUserAccessTokensResponse struct {
...
@@ -1593,7 +1457,7 @@ type ListUserAccessTokensResponse struct {
func
(
x
*
ListUserAccessTokensResponse
)
Reset
()
{
func
(
x
*
ListUserAccessTokensResponse
)
Reset
()
{
*
x
=
ListUserAccessTokensResponse
{}
*
x
=
ListUserAccessTokensResponse
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
21
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
19
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1605,7 +1469,7 @@ func (x *ListUserAccessTokensResponse) String() string {
...
@@ -1605,7 +1469,7 @@ func (x *ListUserAccessTokensResponse) String() string {
func
(
*
ListUserAccessTokensResponse
)
ProtoMessage
()
{}
func
(
*
ListUserAccessTokensResponse
)
ProtoMessage
()
{}
func
(
x
*
ListUserAccessTokensResponse
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ListUserAccessTokensResponse
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
21
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
19
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1618,7 +1482,7 @@ func (x *ListUserAccessTokensResponse) ProtoReflect() protoreflect.Message {
...
@@ -1618,7 +1482,7 @@ func (x *ListUserAccessTokensResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListUserAccessTokensResponse.ProtoReflect.Descriptor instead.
// Deprecated: Use ListUserAccessTokensResponse.ProtoReflect.Descriptor instead.
func
(
*
ListUserAccessTokensResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ListUserAccessTokensResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
21
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
19
}
}
}
func
(
x
*
ListUserAccessTokensResponse
)
GetAccessTokens
()
[]
*
UserAccessToken
{
func
(
x
*
ListUserAccessTokensResponse
)
GetAccessTokens
()
[]
*
UserAccessToken
{
...
@@ -1657,7 +1521,7 @@ type CreateUserAccessTokenRequest struct {
...
@@ -1657,7 +1521,7 @@ type CreateUserAccessTokenRequest struct {
func
(
x
*
CreateUserAccessTokenRequest
)
Reset
()
{
func
(
x
*
CreateUserAccessTokenRequest
)
Reset
()
{
*
x
=
CreateUserAccessTokenRequest
{}
*
x
=
CreateUserAccessTokenRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
2
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
0
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1669,7 +1533,7 @@ func (x *CreateUserAccessTokenRequest) String() string {
...
@@ -1669,7 +1533,7 @@ func (x *CreateUserAccessTokenRequest) String() string {
func
(
*
CreateUserAccessTokenRequest
)
ProtoMessage
()
{}
func
(
*
CreateUserAccessTokenRequest
)
ProtoMessage
()
{}
func
(
x
*
CreateUserAccessTokenRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
CreateUserAccessTokenRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
2
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
0
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1682,7 +1546,7 @@ func (x *CreateUserAccessTokenRequest) ProtoReflect() protoreflect.Message {
...
@@ -1682,7 +1546,7 @@ func (x *CreateUserAccessTokenRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use CreateUserAccessTokenRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use CreateUserAccessTokenRequest.ProtoReflect.Descriptor instead.
func
(
*
CreateUserAccessTokenRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
CreateUserAccessTokenRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
2
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
0
}
}
}
func
(
x
*
CreateUserAccessTokenRequest
)
GetParent
()
string
{
func
(
x
*
CreateUserAccessTokenRequest
)
GetParent
()
string
{
...
@@ -1717,7 +1581,7 @@ type DeleteUserAccessTokenRequest struct {
...
@@ -1717,7 +1581,7 @@ type DeleteUserAccessTokenRequest struct {
func
(
x
*
DeleteUserAccessTokenRequest
)
Reset
()
{
func
(
x
*
DeleteUserAccessTokenRequest
)
Reset
()
{
*
x
=
DeleteUserAccessTokenRequest
{}
*
x
=
DeleteUserAccessTokenRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
3
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
1
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1729,7 +1593,7 @@ func (x *DeleteUserAccessTokenRequest) String() string {
...
@@ -1729,7 +1593,7 @@ func (x *DeleteUserAccessTokenRequest) String() string {
func
(
*
DeleteUserAccessTokenRequest
)
ProtoMessage
()
{}
func
(
*
DeleteUserAccessTokenRequest
)
ProtoMessage
()
{}
func
(
x
*
DeleteUserAccessTokenRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
DeleteUserAccessTokenRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
3
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
1
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1742,7 +1606,7 @@ func (x *DeleteUserAccessTokenRequest) ProtoReflect() protoreflect.Message {
...
@@ -1742,7 +1606,7 @@ func (x *DeleteUserAccessTokenRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteUserAccessTokenRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use DeleteUserAccessTokenRequest.ProtoReflect.Descriptor instead.
func
(
*
DeleteUserAccessTokenRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
DeleteUserAccessTokenRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
3
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
1
}
}
}
func
(
x
*
DeleteUserAccessTokenRequest
)
GetName
()
string
{
func
(
x
*
DeleteUserAccessTokenRequest
)
GetName
()
string
{
...
@@ -1772,7 +1636,7 @@ type UserSession struct {
...
@@ -1772,7 +1636,7 @@ type UserSession struct {
func
(
x
*
UserSession
)
Reset
()
{
func
(
x
*
UserSession
)
Reset
()
{
*
x
=
UserSession
{}
*
x
=
UserSession
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
4
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
2
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1784,7 +1648,7 @@ func (x *UserSession) String() string {
...
@@ -1784,7 +1648,7 @@ func (x *UserSession) String() string {
func
(
*
UserSession
)
ProtoMessage
()
{}
func
(
*
UserSession
)
ProtoMessage
()
{}
func
(
x
*
UserSession
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserSession
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
4
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
2
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1797,7 +1661,7 @@ func (x *UserSession) ProtoReflect() protoreflect.Message {
...
@@ -1797,7 +1661,7 @@ func (x *UserSession) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserSession.ProtoReflect.Descriptor instead.
// Deprecated: Use UserSession.ProtoReflect.Descriptor instead.
func
(
*
UserSession
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserSession
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
4
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
2
}
}
}
func
(
x
*
UserSession
)
GetName
()
string
{
func
(
x
*
UserSession
)
GetName
()
string
{
...
@@ -1846,7 +1710,7 @@ type ListUserSessionsRequest struct {
...
@@ -1846,7 +1710,7 @@ type ListUserSessionsRequest struct {
func
(
x
*
ListUserSessionsRequest
)
Reset
()
{
func
(
x
*
ListUserSessionsRequest
)
Reset
()
{
*
x
=
ListUserSessionsRequest
{}
*
x
=
ListUserSessionsRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
5
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
3
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1858,7 +1722,7 @@ func (x *ListUserSessionsRequest) String() string {
...
@@ -1858,7 +1722,7 @@ func (x *ListUserSessionsRequest) String() string {
func
(
*
ListUserSessionsRequest
)
ProtoMessage
()
{}
func
(
*
ListUserSessionsRequest
)
ProtoMessage
()
{}
func
(
x
*
ListUserSessionsRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ListUserSessionsRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
5
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
3
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1871,7 +1735,7 @@ func (x *ListUserSessionsRequest) ProtoReflect() protoreflect.Message {
...
@@ -1871,7 +1735,7 @@ func (x *ListUserSessionsRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListUserSessionsRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use ListUserSessionsRequest.ProtoReflect.Descriptor instead.
func
(
*
ListUserSessionsRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ListUserSessionsRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
5
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
3
}
}
}
func
(
x
*
ListUserSessionsRequest
)
GetParent
()
string
{
func
(
x
*
ListUserSessionsRequest
)
GetParent
()
string
{
...
@@ -1891,7 +1755,7 @@ type ListUserSessionsResponse struct {
...
@@ -1891,7 +1755,7 @@ type ListUserSessionsResponse struct {
func
(
x
*
ListUserSessionsResponse
)
Reset
()
{
func
(
x
*
ListUserSessionsResponse
)
Reset
()
{
*
x
=
ListUserSessionsResponse
{}
*
x
=
ListUserSessionsResponse
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
6
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
4
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1903,7 +1767,7 @@ func (x *ListUserSessionsResponse) String() string {
...
@@ -1903,7 +1767,7 @@ func (x *ListUserSessionsResponse) String() string {
func
(
*
ListUserSessionsResponse
)
ProtoMessage
()
{}
func
(
*
ListUserSessionsResponse
)
ProtoMessage
()
{}
func
(
x
*
ListUserSessionsResponse
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ListUserSessionsResponse
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
6
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
4
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1916,7 +1780,7 @@ func (x *ListUserSessionsResponse) ProtoReflect() protoreflect.Message {
...
@@ -1916,7 +1780,7 @@ func (x *ListUserSessionsResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListUserSessionsResponse.ProtoReflect.Descriptor instead.
// Deprecated: Use ListUserSessionsResponse.ProtoReflect.Descriptor instead.
func
(
*
ListUserSessionsResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ListUserSessionsResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
6
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
4
}
}
}
func
(
x
*
ListUserSessionsResponse
)
GetSessions
()
[]
*
UserSession
{
func
(
x
*
ListUserSessionsResponse
)
GetSessions
()
[]
*
UserSession
{
...
@@ -1937,7 +1801,7 @@ type RevokeUserSessionRequest struct {
...
@@ -1937,7 +1801,7 @@ type RevokeUserSessionRequest struct {
func
(
x
*
RevokeUserSessionRequest
)
Reset
()
{
func
(
x
*
RevokeUserSessionRequest
)
Reset
()
{
*
x
=
RevokeUserSessionRequest
{}
*
x
=
RevokeUserSessionRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
7
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
5
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -1949,7 +1813,7 @@ func (x *RevokeUserSessionRequest) String() string {
...
@@ -1949,7 +1813,7 @@ func (x *RevokeUserSessionRequest) String() string {
func
(
*
RevokeUserSessionRequest
)
ProtoMessage
()
{}
func
(
*
RevokeUserSessionRequest
)
ProtoMessage
()
{}
func
(
x
*
RevokeUserSessionRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
RevokeUserSessionRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
7
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
5
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -1962,7 +1826,7 @@ func (x *RevokeUserSessionRequest) ProtoReflect() protoreflect.Message {
...
@@ -1962,7 +1826,7 @@ func (x *RevokeUserSessionRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use RevokeUserSessionRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use RevokeUserSessionRequest.ProtoReflect.Descriptor instead.
func
(
*
RevokeUserSessionRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
RevokeUserSessionRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
7
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
5
}
}
}
func
(
x
*
RevokeUserSessionRequest
)
GetName
()
string
{
func
(
x
*
RevokeUserSessionRequest
)
GetName
()
string
{
...
@@ -1992,7 +1856,7 @@ type UserWebhook struct {
...
@@ -1992,7 +1856,7 @@ type UserWebhook struct {
func
(
x
*
UserWebhook
)
Reset
()
{
func
(
x
*
UserWebhook
)
Reset
()
{
*
x
=
UserWebhook
{}
*
x
=
UserWebhook
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
8
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
6
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2004,7 +1868,7 @@ func (x *UserWebhook) String() string {
...
@@ -2004,7 +1868,7 @@ func (x *UserWebhook) String() string {
func
(
*
UserWebhook
)
ProtoMessage
()
{}
func
(
*
UserWebhook
)
ProtoMessage
()
{}
func
(
x
*
UserWebhook
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserWebhook
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
8
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
6
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2017,7 +1881,7 @@ func (x *UserWebhook) ProtoReflect() protoreflect.Message {
...
@@ -2017,7 +1881,7 @@ func (x *UserWebhook) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserWebhook.ProtoReflect.Descriptor instead.
// Deprecated: Use UserWebhook.ProtoReflect.Descriptor instead.
func
(
*
UserWebhook
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserWebhook
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
8
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
6
}
}
}
func
(
x
*
UserWebhook
)
GetName
()
string
{
func
(
x
*
UserWebhook
)
GetName
()
string
{
...
@@ -2066,7 +1930,7 @@ type ListUserWebhooksRequest struct {
...
@@ -2066,7 +1930,7 @@ type ListUserWebhooksRequest struct {
func
(
x
*
ListUserWebhooksRequest
)
Reset
()
{
func
(
x
*
ListUserWebhooksRequest
)
Reset
()
{
*
x
=
ListUserWebhooksRequest
{}
*
x
=
ListUserWebhooksRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
9
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2078,7 +1942,7 @@ func (x *ListUserWebhooksRequest) String() string {
...
@@ -2078,7 +1942,7 @@ func (x *ListUserWebhooksRequest) String() string {
func
(
*
ListUserWebhooksRequest
)
ProtoMessage
()
{}
func
(
*
ListUserWebhooksRequest
)
ProtoMessage
()
{}
func
(
x
*
ListUserWebhooksRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ListUserWebhooksRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
9
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
2
7
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2091,7 +1955,7 @@ func (x *ListUserWebhooksRequest) ProtoReflect() protoreflect.Message {
...
@@ -2091,7 +1955,7 @@ func (x *ListUserWebhooksRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListUserWebhooksRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use ListUserWebhooksRequest.ProtoReflect.Descriptor instead.
func
(
*
ListUserWebhooksRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ListUserWebhooksRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
9
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
7
}
}
}
func
(
x
*
ListUserWebhooksRequest
)
GetParent
()
string
{
func
(
x
*
ListUserWebhooksRequest
)
GetParent
()
string
{
...
@@ -2111,7 +1975,7 @@ type ListUserWebhooksResponse struct {
...
@@ -2111,7 +1975,7 @@ type ListUserWebhooksResponse struct {
func
(
x
*
ListUserWebhooksResponse
)
Reset
()
{
func
(
x
*
ListUserWebhooksResponse
)
Reset
()
{
*
x
=
ListUserWebhooksResponse
{}
*
x
=
ListUserWebhooksResponse
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
30
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
28
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2123,7 +1987,7 @@ func (x *ListUserWebhooksResponse) String() string {
...
@@ -2123,7 +1987,7 @@ func (x *ListUserWebhooksResponse) String() string {
func
(
*
ListUserWebhooksResponse
)
ProtoMessage
()
{}
func
(
*
ListUserWebhooksResponse
)
ProtoMessage
()
{}
func
(
x
*
ListUserWebhooksResponse
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
ListUserWebhooksResponse
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
30
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
28
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2136,7 +2000,7 @@ func (x *ListUserWebhooksResponse) ProtoReflect() protoreflect.Message {
...
@@ -2136,7 +2000,7 @@ func (x *ListUserWebhooksResponse) ProtoReflect() protoreflect.Message {
// Deprecated: Use ListUserWebhooksResponse.ProtoReflect.Descriptor instead.
// Deprecated: Use ListUserWebhooksResponse.ProtoReflect.Descriptor instead.
func
(
*
ListUserWebhooksResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
ListUserWebhooksResponse
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
30
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
28
}
}
}
func
(
x
*
ListUserWebhooksResponse
)
GetWebhooks
()
[]
*
UserWebhook
{
func
(
x
*
ListUserWebhooksResponse
)
GetWebhooks
()
[]
*
UserWebhook
{
...
@@ -2159,7 +2023,7 @@ type CreateUserWebhookRequest struct {
...
@@ -2159,7 +2023,7 @@ type CreateUserWebhookRequest struct {
func
(
x
*
CreateUserWebhookRequest
)
Reset
()
{
func
(
x
*
CreateUserWebhookRequest
)
Reset
()
{
*
x
=
CreateUserWebhookRequest
{}
*
x
=
CreateUserWebhookRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
31
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
29
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2171,7 +2035,7 @@ func (x *CreateUserWebhookRequest) String() string {
...
@@ -2171,7 +2035,7 @@ func (x *CreateUserWebhookRequest) String() string {
func
(
*
CreateUserWebhookRequest
)
ProtoMessage
()
{}
func
(
*
CreateUserWebhookRequest
)
ProtoMessage
()
{}
func
(
x
*
CreateUserWebhookRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
CreateUserWebhookRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
31
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
29
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2184,7 +2048,7 @@ func (x *CreateUserWebhookRequest) ProtoReflect() protoreflect.Message {
...
@@ -2184,7 +2048,7 @@ func (x *CreateUserWebhookRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use CreateUserWebhookRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use CreateUserWebhookRequest.ProtoReflect.Descriptor instead.
func
(
*
CreateUserWebhookRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
CreateUserWebhookRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
31
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
29
}
}
}
func
(
x
*
CreateUserWebhookRequest
)
GetParent
()
string
{
func
(
x
*
CreateUserWebhookRequest
)
GetParent
()
string
{
...
@@ -2213,7 +2077,7 @@ type UpdateUserWebhookRequest struct {
...
@@ -2213,7 +2077,7 @@ type UpdateUserWebhookRequest struct {
func
(
x
*
UpdateUserWebhookRequest
)
Reset
()
{
func
(
x
*
UpdateUserWebhookRequest
)
Reset
()
{
*
x
=
UpdateUserWebhookRequest
{}
*
x
=
UpdateUserWebhookRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
2
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
0
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2225,7 +2089,7 @@ func (x *UpdateUserWebhookRequest) String() string {
...
@@ -2225,7 +2089,7 @@ func (x *UpdateUserWebhookRequest) String() string {
func
(
*
UpdateUserWebhookRequest
)
ProtoMessage
()
{}
func
(
*
UpdateUserWebhookRequest
)
ProtoMessage
()
{}
func
(
x
*
UpdateUserWebhookRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UpdateUserWebhookRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
2
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
0
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2238,7 +2102,7 @@ func (x *UpdateUserWebhookRequest) ProtoReflect() protoreflect.Message {
...
@@ -2238,7 +2102,7 @@ func (x *UpdateUserWebhookRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use UpdateUserWebhookRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use UpdateUserWebhookRequest.ProtoReflect.Descriptor instead.
func
(
*
UpdateUserWebhookRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UpdateUserWebhookRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
3
2
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
3
0
}
}
}
func
(
x
*
UpdateUserWebhookRequest
)
GetWebhook
()
*
UserWebhook
{
func
(
x
*
UpdateUserWebhookRequest
)
GetWebhook
()
*
UserWebhook
{
...
@@ -2266,7 +2130,7 @@ type DeleteUserWebhookRequest struct {
...
@@ -2266,7 +2130,7 @@ type DeleteUserWebhookRequest struct {
func
(
x
*
DeleteUserWebhookRequest
)
Reset
()
{
func
(
x
*
DeleteUserWebhookRequest
)
Reset
()
{
*
x
=
DeleteUserWebhookRequest
{}
*
x
=
DeleteUserWebhookRequest
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
3
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
1
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2278,7 +2142,7 @@ func (x *DeleteUserWebhookRequest) String() string {
...
@@ -2278,7 +2142,7 @@ func (x *DeleteUserWebhookRequest) String() string {
func
(
*
DeleteUserWebhookRequest
)
ProtoMessage
()
{}
func
(
*
DeleteUserWebhookRequest
)
ProtoMessage
()
{}
func
(
x
*
DeleteUserWebhookRequest
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
DeleteUserWebhookRequest
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
3
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
1
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2291,7 +2155,7 @@ func (x *DeleteUserWebhookRequest) ProtoReflect() protoreflect.Message {
...
@@ -2291,7 +2155,7 @@ func (x *DeleteUserWebhookRequest) ProtoReflect() protoreflect.Message {
// Deprecated: Use DeleteUserWebhookRequest.ProtoReflect.Descriptor instead.
// Deprecated: Use DeleteUserWebhookRequest.ProtoReflect.Descriptor instead.
func
(
*
DeleteUserWebhookRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
DeleteUserWebhookRequest
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
3
3
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
3
1
}
}
}
func
(
x
*
DeleteUserWebhookRequest
)
GetName
()
string
{
func
(
x
*
DeleteUserWebhookRequest
)
GetName
()
string
{
...
@@ -2314,7 +2178,7 @@ type UserStats_MemoTypeStats struct {
...
@@ -2314,7 +2178,7 @@ type UserStats_MemoTypeStats struct {
func
(
x
*
UserStats_MemoTypeStats
)
Reset
()
{
func
(
x
*
UserStats_MemoTypeStats
)
Reset
()
{
*
x
=
UserStats_MemoTypeStats
{}
*
x
=
UserStats_MemoTypeStats
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
5
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
3
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2326,7 +2190,7 @@ func (x *UserStats_MemoTypeStats) String() string {
...
@@ -2326,7 +2190,7 @@ func (x *UserStats_MemoTypeStats) String() string {
func
(
*
UserStats_MemoTypeStats
)
ProtoMessage
()
{}
func
(
*
UserStats_MemoTypeStats
)
ProtoMessage
()
{}
func
(
x
*
UserStats_MemoTypeStats
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserStats_MemoTypeStats
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
5
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
3
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2339,7 +2203,7 @@ func (x *UserStats_MemoTypeStats) ProtoReflect() protoreflect.Message {
...
@@ -2339,7 +2203,7 @@ func (x *UserStats_MemoTypeStats) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserStats_MemoTypeStats.ProtoReflect.Descriptor instead.
// Deprecated: Use UserStats_MemoTypeStats.ProtoReflect.Descriptor instead.
func
(
*
UserStats_MemoTypeStats
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserStats_MemoTypeStats
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
10
,
1
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
8
,
1
}
}
}
func
(
x
*
UserStats_MemoTypeStats
)
GetLinkCount
()
int32
{
func
(
x
*
UserStats_MemoTypeStats
)
GetLinkCount
()
int32
{
...
@@ -2389,7 +2253,7 @@ type UserSetting_GeneralSetting struct {
...
@@ -2389,7 +2253,7 @@ type UserSetting_GeneralSetting struct {
func
(
x
*
UserSetting_GeneralSetting
)
Reset
()
{
func
(
x
*
UserSetting_GeneralSetting
)
Reset
()
{
*
x
=
UserSetting_GeneralSetting
{}
*
x
=
UserSetting_GeneralSetting
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
6
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
4
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2401,7 +2265,7 @@ func (x *UserSetting_GeneralSetting) String() string {
...
@@ -2401,7 +2265,7 @@ func (x *UserSetting_GeneralSetting) String() string {
func
(
*
UserSetting_GeneralSetting
)
ProtoMessage
()
{}
func
(
*
UserSetting_GeneralSetting
)
ProtoMessage
()
{}
func
(
x
*
UserSetting_GeneralSetting
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserSetting_GeneralSetting
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
6
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
4
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2414,7 +2278,7 @@ func (x *UserSetting_GeneralSetting) ProtoReflect() protoreflect.Message {
...
@@ -2414,7 +2278,7 @@ func (x *UserSetting_GeneralSetting) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserSetting_GeneralSetting.ProtoReflect.Descriptor instead.
// Deprecated: Use UserSetting_GeneralSetting.ProtoReflect.Descriptor instead.
func
(
*
UserSetting_GeneralSetting
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserSetting_GeneralSetting
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
4
,
0
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
2
,
0
}
}
}
func
(
x
*
UserSetting_GeneralSetting
)
GetLocale
()
string
{
func
(
x
*
UserSetting_GeneralSetting
)
GetLocale
()
string
{
...
@@ -2456,7 +2320,7 @@ type UserSetting_SessionsSetting struct {
...
@@ -2456,7 +2320,7 @@ type UserSetting_SessionsSetting struct {
func
(
x
*
UserSetting_SessionsSetting
)
Reset
()
{
func
(
x
*
UserSetting_SessionsSetting
)
Reset
()
{
*
x
=
UserSetting_SessionsSetting
{}
*
x
=
UserSetting_SessionsSetting
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
7
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
5
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2468,7 +2332,7 @@ func (x *UserSetting_SessionsSetting) String() string {
...
@@ -2468,7 +2332,7 @@ func (x *UserSetting_SessionsSetting) String() string {
func
(
*
UserSetting_SessionsSetting
)
ProtoMessage
()
{}
func
(
*
UserSetting_SessionsSetting
)
ProtoMessage
()
{}
func
(
x
*
UserSetting_SessionsSetting
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserSetting_SessionsSetting
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
7
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
5
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2481,7 +2345,7 @@ func (x *UserSetting_SessionsSetting) ProtoReflect() protoreflect.Message {
...
@@ -2481,7 +2345,7 @@ func (x *UserSetting_SessionsSetting) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserSetting_SessionsSetting.ProtoReflect.Descriptor instead.
// Deprecated: Use UserSetting_SessionsSetting.ProtoReflect.Descriptor instead.
func
(
*
UserSetting_SessionsSetting
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserSetting_SessionsSetting
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
4
,
1
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
2
,
1
}
}
}
func
(
x
*
UserSetting_SessionsSetting
)
GetSessions
()
[]
*
UserSession
{
func
(
x
*
UserSetting_SessionsSetting
)
GetSessions
()
[]
*
UserSession
{
...
@@ -2502,7 +2366,7 @@ type UserSetting_AccessTokensSetting struct {
...
@@ -2502,7 +2366,7 @@ type UserSetting_AccessTokensSetting struct {
func
(
x
*
UserSetting_AccessTokensSetting
)
Reset
()
{
func
(
x
*
UserSetting_AccessTokensSetting
)
Reset
()
{
*
x
=
UserSetting_AccessTokensSetting
{}
*
x
=
UserSetting_AccessTokensSetting
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
8
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
6
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2514,7 +2378,7 @@ func (x *UserSetting_AccessTokensSetting) String() string {
...
@@ -2514,7 +2378,7 @@ func (x *UserSetting_AccessTokensSetting) String() string {
func
(
*
UserSetting_AccessTokensSetting
)
ProtoMessage
()
{}
func
(
*
UserSetting_AccessTokensSetting
)
ProtoMessage
()
{}
func
(
x
*
UserSetting_AccessTokensSetting
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserSetting_AccessTokensSetting
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
8
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
6
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2527,7 +2391,7 @@ func (x *UserSetting_AccessTokensSetting) ProtoReflect() protoreflect.Message {
...
@@ -2527,7 +2391,7 @@ func (x *UserSetting_AccessTokensSetting) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserSetting_AccessTokensSetting.ProtoReflect.Descriptor instead.
// Deprecated: Use UserSetting_AccessTokensSetting.ProtoReflect.Descriptor instead.
func
(
*
UserSetting_AccessTokensSetting
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserSetting_AccessTokensSetting
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
4
,
2
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
2
,
2
}
}
}
func
(
x
*
UserSetting_AccessTokensSetting
)
GetAccessTokens
()
[]
*
UserAccessToken
{
func
(
x
*
UserSetting_AccessTokensSetting
)
GetAccessTokens
()
[]
*
UserAccessToken
{
...
@@ -2548,7 +2412,7 @@ type UserSetting_WebhooksSetting struct {
...
@@ -2548,7 +2412,7 @@ type UserSetting_WebhooksSetting struct {
func
(
x
*
UserSetting_WebhooksSetting
)
Reset
()
{
func
(
x
*
UserSetting_WebhooksSetting
)
Reset
()
{
*
x
=
UserSetting_WebhooksSetting
{}
*
x
=
UserSetting_WebhooksSetting
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
9
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
7
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2560,7 +2424,7 @@ func (x *UserSetting_WebhooksSetting) String() string {
...
@@ -2560,7 +2424,7 @@ func (x *UserSetting_WebhooksSetting) String() string {
func
(
*
UserSetting_WebhooksSetting
)
ProtoMessage
()
{}
func
(
*
UserSetting_WebhooksSetting
)
ProtoMessage
()
{}
func
(
x
*
UserSetting_WebhooksSetting
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserSetting_WebhooksSetting
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
9
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
3
7
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2573,7 +2437,7 @@ func (x *UserSetting_WebhooksSetting) ProtoReflect() protoreflect.Message {
...
@@ -2573,7 +2437,7 @@ func (x *UserSetting_WebhooksSetting) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserSetting_WebhooksSetting.ProtoReflect.Descriptor instead.
// Deprecated: Use UserSetting_WebhooksSetting.ProtoReflect.Descriptor instead.
func
(
*
UserSetting_WebhooksSetting
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserSetting_WebhooksSetting
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
4
,
3
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
1
2
,
3
}
}
}
func
(
x
*
UserSetting_WebhooksSetting
)
GetWebhooks
()
[]
*
UserWebhook
{
func
(
x
*
UserSetting_WebhooksSetting
)
GetWebhooks
()
[]
*
UserWebhook
{
...
@@ -2601,7 +2465,7 @@ type UserSession_ClientInfo struct {
...
@@ -2601,7 +2465,7 @@ type UserSession_ClientInfo struct {
func
(
x
*
UserSession_ClientInfo
)
Reset
()
{
func
(
x
*
UserSession_ClientInfo
)
Reset
()
{
*
x
=
UserSession_ClientInfo
{}
*
x
=
UserSession_ClientInfo
{}
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
40
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
38
]
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
.
StoreMessageInfo
(
mi
)
ms
.
StoreMessageInfo
(
mi
)
}
}
...
@@ -2613,7 +2477,7 @@ func (x *UserSession_ClientInfo) String() string {
...
@@ -2613,7 +2477,7 @@ func (x *UserSession_ClientInfo) String() string {
func
(
*
UserSession_ClientInfo
)
ProtoMessage
()
{}
func
(
*
UserSession_ClientInfo
)
ProtoMessage
()
{}
func
(
x
*
UserSession_ClientInfo
)
ProtoReflect
()
protoreflect
.
Message
{
func
(
x
*
UserSession_ClientInfo
)
ProtoReflect
()
protoreflect
.
Message
{
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
40
]
mi
:=
&
file_api_v1_user_service_proto_msgTypes
[
38
]
if
x
!=
nil
{
if
x
!=
nil
{
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
ms
:=
protoimpl
.
X
.
MessageStateOf
(
protoimpl
.
Pointer
(
x
))
if
ms
.
LoadMessageInfo
()
==
nil
{
if
ms
.
LoadMessageInfo
()
==
nil
{
...
@@ -2626,7 +2490,7 @@ func (x *UserSession_ClientInfo) ProtoReflect() protoreflect.Message {
...
@@ -2626,7 +2490,7 @@ func (x *UserSession_ClientInfo) ProtoReflect() protoreflect.Message {
// Deprecated: Use UserSession_ClientInfo.ProtoReflect.Descriptor instead.
// Deprecated: Use UserSession_ClientInfo.ProtoReflect.Descriptor instead.
func
(
*
UserSession_ClientInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
func
(
*
UserSession_ClientInfo
)
Descriptor
()
([]
byte
,
[]
int
)
{
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
4
,
0
}
return
file_api_v1_user_service_proto_rawDescGZIP
(),
[]
int
{
2
2
,
0
}
}
}
func
(
x
*
UserSession_ClientInfo
)
GetUserAgent
()
string
{
func
(
x
*
UserSession_ClientInfo
)
GetUserAgent
()
string
{
...
@@ -2690,14 +2554,13 @@ const file_api_v1_user_service_proto_rawDesc = "" +
...
@@ -2690,14 +2554,13 @@ const file_api_v1_user_service_proto_rawDesc = "" +
"
\x04
HOST
\x10\x01\x12\t\n
"
+
"
\x04
HOST
\x10\x01\x12\t\n
"
+
"
\x05
ADMIN
\x10\x02\x12\b\n
"
+
"
\x05
ADMIN
\x10\x02\x12\b\n
"
+
"
\x04
USER
\x10\x03
:7
\xea
A4
\n
"
+
"
\x04
USER
\x10\x03
:7
\xea
A4
\n
"
+
"
\x11
memos.api.v1/User
\x12\f
users/{user}
\x1a\x04
name*
\x05
users2
\x04
user
\"\x
b
d\x01\n
"
+
"
\x11
memos.api.v1/User
\x12\f
users/{user}
\x1a\x04
name*
\x05
users2
\x04
user
\"\x
9
d\x01\n
"
+
"
\x10
ListUsersRequest
\x12
\n
"
+
"
\x10
ListUsersRequest
\x12
\n
"
+
"
\t
page_size
\x18\x01
\x01
(
\x05
B
\x03\xe0
A
\x01
R
\b
pageSize
\x12\"\n
"
+
"
\t
page_size
\x18\x01
\x01
(
\x05
B
\x03\xe0
A
\x01
R
\b
pageSize
\x12\"\n
"
+
"
\n
"
+
"
\n
"
+
"page_token
\x18\x02
\x01
(
\t
B
\x03\xe0
A
\x01
R
\t
pageToken
\x12\x1b\n
"
+
"page_token
\x18\x02
\x01
(
\t
B
\x03\xe0
A
\x01
R
\t
pageToken
\x12\x1b\n
"
+
"
\x06
filter
\x18\x03
\x01
(
\t
B
\x03\xe0
A
\x01
R
\x06
filter
\x12\x1e\n
"
+
"
\x06
filter
\x18\x03
\x01
(
\t
B
\x03\xe0
A
\x01
R
\x06
filter
\x12
&
\n
"
+
"
\b
order_by
\x18\x04
\x01
(
\t
B
\x03\xe0
A
\x01
R
\a
orderBy
\x12
&
\n
"
+
"
\f
show_deleted
\x18\x04
\x01
(
\b
B
\x03\xe0
A
\x01
R
\v
showDeleted
\"\x84\x01\n
"
+
"
\f
show_deleted
\x18\x05
\x01
(
\b
B
\x03\xe0
A
\x01
R
\v
showDeleted
\"\x84\x01\n
"
+
"
\x11
ListUsersResponse
\x12
(
\n
"
+
"
\x11
ListUsersResponse
\x12
(
\n
"
+
"
\x05
users
\x18\x01
\x03
(
\v
2
\x12
.memos.api.v1.UserR
\x05
users
\x12
&
\n
"
+
"
\x05
users
\x18\x01
\x03
(
\v
2
\x12
.memos.api.v1.UserR
\x05
users
\x12
&
\n
"
+
"
\x0f
next_page_token
\x18\x02
\x01
(
\t
R
\r
nextPageToken
\x12\x1d\n
"
+
"
\x0f
next_page_token
\x18\x02
\x01
(
\t
R
\r
nextPageToken
\x12\x1d\n
"
+
...
@@ -2721,17 +2584,7 @@ const file_api_v1_user_service_proto_rawDesc = "" +
...
@@ -2721,17 +2584,7 @@ const file_api_v1_user_service_proto_rawDesc = "" +
"
\x11
DeleteUserRequest
\x12
-
\n
"
+
"
\x11
DeleteUserRequest
\x12
-
\n
"
+
"
\x04
name
\x18\x01
\x01
(
\t
B
\x19\xe0
A
\x02\xfa
A
\x13\n
"
+
"
\x04
name
\x18\x01
\x01
(
\t
B
\x19\xe0
A
\x02\xfa
A
\x13\n
"
+
"
\x11
memos.api.v1/UserR
\x04
name
\x12\x19\n
"
+
"
\x11
memos.api.v1/UserR
\x04
name
\x12\x19\n
"
+
"
\x05
force
\x18\x02
\x01
(
\b
B
\x03\xe0
A
\x01
R
\x05
force
\"
u
\n
"
+
"
\x05
force
\x18\x02
\x01
(
\b
B
\x03\xe0
A
\x01
R
\x05
force
\"
E
\n
"
+
"
\x12
SearchUsersRequest
\x12\x19\n
"
+
"
\x05
query
\x18\x01
\x01
(
\t
B
\x03\xe0
A
\x02
R
\x05
query
\x12
\n
"
+
"
\t
page_size
\x18\x02
\x01
(
\x05
B
\x03\xe0
A
\x01
R
\b
pageSize
\x12\"\n
"
+
"
\n
"
+
"page_token
\x18\x03
\x01
(
\t
B
\x03\xe0
A
\x01
R
\t
pageToken
\"\x86\x01\n
"
+
"
\x13
SearchUsersResponse
\x12
(
\n
"
+
"
\x05
users
\x18\x01
\x03
(
\v
2
\x12
.memos.api.v1.UserR
\x05
users
\x12
&
\n
"
+
"
\x0f
next_page_token
\x18\x02
\x01
(
\t
R
\r
nextPageToken
\x12\x1d\n
"
+
"
\n
"
+
"total_size
\x18\x03
\x01
(
\x05
R
\t
totalSize
\"
E
\n
"
+
"
\x14
GetUserAvatarRequest
\x12
-
\n
"
+
"
\x14
GetUserAvatarRequest
\x12
-
\n
"
+
"
\x04
name
\x18\x01
\x01
(
\t
B
\x19\xe0
A
\x02\xfa
A
\x13\n
"
+
"
\x04
name
\x18\x01
\x01
(
\t
B
\x19\xe0
A
\x02\xfa
A
\x13\n
"
+
"
\x11
memos.api.v1/UserR
\x04
name
\"\xe4\x04\n
"
+
"
\x11
memos.api.v1/UserR
\x04
name
\"\xe4\x04\n
"
+
...
@@ -2880,7 +2733,7 @@ const file_api_v1_user_service_proto_rawDesc = "" +
...
@@ -2880,7 +2733,7 @@ const file_api_v1_user_service_proto_rawDesc = "" +
"
\v
update_mask
\x18\x02
\x01
(
\v
2
\x1a
.google.protobuf.FieldMaskR
\n
"
+
"
\v
update_mask
\x18\x02
\x01
(
\v
2
\x1a
.google.protobuf.FieldMaskR
\n
"
+
"updateMask
\"
3
\n
"
+
"updateMask
\"
3
\n
"
+
"
\x18
DeleteUserWebhookRequest
\x12\x17\n
"
+
"
\x18
DeleteUserWebhookRequest
\x12\x17\n
"
+
"
\x04
name
\x18\x01
\x01
(
\t
B
\x03\xe0
A
\x02
R
\x04
name2
\xe
0\x16
\n
"
+
"
\x04
name
\x18\x01
\x01
(
\t
B
\x03\xe0
A
\x02
R
\x04
name2
\xe
6\x15
\n
"
+
"
\v
UserService
\x12
c
\n
"
+
"
\v
UserService
\x12
c
\n
"
+
"
\t
ListUsers
\x12\x1e
.memos.api.v1.ListUsersRequest
\x1a\x1f
.memos.api.v1.ListUsersResponse
\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r
/api/v1/users
\x12
b
\n
"
+
"
\t
ListUsers
\x12\x1e
.memos.api.v1.ListUsersRequest
\x1a\x1f
.memos.api.v1.ListUsersResponse
\"\x15\x82\xd3\xe4\x93\x02\x0f\x12\r
/api/v1/users
\x12
b
\n
"
+
"
\a
GetUser
\x12\x1c
.memos.api.v1.GetUserRequest
\x1a\x12
.memos.api.v1.User
\"
%
\xda
A
\x04
name
\x82\xd3\xe4\x93\x02\x18\x12\x16
/api/v1/{name=users/*}
\x12
e
\n
"
+
"
\a
GetUser
\x12\x1c
.memos.api.v1.GetUserRequest
\x1a\x12
.memos.api.v1.User
\"
%
\xda
A
\x04
name
\x82\xd3\xe4\x93\x02\x18\x12\x16
/api/v1/{name=users/*}
\x12
e
\n
"
+
...
@@ -2889,8 +2742,7 @@ const file_api_v1_user_service_proto_rawDesc = "" +
...
@@ -2889,8 +2742,7 @@ const file_api_v1_user_service_proto_rawDesc = "" +
"
\n
"
+
"
\n
"
+
"UpdateUser
\x12\x1f
.memos.api.v1.UpdateUserRequest
\x1a\x12
.memos.api.v1.User
\"
<
\xda
A
\x10
user,update_mask
\x82\xd3\xe4\x93\x02
#:
\x04
user2
\x1b
/api/v1/{user.name=users/*}
\x12
l
\n
"
+
"UpdateUser
\x12\x1f
.memos.api.v1.UpdateUserRequest
\x1a\x12
.memos.api.v1.User
\"
<
\xda
A
\x10
user,update_mask
\x82\xd3\xe4\x93\x02
#:
\x04
user2
\x1b
/api/v1/{user.name=users/*}
\x12
l
\n
"
+
"
\n
"
+
"
\n
"
+
"DeleteUser
\x12\x1f
.memos.api.v1.DeleteUserRequest
\x1a\x16
.google.protobuf.Empty
\"
%
\xda
A
\x04
name
\x82\xd3\xe4\x93\x02\x18
*
\x16
/api/v1/{name=users/*}
\x12
x
\n
"
+
"DeleteUser
\x12\x1f
.memos.api.v1.DeleteUserRequest
\x1a\x16
.google.protobuf.Empty
\"
%
\xda
A
\x04
name
\x82\xd3\xe4\x93\x02\x18
*
\x16
/api/v1/{name=users/*}
\x12
w
\n
"
+
"
\v
SearchUsers
\x12
.memos.api.v1.SearchUsersRequest
\x1a
!.memos.api.v1.SearchUsersResponse
\"
$
\xda
A
\x05
query
\x82\xd3\xe4\x93\x02\x16\x12\x14
/api/v1/users:search
\x12
w
\n
"
+
"
\r
GetUserAvatar
\x12\"
.memos.api.v1.GetUserAvatarRequest
\x1a\x14
.google.api.HttpBody
\"
,
\xda
A
\x04
name
\x82\xd3\xe4\x93\x02\x1f\x12\x1d
/api/v1/{name=users/*}/avatar
\x12
~
\n
"
+
"
\r
GetUserAvatar
\x12\"
.memos.api.v1.GetUserAvatarRequest
\x1a\x14
.google.api.HttpBody
\"
,
\xda
A
\x04
name
\x82\xd3\xe4\x93\x02\x1f\x12\x1d
/api/v1/{name=users/*}/avatar
\x12
~
\n
"
+
"
\x10
ListAllUserStats
\x12
%.memos.api.v1.ListAllUserStatsRequest
\x1a
&.memos.api.v1.ListAllUserStatsResponse
\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13
/api/v1/users:stats
\x12
z
\n
"
+
"
\x10
ListAllUserStats
\x12
%.memos.api.v1.ListAllUserStatsRequest
\x1a
&.memos.api.v1.ListAllUserStatsResponse
\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13
/api/v1/users:stats
\x12
z
\n
"
+
"
\f
GetUserStats
\x12
!.memos.api.v1.GetUserStatsRequest
\x1a\x17
.memos.api.v1.UserStats
\"
.
\xda
A
\x04
name
\x82\xd3\xe4\x93\x02
!
\x12\x1f
/api/v1/{name=users/*}:getStats
\x12\x82\x01\n
"
+
"
\f
GetUserStats
\x12
!.memos.api.v1.GetUserStatsRequest
\x1a\x17
.memos.api.v1.UserStats
\"
.
\xda
A
\x04
name
\x82\xd3\xe4\x93\x02
!
\x12\x1f
/api/v1/{name=users/*}:getStats
\x12\x82\x01\n
"
+
...
@@ -2921,7 +2773,7 @@ func file_api_v1_user_service_proto_rawDescGZIP() []byte {
...
@@ -2921,7 +2773,7 @@ func file_api_v1_user_service_proto_rawDescGZIP() []byte {
}
}
var
file_api_v1_user_service_proto_enumTypes
=
make
([]
protoimpl
.
EnumInfo
,
2
)
var
file_api_v1_user_service_proto_enumTypes
=
make
([]
protoimpl
.
EnumInfo
,
2
)
var
file_api_v1_user_service_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
41
)
var
file_api_v1_user_service_proto_msgTypes
=
make
([]
protoimpl
.
MessageInfo
,
39
)
var
file_api_v1_user_service_proto_goTypes
=
[]
any
{
var
file_api_v1_user_service_proto_goTypes
=
[]
any
{
(
User_Role
)(
0
),
// 0: memos.api.v1.User.Role
(
User_Role
)(
0
),
// 0: memos.api.v1.User.Role
(
UserSetting_Key
)(
0
),
// 1: memos.api.v1.UserSetting.Key
(
UserSetting_Key
)(
0
),
// 1: memos.api.v1.UserSetting.Key
...
@@ -2932,132 +2784,127 @@ var file_api_v1_user_service_proto_goTypes = []any{
...
@@ -2932,132 +2784,127 @@ var file_api_v1_user_service_proto_goTypes = []any{
(
*
CreateUserRequest
)(
nil
),
// 6: memos.api.v1.CreateUserRequest
(
*
CreateUserRequest
)(
nil
),
// 6: memos.api.v1.CreateUserRequest
(
*
UpdateUserRequest
)(
nil
),
// 7: memos.api.v1.UpdateUserRequest
(
*
UpdateUserRequest
)(
nil
),
// 7: memos.api.v1.UpdateUserRequest
(
*
DeleteUserRequest
)(
nil
),
// 8: memos.api.v1.DeleteUserRequest
(
*
DeleteUserRequest
)(
nil
),
// 8: memos.api.v1.DeleteUserRequest
(
*
SearchUsersRequest
)(
nil
),
// 9: memos.api.v1.SearchUsersRequest
(
*
GetUserAvatarRequest
)(
nil
),
// 9: memos.api.v1.GetUserAvatarRequest
(
*
SearchUsersResponse
)(
nil
),
// 10: memos.api.v1.SearchUsersResponse
(
*
UserStats
)(
nil
),
// 10: memos.api.v1.UserStats
(
*
GetUserAvatarRequest
)(
nil
),
// 11: memos.api.v1.GetUserAvatarRequest
(
*
GetUserStatsRequest
)(
nil
),
// 11: memos.api.v1.GetUserStatsRequest
(
*
UserStats
)(
nil
),
// 12: memos.api.v1.UserStats
(
*
ListAllUserStatsRequest
)(
nil
),
// 12: memos.api.v1.ListAllUserStatsRequest
(
*
GetUserStatsRequest
)(
nil
),
// 13: memos.api.v1.GetUserStatsRequest
(
*
ListAllUserStatsResponse
)(
nil
),
// 13: memos.api.v1.ListAllUserStatsResponse
(
*
ListAllUserStatsRequest
)(
nil
),
// 14: memos.api.v1.ListAllUserStatsRequest
(
*
UserSetting
)(
nil
),
// 14: memos.api.v1.UserSetting
(
*
ListAllUserStatsResponse
)(
nil
),
// 15: memos.api.v1.ListAllUserStatsResponse
(
*
GetUserSettingRequest
)(
nil
),
// 15: memos.api.v1.GetUserSettingRequest
(
*
UserSetting
)(
nil
),
// 16: memos.api.v1.UserSetting
(
*
UpdateUserSettingRequest
)(
nil
),
// 16: memos.api.v1.UpdateUserSettingRequest
(
*
GetUserSettingRequest
)(
nil
),
// 17: memos.api.v1.GetUserSettingRequest
(
*
ListUserSettingsRequest
)(
nil
),
// 17: memos.api.v1.ListUserSettingsRequest
(
*
UpdateUserSettingRequest
)(
nil
),
// 18: memos.api.v1.UpdateUserSettingRequest
(
*
ListUserSettingsResponse
)(
nil
),
// 18: memos.api.v1.ListUserSettingsResponse
(
*
ListUserSettingsRequest
)(
nil
),
// 19: memos.api.v1.ListUserSettingsRequest
(
*
UserAccessToken
)(
nil
),
// 19: memos.api.v1.UserAccessToken
(
*
ListUserSettingsResponse
)(
nil
),
// 20: memos.api.v1.ListUserSettingsResponse
(
*
ListUserAccessTokensRequest
)(
nil
),
// 20: memos.api.v1.ListUserAccessTokensRequest
(
*
UserAccessToken
)(
nil
),
// 21: memos.api.v1.UserAccessToken
(
*
ListUserAccessTokensResponse
)(
nil
),
// 21: memos.api.v1.ListUserAccessTokensResponse
(
*
ListUserAccessTokensRequest
)(
nil
),
// 22: memos.api.v1.ListUserAccessTokensRequest
(
*
CreateUserAccessTokenRequest
)(
nil
),
// 22: memos.api.v1.CreateUserAccessTokenRequest
(
*
ListUserAccessTokensResponse
)(
nil
),
// 23: memos.api.v1.ListUserAccessTokensResponse
(
*
DeleteUserAccessTokenRequest
)(
nil
),
// 23: memos.api.v1.DeleteUserAccessTokenRequest
(
*
CreateUserAccessTokenRequest
)(
nil
),
// 24: memos.api.v1.CreateUserAccessTokenRequest
(
*
UserSession
)(
nil
),
// 24: memos.api.v1.UserSession
(
*
DeleteUserAccessTokenRequest
)(
nil
),
// 25: memos.api.v1.DeleteUserAccessTokenRequest
(
*
ListUserSessionsRequest
)(
nil
),
// 25: memos.api.v1.ListUserSessionsRequest
(
*
UserSession
)(
nil
),
// 26: memos.api.v1.UserSession
(
*
ListUserSessionsResponse
)(
nil
),
// 26: memos.api.v1.ListUserSessionsResponse
(
*
ListUserSessionsRequest
)(
nil
),
// 27: memos.api.v1.ListUserSessionsRequest
(
*
RevokeUserSessionRequest
)(
nil
),
// 27: memos.api.v1.RevokeUserSessionRequest
(
*
ListUserSessionsResponse
)(
nil
),
// 28: memos.api.v1.ListUserSessionsResponse
(
*
UserWebhook
)(
nil
),
// 28: memos.api.v1.UserWebhook
(
*
RevokeUserSessionRequest
)(
nil
),
// 29: memos.api.v1.RevokeUserSessionRequest
(
*
ListUserWebhooksRequest
)(
nil
),
// 29: memos.api.v1.ListUserWebhooksRequest
(
*
UserWebhook
)(
nil
),
// 30: memos.api.v1.UserWebhook
(
*
ListUserWebhooksResponse
)(
nil
),
// 30: memos.api.v1.ListUserWebhooksResponse
(
*
ListUserWebhooksRequest
)(
nil
),
// 31: memos.api.v1.ListUserWebhooksRequest
(
*
CreateUserWebhookRequest
)(
nil
),
// 31: memos.api.v1.CreateUserWebhookRequest
(
*
ListUserWebhooksResponse
)(
nil
),
// 32: memos.api.v1.ListUserWebhooksResponse
(
*
UpdateUserWebhookRequest
)(
nil
),
// 32: memos.api.v1.UpdateUserWebhookRequest
(
*
CreateUserWebhookRequest
)(
nil
),
// 33: memos.api.v1.CreateUserWebhookRequest
(
*
DeleteUserWebhookRequest
)(
nil
),
// 33: memos.api.v1.DeleteUserWebhookRequest
(
*
UpdateUserWebhookRequest
)(
nil
),
// 34: memos.api.v1.UpdateUserWebhookRequest
nil
,
// 34: memos.api.v1.UserStats.TagCountEntry
(
*
DeleteUserWebhookRequest
)(
nil
),
// 35: memos.api.v1.DeleteUserWebhookRequest
(
*
UserStats_MemoTypeStats
)(
nil
),
// 35: memos.api.v1.UserStats.MemoTypeStats
nil
,
// 36: memos.api.v1.UserStats.TagCountEntry
(
*
UserSetting_GeneralSetting
)(
nil
),
// 36: memos.api.v1.UserSetting.GeneralSetting
(
*
UserStats_MemoTypeStats
)(
nil
),
// 37: memos.api.v1.UserStats.MemoTypeStats
(
*
UserSetting_SessionsSetting
)(
nil
),
// 37: memos.api.v1.UserSetting.SessionsSetting
(
*
UserSetting_GeneralSetting
)(
nil
),
// 38: memos.api.v1.UserSetting.GeneralSetting
(
*
UserSetting_AccessTokensSetting
)(
nil
),
// 38: memos.api.v1.UserSetting.AccessTokensSetting
(
*
UserSetting_SessionsSetting
)(
nil
),
// 39: memos.api.v1.UserSetting.SessionsSetting
(
*
UserSetting_WebhooksSetting
)(
nil
),
// 39: memos.api.v1.UserSetting.WebhooksSetting
(
*
UserSetting_AccessTokensSetting
)(
nil
),
// 40: memos.api.v1.UserSetting.AccessTokensSetting
(
*
UserSession_ClientInfo
)(
nil
),
// 40: memos.api.v1.UserSession.ClientInfo
(
*
UserSetting_WebhooksSetting
)(
nil
),
// 41: memos.api.v1.UserSetting.WebhooksSetting
(
State
)(
0
),
// 41: memos.api.v1.State
(
*
UserSession_ClientInfo
)(
nil
),
// 42: memos.api.v1.UserSession.ClientInfo
(
*
timestamppb
.
Timestamp
)(
nil
),
// 42: google.protobuf.Timestamp
(
State
)(
0
),
// 43: memos.api.v1.State
(
*
fieldmaskpb
.
FieldMask
)(
nil
),
// 43: google.protobuf.FieldMask
(
*
timestamppb
.
Timestamp
)(
nil
),
// 44: google.protobuf.Timestamp
(
*
emptypb
.
Empty
)(
nil
),
// 44: google.protobuf.Empty
(
*
fieldmaskpb
.
FieldMask
)(
nil
),
// 45: google.protobuf.FieldMask
(
*
httpbody
.
HttpBody
)(
nil
),
// 45: google.api.HttpBody
(
*
emptypb
.
Empty
)(
nil
),
// 46: google.protobuf.Empty
(
*
httpbody
.
HttpBody
)(
nil
),
// 47: google.api.HttpBody
}
}
var
file_api_v1_user_service_proto_depIdxs
=
[]
int32
{
var
file_api_v1_user_service_proto_depIdxs
=
[]
int32
{
0
,
// 0: memos.api.v1.User.role:type_name -> memos.api.v1.User.Role
0
,
// 0: memos.api.v1.User.role:type_name -> memos.api.v1.User.Role
4
3
,
// 1: memos.api.v1.User.state:type_name -> memos.api.v1.State
4
1
,
// 1: memos.api.v1.User.state:type_name -> memos.api.v1.State
4
4
,
// 2: memos.api.v1.User.create_time:type_name -> google.protobuf.Timestamp
4
2
,
// 2: memos.api.v1.User.create_time:type_name -> google.protobuf.Timestamp
4
4
,
// 3: memos.api.v1.User.update_time:type_name -> google.protobuf.Timestamp
4
2
,
// 3: memos.api.v1.User.update_time:type_name -> google.protobuf.Timestamp
2
,
// 4: memos.api.v1.ListUsersResponse.users:type_name -> memos.api.v1.User
2
,
// 4: memos.api.v1.ListUsersResponse.users:type_name -> memos.api.v1.User
4
5
,
// 5: memos.api.v1.GetUserRequest.read_mask:type_name -> google.protobuf.FieldMask
4
3
,
// 5: memos.api.v1.GetUserRequest.read_mask:type_name -> google.protobuf.FieldMask
2
,
// 6: memos.api.v1.CreateUserRequest.user:type_name -> memos.api.v1.User
2
,
// 6: memos.api.v1.CreateUserRequest.user:type_name -> memos.api.v1.User
2
,
// 7: memos.api.v1.UpdateUserRequest.user:type_name -> memos.api.v1.User
2
,
// 7: memos.api.v1.UpdateUserRequest.user:type_name -> memos.api.v1.User
45
,
// 8: memos.api.v1.UpdateUserRequest.update_mask:type_name -> google.protobuf.FieldMask
43
,
// 8: memos.api.v1.UpdateUserRequest.update_mask:type_name -> google.protobuf.FieldMask
2
,
// 9: memos.api.v1.SearchUsersResponse.users:type_name -> memos.api.v1.User
42
,
// 9: memos.api.v1.UserStats.memo_display_timestamps:type_name -> google.protobuf.Timestamp
44
,
// 10: memos.api.v1.UserStats.memo_display_timestamps:type_name -> google.protobuf.Timestamp
35
,
// 10: memos.api.v1.UserStats.memo_type_stats:type_name -> memos.api.v1.UserStats.MemoTypeStats
37
,
// 11: memos.api.v1.UserStats.memo_type_stats:type_name -> memos.api.v1.UserStats.MemoTypeStats
34
,
// 11: memos.api.v1.UserStats.tag_count:type_name -> memos.api.v1.UserStats.TagCountEntry
36
,
// 12: memos.api.v1.UserStats.tag_count:type_name -> memos.api.v1.UserStats.TagCountEntry
10
,
// 12: memos.api.v1.ListAllUserStatsResponse.stats:type_name -> memos.api.v1.UserStats
12
,
// 13: memos.api.v1.ListAllUserStatsResponse.stats:type_name -> memos.api.v1.UserStats
36
,
// 13: memos.api.v1.UserSetting.general_setting:type_name -> memos.api.v1.UserSetting.GeneralSetting
38
,
// 14: memos.api.v1.UserSetting.general_setting:type_name -> memos.api.v1.UserSetting.GeneralSetting
37
,
// 14: memos.api.v1.UserSetting.sessions_setting:type_name -> memos.api.v1.UserSetting.SessionsSetting
39
,
// 15: memos.api.v1.UserSetting.sessions_setting:type_name -> memos.api.v1.UserSetting.SessionsSetting
38
,
// 15: memos.api.v1.UserSetting.access_tokens_setting:type_name -> memos.api.v1.UserSetting.AccessTokensSetting
40
,
// 16: memos.api.v1.UserSetting.access_tokens_setting:type_name -> memos.api.v1.UserSetting.AccessTokensSetting
39
,
// 16: memos.api.v1.UserSetting.webhooks_setting:type_name -> memos.api.v1.UserSetting.WebhooksSetting
41
,
// 17: memos.api.v1.UserSetting.webhooks_setting:type_name -> memos.api.v1.UserSetting.WebhooksSetting
14
,
// 17: memos.api.v1.UpdateUserSettingRequest.setting:type_name -> memos.api.v1.UserSetting
16
,
// 18: memos.api.v1.UpdateUserSettingRequest.setting:type_name -> memos.api.v1.UserSetting
43
,
// 18: memos.api.v1.UpdateUserSettingRequest.update_mask:type_name -> google.protobuf.FieldMask
45
,
// 19: memos.api.v1.UpdateUserSettingRequest.update_mask:type_name -> google.protobuf.FieldMask
14
,
// 19: memos.api.v1.ListUserSettingsResponse.settings:type_name -> memos.api.v1.UserSetting
16
,
// 20: memos.api.v1.ListUserSettingsResponse.settings:type_name -> memos.api.v1.UserSetting
42
,
// 20: memos.api.v1.UserAccessToken.issued_at:type_name -> google.protobuf.Timestamp
44
,
// 21: memos.api.v1.UserAccessToken.issued_at:type_name -> google.protobuf.Timestamp
42
,
// 21: memos.api.v1.UserAccessToken.expires_at:type_name -> google.protobuf.Timestamp
44
,
// 22: memos.api.v1.UserAccessToken.expires_at:type_name -> google.protobuf.Timestamp
19
,
// 22: memos.api.v1.ListUserAccessTokensResponse.access_tokens:type_name -> memos.api.v1.UserAccessToken
21
,
// 23: memos.api.v1.ListUserAccessTokensResponse.access_tokens:type_name -> memos.api.v1.UserAccessToken
19
,
// 23: memos.api.v1.CreateUserAccessTokenRequest.access_token:type_name -> memos.api.v1.UserAccessToken
21
,
// 24: memos.api.v1.CreateUserAccessTokenRequest.access_token:type_name -> memos.api.v1.UserAccessToken
42
,
// 24: memos.api.v1.UserSession.create_time:type_name -> google.protobuf.Timestamp
44
,
// 25: memos.api.v1.UserSession.create_time:type_name -> google.protobuf.Timestamp
42
,
// 25: memos.api.v1.UserSession.last_accessed_time:type_name -> google.protobuf.Timestamp
44
,
// 26: memos.api.v1.UserSession.last_accessed_time:type_name -> google.protobuf.Timestamp
40
,
// 26: memos.api.v1.UserSession.client_info:type_name -> memos.api.v1.UserSession.ClientInfo
42
,
// 27: memos.api.v1.UserSession.client_info:type_name -> memos.api.v1.UserSession.ClientInfo
24
,
// 27: memos.api.v1.ListUserSessionsResponse.sessions:type_name -> memos.api.v1.UserSession
26
,
// 28: memos.api.v1.ListUserSessionsResponse.sessions:type_name -> memos.api.v1.UserSession
42
,
// 28: memos.api.v1.UserWebhook.create_time:type_name -> google.protobuf.Timestamp
44
,
// 29: memos.api.v1.UserWebhook.create_time:type_name -> google.protobuf.Timestamp
42
,
// 29: memos.api.v1.UserWebhook.update_time:type_name -> google.protobuf.Timestamp
44
,
// 30: memos.api.v1.UserWebhook.update_time:type_name -> google.protobuf.Timestamp
28
,
// 30: memos.api.v1.ListUserWebhooksResponse.webhooks:type_name -> memos.api.v1.UserWebhook
30
,
// 31: memos.api.v1.ListUserWebhooksResponse.webhooks:type_name -> memos.api.v1.UserWebhook
28
,
// 31: memos.api.v1.CreateUserWebhookRequest.webhook:type_name -> memos.api.v1.UserWebhook
30
,
// 32: memos.api.v1.CreateUserWebhookRequest.webhook:type_name -> memos.api.v1.UserWebhook
28
,
// 32: memos.api.v1.UpdateUserWebhookRequest.webhook:type_name -> memos.api.v1.UserWebhook
30
,
// 33: memos.api.v1.UpdateUserWebhookRequest.webhook:type_name -> memos.api.v1.UserWebhook
43
,
// 33: memos.api.v1.UpdateUserWebhookRequest.update_mask:type_name -> google.protobuf.FieldMask
45
,
// 34: memos.api.v1.UpdateUserWebhookRequest.update_mask:type_name -> google.protobuf.FieldMask
24
,
// 34: memos.api.v1.UserSetting.SessionsSetting.sessions:type_name -> memos.api.v1.UserSession
26
,
// 35: memos.api.v1.UserSetting.SessionsSetting.sessions:type_name -> memos.api.v1.UserSession
19
,
// 35: memos.api.v1.UserSetting.AccessTokensSetting.access_tokens:type_name -> memos.api.v1.UserAccessToken
21
,
// 36: memos.api.v1.UserSetting.AccessTokensSetting.access_tokens:type_name -> memos.api.v1.UserAccessToken
28
,
// 36: memos.api.v1.UserSetting.WebhooksSetting.webhooks:type_name -> memos.api.v1.UserWebhook
30
,
// 37: memos.api.v1.UserSetting.WebhooksSetting.webhooks:type_name -> memos.api.v1.UserWebhook
3
,
// 37: memos.api.v1.UserService.ListUsers:input_type -> memos.api.v1.ListUsersRequest
3
,
// 38: memos.api.v1.UserService.ListUsers:input_type -> memos.api.v1.ListUsersRequest
5
,
// 38: memos.api.v1.UserService.GetUser:input_type -> memos.api.v1.GetUserRequest
5
,
// 39: memos.api.v1.UserService.GetUser:input_type -> memos.api.v1.GetUserRequest
6
,
// 39: memos.api.v1.UserService.CreateUser:input_type -> memos.api.v1.CreateUserRequest
6
,
// 40: memos.api.v1.UserService.CreateUser:input_type -> memos.api.v1.CreateUserRequest
7
,
// 40: memos.api.v1.UserService.UpdateUser:input_type -> memos.api.v1.UpdateUserRequest
7
,
// 41: memos.api.v1.UserService.UpdateUser:input_type -> memos.api.v1.UpdateUserRequest
8
,
// 41: memos.api.v1.UserService.DeleteUser:input_type -> memos.api.v1.DeleteUserRequest
8
,
// 42: memos.api.v1.UserService.DeleteUser:input_type -> memos.api.v1.DeleteUserRequest
9
,
// 42: memos.api.v1.UserService.GetUserAvatar:input_type -> memos.api.v1.GetUserAvatarRequest
9
,
// 43: memos.api.v1.UserService.SearchUsers:input_type -> memos.api.v1.SearchUsersRequest
12
,
// 43: memos.api.v1.UserService.ListAllUserStats:input_type -> memos.api.v1.ListAllUserStatsRequest
11
,
// 44: memos.api.v1.UserService.GetUserAvatar:input_type -> memos.api.v1.GetUserAvatarRequest
11
,
// 44: memos.api.v1.UserService.GetUserStats:input_type -> memos.api.v1.GetUserStatsRequest
14
,
// 45: memos.api.v1.UserService.ListAllUserStats:input_type -> memos.api.v1.ListAllUserStatsRequest
15
,
// 45: memos.api.v1.UserService.GetUserSetting:input_type -> memos.api.v1.GetUserSettingRequest
13
,
// 46: memos.api.v1.UserService.GetUserStats:input_type -> memos.api.v1.GetUserStatsRequest
16
,
// 46: memos.api.v1.UserService.UpdateUserSetting:input_type -> memos.api.v1.UpdateUserSettingRequest
17
,
// 47: memos.api.v1.UserService.GetUserSetting:input_type -> memos.api.v1.GetUserSettingRequest
17
,
// 47: memos.api.v1.UserService.ListUserSettings:input_type -> memos.api.v1.ListUserSettingsRequest
18
,
// 48: memos.api.v1.UserService.UpdateUserSetting:input_type -> memos.api.v1.UpdateUserSettingRequest
20
,
// 48: memos.api.v1.UserService.ListUserAccessTokens:input_type -> memos.api.v1.ListUserAccessTokensRequest
19
,
// 49: memos.api.v1.UserService.ListUserSettings:input_type -> memos.api.v1.ListUserSettingsRequest
22
,
// 49: memos.api.v1.UserService.CreateUserAccessToken:input_type -> memos.api.v1.CreateUserAccessTokenRequest
22
,
// 50: memos.api.v1.UserService.ListUserAccessTokens:input_type -> memos.api.v1.ListUserAccessTokensRequest
23
,
// 50: memos.api.v1.UserService.DeleteUserAccessToken:input_type -> memos.api.v1.DeleteUserAccessTokenRequest
24
,
// 51: memos.api.v1.UserService.CreateUserAccessToken:input_type -> memos.api.v1.CreateUserAccessTokenRequest
25
,
// 51: memos.api.v1.UserService.ListUserSessions:input_type -> memos.api.v1.ListUserSessionsRequest
25
,
// 52: memos.api.v1.UserService.DeleteUserAccessToken:input_type -> memos.api.v1.DeleteUserAccessTokenRequest
27
,
// 52: memos.api.v1.UserService.RevokeUserSession:input_type -> memos.api.v1.RevokeUserSessionRequest
27
,
// 53: memos.api.v1.UserService.ListUserSessions:input_type -> memos.api.v1.ListUserSessionsRequest
29
,
// 53: memos.api.v1.UserService.ListUserWebhooks:input_type -> memos.api.v1.ListUserWebhooksRequest
29
,
// 54: memos.api.v1.UserService.RevokeUserSession:input_type -> memos.api.v1.RevokeUserSessionRequest
31
,
// 54: memos.api.v1.UserService.CreateUserWebhook:input_type -> memos.api.v1.CreateUserWebhookRequest
31
,
// 55: memos.api.v1.UserService.ListUserWebhooks:input_type -> memos.api.v1.ListUserWebhooksRequest
32
,
// 55: memos.api.v1.UserService.UpdateUserWebhook:input_type -> memos.api.v1.UpdateUserWebhookRequest
33
,
// 56: memos.api.v1.UserService.CreateUserWebhook:input_type -> memos.api.v1.CreateUserWebhookRequest
33
,
// 56: memos.api.v1.UserService.DeleteUserWebhook:input_type -> memos.api.v1.DeleteUserWebhookRequest
34
,
// 57: memos.api.v1.UserService.UpdateUserWebhook:input_type -> memos.api.v1.UpdateUserWebhookRequest
4
,
// 57: memos.api.v1.UserService.ListUsers:output_type -> memos.api.v1.ListUsersResponse
35
,
// 58: memos.api.v1.UserService.DeleteUserWebhook:input_type -> memos.api.v1.DeleteUserWebhookRequest
2
,
// 58: memos.api.v1.UserService.GetUser:output_type -> memos.api.v1.User
4
,
// 59: memos.api.v1.UserService.ListUsers:output_type -> memos.api.v1.ListUsersResponse
2
,
// 59: memos.api.v1.UserService.CreateUser:output_type -> memos.api.v1.User
2
,
// 60: memos.api.v1.UserService.GetUser:output_type -> memos.api.v1.User
2
,
// 60: memos.api.v1.UserService.UpdateUser:output_type -> memos.api.v1.User
2
,
// 61: memos.api.v1.UserService.CreateUser:output_type -> memos.api.v1.User
44
,
// 61: memos.api.v1.UserService.DeleteUser:output_type -> google.protobuf.Empty
2
,
// 62: memos.api.v1.UserService.UpdateUser:output_type -> memos.api.v1.User
45
,
// 62: memos.api.v1.UserService.GetUserAvatar:output_type -> google.api.HttpBody
46
,
// 63: memos.api.v1.UserService.DeleteUser:output_type -> google.protobuf.Empty
13
,
// 63: memos.api.v1.UserService.ListAllUserStats:output_type -> memos.api.v1.ListAllUserStatsResponse
10
,
// 64: memos.api.v1.UserService.SearchUsers:output_type -> memos.api.v1.SearchUsersResponse
10
,
// 64: memos.api.v1.UserService.GetUserStats:output_type -> memos.api.v1.UserStats
47
,
// 65: memos.api.v1.UserService.GetUserAvatar:output_type -> google.api.HttpBody
14
,
// 65: memos.api.v1.UserService.GetUserSetting:output_type -> memos.api.v1.UserSetting
15
,
// 66: memos.api.v1.UserService.ListAllUserStats:output_type -> memos.api.v1.ListAllUserStatsResponse
14
,
// 66: memos.api.v1.UserService.UpdateUserSetting:output_type -> memos.api.v1.UserSetting
12
,
// 67: memos.api.v1.UserService.GetUserStats:output_type -> memos.api.v1.UserStats
18
,
// 67: memos.api.v1.UserService.ListUserSettings:output_type -> memos.api.v1.ListUserSettingsResponse
16
,
// 68: memos.api.v1.UserService.GetUserSetting:output_type -> memos.api.v1.UserSetting
21
,
// 68: memos.api.v1.UserService.ListUserAccessTokens:output_type -> memos.api.v1.ListUserAccessTokensResponse
16
,
// 69: memos.api.v1.UserService.UpdateUserSetting:output_type -> memos.api.v1.UserSetting
19
,
// 69: memos.api.v1.UserService.CreateUserAccessToken:output_type -> memos.api.v1.UserAccessToken
20
,
// 70: memos.api.v1.UserService.ListUserSettings:output_type -> memos.api.v1.ListUserSettingsResponse
44
,
// 70: memos.api.v1.UserService.DeleteUserAccessToken:output_type -> google.protobuf.Empty
23
,
// 71: memos.api.v1.UserService.ListUserAccessTokens:output_type -> memos.api.v1.ListUserAccessTokensResponse
26
,
// 71: memos.api.v1.UserService.ListUserSessions:output_type -> memos.api.v1.ListUserSessionsResponse
21
,
// 72: memos.api.v1.UserService.CreateUserAccessToken:output_type -> memos.api.v1.UserAccessToken
44
,
// 72: memos.api.v1.UserService.RevokeUserSession:output_type -> google.protobuf.Empty
46
,
// 73: memos.api.v1.UserService.DeleteUserAccessToken:output_type -> google.protobuf.Empty
30
,
// 73: memos.api.v1.UserService.ListUserWebhooks:output_type -> memos.api.v1.ListUserWebhooksResponse
28
,
// 74: memos.api.v1.UserService.ListUserSessions:output_type -> memos.api.v1.ListUserSessionsResponse
28
,
// 74: memos.api.v1.UserService.CreateUserWebhook:output_type -> memos.api.v1.UserWebhook
46
,
// 75: memos.api.v1.UserService.RevokeUserSession:output_type -> google.protobuf.Empty
28
,
// 75: memos.api.v1.UserService.UpdateUserWebhook:output_type -> memos.api.v1.UserWebhook
32
,
// 76: memos.api.v1.UserService.ListUserWebhooks:output_type -> memos.api.v1.ListUserWebhooksResponse
44
,
// 76: memos.api.v1.UserService.DeleteUserWebhook:output_type -> google.protobuf.Empty
30
,
// 77: memos.api.v1.UserService.CreateUserWebhook:output_type -> memos.api.v1.UserWebhook
57
,
// [57:77] is the sub-list for method output_type
30
,
// 78: memos.api.v1.UserService.UpdateUserWebhook:output_type -> memos.api.v1.UserWebhook
37
,
// [37:57] is the sub-list for method input_type
46
,
// 79: memos.api.v1.UserService.DeleteUserWebhook:output_type -> google.protobuf.Empty
37
,
// [37:37] is the sub-list for extension type_name
59
,
// [59:80] is the sub-list for method output_type
37
,
// [37:37] is the sub-list for extension extendee
38
,
// [38:59] is the sub-list for method input_type
0
,
// [0:37] is the sub-list for field type_name
38
,
// [38:38] is the sub-list for extension type_name
38
,
// [38:38] is the sub-list for extension extendee
0
,
// [0:38] is the sub-list for field type_name
}
}
func
init
()
{
file_api_v1_user_service_proto_init
()
}
func
init
()
{
file_api_v1_user_service_proto_init
()
}
...
@@ -3066,7 +2913,7 @@ func file_api_v1_user_service_proto_init() {
...
@@ -3066,7 +2913,7 @@ func file_api_v1_user_service_proto_init() {
return
return
}
}
file_api_v1_common_proto_init
()
file_api_v1_common_proto_init
()
file_api_v1_user_service_proto_msgTypes
[
1
4
]
.
OneofWrappers
=
[]
any
{
file_api_v1_user_service_proto_msgTypes
[
1
2
]
.
OneofWrappers
=
[]
any
{
(
*
UserSetting_GeneralSetting_
)(
nil
),
(
*
UserSetting_GeneralSetting_
)(
nil
),
(
*
UserSetting_SessionsSetting_
)(
nil
),
(
*
UserSetting_SessionsSetting_
)(
nil
),
(
*
UserSetting_AccessTokensSetting_
)(
nil
),
(
*
UserSetting_AccessTokensSetting_
)(
nil
),
...
@@ -3078,7 +2925,7 @@ func file_api_v1_user_service_proto_init() {
...
@@ -3078,7 +2925,7 @@ func file_api_v1_user_service_proto_init() {
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
GoPackagePath
:
reflect
.
TypeOf
(
x
{})
.
PkgPath
(),
RawDescriptor
:
unsafe
.
Slice
(
unsafe
.
StringData
(
file_api_v1_user_service_proto_rawDesc
),
len
(
file_api_v1_user_service_proto_rawDesc
)),
RawDescriptor
:
unsafe
.
Slice
(
unsafe
.
StringData
(
file_api_v1_user_service_proto_rawDesc
),
len
(
file_api_v1_user_service_proto_rawDesc
)),
NumEnums
:
2
,
NumEnums
:
2
,
NumMessages
:
41
,
NumMessages
:
39
,
NumExtensions
:
0
,
NumExtensions
:
0
,
NumServices
:
1
,
NumServices
:
1
,
},
},
...
...
proto/gen/api/v1/user_service.pb.gw.go
View file @
506b477d
...
@@ -298,41 +298,6 @@ func local_request_UserService_DeleteUser_0(ctx context.Context, marshaler runti
...
@@ -298,41 +298,6 @@ func local_request_UserService_DeleteUser_0(ctx context.Context, marshaler runti
return
msg
,
metadata
,
err
return
msg
,
metadata
,
err
}
}
var
filter_UserService_SearchUsers_0
=
&
utilities
.
DoubleArray
{
Encoding
:
map
[
string
]
int
{},
Base
:
[]
int
(
nil
),
Check
:
[]
int
(
nil
)}
func
request_UserService_SearchUsers_0
(
ctx
context
.
Context
,
marshaler
runtime
.
Marshaler
,
client
UserServiceClient
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
(
proto
.
Message
,
runtime
.
ServerMetadata
,
error
)
{
var
(
protoReq
SearchUsersRequest
metadata
runtime
.
ServerMetadata
)
if
req
.
Body
!=
nil
{
_
,
_
=
io
.
Copy
(
io
.
Discard
,
req
.
Body
)
}
if
err
:=
req
.
ParseForm
();
err
!=
nil
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"%v"
,
err
)
}
if
err
:=
runtime
.
PopulateQueryParameters
(
&
protoReq
,
req
.
Form
,
filter_UserService_SearchUsers_0
);
err
!=
nil
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"%v"
,
err
)
}
msg
,
err
:=
client
.
SearchUsers
(
ctx
,
&
protoReq
,
grpc
.
Header
(
&
metadata
.
HeaderMD
),
grpc
.
Trailer
(
&
metadata
.
TrailerMD
))
return
msg
,
metadata
,
err
}
func
local_request_UserService_SearchUsers_0
(
ctx
context
.
Context
,
marshaler
runtime
.
Marshaler
,
server
UserServiceServer
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
(
proto
.
Message
,
runtime
.
ServerMetadata
,
error
)
{
var
(
protoReq
SearchUsersRequest
metadata
runtime
.
ServerMetadata
)
if
err
:=
req
.
ParseForm
();
err
!=
nil
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"%v"
,
err
)
}
if
err
:=
runtime
.
PopulateQueryParameters
(
&
protoReq
,
req
.
Form
,
filter_UserService_SearchUsers_0
);
err
!=
nil
{
return
nil
,
metadata
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"%v"
,
err
)
}
msg
,
err
:=
server
.
SearchUsers
(
ctx
,
&
protoReq
)
return
msg
,
metadata
,
err
}
func
request_UserService_GetUserAvatar_0
(
ctx
context
.
Context
,
marshaler
runtime
.
Marshaler
,
client
UserServiceClient
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
(
proto
.
Message
,
runtime
.
ServerMetadata
,
error
)
{
func
request_UserService_GetUserAvatar_0
(
ctx
context
.
Context
,
marshaler
runtime
.
Marshaler
,
client
UserServiceClient
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
(
proto
.
Message
,
runtime
.
ServerMetadata
,
error
)
{
var
(
var
(
protoReq
GetUserAvatarRequest
protoReq
GetUserAvatarRequest
...
@@ -1144,26 +1109,6 @@ func RegisterUserServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux
...
@@ -1144,26 +1109,6 @@ func RegisterUserServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux
}
}
forward_UserService_DeleteUser_0
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
resp
,
mux
.
GetForwardResponseOptions
()
...
)
forward_UserService_DeleteUser_0
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
resp
,
mux
.
GetForwardResponseOptions
()
...
)
})
})
mux
.
Handle
(
http
.
MethodGet
,
pattern_UserService_SearchUsers_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
defer
cancel
()
var
stream
runtime
.
ServerTransportStream
ctx
=
grpc
.
NewContextWithServerTransportStream
(
ctx
,
&
stream
)
inboundMarshaler
,
outboundMarshaler
:=
runtime
.
MarshalerForRequest
(
mux
,
req
)
annotatedContext
,
err
:=
runtime
.
AnnotateIncomingContext
(
ctx
,
mux
,
req
,
"/memos.api.v1.UserService/SearchUsers"
,
runtime
.
WithHTTPPathPattern
(
"/api/v1/users:search"
))
if
err
!=
nil
{
runtime
.
HTTPError
(
ctx
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
resp
,
md
,
err
:=
local_request_UserService_SearchUsers_0
(
annotatedContext
,
inboundMarshaler
,
server
,
req
,
pathParams
)
md
.
HeaderMD
,
md
.
TrailerMD
=
metadata
.
Join
(
md
.
HeaderMD
,
stream
.
Header
()),
metadata
.
Join
(
md
.
TrailerMD
,
stream
.
Trailer
())
annotatedContext
=
runtime
.
NewServerMetadataContext
(
annotatedContext
,
md
)
if
err
!=
nil
{
runtime
.
HTTPError
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
forward_UserService_SearchUsers_0
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
resp
,
mux
.
GetForwardResponseOptions
()
...
)
})
mux
.
Handle
(
http
.
MethodGet
,
pattern_UserService_GetUserAvatar_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
mux
.
Handle
(
http
.
MethodGet
,
pattern_UserService_GetUserAvatar_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
defer
cancel
()
defer
cancel
()
...
@@ -1589,23 +1534,6 @@ func RegisterUserServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux
...
@@ -1589,23 +1534,6 @@ func RegisterUserServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux
}
}
forward_UserService_DeleteUser_0
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
resp
,
mux
.
GetForwardResponseOptions
()
...
)
forward_UserService_DeleteUser_0
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
resp
,
mux
.
GetForwardResponseOptions
()
...
)
})
})
mux
.
Handle
(
http
.
MethodGet
,
pattern_UserService_SearchUsers_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
defer
cancel
()
inboundMarshaler
,
outboundMarshaler
:=
runtime
.
MarshalerForRequest
(
mux
,
req
)
annotatedContext
,
err
:=
runtime
.
AnnotateContext
(
ctx
,
mux
,
req
,
"/memos.api.v1.UserService/SearchUsers"
,
runtime
.
WithHTTPPathPattern
(
"/api/v1/users:search"
))
if
err
!=
nil
{
runtime
.
HTTPError
(
ctx
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
resp
,
md
,
err
:=
request_UserService_SearchUsers_0
(
annotatedContext
,
inboundMarshaler
,
client
,
req
,
pathParams
)
annotatedContext
=
runtime
.
NewServerMetadataContext
(
annotatedContext
,
md
)
if
err
!=
nil
{
runtime
.
HTTPError
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
err
)
return
}
forward_UserService_SearchUsers_0
(
annotatedContext
,
mux
,
outboundMarshaler
,
w
,
req
,
resp
,
mux
.
GetForwardResponseOptions
()
...
)
})
mux
.
Handle
(
http
.
MethodGet
,
pattern_UserService_GetUserAvatar_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
mux
.
Handle
(
http
.
MethodGet
,
pattern_UserService_GetUserAvatar_0
,
func
(
w
http
.
ResponseWriter
,
req
*
http
.
Request
,
pathParams
map
[
string
]
string
)
{
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
ctx
,
cancel
:=
context
.
WithCancel
(
req
.
Context
())
defer
cancel
()
defer
cancel
()
...
@@ -1870,7 +1798,6 @@ var (
...
@@ -1870,7 +1798,6 @@ var (
pattern_UserService_CreateUser_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
},
[]
string
{
"api"
,
"v1"
,
"users"
},
""
))
pattern_UserService_CreateUser_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
},
[]
string
{
"api"
,
"v1"
,
"users"
},
""
))
pattern_UserService_UpdateUser_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
2
,
5
,
3
},
[]
string
{
"api"
,
"v1"
,
"users"
,
"user.name"
},
""
))
pattern_UserService_UpdateUser_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
2
,
5
,
3
},
[]
string
{
"api"
,
"v1"
,
"users"
,
"user.name"
},
""
))
pattern_UserService_DeleteUser_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
2
,
5
,
3
},
[]
string
{
"api"
,
"v1"
,
"users"
,
"name"
},
""
))
pattern_UserService_DeleteUser_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
2
,
5
,
3
},
[]
string
{
"api"
,
"v1"
,
"users"
,
"name"
},
""
))
pattern_UserService_SearchUsers_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
},
[]
string
{
"api"
,
"v1"
,
"users"
},
"search"
))
pattern_UserService_GetUserAvatar_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
2
,
5
,
3
,
2
,
4
},
[]
string
{
"api"
,
"v1"
,
"users"
,
"name"
,
"avatar"
},
""
))
pattern_UserService_GetUserAvatar_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
2
,
5
,
3
,
2
,
4
},
[]
string
{
"api"
,
"v1"
,
"users"
,
"name"
,
"avatar"
},
""
))
pattern_UserService_ListAllUserStats_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
},
[]
string
{
"api"
,
"v1"
,
"users"
},
"stats"
))
pattern_UserService_ListAllUserStats_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
},
[]
string
{
"api"
,
"v1"
,
"users"
},
"stats"
))
pattern_UserService_GetUserStats_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
2
,
5
,
3
},
[]
string
{
"api"
,
"v1"
,
"users"
,
"name"
},
"getStats"
))
pattern_UserService_GetUserStats_0
=
runtime
.
MustPattern
(
runtime
.
NewPattern
(
1
,
[]
int
{
2
,
0
,
2
,
1
,
2
,
2
,
1
,
0
,
4
,
2
,
5
,
3
},
[]
string
{
"api"
,
"v1"
,
"users"
,
"name"
},
"getStats"
))
...
@@ -1894,7 +1821,6 @@ var (
...
@@ -1894,7 +1821,6 @@ var (
forward_UserService_CreateUser_0
=
runtime
.
ForwardResponseMessage
forward_UserService_CreateUser_0
=
runtime
.
ForwardResponseMessage
forward_UserService_UpdateUser_0
=
runtime
.
ForwardResponseMessage
forward_UserService_UpdateUser_0
=
runtime
.
ForwardResponseMessage
forward_UserService_DeleteUser_0
=
runtime
.
ForwardResponseMessage
forward_UserService_DeleteUser_0
=
runtime
.
ForwardResponseMessage
forward_UserService_SearchUsers_0
=
runtime
.
ForwardResponseMessage
forward_UserService_GetUserAvatar_0
=
runtime
.
ForwardResponseMessage
forward_UserService_GetUserAvatar_0
=
runtime
.
ForwardResponseMessage
forward_UserService_ListAllUserStats_0
=
runtime
.
ForwardResponseMessage
forward_UserService_ListAllUserStats_0
=
runtime
.
ForwardResponseMessage
forward_UserService_GetUserStats_0
=
runtime
.
ForwardResponseMessage
forward_UserService_GetUserStats_0
=
runtime
.
ForwardResponseMessage
...
...
proto/gen/api/v1/user_service_grpc.pb.go
View file @
506b477d
...
@@ -26,7 +26,6 @@ const (
...
@@ -26,7 +26,6 @@ const (
UserService_CreateUser_FullMethodName
=
"/memos.api.v1.UserService/CreateUser"
UserService_CreateUser_FullMethodName
=
"/memos.api.v1.UserService/CreateUser"
UserService_UpdateUser_FullMethodName
=
"/memos.api.v1.UserService/UpdateUser"
UserService_UpdateUser_FullMethodName
=
"/memos.api.v1.UserService/UpdateUser"
UserService_DeleteUser_FullMethodName
=
"/memos.api.v1.UserService/DeleteUser"
UserService_DeleteUser_FullMethodName
=
"/memos.api.v1.UserService/DeleteUser"
UserService_SearchUsers_FullMethodName
=
"/memos.api.v1.UserService/SearchUsers"
UserService_GetUserAvatar_FullMethodName
=
"/memos.api.v1.UserService/GetUserAvatar"
UserService_GetUserAvatar_FullMethodName
=
"/memos.api.v1.UserService/GetUserAvatar"
UserService_ListAllUserStats_FullMethodName
=
"/memos.api.v1.UserService/ListAllUserStats"
UserService_ListAllUserStats_FullMethodName
=
"/memos.api.v1.UserService/ListAllUserStats"
UserService_GetUserStats_FullMethodName
=
"/memos.api.v1.UserService/GetUserStats"
UserService_GetUserStats_FullMethodName
=
"/memos.api.v1.UserService/GetUserStats"
...
@@ -58,8 +57,6 @@ type UserServiceClient interface {
...
@@ -58,8 +57,6 @@ type UserServiceClient interface {
UpdateUser
(
ctx
context
.
Context
,
in
*
UpdateUserRequest
,
opts
...
grpc
.
CallOption
)
(
*
User
,
error
)
UpdateUser
(
ctx
context
.
Context
,
in
*
UpdateUserRequest
,
opts
...
grpc
.
CallOption
)
(
*
User
,
error
)
// DeleteUser deletes a user.
// DeleteUser deletes a user.
DeleteUser
(
ctx
context
.
Context
,
in
*
DeleteUserRequest
,
opts
...
grpc
.
CallOption
)
(
*
emptypb
.
Empty
,
error
)
DeleteUser
(
ctx
context
.
Context
,
in
*
DeleteUserRequest
,
opts
...
grpc
.
CallOption
)
(
*
emptypb
.
Empty
,
error
)
// SearchUsers searches for users based on query.
SearchUsers
(
ctx
context
.
Context
,
in
*
SearchUsersRequest
,
opts
...
grpc
.
CallOption
)
(
*
SearchUsersResponse
,
error
)
// GetUserAvatar gets the avatar of a user.
// GetUserAvatar gets the avatar of a user.
GetUserAvatar
(
ctx
context
.
Context
,
in
*
GetUserAvatarRequest
,
opts
...
grpc
.
CallOption
)
(
*
httpbody
.
HttpBody
,
error
)
GetUserAvatar
(
ctx
context
.
Context
,
in
*
GetUserAvatarRequest
,
opts
...
grpc
.
CallOption
)
(
*
httpbody
.
HttpBody
,
error
)
// ListAllUserStats returns statistics for all users.
// ListAllUserStats returns statistics for all users.
...
@@ -150,16 +147,6 @@ func (c *userServiceClient) DeleteUser(ctx context.Context, in *DeleteUserReques
...
@@ -150,16 +147,6 @@ func (c *userServiceClient) DeleteUser(ctx context.Context, in *DeleteUserReques
return
out
,
nil
return
out
,
nil
}
}
func
(
c
*
userServiceClient
)
SearchUsers
(
ctx
context
.
Context
,
in
*
SearchUsersRequest
,
opts
...
grpc
.
CallOption
)
(
*
SearchUsersResponse
,
error
)
{
cOpts
:=
append
([]
grpc
.
CallOption
{
grpc
.
StaticMethod
()},
opts
...
)
out
:=
new
(
SearchUsersResponse
)
err
:=
c
.
cc
.
Invoke
(
ctx
,
UserService_SearchUsers_FullMethodName
,
in
,
out
,
cOpts
...
)
if
err
!=
nil
{
return
nil
,
err
}
return
out
,
nil
}
func
(
c
*
userServiceClient
)
GetUserAvatar
(
ctx
context
.
Context
,
in
*
GetUserAvatarRequest
,
opts
...
grpc
.
CallOption
)
(
*
httpbody
.
HttpBody
,
error
)
{
func
(
c
*
userServiceClient
)
GetUserAvatar
(
ctx
context
.
Context
,
in
*
GetUserAvatarRequest
,
opts
...
grpc
.
CallOption
)
(
*
httpbody
.
HttpBody
,
error
)
{
cOpts
:=
append
([]
grpc
.
CallOption
{
grpc
.
StaticMethod
()},
opts
...
)
cOpts
:=
append
([]
grpc
.
CallOption
{
grpc
.
StaticMethod
()},
opts
...
)
out
:=
new
(
httpbody
.
HttpBody
)
out
:=
new
(
httpbody
.
HttpBody
)
...
@@ -324,8 +311,6 @@ type UserServiceServer interface {
...
@@ -324,8 +311,6 @@ type UserServiceServer interface {
UpdateUser
(
context
.
Context
,
*
UpdateUserRequest
)
(
*
User
,
error
)
UpdateUser
(
context
.
Context
,
*
UpdateUserRequest
)
(
*
User
,
error
)
// DeleteUser deletes a user.
// DeleteUser deletes a user.
DeleteUser
(
context
.
Context
,
*
DeleteUserRequest
)
(
*
emptypb
.
Empty
,
error
)
DeleteUser
(
context
.
Context
,
*
DeleteUserRequest
)
(
*
emptypb
.
Empty
,
error
)
// SearchUsers searches for users based on query.
SearchUsers
(
context
.
Context
,
*
SearchUsersRequest
)
(
*
SearchUsersResponse
,
error
)
// GetUserAvatar gets the avatar of a user.
// GetUserAvatar gets the avatar of a user.
GetUserAvatar
(
context
.
Context
,
*
GetUserAvatarRequest
)
(
*
httpbody
.
HttpBody
,
error
)
GetUserAvatar
(
context
.
Context
,
*
GetUserAvatarRequest
)
(
*
httpbody
.
HttpBody
,
error
)
// ListAllUserStats returns statistics for all users.
// ListAllUserStats returns statistics for all users.
...
@@ -381,9 +366,6 @@ func (UnimplementedUserServiceServer) UpdateUser(context.Context, *UpdateUserReq
...
@@ -381,9 +366,6 @@ func (UnimplementedUserServiceServer) UpdateUser(context.Context, *UpdateUserReq
func
(
UnimplementedUserServiceServer
)
DeleteUser
(
context
.
Context
,
*
DeleteUserRequest
)
(
*
emptypb
.
Empty
,
error
)
{
func
(
UnimplementedUserServiceServer
)
DeleteUser
(
context
.
Context
,
*
DeleteUserRequest
)
(
*
emptypb
.
Empty
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method DeleteUser not implemented"
)
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method DeleteUser not implemented"
)
}
}
func
(
UnimplementedUserServiceServer
)
SearchUsers
(
context
.
Context
,
*
SearchUsersRequest
)
(
*
SearchUsersResponse
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method SearchUsers not implemented"
)
}
func
(
UnimplementedUserServiceServer
)
GetUserAvatar
(
context
.
Context
,
*
GetUserAvatarRequest
)
(
*
httpbody
.
HttpBody
,
error
)
{
func
(
UnimplementedUserServiceServer
)
GetUserAvatar
(
context
.
Context
,
*
GetUserAvatarRequest
)
(
*
httpbody
.
HttpBody
,
error
)
{
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method GetUserAvatar not implemented"
)
return
nil
,
status
.
Errorf
(
codes
.
Unimplemented
,
"method GetUserAvatar not implemented"
)
}
}
...
@@ -540,24 +522,6 @@ func _UserService_DeleteUser_Handler(srv interface{}, ctx context.Context, dec f
...
@@ -540,24 +522,6 @@ func _UserService_DeleteUser_Handler(srv interface{}, ctx context.Context, dec f
return
interceptor
(
ctx
,
in
,
info
,
handler
)
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
}
func
_UserService_SearchUsers_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
SearchUsersRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
return
nil
,
err
}
if
interceptor
==
nil
{
return
srv
.
(
UserServiceServer
)
.
SearchUsers
(
ctx
,
in
)
}
info
:=
&
grpc
.
UnaryServerInfo
{
Server
:
srv
,
FullMethod
:
UserService_SearchUsers_FullMethodName
,
}
handler
:=
func
(
ctx
context
.
Context
,
req
interface
{})
(
interface
{},
error
)
{
return
srv
.
(
UserServiceServer
)
.
SearchUsers
(
ctx
,
req
.
(
*
SearchUsersRequest
))
}
return
interceptor
(
ctx
,
in
,
info
,
handler
)
}
func
_UserService_GetUserAvatar_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
func
_UserService_GetUserAvatar_Handler
(
srv
interface
{},
ctx
context
.
Context
,
dec
func
(
interface
{})
error
,
interceptor
grpc
.
UnaryServerInterceptor
)
(
interface
{},
error
)
{
in
:=
new
(
GetUserAvatarRequest
)
in
:=
new
(
GetUserAvatarRequest
)
if
err
:=
dec
(
in
);
err
!=
nil
{
if
err
:=
dec
(
in
);
err
!=
nil
{
...
@@ -855,10 +819,6 @@ var UserService_ServiceDesc = grpc.ServiceDesc{
...
@@ -855,10 +819,6 @@ var UserService_ServiceDesc = grpc.ServiceDesc{
MethodName
:
"DeleteUser"
,
MethodName
:
"DeleteUser"
,
Handler
:
_UserService_DeleteUser_Handler
,
Handler
:
_UserService_DeleteUser_Handler
,
},
},
{
MethodName
:
"SearchUsers"
,
Handler
:
_UserService_SearchUsers_Handler
,
},
{
{
MethodName
:
"GetUserAvatar"
,
MethodName
:
"GetUserAvatar"
,
Handler
:
_UserService_GetUserAvatar_Handler
,
Handler
:
_UserService_GetUserAvatar_Handler
,
...
...
proto/gen/openapi.yaml
View file @
506b477d
...
@@ -15,19 +15,13 @@ paths:
...
@@ -15,19 +15,13 @@ paths:
parameters
:
parameters
:
-
name
:
pageSize
-
name
:
pageSize
in
:
query
in
:
query
description
:
|-
description
:
"
The
maximum
number
of
activities
to
return.
\r\n
The
service
may
return
fewer
than
this
value.
\r\n
If
unspecified,
at
most
100
activities
will
be
returned.
\r\n
The
maximum
value
is
1000;
values
above
1000
will
be
coerced
to
1000."
The maximum number of activities to return.
The service may return fewer than this value.
If unspecified, at most 100 activities will be returned.
The maximum value is 1000; values above 1000 will be coerced to 1000.
schema
:
schema
:
type
:
integer
type
:
integer
format
:
int32
format
:
int32
-
name
:
pageToken
-
name
:
pageToken
in
:
query
in
:
query
description
:
|-
description
:
"
A
page
token,
received
from
a
previous
`ListActivities`
call.
\r\n
Provide
this
to
retrieve
the
subsequent
page."
A page token, received from a previous `ListActivities` call.
Provide this to retrieve the subsequent page.
schema
:
schema
:
type
:
string
type
:
string
responses
:
responses
:
...
@@ -78,35 +72,23 @@ paths:
...
@@ -78,35 +72,23 @@ paths:
parameters
:
parameters
:
-
name
:
pageSize
-
name
:
pageSize
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
maximum
number
of
attachments
to
return.
\r\n
The
service
may
return
fewer
than
this
value.
\r\n
If
unspecified,
at
most
50
attachments
will
be
returned.
\r\n
The
maximum
value
is
1000;
values
above
1000
will
be
coerced
to
1000."
Optional. The maximum number of attachments to return.
The service may return fewer than this value.
If unspecified, at most 50 attachments will be returned.
The maximum value is 1000; values above 1000 will be coerced to 1000.
schema
:
schema
:
type
:
integer
type
:
integer
format
:
int32
format
:
int32
-
name
:
pageToken
-
name
:
pageToken
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
A
page
token,
received
from
a
previous
`ListAttachments`
call.
\r\n
Provide
this
to
retrieve
the
subsequent
page."
Optional. A page token, received from a previous `ListAttachments` call.
Provide this to retrieve the subsequent page.
schema
:
schema
:
type
:
string
type
:
string
-
name
:
filter
-
name
:
filter
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
Filter
to
apply
to
the
list
results.
\r\n
Example:
\"
type=image/png
\"
or
\"
filename:*.jpg
\"\r\n
Supported
operators:
=,
!=,
<,
<=,
>,
>=,
:
\r\n
Supported
fields:
filename,
type,
size,
create_time,
memo"
Optional. Filter to apply to the list results.
Example: "type=image/png" or "filename:*.jpg"
Supported operators: =, !=, <, <=, >, >=, :
Supported fields: filename, type, size, create_time, memo
schema
:
schema
:
type
:
string
type
:
string
-
name
:
orderBy
-
name
:
orderBy
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
order
to
sort
results
by.
\r\n
Example:
\"
create_time
desc
\"
or
\"
filename
asc
\"
"
Optional. The order to sort results by.
Example: "create_time desc" or "filename asc"
schema
:
schema
:
type
:
string
type
:
string
responses
:
responses
:
...
@@ -130,9 +112,7 @@ paths:
...
@@ -130,9 +112,7 @@ paths:
parameters
:
parameters
:
-
name
:
attachmentId
-
name
:
attachmentId
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
attachment
ID
to
use
for
this
attachment.
\r\n
If
empty,
a
unique
ID
will
be
generated."
Optional. The attachment ID to use for this attachment.
If empty, a unique ID will be generated.
schema
:
schema
:
type
:
string
type
:
string
requestBody
:
requestBody
:
...
@@ -243,9 +223,7 @@ paths:
...
@@ -243,9 +223,7 @@ paths:
post
:
post
:
tags
:
tags
:
-
AuthService
-
AuthService
description
:
|-
description
:
"
CreateSession
authenticates
a
user
and
creates
a
new
session.
\r\n
Returns
the
authenticated
user
information
upon
successful
authentication."
CreateSession authenticates a user and creates a new session.
Returns the authenticated user information upon successful authentication.
operationId
:
AuthService_CreateSession
operationId
:
AuthService_CreateSession
requestBody
:
requestBody
:
content
:
content
:
...
@@ -270,9 +248,7 @@ paths:
...
@@ -270,9 +248,7 @@ paths:
get
:
get
:
tags
:
tags
:
-
AuthService
-
AuthService
description
:
|-
description
:
"
GetCurrentSession
returns
the
current
active
session
information.
\r\n
This
method
is
idempotent
and
safe,
suitable
for
checking
current
session
state."
GetCurrentSession returns the current active session information.
This method is idempotent and safe, suitable for checking current session state.
operationId
:
AuthService_GetCurrentSession
operationId
:
AuthService_GetCurrentSession
responses
:
responses
:
"
200"
:
"
200"
:
...
@@ -290,9 +266,7 @@ paths:
...
@@ -290,9 +266,7 @@ paths:
delete
:
delete
:
tags
:
tags
:
-
AuthService
-
AuthService
description
:
|-
description
:
"
DeleteSession
terminates
the
current
user
session.
\r\n
This
is
an
idempotent
operation
that
invalidates
the
user's
authentication."
DeleteSession terminates the current user session.
This is an idempotent operation that invalidates the user's authentication.
operationId
:
AuthService_DeleteSession
operationId
:
AuthService_DeleteSession
responses
:
responses
:
"
200"
:
"
200"
:
...
@@ -331,9 +305,7 @@ paths:
...
@@ -331,9 +305,7 @@ paths:
parameters
:
parameters
:
-
name
:
identityProviderId
-
name
:
identityProviderId
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
ID
to
use
for
the
identity
provider,
which
will
become
the
final
component
of
the
resource
name.
\r\n
If
not
provided,
the
system
will
generate
one."
Optional. The ID to use for the identity provider, which will become the final component of the resource name.
If not provided, the system will generate one.
schema
:
schema
:
type
:
string
type
:
string
requestBody
:
requestBody
:
...
@@ -417,9 +389,7 @@ paths:
...
@@ -417,9 +389,7 @@ paths:
type
:
string
type
:
string
-
name
:
updateMask
-
name
:
updateMask
in
:
query
in
:
query
description
:
|-
description
:
"
Required.
The
update
mask
applies
to
the
resource.
Only
the
top
level
fields
of
\r\n
IdentityProvider
are
supported."
Required. The update mask applies to the resource. Only the top level fields of
IdentityProvider are supported.
schema
:
schema
:
type
:
string
type
:
string
format
:
field-mask
format
:
field-mask
...
@@ -511,9 +481,7 @@ paths:
...
@@ -511,9 +481,7 @@ paths:
get
:
get
:
tags
:
tags
:
-
MarkdownService
-
MarkdownService
description
:
|-
description
:
"
GetLinkMetadata
returns
metadata
for
a
given
link.
\r\n
This
is
useful
for
generating
link
previews."
GetLinkMetadata returns metadata for a given link.
This is useful for generating link previews.
operationId
:
MarkdownService_GetLinkMetadata
operationId
:
MarkdownService_GetLinkMetadata
parameters
:
parameters
:
-
name
:
link
-
name
:
link
...
@@ -538,9 +506,7 @@ paths:
...
@@ -538,9 +506,7 @@ paths:
post
:
post
:
tags
:
tags
:
-
MarkdownService
-
MarkdownService
description
:
|-
description
:
"
ParseMarkdown
parses
the
given
markdown
content
and
returns
a
list
of
nodes.
\r\n
This
is
a
utility
method
that
transforms
markdown
text
into
structured
nodes."
ParseMarkdown parses the given markdown content and returns a list of nodes.
This is a utility method that transforms markdown text into structured nodes.
operationId
:
MarkdownService_ParseMarkdown
operationId
:
MarkdownService_ParseMarkdown
requestBody
:
requestBody
:
content
:
content
:
...
@@ -565,9 +531,7 @@ paths:
...
@@ -565,9 +531,7 @@ paths:
post
:
post
:
tags
:
tags
:
-
MarkdownService
-
MarkdownService
description
:
|-
description
:
"
RestoreMarkdownNodes
restores
the
given
nodes
to
markdown
content.
\r\n
This
is
the
inverse
operation
of
ParseMarkdown."
RestoreMarkdownNodes restores the given nodes to markdown content.
This is the inverse operation of ParseMarkdown.
operationId
:
MarkdownService_RestoreMarkdownNodes
operationId
:
MarkdownService_RestoreMarkdownNodes
requestBody
:
requestBody
:
content
:
content
:
...
@@ -592,9 +556,7 @@ paths:
...
@@ -592,9 +556,7 @@ paths:
post
:
post
:
tags
:
tags
:
-
MarkdownService
-
MarkdownService
description
:
|-
description
:
"
StringifyMarkdownNodes
stringify
the
given
nodes
to
plain
text
content.
\r\n
This
removes
all
markdown
formatting
and
returns
plain
text."
StringifyMarkdownNodes stringify the given nodes to plain text content.
This removes all markdown formatting and returns plain text.
operationId
:
MarkdownService_StringifyMarkdownNodes
operationId
:
MarkdownService_StringifyMarkdownNodes
requestBody
:
requestBody
:
content
:
content
:
...
@@ -624,26 +586,18 @@ paths:
...
@@ -624,26 +586,18 @@ paths:
parameters
:
parameters
:
-
name
:
pageSize
-
name
:
pageSize
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
maximum
number
of
memos
to
return.
\r\n
The
service
may
return
fewer
than
this
value.
\r\n
If
unspecified,
at
most
50
memos
will
be
returned.
\r\n
The
maximum
value
is
1000;
values
above
1000
will
be
coerced
to
1000."
Optional. The maximum number of memos to return.
The service may return fewer than this value.
If unspecified, at most 50 memos will be returned.
The maximum value is 1000; values above 1000 will be coerced to 1000.
schema
:
schema
:
type
:
integer
type
:
integer
format
:
int32
format
:
int32
-
name
:
pageToken
-
name
:
pageToken
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
A
page
token,
received
from
a
previous
`ListMemos`
call.
\r\n
Provide
this
to
retrieve
the
subsequent
page."
Optional. A page token, received from a previous `ListMemos` call.
Provide this to retrieve the subsequent page.
schema
:
schema
:
type
:
string
type
:
string
-
name
:
state
-
name
:
state
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
state
of
the
memos
to
list.
\r\n
Default
to
`NORMAL`.
Set
to
`ARCHIVED`
to
list
archived
memos."
Optional. The state of the memos to list.
Default to `NORMAL`. Set to `ARCHIVED` to list archived memos.
schema
:
schema
:
enum
:
enum
:
-
STATE_UNSPECIFIED
-
STATE_UNSPECIFIED
...
@@ -653,18 +607,12 @@ paths:
...
@@ -653,18 +607,12 @@ paths:
format
:
enum
format
:
enum
-
name
:
orderBy
-
name
:
orderBy
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
order
to
sort
results
by.
\r\n
Default
to
\"
display_time
desc
\"
.
\r\n
Example:
\"
display_time
desc
\"
or
\"
create_time
asc
\"
"
Optional. The order to sort results by.
Default to "display_time desc".
Example: "display_time desc" or "create_time asc"
schema
:
schema
:
type
:
string
type
:
string
-
name
:
filter
-
name
:
filter
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
Filter
to
apply
to
the
list
results.
\r\n
Filter
is
a
CEL
expression
to
filter
memos.
\r\n
Refer
to
`Shortcut.filter`."
Optional. Filter to apply to the list results.
Filter is a CEL expression to filter memos.
Refer to `Shortcut.filter`.
schema
:
schema
:
type
:
string
type
:
string
-
name
:
showDeleted
-
name
:
showDeleted
...
@@ -693,9 +641,7 @@ paths:
...
@@ -693,9 +641,7 @@ paths:
parameters
:
parameters
:
-
name
:
memoId
-
name
:
memoId
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
memo
ID
to
use
for
this
memo.
\r\n
If
empty,
a
unique
ID
will
be
generated."
Optional. The memo ID to use for this memo.
If empty, a unique ID will be generated.
schema
:
schema
:
type
:
string
type
:
string
-
name
:
validateOnly
-
name
:
validateOnly
...
@@ -742,9 +688,7 @@ paths:
...
@@ -742,9 +688,7 @@ paths:
type
:
string
type
:
string
-
name
:
readMask
-
name
:
readMask
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
fields
to
return
in
the
response.
\r\n
If
not
specified,
all
fields
are
returned."
Optional. The fields to return in the response.
If not specified, all fields are returned.
schema
:
schema
:
type
:
string
type
:
string
format
:
field-mask
format
:
field-mask
...
@@ -1207,35 +1151,18 @@ paths:
...
@@ -1207,35 +1151,18 @@ paths:
parameters
:
parameters
:
-
name
:
pageSize
-
name
:
pageSize
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
maximum
number
of
users
to
return.
\r\n
The
service
may
return
fewer
than
this
value.
\r\n
If
unspecified,
at
most
50
users
will
be
returned.
\r\n
The
maximum
value
is
1000;
values
above
1000
will
be
coerced
to
1000."
Optional. The maximum number of users to return.
The service may return fewer than this value.
If unspecified, at most 50 users will be returned.
The maximum value is 1000; values above 1000 will be coerced to 1000.
schema
:
schema
:
type
:
integer
type
:
integer
format
:
int32
format
:
int32
-
name
:
pageToken
-
name
:
pageToken
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
A
page
token,
received
from
a
previous
`ListUsers`
call.
\r\n
Provide
this
to
retrieve
the
subsequent
page."
Optional. A page token, received from a previous `ListUsers` call.
Provide this to retrieve the subsequent page.
schema
:
schema
:
type
:
string
type
:
string
-
name
:
filter
-
name
:
filter
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
Filter
to
apply
to
the
list
results.
\r\n
Example:
\"
state=ACTIVE
\"
or
\"
role=USER
\"
or
\"
email:@example.com
\"\r\n
Supported
operators:
=,
!=,
<,
<=,
>,
>=,
:
\r\n
Supported
fields:
username,
email,
role,
state,
create_time,
update_time"
Optional. Filter to apply to the list results.
Example: "state=ACTIVE" or "role=USER" or "email:@example.com"
Supported operators: =, !=, <, <=, >, >=, :
Supported fields: username, email, role, state, create_time, update_time
schema:
type: string
-
name
:
orderBy
in
:
query
description
:
|-
Optional. The order to sort results by.
Example: "create_time desc" or "username asc"
schema
:
schema
:
type
:
string
type
:
string
-
name
:
showDeleted
-
name
:
showDeleted
...
@@ -1264,10 +1191,7 @@ paths:
...
@@ -1264,10 +1191,7 @@ paths:
parameters
:
parameters
:
-
name
:
userId
-
name
:
userId
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
user
ID
to
use
for
this
user.
\r\n
If
empty,
a
unique
ID
will
be
generated.
\r\n
Must
match
the
pattern
[a-z0-9-]+"
Optional. The user ID to use for this user.
If empty, a unique ID will be generated.
Must match the pattern [a-z0-9-]+
schema
:
schema
:
type
:
string
type
:
string
-
name
:
validateOnly
-
name
:
validateOnly
...
@@ -1277,9 +1201,7 @@ paths:
...
@@ -1277,9 +1201,7 @@ paths:
type
:
boolean
type
:
boolean
-
name
:
requestId
-
name
:
requestId
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
An
idempotency
token
that
can
be
used
to
ensure
that
multiple
\r\n
requests
to
create
a
user
have
the
same
result."
Optional. An idempotency token that can be used to ensure that multiple
requests to create a user have the same result.
schema
:
schema
:
type
:
string
type
:
string
requestBody
:
requestBody
:
...
@@ -1316,9 +1238,7 @@ paths:
...
@@ -1316,9 +1238,7 @@ paths:
type
:
string
type
:
string
-
name
:
readMask
-
name
:
readMask
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
fields
to
return
in
the
response.
\r\n
If
not
specified,
all
fields
are
returned."
Optional. The fields to return in the response.
If not specified, all fields are returned.
schema
:
schema
:
type
:
string
type
:
string
format
:
field-mask
format
:
field-mask
...
@@ -1545,35 +1465,23 @@ paths:
...
@@ -1545,35 +1465,23 @@ paths:
type
:
string
type
:
string
-
name
:
pageSize
-
name
:
pageSize
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
maximum
number
of
inboxes
to
return.
\r\n
The
service
may
return
fewer
than
this
value.
\r\n
If
unspecified,
at
most
50
inboxes
will
be
returned.
\r\n
The
maximum
value
is
1000;
values
above
1000
will
be
coerced
to
1000."
Optional. The maximum number of inboxes to return.
The service may return fewer than this value.
If unspecified, at most 50 inboxes will be returned.
The maximum value is 1000; values above 1000 will be coerced to 1000.
schema
:
schema
:
type
:
integer
type
:
integer
format
:
int32
format
:
int32
-
name
:
pageToken
-
name
:
pageToken
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
A
page
token,
received
from
a
previous
`ListInboxes`
call.
\r\n
Provide
this
to
retrieve
the
subsequent
page."
Optional. A page token, received from a previous `ListInboxes` call.
Provide this to retrieve the subsequent page.
schema
:
schema
:
type
:
string
type
:
string
-
name
:
filter
-
name
:
filter
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
Filter
to
apply
to
the
list
results.
\r\n
Example:
\"
status=UNREAD
\"
or
\"
type=MEMO_COMMENT
\"\r\n
Supported
operators:
=,
!=
\r\n
Supported
fields:
status,
type,
sender,
create_time"
Optional. Filter to apply to the list results.
Example: "status=UNREAD" or "type=MEMO_COMMENT"
Supported operators: =, !=
Supported fields: status, type, sender, create_time
schema
:
schema
:
type
:
string
type
:
string
-
name
:
orderBy
-
name
:
orderBy
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
order
to
sort
results
by.
\r\n
Example:
\"
create_time
desc
\"
or
\"
status
asc
\"
"
Optional. The order to sort results by.
Example: "create_time desc" or "status asc"
schema
:
schema
:
type
:
string
type
:
string
responses
:
responses
:
...
@@ -1659,19 +1567,13 @@ paths:
...
@@ -1659,19 +1567,13 @@ paths:
type
:
string
type
:
string
-
name
:
pageSize
-
name
:
pageSize
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
The
maximum
number
of
settings
to
return.
\r\n
The
service
may
return
fewer
than
this
value.
\r\n
If
unspecified,
at
most
50
settings
will
be
returned.
\r\n
The
maximum
value
is
1000;
values
above
1000
will
be
coerced
to
1000."
Optional. The maximum number of settings to return.
The service may return fewer than this value.
If unspecified, at most 50 settings will be returned.
The maximum value is 1000; values above 1000 will be coerced to 1000.
schema
:
schema
:
type
:
integer
type
:
integer
format
:
int32
format
:
int32
-
name
:
pageToken
-
name
:
pageToken
in
:
query
in
:
query
description
:
|-
description
:
"
Optional.
A
page
token,
received
from
a
previous
`ListUserSettings`
call.
\r\n
Provide
this
to
retrieve
the
subsequent
page."
Optional. A page token, received from a previous `ListUserSettings` call.
Provide this to retrieve the subsequent page.
schema
:
schema
:
type
:
string
type
:
string
responses
:
responses
:
...
@@ -2082,42 +1984,6 @@ paths:
...
@@ -2082,42 +1984,6 @@ paths:
application/json
:
application/json
:
schema
:
schema
:
$ref
:
'
#/components/schemas/Status'
$ref
:
'
#/components/schemas/Status'
/api/v1/users:search
:
get
:
tags
:
-
UserService
description
:
SearchUsers searches for users based on query.
operationId
:
UserService_SearchUsers
parameters
:
-
name
:
query
in
:
query
description
:
Required. The search query.
schema
:
type
:
string
-
name
:
pageSize
in
:
query
description
:
Optional. The maximum number of users to return.
schema
:
type
:
integer
format
:
int32
-
name
:
pageToken
in
:
query
description
:
Optional. A page token for pagination.
schema
:
type
:
string
responses
:
"
200"
:
description
:
OK
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/SearchUsersResponse'
default
:
description
:
Default error response
content
:
application/json
:
schema
:
$ref
:
'
#/components/schemas/Status'
/api/v1/users:stats
:
/api/v1/users:stats
:
get
:
get
:
tags
:
tags
:
...
@@ -2262,15 +2128,11 @@ components:
...
@@ -2262,15 +2128,11 @@ components:
name
:
name
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
description
:
|-
description
:
"
The
name
of
the
activity.
\r\n
Format:
activities/{id}"
The name of the activity.
Format: activities/{id}
creator
:
creator
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
description
:
|-
description
:
"
The
name
of
the
creator.
\r\n
Format:
users/{user}"
The name of the creator.
Format: users/{user}
type
:
type
:
readOnly
:
true
readOnly
:
true
enum
:
enum
:
...
@@ -2305,14 +2167,10 @@ components:
...
@@ -2305,14 +2167,10 @@ components:
properties
:
properties
:
memo
:
memo
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
memo
name
of
comment.
\r\n
Format:
memos/{memo}"
The memo name of comment.
Format: memos/{memo}
relatedMemo
:
relatedMemo
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
name
of
related
memo.
\r\n
Format:
memos/{memo}"
The name of related memo.
Format: memos/{memo}
description
:
ActivityMemoCommentPayload represents the payload of a memo comment activity.
description
:
ActivityMemoCommentPayload represents the payload of a memo comment activity.
ActivityPayload
:
ActivityPayload
:
type
:
object
type
:
object
...
@@ -2329,9 +2187,7 @@ components:
...
@@ -2329,9 +2187,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
name
of
the
attachment.
\r\n
Format:
attachments/{attachment}"
The name of the attachment.
Format: attachments/{attachment}
createTime
:
createTime
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
...
@@ -2357,9 +2213,7 @@ components:
...
@@ -2357,9 +2213,7 @@ components:
description
:
Output only. The size of the attachment in bytes.
description
:
Output only. The size of the attachment in bytes.
memo
:
memo
:
type
:
string
type
:
string
description
:
|-
description
:
"
Optional.
The
related
memo.
Refer
to
`Memo.name`.
\r\n
Format:
memos/{memo}"
Optional. The related memo. Refer to `Memo.name`.
Format: memos/{memo}
AutoLinkNode
:
AutoLinkNode
:
type
:
object
type
:
object
properties
:
properties
:
...
@@ -2421,14 +2275,10 @@ components:
...
@@ -2421,14 +2275,10 @@ components:
properties
:
properties
:
username
:
username
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
username
to
sign
in
with.
\r\n
Required
field
for
password-based
authentication."
The username to sign in with.
Required field for password-based authentication.
password
:
password
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
password
to
sign
in
with.
\r\n
Required
field
for
password-based
authentication."
The password to sign in with.
Required field for password-based authentication.
description
:
Nested message for password-based authentication credentials.
description
:
Nested message for password-based authentication credentials.
CreateSessionRequest_SSOCredentials
:
CreateSessionRequest_SSOCredentials
:
required
:
required
:
...
@@ -2439,20 +2289,14 @@ components:
...
@@ -2439,20 +2289,14 @@ components:
properties
:
properties
:
idpId
:
idpId
:
type
:
integer
type
:
integer
description
:
|-
description
:
"
The
ID
of
the
SSO
provider.
\r\n
Required
field
to
identify
the
SSO
provider."
The ID of the SSO provider.
Required field to identify the SSO provider.
format
:
int32
format
:
int32
code
:
code
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
authorization
code
from
the
SSO
provider.
\r\n
Required
field
for
completing
the
SSO
flow."
The authorization code from the SSO provider.
Required field for completing the SSO flow.
redirectUri
:
redirectUri
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
redirect
URI
used
in
the
SSO
flow.
\r\n
Required
field
for
security
validation."
The redirect URI used in the SSO flow.
Required field for security validation.
description
:
Nested message for SSO authentication credentials.
description
:
Nested message for SSO authentication credentials.
CreateSessionResponse
:
CreateSessionResponse
:
type
:
object
type
:
object
...
@@ -2463,9 +2307,7 @@ components:
...
@@ -2463,9 +2307,7 @@ components:
description
:
The authenticated user information.
description
:
The authenticated user information.
lastAccessedAt
:
lastAccessedAt
:
type
:
string
type
:
string
description
:
|-
description
:
"
Last
time
the
session
was
accessed.
\r\n
Used
for
sliding
expiration
calculation
(last_accessed_time
+
2
weeks)."
Last time the session was accessed.
Used for sliding expiration calculation (last_accessed_time + 2 weeks).
format
:
date-time
format
:
date-time
EmbeddedContentNode
:
EmbeddedContentNode
:
type
:
object
type
:
object
...
@@ -2513,9 +2355,7 @@ components:
...
@@ -2513,9 +2355,7 @@ components:
$ref
:
'
#/components/schemas/User'
$ref
:
'
#/components/schemas/User'
lastAccessedAt
:
lastAccessedAt
:
type
:
string
type
:
string
description
:
|-
description
:
"
Last
time
the
session
was
accessed.
\r\n
Used
for
sliding
expiration
calculation
(last_accessed_time
+
2
weeks)."
Last time the session was accessed.
Used for sliding expiration calculation (last_accessed_time + 2 weeks).
format
:
date-time
format
:
date-time
GoogleProtobufAny
:
GoogleProtobufAny
:
type
:
object
type
:
object
...
@@ -2563,9 +2403,7 @@ components:
...
@@ -2563,9 +2403,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
identity
provider.
\r\n
Format:
identityProviders/{idp}"
The resource name of the identity provider.
Format: identityProviders/{idp}
type
:
type
:
enum
:
enum
:
-
TYPE_UNSPECIFIED
-
TYPE_UNSPECIFIED
...
@@ -2600,21 +2438,15 @@ components:
...
@@ -2600,21 +2438,15 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
inbox.
\r\n
Format:
inboxes/{inbox}"
The resource name of the inbox.
Format: inboxes/{inbox}
sender
:
sender
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
description
:
|-
description
:
"
The
sender
of
the
inbox
notification.
\r\n
Format:
users/{user}"
The sender of the inbox notification.
Format: users/{user}
receiver
:
receiver
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
description
:
|-
description
:
"
The
receiver
of
the
inbox
notification.
\r\n
Format:
users/{user}"
The receiver of the inbox notification.
Format: users/{user}
status
:
status
:
enum
:
enum
:
-
STATUS_UNSPECIFIED
-
STATUS_UNSPECIFIED
...
@@ -2684,10 +2516,7 @@ components:
...
@@ -2684,10 +2516,7 @@ components:
description
:
The activities.
description
:
The activities.
nextPageToken
:
nextPageToken
:
type
:
string
type
:
string
description
:
|-
description
:
"
A
token
to
retrieve
the
next
page
of
results.
\r\n
Pass
this
value
in
the
page_token
field
in
the
subsequent
call
to
`ListActivities`
\r\n
method
to
retrieve
the
next
page
of
results."
A token to retrieve the next page of results.
Pass this value in the page_token field in the subsequent call to `ListActivities`
method to retrieve the next page of results.
ListAllUserStatsResponse
:
ListAllUserStatsResponse
:
type
:
object
type
:
object
properties
:
properties
:
...
@@ -2706,9 +2535,7 @@ components:
...
@@ -2706,9 +2535,7 @@ components:
description
:
The list of attachments.
description
:
The list of attachments.
nextPageToken
:
nextPageToken
:
type
:
string
type
:
string
description
:
|-
description
:
"
A
token
that
can
be
sent
as
`page_token`
to
retrieve
the
next
page.
\r\n
If
this
field
is
omitted,
there
are
no
subsequent
pages."
A token that can be sent as `page_token` to retrieve the next page.
If this field is omitted, there are no subsequent pages.
totalSize
:
totalSize
:
type
:
integer
type
:
integer
description
:
The total count of attachments (may be approximate).
description
:
The total count of attachments (may be approximate).
...
@@ -2731,9 +2558,7 @@ components:
...
@@ -2731,9 +2558,7 @@ components:
description
:
The list of inboxes.
description
:
The list of inboxes.
nextPageToken
:
nextPageToken
:
type
:
string
type
:
string
description
:
|-
description
:
"
A
token
that
can
be
sent
as
`page_token`
to
retrieve
the
next
page.
\r\n
If
this
field
is
omitted,
there
are
no
subsequent
pages."
A token that can be sent as `page_token` to retrieve the next page.
If this field is omitted, there are no subsequent pages.
totalSize
:
totalSize
:
type
:
integer
type
:
integer
description
:
The total count of inboxes (may be approximate).
description
:
The total count of inboxes (may be approximate).
...
@@ -2808,9 +2633,7 @@ components:
...
@@ -2808,9 +2633,7 @@ components:
description
:
The list of memos.
description
:
The list of memos.
nextPageToken
:
nextPageToken
:
type
:
string
type
:
string
description
:
|-
description
:
"
A
token
that
can
be
sent
as
`page_token`
to
retrieve
the
next
page.
\r\n
If
this
field
is
omitted,
there
are
no
subsequent
pages."
A token that can be sent as `page_token` to retrieve the next page.
If this field is omitted, there are no subsequent pages.
totalSize
:
totalSize
:
type
:
integer
type
:
integer
description
:
The total count of memos (may be approximate).
description
:
The total count of memos (may be approximate).
...
@@ -2874,9 +2697,7 @@ components:
...
@@ -2874,9 +2697,7 @@ components:
description
:
The list of user settings.
description
:
The list of user settings.
nextPageToken
:
nextPageToken
:
type
:
string
type
:
string
description
:
|-
description
:
"
A
token
that
can
be
sent
as
`page_token`
to
retrieve
the
next
page.
\r\n
If
this
field
is
omitted,
there
are
no
subsequent
pages."
A token that can be sent as `page_token` to retrieve the next page.
If this field is omitted, there are no subsequent pages.
totalSize
:
totalSize
:
type
:
integer
type
:
integer
description
:
The total count of settings (may be approximate).
description
:
The total count of settings (may be approximate).
...
@@ -2900,9 +2721,7 @@ components:
...
@@ -2900,9 +2721,7 @@ components:
description
:
The list of users.
description
:
The list of users.
nextPageToken
:
nextPageToken
:
type
:
string
type
:
string
description
:
|-
description
:
"
A
token
that
can
be
sent
as
`page_token`
to
retrieve
the
next
page.
\r\n
If
this
field
is
omitted,
there
are
no
subsequent
pages."
A token that can be sent as `page_token` to retrieve the next page.
If this field is omitted, there are no subsequent pages.
totalSize
:
totalSize
:
type
:
integer
type
:
integer
description
:
The total count of users (may be approximate).
description
:
The total count of users (may be approximate).
...
@@ -2940,9 +2759,7 @@ components:
...
@@ -2940,9 +2759,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
memo.
\r\n
Format:
memos/{memo},
memo
is
the
user
defined
id
or
uuid."
The resource name of the memo.
Format: memos/{memo}, memo is the user defined id or uuid.
state
:
state
:
enum
:
enum
:
-
STATE_UNSPECIFIED
-
STATE_UNSPECIFIED
...
@@ -2954,9 +2771,7 @@ components:
...
@@ -2954,9 +2771,7 @@ components:
creator
:
creator
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
description
:
|-
description
:
"
The
name
of
the
creator.
\r\n
Format:
users/{user}"
The name of the creator.
Format: users/{user}
createTime
:
createTime
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
...
@@ -3022,9 +2837,7 @@ components:
...
@@ -3022,9 +2837,7 @@ components:
parent
:
parent
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
description
:
|-
description
:
"
Output
only.
The
name
of
the
parent
memo.
\r\n
Format:
memos/{memo}"
Output only. The name of the parent memo.
Format: memos/{memo}
snippet
:
snippet
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
...
@@ -3062,9 +2875,7 @@ components:
...
@@ -3062,9 +2875,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
memo.
\r\n
Format:
memos/{memo}"
The resource name of the memo.
Format: memos/{memo}
snippet
:
snippet
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
...
@@ -3250,21 +3061,14 @@ components:
...
@@ -3250,21 +3061,14 @@ components:
name
:
name
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
reaction.
\r\n
Format:
reactions/{reaction}"
The resource name of the reaction.
Format: reactions/{reaction}
creator
:
creator
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
creator.
\r\n
Format:
users/{user}"
The resource name of the creator.
Format: users/{user}
contentId
:
contentId
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
content.
\r\n
For
memo
reactions,
this
should
be
the
memo's
resource
name.
\r\n
Format:
memos/{memo}"
The resource name of the content.
For memo reactions, this should be the memo's resource name.
Format: memos/{memo}
reactionType
:
reactionType
:
type
:
string
type
:
string
description
:
"
Required.
The
type
of
reaction
(e.g.,
\"\U0001F44D\"
,
\"
❤️
\"
,
\"\U0001F604\"
)."
description
:
"
Required.
The
type
of
reaction
(e.g.,
\"\U0001F44D\"
,
\"
❤️
\"
,
\"\U0001F604\"
)."
...
@@ -3291,9 +3095,7 @@ components:
...
@@ -3291,9 +3095,7 @@ components:
properties
:
properties
:
parent
:
parent
:
type
:
string
type
:
string
description
:
|-
description
:
"
Required.
The
parent,
who
owns
the
tags.
\r\n
Format:
memos/{memo}.
Use
\"
memos/-
\"
to
rename
all
tags."
Required. The parent, who owns the tags.
Format: memos/{memo}. Use "memos/-" to rename all tags.
oldTag
:
oldTag
:
type
:
string
type
:
string
description
:
Required. The old tag name to rename.
description
:
Required. The old tag name to rename.
...
@@ -3316,21 +3118,6 @@ components:
...
@@ -3316,21 +3118,6 @@ components:
markdown
:
markdown
:
type
:
string
type
:
string
description
:
The restored markdown content.
description
:
The restored markdown content.
SearchUsersResponse
:
type
:
object
properties
:
users
:
type
:
array
items
:
$ref
:
'
#/components/schemas/User'
description
:
The list of users matching the search query.
nextPageToken
:
type
:
string
description
:
A token for the next page of results.
totalSize
:
type
:
integer
description
:
The total count of matching users.
format
:
int32
SetMemoAttachmentsRequest
:
SetMemoAttachmentsRequest
:
required
:
required
:
-
name
-
name
...
@@ -3339,9 +3126,7 @@ components:
...
@@ -3339,9 +3126,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
Required.
The
resource
name
of
the
memo.
\r\n
Format:
memos/{memo}"
Required. The resource name of the memo.
Format: memos/{memo}
attachments
:
attachments
:
type
:
array
type
:
array
items
:
items
:
...
@@ -3355,9 +3140,7 @@ components:
...
@@ -3355,9 +3140,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
Required.
The
resource
name
of
the
memo.
\r\n
Format:
memos/{memo}"
Required. The resource name of the memo.
Format: memos/{memo}
relations
:
relations
:
type
:
array
type
:
array
items
:
items
:
...
@@ -3370,9 +3153,7 @@ components:
...
@@ -3370,9 +3153,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
shortcut.
\r\n
Format:
users/{user}/shortcuts/{shortcut}"
The resource name of the shortcut.
Format: users/{user}/shortcuts/{shortcut}
title
:
title
:
type
:
string
type
:
string
description
:
The title of the shortcut.
description
:
The title of the shortcut.
...
@@ -3415,9 +3196,7 @@ components:
...
@@ -3415,9 +3196,7 @@ components:
type
:
string
type
:
string
usePathStyle
:
usePathStyle
:
type
:
boolean
type
:
boolean
description
:
|-
description
:
"
S3
configuration
for
cloud
storage
backend.
\r\n
Reference:
https://developers.cloudflare.com/r2/examples/aws/aws-sdk-go/"
S3 configuration for cloud storage backend.
Reference: https://developers.cloudflare.com/r2/examples/aws/aws-sdk-go/
StrikethroughNode
:
StrikethroughNode
:
type
:
object
type
:
object
properties
:
properties
:
...
@@ -3515,9 +3294,7 @@ components:
...
@@ -3515,9 +3294,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
Required.
The
resource
name
of
the
memo.
\r\n
Format:
memos/{memo}"
Required. The resource name of the memo.
Format: memos/{memo}
reaction
:
reaction
:
allOf
:
allOf
:
-
$ref
:
'
#/components/schemas/Reaction'
-
$ref
:
'
#/components/schemas/Reaction'
...
@@ -3531,9 +3308,7 @@ components:
...
@@ -3531,9 +3308,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
user.
\r\n
Format:
users/{user}"
The resource name of the user.
Format: users/{user}
role
:
role
:
enum
:
enum
:
-
ROLE_UNSPECIFIED
-
ROLE_UNSPECIFIED
...
@@ -3585,9 +3360,7 @@ components:
...
@@ -3585,9 +3360,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
access
token.
\r\n
Format:
users/{user}/accessTokens/{access_token}"
The resource name of the access token.
Format: users/{user}/accessTokens/{access_token}
accessToken
:
accessToken
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
...
@@ -3610,9 +3383,7 @@ components:
...
@@ -3610,9 +3383,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
session.
\r\n
Format:
users/{user}/sessions/{session}"
The resource name of the session.
Format: users/{user}/sessions/{session}
sessionId
:
sessionId
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
...
@@ -3625,9 +3396,7 @@ components:
...
@@ -3625,9 +3396,7 @@ components:
lastAccessedTime
:
lastAccessedTime
:
readOnly
:
true
readOnly
:
true
type
:
string
type
:
string
description
:
|-
description
:
"
The
timestamp
when
the
session
was
last
accessed.
\r\n
Used
for
sliding
expiration
calculation
(last_accessed_time
+
2
weeks)."
The timestamp when the session was last accessed.
Used for sliding expiration calculation (last_accessed_time + 2 weeks).
format
:
date-time
format
:
date-time
clientInfo
:
clientInfo
:
readOnly
:
true
readOnly
:
true
...
@@ -3657,10 +3426,7 @@ components:
...
@@ -3657,10 +3426,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
name
of
the
user
setting.
\r\n
Format:
users/{user}/settings/{setting},
{setting}
is
the
key
for
the
setting.
\r\n
For
example,
\"
users/123/settings/GENERAL
\"
for
general
settings."
The name of the user setting.
Format: users/{user}/settings/{setting}, {setting} is the key for the setting.
For example, "users/123/settings/GENERAL" for general settings.
generalSetting
:
generalSetting
:
$ref
:
'
#/components/schemas/UserSetting_GeneralSetting'
$ref
:
'
#/components/schemas/UserSetting_GeneralSetting'
sessionsSetting
:
sessionsSetting
:
...
@@ -3693,10 +3459,7 @@ components:
...
@@ -3693,10 +3459,7 @@ components:
description
:
The default visibility of the memo.
description
:
The default visibility of the memo.
theme
:
theme
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
preferred
theme
of
the
user.
\r\n
This
references
a
CSS
file
in
the
web/public/themes/
directory.
\r\n
If
not
set,
the
default
theme
will
be
used."
The preferred theme of the user.
This references a CSS file in the web/public/themes/ directory.
If not set, the default theme will be used.
description
:
General user settings configuration.
description
:
General user settings configuration.
UserSetting_SessionsSetting
:
UserSetting_SessionsSetting
:
type
:
object
type
:
object
...
@@ -3721,9 +3484,7 @@ components:
...
@@ -3721,9 +3484,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
resource
name
of
the
user
whose
stats
these
are.
\r\n
Format:
users/{user}"
The resource name of the user whose stats these are.
Format: users/{user}
memoDisplayTimestamps
:
memoDisplayTimestamps
:
type
:
array
type
:
array
items
:
items
:
...
@@ -3771,9 +3532,7 @@ components:
...
@@ -3771,9 +3532,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
name
of
the
webhook.
\r\n
Format:
users/{user}/webhooks/{webhook}"
The name of the webhook.
Format: users/{user}/webhooks/{webhook}
url
:
url
:
type
:
string
type
:
string
description
:
The URL to send the webhook to.
description
:
The URL to send the webhook to.
...
@@ -3796,9 +3555,7 @@ components:
...
@@ -3796,9 +3555,7 @@ components:
properties
:
properties
:
owner
:
owner
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
name
of
instance
owner.
\r\n
Format:
users/{user}"
The name of instance owner.
Format: users/{user}
version
:
version
:
type
:
string
type
:
string
description
:
Version is the current version of instance.
description
:
Version is the current version of instance.
...
@@ -3814,9 +3571,7 @@ components:
...
@@ -3814,9 +3571,7 @@ components:
properties
:
properties
:
name
:
name
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
name
of
the
workspace
setting.
\r\n
Format:
workspace/settings/{setting}"
The name of the workspace setting.
Format: workspace/settings/{setting}
generalSetting
:
generalSetting
:
$ref
:
'
#/components/schemas/WorkspaceSetting_GeneralSetting'
$ref
:
'
#/components/schemas/WorkspaceSetting_GeneralSetting'
storageSetting
:
storageSetting
:
...
@@ -3829,9 +3584,7 @@ components:
...
@@ -3829,9 +3584,7 @@ components:
properties
:
properties
:
theme
:
theme
:
type
:
string
type
:
string
description
:
|-
description
:
"
theme
is
the
name
of
the
selected
theme.
\r\n
This
references
a
CSS
file
in
the
web/public/themes/
directory."
theme is the name of the selected theme.
This references a CSS file in the web/public/themes/ directory.
disallowUserRegistration
:
disallowUserRegistration
:
type
:
boolean
type
:
boolean
description
:
disallow_user_registration disallows user registration.
description
:
disallow_user_registration disallows user registration.
...
@@ -3850,10 +3603,7 @@ components:
...
@@ -3850,10 +3603,7 @@ components:
description
:
custom_profile is the custom profile.
description
:
custom_profile is the custom profile.
weekStartDayOffset
:
weekStartDayOffset
:
type
:
integer
type
:
integer
description
:
|-
description
:
"
week_start_day_offset
is
the
week
start
day
offset
from
Sunday.
\r\n
0:
Sunday,
1:
Monday,
2:
Tuesday,
3:
Wednesday,
4:
Thursday,
5:
Friday,
6:
Saturday
\r\n
Default
is
Sunday."
week_start_day_offset is the week start day offset from Sunday.
0: Sunday, 1: Monday, 2: Tuesday, 3: Wednesday, 4: Thursday, 5: Friday, 6: Saturday
Default is Sunday.
format
:
int32
format
:
int32
disallowChangeUsername
:
disallowChangeUsername
:
type
:
boolean
type
:
boolean
...
@@ -3912,9 +3662,7 @@ components:
...
@@ -3912,9 +3662,7 @@ components:
format
:
enum
format
:
enum
filepathTemplate
:
filepathTemplate
:
type
:
string
type
:
string
description
:
|-
description
:
"
The
template
of
file
path.
\r\n
e.g.
assets/{timestamp}_{filename}"
The template of file path.
e.g. assets/{timestamp}_{filename}
uploadSizeLimitMb
:
uploadSizeLimitMb
:
type
:
string
type
:
string
description
:
The max upload size in megabytes.
description
:
The max upload size in megabytes.
...
...
server/router/api/v1/user_filter_test.go
0 → 100644
View file @
506b477d
package
v1
import
(
"testing"
"github.com/usememos/memos/plugin/filter"
)
func
TestUserFilterValidation
(
t
*
testing
.
T
)
{
testCases
:=
[]
struct
{
name
string
filter
string
expectErr
bool
}{
{
name
:
"valid username filter with equals"
,
filter
:
`username == "testuser"`
,
expectErr
:
false
,
},
{
name
:
"valid username filter with contains"
,
filter
:
`username.contains("admin")`
,
expectErr
:
false
,
},
{
name
:
"invalid filter - unknown field"
,
filter
:
`invalid_field == "test"`
,
expectErr
:
true
,
},
{
name
:
"empty filter"
,
filter
:
""
,
expectErr
:
true
,
},
{
name
:
"invalid syntax"
,
filter
:
`username ==`
,
expectErr
:
true
,
},
}
for
_
,
tc
:=
range
testCases
{
t
.
Run
(
tc
.
name
,
func
(
t
*
testing
.
T
)
{
// Test the filter parsing directly
_
,
err
:=
filter
.
Parse
(
tc
.
filter
,
filter
.
UserFilterCELAttributes
...
)
if
tc
.
expectErr
&&
err
==
nil
{
t
.
Errorf
(
"Expected error for filter %q, but got none"
,
tc
.
filter
)
}
if
!
tc
.
expectErr
&&
err
!=
nil
{
t
.
Errorf
(
"Expected no error for filter %q, but got: %v"
,
tc
.
filter
,
err
)
}
})
}
}
func
TestUserFilterCELAttributes
(
t
*
testing
.
T
)
{
// Test that our UserFilterCELAttributes contains the username variable
expectedAttributes
:=
map
[
string
]
bool
{
"username"
:
true
,
}
// This is a basic test to ensure the attributes are defined
// In a real test, you would create a CEL environment and verify the attributes
for
attrName
:=
range
expectedAttributes
{
t
.
Logf
(
"Expected attribute %s should be available in UserFilterCELAttributes"
,
attrName
)
}
}
server/router/api/v1/user_service.go
View file @
506b477d
...
@@ -25,12 +25,13 @@ import (
...
@@ -25,12 +25,13 @@ import (
"github.com/usememos/memos/internal/base"
"github.com/usememos/memos/internal/base"
"github.com/usememos/memos/internal/util"
"github.com/usememos/memos/internal/util"
"github.com/usememos/memos/plugin/filter"
v1pb
"github.com/usememos/memos/proto/gen/api/v1"
v1pb
"github.com/usememos/memos/proto/gen/api/v1"
storepb
"github.com/usememos/memos/proto/gen/store"
storepb
"github.com/usememos/memos/proto/gen/store"
"github.com/usememos/memos/store"
"github.com/usememos/memos/store"
)
)
func
(
s
*
APIV1Service
)
ListUsers
(
ctx
context
.
Context
,
_
*
v1pb
.
ListUsersRequest
)
(
*
v1pb
.
ListUsersResponse
,
error
)
{
func
(
s
*
APIV1Service
)
ListUsers
(
ctx
context
.
Context
,
request
*
v1pb
.
ListUsersRequest
)
(
*
v1pb
.
ListUsersResponse
,
error
)
{
currentUser
,
err
:=
s
.
GetCurrentUser
(
ctx
)
currentUser
,
err
:=
s
.
GetCurrentUser
(
ctx
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get user: %v"
,
err
)
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get user: %v"
,
err
)
...
@@ -39,12 +40,21 @@ func (s *APIV1Service) ListUsers(ctx context.Context, _ *v1pb.ListUsersRequest)
...
@@ -39,12 +40,21 @@ func (s *APIV1Service) ListUsers(ctx context.Context, _ *v1pb.ListUsersRequest)
return
nil
,
status
.
Errorf
(
codes
.
PermissionDenied
,
"permission denied"
)
return
nil
,
status
.
Errorf
(
codes
.
PermissionDenied
,
"permission denied"
)
}
}
users
,
err
:=
s
.
Store
.
ListUsers
(
ctx
,
&
store
.
FindUser
{})
userFind
:=
&
store
.
FindUser
{}
if
request
.
Filter
!=
""
{
if
err
:=
s
.
validateUserFilter
(
ctx
,
request
.
Filter
);
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
InvalidArgument
,
"invalid filter: %v"
,
err
)
}
userFind
.
Filters
=
append
(
userFind
.
Filters
,
request
.
Filter
)
}
users
,
err
:=
s
.
Store
.
ListUsers
(
ctx
,
userFind
)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to list users: %v"
,
err
)
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to list users: %v"
,
err
)
}
}
// TODO: Implement proper
filtering,
ordering, and pagination
// TODO: Implement proper ordering, and pagination
// For now, return all users with basic structure
// For now, return all users with basic structure
response
:=
&
v1pb
.
ListUsersResponse
{
response
:=
&
v1pb
.
ListUsersResponse
{
Users
:
[]
*
v1pb
.
User
{},
Users
:
[]
*
v1pb
.
User
{},
...
@@ -70,47 +80,7 @@ func (s *APIV1Service) GetUser(ctx context.Context, request *v1pb.GetUserRequest
...
@@ -70,47 +80,7 @@ func (s *APIV1Service) GetUser(ctx context.Context, request *v1pb.GetUserRequest
if
user
==
nil
{
if
user
==
nil
{
return
nil
,
status
.
Errorf
(
codes
.
NotFound
,
"user not found"
)
return
nil
,
status
.
Errorf
(
codes
.
NotFound
,
"user not found"
)
}
}
userPb
:=
convertUserFromStore
(
user
)
return
convertUserFromStore
(
user
),
nil
// TODO: Implement read_mask field filtering
// For now, return all fields
return
userPb
,
nil
}
func
(
s
*
APIV1Service
)
SearchUsers
(
ctx
context
.
Context
,
request
*
v1pb
.
SearchUsersRequest
)
(
*
v1pb
.
SearchUsersResponse
,
error
)
{
currentUser
,
err
:=
s
.
GetCurrentUser
(
ctx
)
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to get user: %v"
,
err
)
}
if
currentUser
.
Role
!=
store
.
RoleHost
&&
currentUser
.
Role
!=
store
.
RoleAdmin
{
return
nil
,
status
.
Errorf
(
codes
.
PermissionDenied
,
"permission denied"
)
}
// Search users by username, email, or display name
users
,
err
:=
s
.
Store
.
ListUsers
(
ctx
,
&
store
.
FindUser
{})
if
err
!=
nil
{
return
nil
,
status
.
Errorf
(
codes
.
Internal
,
"failed to list users: %v"
,
err
)
}
var
filteredUsers
[]
*
store
.
User
query
:=
strings
.
ToLower
(
request
.
Query
)
for
_
,
user
:=
range
users
{
if
strings
.
Contains
(
strings
.
ToLower
(
user
.
Username
),
query
)
||
strings
.
Contains
(
strings
.
ToLower
(
user
.
Email
),
query
)
||
strings
.
Contains
(
strings
.
ToLower
(
user
.
Nickname
),
query
)
{
filteredUsers
=
append
(
filteredUsers
,
user
)
}
}
response
:=
&
v1pb
.
SearchUsersResponse
{
Users
:
[]
*
v1pb
.
User
{},
TotalSize
:
int32
(
len
(
filteredUsers
)),
}
for
_
,
user
:=
range
filteredUsers
{
response
.
Users
=
append
(
response
.
Users
,
convertUserFromStore
(
user
))
}
return
response
,
nil
}
}
func
(
s
*
APIV1Service
)
GetUserAvatar
(
ctx
context
.
Context
,
request
*
v1pb
.
GetUserAvatarRequest
)
(
*
httpbody
.
HttpBody
,
error
)
{
func
(
s
*
APIV1Service
)
GetUserAvatar
(
ctx
context
.
Context
,
request
*
v1pb
.
GetUserAvatarRequest
)
(
*
httpbody
.
HttpBody
,
error
)
{
...
@@ -1316,3 +1286,37 @@ func extractWebhookIDFromName(name string) string {
...
@@ -1316,3 +1286,37 @@ func extractWebhookIDFromName(name string) string {
}
}
return
""
return
""
}
}
// validateUserFilter validates the user filter string.
func
(
s
*
APIV1Service
)
validateUserFilter
(
_
context
.
Context
,
filterStr
string
)
error
{
if
filterStr
==
""
{
return
errors
.
New
(
"filter cannot be empty"
)
}
// Validate the filter.
parsedExpr
,
err
:=
filter
.
Parse
(
filterStr
,
filter
.
UserFilterCELAttributes
...
)
if
err
!=
nil
{
return
errors
.
Wrap
(
err
,
"failed to parse filter"
)
}
convertCtx
:=
filter
.
NewConvertContext
()
// Determine the dialect based on the actual database driver
var
dialect
filter
.
SQLDialect
switch
s
.
Profile
.
Driver
{
case
"sqlite"
:
dialect
=
&
filter
.
SQLiteDialect
{}
case
"mysql"
:
dialect
=
&
filter
.
MySQLDialect
{}
case
"postgres"
:
dialect
=
&
filter
.
PostgreSQLDialect
{}
default
:
// Default to SQLite for unknown drivers
dialect
=
&
filter
.
SQLiteDialect
{}
}
converter
:=
filter
.
NewCommonSQLConverter
(
dialect
)
err
=
converter
.
ConvertExprToSQL
(
convertCtx
,
parsedExpr
.
GetExpr
())
if
err
!=
nil
{
return
errors
.
Wrap
(
err
,
"failed to convert filter to SQL"
)
}
return
nil
}
store/db/mysql/user.go
View file @
506b477d
...
@@ -7,6 +7,7 @@ import (
...
@@ -7,6 +7,7 @@ import (
"github.com/pkg/errors"
"github.com/pkg/errors"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/store"
"github.com/usememos/memos/store"
)
)
...
@@ -84,6 +85,26 @@ func (d *DB) UpdateUser(ctx context.Context, update *store.UpdateUser) (*store.U
...
@@ -84,6 +85,26 @@ func (d *DB) UpdateUser(ctx context.Context, update *store.UpdateUser) (*store.U
func
(
d
*
DB
)
ListUsers
(
ctx
context
.
Context
,
find
*
store
.
FindUser
)
([]
*
store
.
User
,
error
)
{
func
(
d
*
DB
)
ListUsers
(
ctx
context
.
Context
,
find
*
store
.
FindUser
)
([]
*
store
.
User
,
error
)
{
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
for
_
,
filterStr
:=
range
find
.
Filters
{
// Parse filter string and return the parsed expression.
// The filter string should be a CEL expression.
parsedExpr
,
err
:=
filter
.
Parse
(
filterStr
,
filter
.
UserFilterCELAttributes
...
)
if
err
!=
nil
{
return
nil
,
err
}
convertCtx
:=
filter
.
NewConvertContext
()
// ConvertExprToSQL converts the parsed expression to a SQL condition string.
converter
:=
filter
.
NewCommonSQLConverter
(
&
filter
.
MySQLDialect
{})
if
err
:=
converter
.
ConvertExprToSQL
(
convertCtx
,
parsedExpr
.
GetExpr
());
err
!=
nil
{
return
nil
,
err
}
condition
:=
convertCtx
.
Buffer
.
String
()
if
condition
!=
""
{
where
=
append
(
where
,
fmt
.
Sprintf
(
"(%s)"
,
condition
))
args
=
append
(
args
,
convertCtx
.
Args
...
)
}
}
if
v
:=
find
.
ID
;
v
!=
nil
{
if
v
:=
find
.
ID
;
v
!=
nil
{
where
,
args
=
append
(
where
,
"`id` = ?"
),
append
(
args
,
*
v
)
where
,
args
=
append
(
where
,
"`id` = ?"
),
append
(
args
,
*
v
)
}
}
...
...
store/db/postgres/user.go
View file @
506b477d
...
@@ -5,6 +5,7 @@ import (
...
@@ -5,6 +5,7 @@ import (
"fmt"
"fmt"
"strings"
"strings"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/store"
"github.com/usememos/memos/store"
)
)
...
@@ -85,6 +86,26 @@ func (d *DB) UpdateUser(ctx context.Context, update *store.UpdateUser) (*store.U
...
@@ -85,6 +86,26 @@ func (d *DB) UpdateUser(ctx context.Context, update *store.UpdateUser) (*store.U
func
(
d
*
DB
)
ListUsers
(
ctx
context
.
Context
,
find
*
store
.
FindUser
)
([]
*
store
.
User
,
error
)
{
func
(
d
*
DB
)
ListUsers
(
ctx
context
.
Context
,
find
*
store
.
FindUser
)
([]
*
store
.
User
,
error
)
{
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
for
_
,
filterStr
:=
range
find
.
Filters
{
// Parse filter string and return the parsed expression.
// The filter string should be a CEL expression.
parsedExpr
,
err
:=
filter
.
Parse
(
filterStr
,
filter
.
UserFilterCELAttributes
...
)
if
err
!=
nil
{
return
nil
,
err
}
convertCtx
:=
filter
.
NewConvertContext
()
// ConvertExprToSQL converts the parsed expression to a SQL condition string.
converter
:=
filter
.
NewCommonSQLConverter
(
&
filter
.
PostgreSQLDialect
{})
if
err
:=
converter
.
ConvertExprToSQL
(
convertCtx
,
parsedExpr
.
GetExpr
());
err
!=
nil
{
return
nil
,
err
}
condition
:=
convertCtx
.
Buffer
.
String
()
if
condition
!=
""
{
where
=
append
(
where
,
fmt
.
Sprintf
(
"(%s)"
,
condition
))
args
=
append
(
args
,
convertCtx
.
Args
...
)
}
}
if
v
:=
find
.
ID
;
v
!=
nil
{
if
v
:=
find
.
ID
;
v
!=
nil
{
where
,
args
=
append
(
where
,
"id = "
+
placeholder
(
len
(
args
)
+
1
)),
append
(
args
,
*
v
)
where
,
args
=
append
(
where
,
"id = "
+
placeholder
(
len
(
args
)
+
1
)),
append
(
args
,
*
v
)
}
}
...
...
store/db/sqlite/user.go
View file @
506b477d
...
@@ -5,6 +5,7 @@ import (
...
@@ -5,6 +5,7 @@ import (
"fmt"
"fmt"
"strings"
"strings"
"github.com/usememos/memos/plugin/filter"
"github.com/usememos/memos/store"
"github.com/usememos/memos/store"
)
)
...
@@ -86,6 +87,26 @@ func (d *DB) UpdateUser(ctx context.Context, update *store.UpdateUser) (*store.U
...
@@ -86,6 +87,26 @@ func (d *DB) UpdateUser(ctx context.Context, update *store.UpdateUser) (*store.U
func
(
d
*
DB
)
ListUsers
(
ctx
context
.
Context
,
find
*
store
.
FindUser
)
([]
*
store
.
User
,
error
)
{
func
(
d
*
DB
)
ListUsers
(
ctx
context
.
Context
,
find
*
store
.
FindUser
)
([]
*
store
.
User
,
error
)
{
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
where
,
args
:=
[]
string
{
"1 = 1"
},
[]
any
{}
for
_
,
filterStr
:=
range
find
.
Filters
{
// Parse filter string and return the parsed expression.
// The filter string should be a CEL expression.
parsedExpr
,
err
:=
filter
.
Parse
(
filterStr
,
filter
.
UserFilterCELAttributes
...
)
if
err
!=
nil
{
return
nil
,
err
}
convertCtx
:=
filter
.
NewConvertContext
()
// ConvertExprToSQL converts the parsed expression to a SQL condition string.
converter
:=
filter
.
NewCommonSQLConverter
(
&
filter
.
SQLiteDialect
{})
if
err
:=
converter
.
ConvertExprToSQL
(
convertCtx
,
parsedExpr
.
GetExpr
());
err
!=
nil
{
return
nil
,
err
}
condition
:=
convertCtx
.
Buffer
.
String
()
if
condition
!=
""
{
where
=
append
(
where
,
fmt
.
Sprintf
(
"(%s)"
,
condition
))
args
=
append
(
args
,
convertCtx
.
Args
...
)
}
}
if
v
:=
find
.
ID
;
v
!=
nil
{
if
v
:=
find
.
ID
;
v
!=
nil
{
where
,
args
=
append
(
where
,
"id = ?"
),
append
(
args
,
*
v
)
where
,
args
=
append
(
where
,
"id = ?"
),
append
(
args
,
*
v
)
}
}
...
...
store/user.go
View file @
506b477d
...
@@ -83,6 +83,9 @@ type FindUser struct {
...
@@ -83,6 +83,9 @@ type FindUser struct {
Email
*
string
Email
*
string
Nickname
*
string
Nickname
*
string
// Domain specific fields
Filters
[]
string
// The maximum number of users to return.
// The maximum number of users to return.
Limit
*
int
Limit
*
int
}
}
...
...
web/src/store/user.ts
View file @
506b477d
...
@@ -84,8 +84,8 @@ const userStore = (() => {
...
@@ -84,8 +84,8 @@ const userStore = (() => {
}
}
}
}
// Use search instead of the deprecated getUserByUsername
// Use search instead of the deprecated getUserByUsername
const
{
users
}
=
await
userServiceClient
.
search
Users
({
const
{
users
}
=
await
userServiceClient
.
list
Users
({
query
:
username
,
filter
:
`username == "
${
username
}
"`
,
pageSize
:
10
,
pageSize
:
10
,
});
});
const
user
=
users
.
find
((
u
)
=>
u
.
username
===
username
);
const
user
=
users
.
find
((
u
)
=>
u
.
username
===
username
);
...
...
web/src/types/proto/api/v1/user_service.ts
View file @
506b477d
...
@@ -114,11 +114,6 @@ export interface ListUsersRequest {
...
@@ -114,11 +114,6 @@ export interface ListUsersRequest {
* Supported fields: username, email, role, state, create_time, update_time
* Supported fields: username, email, role, state, create_time, update_time
*/
*/
filter
:
string
;
filter
:
string
;
/**
* Optional. The order to sort results by.
* Example: "create_time desc" or "username asc"
*/
orderBy
:
string
;
/** Optional. If true, show deleted users in the response. */
/** Optional. If true, show deleted users in the response. */
showDeleted
:
boolean
;
showDeleted
:
boolean
;
}
}
...
@@ -191,24 +186,6 @@ export interface DeleteUserRequest {
...
@@ -191,24 +186,6 @@ export interface DeleteUserRequest {
force
:
boolean
;
force
:
boolean
;
}
}
export
interface
SearchUsersRequest
{
/** Required. The search query. */
query
:
string
;
/** Optional. The maximum number of users to return. */
pageSize
:
number
;
/** Optional. A page token for pagination. */
pageToken
:
string
;
}
export
interface
SearchUsersResponse
{
/** The list of users matching the search query. */
users
:
User
[];
/** A token for the next page of results. */
nextPageToken
:
string
;
/** The total count of matching users. */
totalSize
:
number
;
}
export
interface
GetUserAvatarRequest
{
export
interface
GetUserAvatarRequest
{
/**
/**
* Required. The resource name of the user.
* Required. The resource name of the user.
...
@@ -780,7 +757,7 @@ export const User: MessageFns<User> = {
...
@@ -780,7 +757,7 @@ export const User: MessageFns<User> = {
};
};
function
createBaseListUsersRequest
():
ListUsersRequest
{
function
createBaseListUsersRequest
():
ListUsersRequest
{
return
{
pageSize
:
0
,
pageToken
:
""
,
filter
:
""
,
orderBy
:
""
,
showDeleted
:
false
};
return
{
pageSize
:
0
,
pageToken
:
""
,
filter
:
""
,
showDeleted
:
false
};
}
}
export
const
ListUsersRequest
:
MessageFns
<
ListUsersRequest
>
=
{
export
const
ListUsersRequest
:
MessageFns
<
ListUsersRequest
>
=
{
...
@@ -794,11 +771,8 @@ export const ListUsersRequest: MessageFns<ListUsersRequest> = {
...
@@ -794,11 +771,8 @@ export const ListUsersRequest: MessageFns<ListUsersRequest> = {
if
(
message
.
filter
!==
""
)
{
if
(
message
.
filter
!==
""
)
{
writer
.
uint32
(
26
).
string
(
message
.
filter
);
writer
.
uint32
(
26
).
string
(
message
.
filter
);
}
}
if
(
message
.
orderBy
!==
""
)
{
writer
.
uint32
(
34
).
string
(
message
.
orderBy
);
}
if
(
message
.
showDeleted
!==
false
)
{
if
(
message
.
showDeleted
!==
false
)
{
writer
.
uint32
(
40
).
bool
(
message
.
showDeleted
);
writer
.
uint32
(
32
).
bool
(
message
.
showDeleted
);
}
}
return
writer
;
return
writer
;
},
},
...
@@ -835,15 +809,7 @@ export const ListUsersRequest: MessageFns<ListUsersRequest> = {
...
@@ -835,15 +809,7 @@ export const ListUsersRequest: MessageFns<ListUsersRequest> = {
continue
;
continue
;
}
}
case
4
:
{
case
4
:
{
if
(
tag
!==
34
)
{
if
(
tag
!==
32
)
{
break
;
}
message
.
orderBy
=
reader
.
string
();
continue
;
}
case
5
:
{
if
(
tag
!==
40
)
{
break
;
break
;
}
}
...
@@ -867,7 +833,6 @@ export const ListUsersRequest: MessageFns<ListUsersRequest> = {
...
@@ -867,7 +833,6 @@ export const ListUsersRequest: MessageFns<ListUsersRequest> = {
message
.
pageSize
=
object
.
pageSize
??
0
;
message
.
pageSize
=
object
.
pageSize
??
0
;
message
.
pageToken
=
object
.
pageToken
??
""
;
message
.
pageToken
=
object
.
pageToken
??
""
;
message
.
filter
=
object
.
filter
??
""
;
message
.
filter
=
object
.
filter
??
""
;
message
.
orderBy
=
object
.
orderBy
??
""
;
message
.
showDeleted
=
object
.
showDeleted
??
false
;
message
.
showDeleted
=
object
.
showDeleted
??
false
;
return
message
;
return
message
;
},
},
...
@@ -1211,146 +1176,6 @@ export const DeleteUserRequest: MessageFns<DeleteUserRequest> = {
...
@@ -1211,146 +1176,6 @@ export const DeleteUserRequest: MessageFns<DeleteUserRequest> = {
},
},
};
};
function
createBaseSearchUsersRequest
():
SearchUsersRequest
{
return
{
query
:
""
,
pageSize
:
0
,
pageToken
:
""
};
}
export
const
SearchUsersRequest
:
MessageFns
<
SearchUsersRequest
>
=
{
encode
(
message
:
SearchUsersRequest
,
writer
:
BinaryWriter
=
new
BinaryWriter
()):
BinaryWriter
{
if
(
message
.
query
!==
""
)
{
writer
.
uint32
(
10
).
string
(
message
.
query
);
}
if
(
message
.
pageSize
!==
0
)
{
writer
.
uint32
(
16
).
int32
(
message
.
pageSize
);
}
if
(
message
.
pageToken
!==
""
)
{
writer
.
uint32
(
26
).
string
(
message
.
pageToken
);
}
return
writer
;
},
decode
(
input
:
BinaryReader
|
Uint8Array
,
length
?:
number
):
SearchUsersRequest
{
const
reader
=
input
instanceof
BinaryReader
?
input
:
new
BinaryReader
(
input
);
let
end
=
length
===
undefined
?
reader
.
len
:
reader
.
pos
+
length
;
const
message
=
createBaseSearchUsersRequest
();
while
(
reader
.
pos
<
end
)
{
const
tag
=
reader
.
uint32
();
switch
(
tag
>>>
3
)
{
case
1
:
{
if
(
tag
!==
10
)
{
break
;
}
message
.
query
=
reader
.
string
();
continue
;
}
case
2
:
{
if
(
tag
!==
16
)
{
break
;
}
message
.
pageSize
=
reader
.
int32
();
continue
;
}
case
3
:
{
if
(
tag
!==
26
)
{
break
;
}
message
.
pageToken
=
reader
.
string
();
continue
;
}
}
if
((
tag
&
7
)
===
4
||
tag
===
0
)
{
break
;
}
reader
.
skip
(
tag
&
7
);
}
return
message
;
},
create
(
base
?:
DeepPartial
<
SearchUsersRequest
>
):
SearchUsersRequest
{
return
SearchUsersRequest
.
fromPartial
(
base
??
{});
},
fromPartial
(
object
:
DeepPartial
<
SearchUsersRequest
>
):
SearchUsersRequest
{
const
message
=
createBaseSearchUsersRequest
();
message
.
query
=
object
.
query
??
""
;
message
.
pageSize
=
object
.
pageSize
??
0
;
message
.
pageToken
=
object
.
pageToken
??
""
;
return
message
;
},
};
function
createBaseSearchUsersResponse
():
SearchUsersResponse
{
return
{
users
:
[],
nextPageToken
:
""
,
totalSize
:
0
};
}
export
const
SearchUsersResponse
:
MessageFns
<
SearchUsersResponse
>
=
{
encode
(
message
:
SearchUsersResponse
,
writer
:
BinaryWriter
=
new
BinaryWriter
()):
BinaryWriter
{
for
(
const
v
of
message
.
users
)
{
User
.
encode
(
v
!
,
writer
.
uint32
(
10
).
fork
()).
join
();
}
if
(
message
.
nextPageToken
!==
""
)
{
writer
.
uint32
(
18
).
string
(
message
.
nextPageToken
);
}
if
(
message
.
totalSize
!==
0
)
{
writer
.
uint32
(
24
).
int32
(
message
.
totalSize
);
}
return
writer
;
},
decode
(
input
:
BinaryReader
|
Uint8Array
,
length
?:
number
):
SearchUsersResponse
{
const
reader
=
input
instanceof
BinaryReader
?
input
:
new
BinaryReader
(
input
);
let
end
=
length
===
undefined
?
reader
.
len
:
reader
.
pos
+
length
;
const
message
=
createBaseSearchUsersResponse
();
while
(
reader
.
pos
<
end
)
{
const
tag
=
reader
.
uint32
();
switch
(
tag
>>>
3
)
{
case
1
:
{
if
(
tag
!==
10
)
{
break
;
}
message
.
users
.
push
(
User
.
decode
(
reader
,
reader
.
uint32
()));
continue
;
}
case
2
:
{
if
(
tag
!==
18
)
{
break
;
}
message
.
nextPageToken
=
reader
.
string
();
continue
;
}
case
3
:
{
if
(
tag
!==
24
)
{
break
;
}
message
.
totalSize
=
reader
.
int32
();
continue
;
}
}
if
((
tag
&
7
)
===
4
||
tag
===
0
)
{
break
;
}
reader
.
skip
(
tag
&
7
);
}
return
message
;
},
create
(
base
?:
DeepPartial
<
SearchUsersResponse
>
):
SearchUsersResponse
{
return
SearchUsersResponse
.
fromPartial
(
base
??
{});
},
fromPartial
(
object
:
DeepPartial
<
SearchUsersResponse
>
):
SearchUsersResponse
{
const
message
=
createBaseSearchUsersResponse
();
message
.
users
=
object
.
users
?.
map
((
e
)
=>
User
.
fromPartial
(
e
))
||
[];
message
.
nextPageToken
=
object
.
nextPageToken
??
""
;
message
.
totalSize
=
object
.
totalSize
??
0
;
return
message
;
},
};
function
createBaseGetUserAvatarRequest
():
GetUserAvatarRequest
{
function
createBaseGetUserAvatarRequest
():
GetUserAvatarRequest
{
return
{
name
:
""
};
return
{
name
:
""
};
}
}
...
@@ -3586,46 +3411,6 @@ export const UserServiceDefinition = {
...
@@ -3586,46 +3411,6 @@ export const UserServiceDefinition = {
},
},
},
},
},
},
/** SearchUsers searches for users based on query. */
searchUsers
:
{
name
:
"SearchUsers"
,
requestType
:
SearchUsersRequest
,
requestStream
:
false
,
responseType
:
SearchUsersResponse
,
responseStream
:
false
,
options
:
{
_unknownFields
:
{
8410
:
[
new
Uint8Array
([
5
,
113
,
117
,
101
,
114
,
121
])],
578365826
:
[
new
Uint8Array
([
22
,
18
,
20
,
47
,
97
,
112
,
105
,
47
,
118
,
49
,
47
,
117
,
115
,
101
,
114
,
115
,
58
,
115
,
101
,
97
,
114
,
99
,
104
,
]),
],
},
},
},
/** GetUserAvatar gets the avatar of a user. */
/** GetUserAvatar gets the avatar of a user. */
getUserAvatar
:
{
getUserAvatar
:
{
name
:
"GetUserAvatar"
,
name
:
"GetUserAvatar"
,
...
...
web/src/types/proto/google/protobuf/descriptor.ts
View file @
506b477d
...
@@ -35,7 +35,7 @@ export enum Edition {
...
@@ -35,7 +35,7 @@ export enum Edition {
EDITION_2024
=
"EDITION_2024"
,
EDITION_2024
=
"EDITION_2024"
,
/**
/**
* EDITION_1_TEST_ONLY - Placeholder editions for testing feature resolution. These should not be
* EDITION_1_TEST_ONLY - Placeholder editions for testing feature resolution. These should not be
* used or rel
i
ed on outside of tests.
* used or rel
y
ed on outside of tests.
*/
*/
EDITION_1_TEST_ONLY
=
"EDITION_1_TEST_ONLY"
,
EDITION_1_TEST_ONLY
=
"EDITION_1_TEST_ONLY"
,
EDITION_2_TEST_ONLY
=
"EDITION_2_TEST_ONLY"
,
EDITION_2_TEST_ONLY
=
"EDITION_2_TEST_ONLY"
,
...
@@ -177,19 +177,11 @@ export interface FileDescriptorProto {
...
@@ -177,19 +177,11 @@ export interface FileDescriptorProto {
* The supported values are "proto2", "proto3", and "editions".
* The supported values are "proto2", "proto3", and "editions".
*
*
* If `edition` is present, this value must be "editions".
* If `edition` is present, this value must be "editions".
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*/
*/
syntax
?:
syntax
?:
|
string
|
string
|
undefined
;
|
undefined
;
/**
/** The edition of the proto file. */
* The edition of the proto file.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*/
edition
?:
Edition
|
undefined
;
edition
?:
Edition
|
undefined
;
}
}
...
@@ -836,12 +828,7 @@ export interface FileOptions {
...
@@ -836,12 +828,7 @@ export interface FileOptions {
rubyPackage
?:
rubyPackage
?:
|
string
|
string
|
undefined
;
|
undefined
;
/**
/** Any features defined in the specific edition. */
* Any features defined in the specific edition.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*/
features
?:
features
?:
|
FeatureSet
|
FeatureSet
|
undefined
;
|
undefined
;
...
@@ -979,12 +966,7 @@ export interface MessageOptions {
...
@@ -979,12 +966,7 @@ export interface MessageOptions {
deprecatedLegacyJsonFieldConflicts
?:
deprecatedLegacyJsonFieldConflicts
?:
|
boolean
|
boolean
|
undefined
;
|
undefined
;
/**
/** Any features defined in the specific edition. */
* Any features defined in the specific edition.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*/
features
?:
features
?:
|
FeatureSet
|
FeatureSet
|
undefined
;
|
undefined
;
...
@@ -994,13 +976,12 @@ export interface MessageOptions {
...
@@ -994,13 +976,12 @@ export interface MessageOptions {
export
interface
FieldOptions
{
export
interface
FieldOptions
{
/**
/**
* NOTE: ctype is deprecated. Use `features.(pb.cpp).string_type` instead.
* The ctype option instructs the C++ code generator to use a different
* The ctype option instructs the C++ code generator to use a different
* representation of the field than it normally would. See the specific
* representation of the field than it normally would. See the specific
* options below. This option is only implemented to support use of
* options below. This option is only implemented to support use of
* [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
* [ctype=CORD] and [ctype=STRING] (the default) on non-repeated fields of
* type "bytes" in the open source release
.
* type "bytes" in the open source release
-- sorry, we'll try to include
*
TODO: make ctype actually deprecated.
*
other types in a future version!
*/
*/
ctype
?:
ctype
?:
|
FieldOptions_CType
|
FieldOptions_CType
...
@@ -1089,12 +1070,7 @@ export interface FieldOptions {
...
@@ -1089,12 +1070,7 @@ export interface FieldOptions {
retention
?:
FieldOptions_OptionRetention
|
undefined
;
retention
?:
FieldOptions_OptionRetention
|
undefined
;
targets
:
FieldOptions_OptionTargetType
[];
targets
:
FieldOptions_OptionTargetType
[];
editionDefaults
:
FieldOptions_EditionDefault
[];
editionDefaults
:
FieldOptions_EditionDefault
[];
/**
/** Any features defined in the specific edition. */
* Any features defined in the specific edition.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*/
features
?:
FeatureSet
|
undefined
;
features
?:
FeatureSet
|
undefined
;
featureSupport
?:
featureSupport
?:
|
FieldOptions_FeatureSupport
|
FieldOptions_FeatureSupport
...
@@ -1193,7 +1169,11 @@ export function fieldOptions_JSTypeToNumber(object: FieldOptions_JSType): number
...
@@ -1193,7 +1169,11 @@ export function fieldOptions_JSTypeToNumber(object: FieldOptions_JSType): number
}
}
}
}
/** If set to RETENTION_SOURCE, the option will be omitted from the binary. */
/**
* If set to RETENTION_SOURCE, the option will be omitted from the binary.
* Note: as of January 2023, support for this is in progress and does not yet
* have an effect (b/264593489).
*/
export
enum
FieldOptions_OptionRetention
{
export
enum
FieldOptions_OptionRetention
{
RETENTION_UNKNOWN
=
"RETENTION_UNKNOWN"
,
RETENTION_UNKNOWN
=
"RETENTION_UNKNOWN"
,
RETENTION_RUNTIME
=
"RETENTION_RUNTIME"
,
RETENTION_RUNTIME
=
"RETENTION_RUNTIME"
,
...
@@ -1236,7 +1216,8 @@ export function fieldOptions_OptionRetentionToNumber(object: FieldOptions_Option
...
@@ -1236,7 +1216,8 @@ export function fieldOptions_OptionRetentionToNumber(object: FieldOptions_Option
/**
/**
* This indicates the types of entities that the field may apply to when used
* This indicates the types of entities that the field may apply to when used
* as an option. If it is unset, then the field may be freely used as an
* as an option. If it is unset, then the field may be freely used as an
* option on any kind of entity.
* option on any kind of entity. Note: as of January 2023, support for this is
* in progress and does not yet have an effect (b/264593489).
*/
*/
export
enum
FieldOptions_OptionTargetType
{
export
enum
FieldOptions_OptionTargetType
{
TARGET_TYPE_UNKNOWN
=
"TARGET_TYPE_UNKNOWN"
,
TARGET_TYPE_UNKNOWN
=
"TARGET_TYPE_UNKNOWN"
,
...
@@ -1360,12 +1341,7 @@ export interface FieldOptions_FeatureSupport {
...
@@ -1360,12 +1341,7 @@ export interface FieldOptions_FeatureSupport {
}
}
export
interface
OneofOptions
{
export
interface
OneofOptions
{
/**
/** Any features defined in the specific edition. */
* Any features defined in the specific edition.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*/
features
?:
features
?:
|
FeatureSet
|
FeatureSet
|
undefined
;
|
undefined
;
...
@@ -1403,12 +1379,7 @@ export interface EnumOptions {
...
@@ -1403,12 +1379,7 @@ export interface EnumOptions {
deprecatedLegacyJsonFieldConflicts
?:
deprecatedLegacyJsonFieldConflicts
?:
|
boolean
|
boolean
|
undefined
;
|
undefined
;
/**
/** Any features defined in the specific edition. */
* Any features defined in the specific edition.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*/
features
?:
features
?:
|
FeatureSet
|
FeatureSet
|
undefined
;
|
undefined
;
...
@@ -1426,12 +1397,7 @@ export interface EnumValueOptions {
...
@@ -1426,12 +1397,7 @@ export interface EnumValueOptions {
deprecated
?:
deprecated
?:
|
boolean
|
boolean
|
undefined
;
|
undefined
;
/**
/** Any features defined in the specific edition. */
* Any features defined in the specific edition.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*/
features
?:
features
?:
|
FeatureSet
|
FeatureSet
|
undefined
;
|
undefined
;
...
@@ -1452,12 +1418,7 @@ export interface EnumValueOptions {
...
@@ -1452,12 +1418,7 @@ export interface EnumValueOptions {
}
}
export
interface
ServiceOptions
{
export
interface
ServiceOptions
{
/**
/** Any features defined in the specific edition. */
* Any features defined in the specific edition.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*/
features
?:
features
?:
|
FeatureSet
|
FeatureSet
|
undefined
;
|
undefined
;
...
@@ -1485,12 +1446,7 @@ export interface MethodOptions {
...
@@ -1485,12 +1446,7 @@ export interface MethodOptions {
idempotencyLevel
?:
idempotencyLevel
?:
|
MethodOptions_IdempotencyLevel
|
MethodOptions_IdempotencyLevel
|
undefined
;
|
undefined
;
/**
/** Any features defined in the specific edition. */
* Any features defined in the specific edition.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*/
features
?:
features
?:
|
FeatureSet
|
FeatureSet
|
undefined
;
|
undefined
;
...
@@ -1593,7 +1549,6 @@ export interface FeatureSet {
...
@@ -1593,7 +1549,6 @@ export interface FeatureSet {
utf8Validation
?:
FeatureSet_Utf8Validation
|
undefined
;
utf8Validation
?:
FeatureSet_Utf8Validation
|
undefined
;
messageEncoding
?:
FeatureSet_MessageEncoding
|
undefined
;
messageEncoding
?:
FeatureSet_MessageEncoding
|
undefined
;
jsonFormat
?:
FeatureSet_JsonFormat
|
undefined
;
jsonFormat
?:
FeatureSet_JsonFormat
|
undefined
;
enforceNamingStyle
?:
FeatureSet_EnforceNamingStyle
|
undefined
;
}
}
export
enum
FeatureSet_FieldPresence
{
export
enum
FeatureSet_FieldPresence
{
...
@@ -1836,45 +1791,6 @@ export function featureSet_JsonFormatToNumber(object: FeatureSet_JsonFormat): nu
...
@@ -1836,45 +1791,6 @@ export function featureSet_JsonFormatToNumber(object: FeatureSet_JsonFormat): nu
}
}
}
}
export
enum
FeatureSet_EnforceNamingStyle
{
ENFORCE_NAMING_STYLE_UNKNOWN
=
"ENFORCE_NAMING_STYLE_UNKNOWN"
,
STYLE2024
=
"STYLE2024"
,
STYLE_LEGACY
=
"STYLE_LEGACY"
,
UNRECOGNIZED
=
"UNRECOGNIZED"
,
}
export
function
featureSet_EnforceNamingStyleFromJSON
(
object
:
any
):
FeatureSet_EnforceNamingStyle
{
switch
(
object
)
{
case
0
:
case
"ENFORCE_NAMING_STYLE_UNKNOWN"
:
return
FeatureSet_EnforceNamingStyle
.
ENFORCE_NAMING_STYLE_UNKNOWN
;
case
1
:
case
"STYLE2024"
:
return
FeatureSet_EnforceNamingStyle
.
STYLE2024
;
case
2
:
case
"STYLE_LEGACY"
:
return
FeatureSet_EnforceNamingStyle
.
STYLE_LEGACY
;
case
-
1
:
case
"UNRECOGNIZED"
:
default
:
return
FeatureSet_EnforceNamingStyle
.
UNRECOGNIZED
;
}
}
export
function
featureSet_EnforceNamingStyleToNumber
(
object
:
FeatureSet_EnforceNamingStyle
):
number
{
switch
(
object
)
{
case
FeatureSet_EnforceNamingStyle
.
ENFORCE_NAMING_STYLE_UNKNOWN
:
return
0
;
case
FeatureSet_EnforceNamingStyle
.
STYLE2024
:
return
1
;
case
FeatureSet_EnforceNamingStyle
.
STYLE_LEGACY
:
return
2
;
case
FeatureSet_EnforceNamingStyle
.
UNRECOGNIZED
:
default
:
return
-
1
;
}
}
/**
/**
* A compiled specification for the defaults of a set of features. These
* A compiled specification for the defaults of a set of features. These
* messages are generated from FeatureSet extensions and can be used to seed
* messages are generated from FeatureSet extensions and can be used to seed
...
@@ -4998,7 +4914,6 @@ function createBaseFeatureSet(): FeatureSet {
...
@@ -4998,7 +4914,6 @@ function createBaseFeatureSet(): FeatureSet {
utf8Validation
:
FeatureSet_Utf8Validation
.
UTF8_VALIDATION_UNKNOWN
,
utf8Validation
:
FeatureSet_Utf8Validation
.
UTF8_VALIDATION_UNKNOWN
,
messageEncoding
:
FeatureSet_MessageEncoding
.
MESSAGE_ENCODING_UNKNOWN
,
messageEncoding
:
FeatureSet_MessageEncoding
.
MESSAGE_ENCODING_UNKNOWN
,
jsonFormat
:
FeatureSet_JsonFormat
.
JSON_FORMAT_UNKNOWN
,
jsonFormat
:
FeatureSet_JsonFormat
.
JSON_FORMAT_UNKNOWN
,
enforceNamingStyle
:
FeatureSet_EnforceNamingStyle
.
ENFORCE_NAMING_STYLE_UNKNOWN
,
};
};
}
}
...
@@ -5033,12 +4948,6 @@ export const FeatureSet: MessageFns<FeatureSet> = {
...
@@ -5033,12 +4948,6 @@ export const FeatureSet: MessageFns<FeatureSet> = {
if
(
message
.
jsonFormat
!==
undefined
&&
message
.
jsonFormat
!==
FeatureSet_JsonFormat
.
JSON_FORMAT_UNKNOWN
)
{
if
(
message
.
jsonFormat
!==
undefined
&&
message
.
jsonFormat
!==
FeatureSet_JsonFormat
.
JSON_FORMAT_UNKNOWN
)
{
writer
.
uint32
(
48
).
int32
(
featureSet_JsonFormatToNumber
(
message
.
jsonFormat
));
writer
.
uint32
(
48
).
int32
(
featureSet_JsonFormatToNumber
(
message
.
jsonFormat
));
}
}
if
(
message
.
enforceNamingStyle
!==
undefined
&&
message
.
enforceNamingStyle
!==
FeatureSet_EnforceNamingStyle
.
ENFORCE_NAMING_STYLE_UNKNOWN
)
{
writer
.
uint32
(
56
).
int32
(
featureSet_EnforceNamingStyleToNumber
(
message
.
enforceNamingStyle
));
}
return
writer
;
return
writer
;
},
},
...
@@ -5097,14 +5006,6 @@ export const FeatureSet: MessageFns<FeatureSet> = {
...
@@ -5097,14 +5006,6 @@ export const FeatureSet: MessageFns<FeatureSet> = {
message
.
jsonFormat
=
featureSet_JsonFormatFromJSON
(
reader
.
int32
());
message
.
jsonFormat
=
featureSet_JsonFormatFromJSON
(
reader
.
int32
());
continue
;
continue
;
}
}
case
7
:
{
if
(
tag
!==
56
)
{
break
;
}
message
.
enforceNamingStyle
=
featureSet_EnforceNamingStyleFromJSON
(
reader
.
int32
());
continue
;
}
}
}
if
((
tag
&
7
)
===
4
||
tag
===
0
)
{
if
((
tag
&
7
)
===
4
||
tag
===
0
)
{
break
;
break
;
...
@@ -5126,8 +5027,6 @@ export const FeatureSet: MessageFns<FeatureSet> = {
...
@@ -5126,8 +5027,6 @@ export const FeatureSet: MessageFns<FeatureSet> = {
message
.
utf8Validation
=
object
.
utf8Validation
??
FeatureSet_Utf8Validation
.
UTF8_VALIDATION_UNKNOWN
;
message
.
utf8Validation
=
object
.
utf8Validation
??
FeatureSet_Utf8Validation
.
UTF8_VALIDATION_UNKNOWN
;
message
.
messageEncoding
=
object
.
messageEncoding
??
FeatureSet_MessageEncoding
.
MESSAGE_ENCODING_UNKNOWN
;
message
.
messageEncoding
=
object
.
messageEncoding
??
FeatureSet_MessageEncoding
.
MESSAGE_ENCODING_UNKNOWN
;
message
.
jsonFormat
=
object
.
jsonFormat
??
FeatureSet_JsonFormat
.
JSON_FORMAT_UNKNOWN
;
message
.
jsonFormat
=
object
.
jsonFormat
??
FeatureSet_JsonFormat
.
JSON_FORMAT_UNKNOWN
;
message
.
enforceNamingStyle
=
object
.
enforceNamingStyle
??
FeatureSet_EnforceNamingStyle
.
ENFORCE_NAMING_STYLE_UNKNOWN
;
return
message
;
return
message
;
},
},
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment