From 95df6472655a6ad7665517f4ee4e8380bef3ed67 Mon Sep 17 00:00:00 2001 From: Steven Date: Tue, 16 Apr 2024 22:33:25 +0800 Subject: [PATCH] chore: tweak comments --- .../api/v2 => docs}/apidocs.swagger.yaml | 290 +- proto/api/v2/activity_service.proto | 19 +- proto/api/v2/auth_service.proto | 8 + proto/api/v2/common.proto | 2 - proto/api/v2/idp_service.proto | 8 +- proto/api/v2/link_service.proto | 3 +- proto/api/v2/memo_service.proto | 22 +- proto/api/v2/resource_service.proto | 5 +- proto/api/v2/tag_service.proto | 15 +- proto/api/v2/user_service.proto | 10 - proto/buf.gen.yaml | 6 +- proto/gen/api/v2/README.md | 3399 ----------------- proto/gen/api/v2/activity_service.pb.go | 152 +- proto/gen/api/v2/auth_service.pb.go | 18 +- proto/gen/api/v2/idp_service.pb.go | 78 +- proto/gen/api/v2/idp_service.pb.gw.go | 18 +- proto/gen/api/v2/idp_service_grpc.pb.go | 6 + proto/gen/api/v2/link_service.pb.go | 31 +- proto/gen/api/v2/link_service.pb.gw.go | 6 +- proto/gen/api/v2/link_service_grpc.pb.go | 2 + proto/gen/api/v2/memo_service.pb.go | 214 +- proto/gen/api/v2/memo_service.pb.gw.go | 94 +- proto/gen/api/v2/resource_service.pb.go | 123 +- proto/gen/api/v2/resource_service.pb.gw.go | 18 +- proto/gen/api/v2/tag_service.pb.go | 103 +- proto/gen/api/v2/tag_service.pb.gw.go | 54 +- proto/gen/store/README.md | 641 ---- server/route/api/v2/apidocs.swagger.md | 2256 ----------- 28 files changed, 633 insertions(+), 6968 deletions(-) rename {server/route/api/v2 => docs}/apidocs.swagger.yaml (93%) delete mode 100644 proto/gen/api/v2/README.md delete mode 100644 proto/gen/store/README.md delete mode 100644 server/route/api/v2/apidocs.swagger.md diff --git a/server/route/api/v2/apidocs.swagger.yaml b/docs/apidocs.swagger.yaml similarity index 93% rename from server/route/api/v2/apidocs.swagger.yaml rename to docs/apidocs.swagger.yaml index 3f2de0fb8..c1a4638b0 100644 --- a/server/route/api/v2/apidocs.swagger.yaml +++ b/docs/apidocs.swagger.yaml @@ -36,14 +36,17 @@ paths: $ref: '#/definitions/googlerpcStatus' parameters: - name: username + description: The username to sign in with. in: query required: false type: string - name: password + description: The password to sign in with. in: query required: false type: string - name: neverExpire + description: Whether the session should never expire. in: query required: false type: boolean @@ -64,15 +67,18 @@ paths: $ref: '#/definitions/googlerpcStatus' parameters: - name: idpId + description: The ID of the SSO provider. in: query required: false type: integer format: int32 - name: code + description: The code to sign in with. in: query required: false type: string - name: redirectUri + description: The redirect URI. in: query required: false type: string @@ -108,10 +114,12 @@ paths: $ref: '#/definitions/googlerpcStatus' parameters: - name: username + description: The username to sign up with. in: query required: false type: string - name: password + description: The password to sign up with. in: query required: false type: string @@ -134,6 +142,7 @@ paths: - AuthService /api/v2/identityProviders: get: + summary: ListIdentityProviders lists identity providers. operationId: IdentityProviderService_ListIdentityProviders responses: "200": @@ -147,6 +156,7 @@ paths: tags: - IdentityProviderService post: + summary: CreateIdentityProvider creates an identity provider. operationId: IdentityProviderService_CreateIdentityProvider responses: "200": @@ -158,68 +168,12 @@ paths: schema: $ref: '#/definitions/googlerpcStatus' parameters: - - name: identityProvider.name - description: |- - The name of the identityProvider. - Format: identityProviders/{id} - in: query - required: false - type: string - - name: identityProvider.type - in: query - required: false - type: string - enum: - - TYPE_UNSPECIFIED - - OAUTH2 - default: TYPE_UNSPECIFIED - - name: identityProvider.title - in: query - required: false - type: string - - name: identityProvider.identifierFilter - in: query - required: false - type: string - - name: identityProvider.config.oauth2Config.clientId - in: query - required: false - type: string - - name: identityProvider.config.oauth2Config.clientSecret - in: query - required: false - type: string - - name: identityProvider.config.oauth2Config.authUrl - in: query - required: false - type: string - - name: identityProvider.config.oauth2Config.tokenUrl - in: query - required: false - type: string - - name: identityProvider.config.oauth2Config.userInfoUrl - in: query - required: false - type: string - - name: identityProvider.config.oauth2Config.scopes - in: query - required: false - type: array - items: - type: string - collectionFormat: multi - - name: identityProvider.config.oauth2Config.fieldMapping.identifier - in: query - required: false - type: string - - name: identityProvider.config.oauth2Config.fieldMapping.displayName - in: query - required: false - type: string - - name: identityProvider.config.oauth2Config.fieldMapping.email - in: query - required: false - type: string + - name: identityProvider + description: The identityProvider to create. + in: body + required: true + schema: + $ref: '#/definitions/apiv2IdentityProvider' tags: - IdentityProviderService /api/v2/inboxes: @@ -243,8 +197,9 @@ paths: type: string tags: - InboxService - /api/v2/link_metadata: + /api/v2/linkMetadata: get: + summary: GetLinkMetadata returns metadata for a given link. operationId: LinkService_GetLinkMetadata responses: "200": @@ -368,11 +323,11 @@ paths: schema: $ref: '#/definitions/googlerpcStatus' parameters: - - name: filter - description: Same as ListMemosRequest.filter - in: query - required: false - type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/v2ExportMemosRequest' tags: - MemoService /api/v2/memos:search: @@ -447,53 +402,11 @@ paths: schema: $ref: '#/definitions/googlerpcStatus' parameters: - - name: resource.name - description: |- - The name of the resource. - Format: resources/{id} - id is the system generated unique identifier. - in: query - required: false - type: string - - name: resource.uid - description: The user defined id of the resource. - in: query - required: false - type: string - - name: resource.createTime - in: query - required: false - type: string - format: date-time - - name: resource.filename - in: query - required: false - type: string - - name: resource.content - in: query - required: false - type: string - format: byte - - name: resource.externalLink - in: query - required: false - type: string - - name: resource.type - in: query - required: false - type: string - - name: resource.size - in: query - required: false - type: string - format: int64 - - name: resource.memo - description: |- - The related memo. - Format: memos/{id} - in: query - required: false - type: string + - name: resource + in: body + required: true + schema: + $ref: '#/definitions/v2Resource' tags: - ResourceService /api/v2/resources:search: @@ -679,10 +592,11 @@ paths: schema: $ref: '#/definitions/googlerpcStatus' parameters: - - name: name - in: query - required: false - type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/v2UpsertTagRequest' tags: - TagService /api/v2/tags/suggestion: @@ -721,6 +635,12 @@ paths: description: An unexpected error response. schema: $ref: '#/definitions/googlerpcStatus' + parameters: + - name: body + in: body + required: true + schema: + $ref: '#/definitions/v2BatchUpsertTagRequest' tags: - TagService /api/v2/tags:rename: @@ -739,21 +659,11 @@ paths: schema: $ref: '#/definitions/googlerpcStatus' parameters: - - name: user - description: |- - The creator of tags. - Format: users/{id} - in: query - required: false - type: string - - name: oldName - in: query - required: false - type: string - - name: newName - in: query - required: false - type: string + - name: body + in: body + required: true + schema: + $ref: '#/definitions/v2RenameTagRequest' tags: - TagService /api/v2/users: @@ -1196,6 +1106,7 @@ paths: - MemoService /api/v2/{name_1}: get: + summary: GetIdentityProvider gets an identity provider. operationId: IdentityProviderService_GetIdentityProvider responses: "200": @@ -1533,20 +1444,11 @@ paths: required: true type: string pattern: memos/[^/]+ - - name: comment.content - in: query - required: false - type: string - - name: comment.visibility - in: query - required: false - type: string - enum: - - VISIBILITY_UNSPECIFIED - - PRIVATE - - PROTECTED - - PUBLIC - default: VISIBILITY_UNSPECIFIED + - name: body + in: body + required: true + schema: + $ref: '#/definitions/MemoServiceCreateMemoCommentBody' tags: - MemoService /api/v2/{name}/reactions: @@ -1594,41 +1496,11 @@ paths: required: true type: string pattern: memos/[^/]+ - - name: reaction.id - in: query - required: false - type: integer - format: int32 - - name: reaction.creator - description: |- - The name of the creator. - Format: users/{id} - in: query - required: false - type: string - - name: reaction.contentId - in: query - required: false - type: string - - name: reaction.reactionType - in: query - required: false - type: string - enum: - - TYPE_UNSPECIFIED - - THUMBS_UP - - THUMBS_DOWN - - HEART - - FIRE - - CLAPPING_HANDS - - LAUGH - - OK_HAND - - ROCKET - - EYES - - THINKING_FACE - - CLOWN_FACE - - QUESTION_MARK - default: TYPE_UNSPECIFIED + - name: body + in: body + required: true + schema: + $ref: '#/definitions/MemoServiceUpsertMemoReactionBody' tags: - MemoService /api/v2/{name}/relations: @@ -1655,7 +1527,7 @@ paths: pattern: memos/[^/]+ tags: - MemoService - post: + patch: summary: SetMemoRelations sets relations for a memo. operationId: MemoService_SetMemoRelations responses: @@ -1707,7 +1579,7 @@ paths: pattern: memos/[^/]+ tags: - MemoService - post: + patch: summary: SetMemoResources sets resources for a memo. operationId: MemoService_SetMemoResources responses: @@ -1924,6 +1796,7 @@ paths: $ref: '#/definitions/googlerpcStatus' parameters: - name: id + description: The system-generated unique identifier for the activity. in: path required: true type: integer @@ -1931,6 +1804,11 @@ paths: tags: - ActivityService definitions: + MemoServiceCreateMemoCommentBody: + type: object + properties: + comment: + $ref: '#/definitions/v2CreateMemoRequest' MemoServiceSetMemoRelationsBody: type: object properties: @@ -1947,6 +1825,11 @@ definitions: items: type: object $ref: '#/definitions/v2Resource' + MemoServiceUpsertMemoReactionBody: + type: object + properties: + reaction: + $ref: '#/definitions/v2Reaction' UserRole: type: string enum: @@ -1969,9 +1852,12 @@ definitions: memoId: type: integer format: int32 + description: The memo id of comment. relatedMemoId: type: integer format: int32 + description: The memo id of related memo. + description: ActivityMemoCommentPayload represents the payload of a memo comment activity. apiv2ActivityPayload: type: object properties: @@ -1984,6 +1870,7 @@ definitions: properties: version: type: string + description: The updated version of memos. apiv2FieldMapping: type: object properties: @@ -2213,18 +2100,33 @@ definitions: id: type: integer format: int32 + description: The system-generated unique identifier for the activity. creatorId: type: integer format: int32 + description: The system-generated unique identifier for the user who created the activity. type: type: string + description: The type of the activity. level: type: string + description: The level of the activity. createTime: type: string format: date-time + description: The create time of the activity. + readOnly: true payload: $ref: '#/definitions/apiv2ActivityPayload' + description: The payload of the activity. + v2BatchUpsertTagRequest: + type: object + properties: + requests: + type: array + items: + type: object + $ref: '#/definitions/v2UpsertTagRequest' v2BatchUpsertTagResponse: type: object v2CreateIdentityProviderResponse: @@ -2307,6 +2209,12 @@ definitions: type: object v2DeleteWebhookResponse: type: object + v2ExportMemosRequest: + type: object + properties: + filter: + type: string + title: Same as ListMemosRequest.filter v2ExportMemosResponse: type: object properties: @@ -2666,6 +2574,18 @@ definitions: - CLOWN_FACE - QUESTION_MARK default: TYPE_UNSPECIFIED + v2RenameTagRequest: + type: object + properties: + user: + type: string + title: |- + The creator of tags. + Format: users/{id} + oldName: + type: string + newName: + type: string v2RenameTagResponse: type: object properties: diff --git a/proto/api/v2/activity_service.proto b/proto/api/v2/activity_service.proto index 83f22977e..77c34842f 100644 --- a/proto/api/v2/activity_service.proto +++ b/proto/api/v2/activity_service.proto @@ -4,6 +4,7 @@ package memos.api.v2; import "google/api/annotations.proto"; import "google/api/client.proto"; +import "google/api/field_behavior.proto"; import "google/protobuf/timestamp.proto"; option go_package = "gen/api/v2"; @@ -17,25 +18,30 @@ service ActivityService { } message Activity { + // The system-generated unique identifier for the activity. int32 id = 1; - + // The system-generated unique identifier for the user who created the activity. int32 creator_id = 2; - + // The type of the activity. string type = 3; - + // The level of the activity. string level = 4; - - google.protobuf.Timestamp create_time = 5; - + // The create time of the activity. + google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; + // The payload of the activity. ActivityPayload payload = 6; } +// ActivityMemoCommentPayload represents the payload of a memo comment activity. message ActivityMemoCommentPayload { + // The memo id of comment. int32 memo_id = 1; + // The memo id of related memo. int32 related_memo_id = 2; } message ActivityVersionUpdatePayload { + // The updated version of memos. string version = 1; } @@ -45,6 +51,7 @@ message ActivityPayload { } message GetActivityRequest { + // The system-generated unique identifier for the activity. int32 id = 1; } diff --git a/proto/api/v2/auth_service.proto b/proto/api/v2/auth_service.proto index 7dbc89819..ba29d77e2 100644 --- a/proto/api/v2/auth_service.proto +++ b/proto/api/v2/auth_service.proto @@ -37,8 +37,11 @@ message GetAuthStatusResponse { } message SignInRequest { + // The username to sign in with. string username = 1; + // The password to sign in with. string password = 2; + // Whether the session should never expire. bool never_expire = 3; } @@ -47,8 +50,11 @@ message SignInResponse { } message SignInWithSSORequest { + // The ID of the SSO provider. int32 idp_id = 1; + // The code to sign in with. string code = 2; + // The redirect URI. string redirect_uri = 3; } @@ -57,7 +63,9 @@ message SignInWithSSOResponse { } message SignUpRequest { + // The username to sign up with. string username = 1; + // The password to sign up with. string password = 2; } diff --git a/proto/api/v2/common.proto b/proto/api/v2/common.proto index 1a0918397..33433ff41 100644 --- a/proto/api/v2/common.proto +++ b/proto/api/v2/common.proto @@ -6,9 +6,7 @@ option go_package = "gen/api/v2"; enum RowStatus { ROW_STATUS_UNSPECIFIED = 0; - ACTIVE = 1; - ARCHIVED = 2; } diff --git a/proto/api/v2/idp_service.proto b/proto/api/v2/idp_service.proto index 3340229bb..abdbf9362 100644 --- a/proto/api/v2/idp_service.proto +++ b/proto/api/v2/idp_service.proto @@ -9,15 +9,21 @@ import "google/protobuf/field_mask.proto"; option go_package = "gen/api/v2"; service IdentityProviderService { + // ListIdentityProviders lists identity providers. rpc ListIdentityProviders(ListIdentityProvidersRequest) returns (ListIdentityProvidersResponse) { option (google.api.http) = {get: "/api/v2/identityProviders"}; } + // GetIdentityProvider gets an identity provider. rpc GetIdentityProvider(GetIdentityProviderRequest) returns (GetIdentityProviderResponse) { option (google.api.http) = {get: "/api/v2/{name=identityProviders/*}"}; option (google.api.method_signature) = "name"; } + // CreateIdentityProvider creates an identity provider. rpc CreateIdentityProvider(CreateIdentityProviderRequest) returns (CreateIdentityProviderResponse) { - option (google.api.http) = {post: "/api/v2/identityProviders"}; + option (google.api.http) = { + post: "/api/v2/identityProviders", + body: "identity_provider" + }; } // UpdateIdentityProvider updates an identity provider. rpc UpdateIdentityProvider(UpdateIdentityProviderRequest) returns (UpdateIdentityProviderResponse) { diff --git a/proto/api/v2/link_service.proto b/proto/api/v2/link_service.proto index d3373098e..6edb073a0 100644 --- a/proto/api/v2/link_service.proto +++ b/proto/api/v2/link_service.proto @@ -7,8 +7,9 @@ import "google/api/annotations.proto"; option go_package = "gen/api/v2"; service LinkService { + // GetLinkMetadata returns metadata for a given link. rpc GetLinkMetadata(GetLinkMetadataRequest) returns (GetLinkMetadataResponse) { - option (google.api.http) = {get: "/api/v2/link_metadata"}; + option (google.api.http) = {get: "/api/v2/linkMetadata"}; } } diff --git a/proto/api/v2/memo_service.proto b/proto/api/v2/memo_service.proto index 7fd7ad2a0..42060af80 100644 --- a/proto/api/v2/memo_service.proto +++ b/proto/api/v2/memo_service.proto @@ -50,12 +50,15 @@ service MemoService { } // ExportMemos exports memos. rpc ExportMemos(ExportMemosRequest) returns (ExportMemosResponse) { - option (google.api.http) = {post: "/api/v2/memos:export"}; + option (google.api.http) = { + post: "/api/v2/memos:export", + body: "*" + }; } // SetMemoResources sets resources for a memo. rpc SetMemoResources(SetMemoResourcesRequest) returns (SetMemoResourcesResponse) { option (google.api.http) = { - post: "/api/v2/{name=memos/*}/resources" + patch: "/api/v2/{name=memos/*}/resources" body: "*" }; option (google.api.method_signature) = "name"; @@ -68,7 +71,7 @@ service MemoService { // SetMemoRelations sets relations for a memo. rpc SetMemoRelations(SetMemoRelationsRequest) returns (SetMemoRelationsResponse) { option (google.api.http) = { - post: "/api/v2/{name=memos/*}/relations" + patch: "/api/v2/{name=memos/*}/relations" body: "*" }; option (google.api.method_signature) = "name"; @@ -80,7 +83,10 @@ service MemoService { } // CreateMemoComment creates a comment for a memo. rpc CreateMemoComment(CreateMemoCommentRequest) returns (CreateMemoCommentResponse) { - option (google.api.http) = {post: "/api/v2/{name=memos/*}/comments"}; + option (google.api.http) = { + post: "/api/v2/{name=memos/*}/comments", + body: "*" + }; option (google.api.method_signature) = "name"; } // ListMemoComments lists comments for a memo. @@ -100,7 +106,10 @@ service MemoService { } // UpsertMemoReaction upserts a reaction for a memo. rpc UpsertMemoReaction(UpsertMemoReactionRequest) returns (UpsertMemoReactionResponse) { - option (google.api.http) = {post: "/api/v2/{name=memos/*}/reactions"}; + option (google.api.http) = { + post: "/api/v2/{name=memos/*}/reactions", + body: "*" + }; option (google.api.method_signature) = "name"; } // DeleteMemoReaction deletes a reaction for a memo. @@ -112,11 +121,8 @@ service MemoService { enum Visibility { VISIBILITY_UNSPECIFIED = 0; - PRIVATE = 1; - PROTECTED = 2; - PUBLIC = 3; } diff --git a/proto/api/v2/resource_service.proto b/proto/api/v2/resource_service.proto index 967692488..fdc5c64d0 100644 --- a/proto/api/v2/resource_service.proto +++ b/proto/api/v2/resource_service.proto @@ -13,7 +13,10 @@ option go_package = "gen/api/v2"; service ResourceService { // CreateResource creates a new resource. rpc CreateResource(CreateResourceRequest) returns (CreateResourceResponse) { - option (google.api.http) = {post: "/api/v2/resources"}; + option (google.api.http) = { + post: "/api/v2/resources", + body: "resource" + }; } // ListResources lists all resources. rpc ListResources(ListResourcesRequest) returns (ListResourcesResponse) { diff --git a/proto/api/v2/tag_service.proto b/proto/api/v2/tag_service.proto index 71a5fbc19..8c0e93305 100644 --- a/proto/api/v2/tag_service.proto +++ b/proto/api/v2/tag_service.proto @@ -9,11 +9,17 @@ option go_package = "gen/api/v2"; service TagService { // UpsertTag upserts a tag. rpc UpsertTag(UpsertTagRequest) returns (UpsertTagResponse) { - option (google.api.http) = {post: "/api/v2/tags"}; + option (google.api.http) = { + post: "/api/v2/tags", + body: "*" + }; } // BatchUpsertTag upserts multiple tags. rpc BatchUpsertTag(BatchUpsertTagRequest) returns (BatchUpsertTagResponse) { - option (google.api.http) = {post: "/api/v2/tags:batchUpsert"}; + option (google.api.http) = { + post: "/api/v2/tags:batchUpsert", + body: "*" + }; } // ListTags lists tags. rpc ListTags(ListTagsRequest) returns (ListTagsResponse) { @@ -22,7 +28,10 @@ service TagService { // RenameTag renames a tag. // All related memos will be updated. rpc RenameTag(RenameTagRequest) returns (RenameTagResponse) { - option (google.api.http) = {patch: "/api/v2/tags:rename"}; + option (google.api.http) = { + patch: "/api/v2/tags:rename", + body: "*" + }; } // DeleteTag deletes a tag. rpc DeleteTag(DeleteTagRequest) returns (DeleteTagResponse) { diff --git a/proto/api/v2/user_service.proto b/proto/api/v2/user_service.proto index 4a87a10f8..17b3ed254 100644 --- a/proto/api/v2/user_service.proto +++ b/proto/api/v2/user_service.proto @@ -16,18 +16,15 @@ service UserService { rpc ListUsers(ListUsersRequest) returns (ListUsersResponse) { option (google.api.http) = {get: "/api/v2/users"}; } - // SearchUsers searches users by filter. rpc SearchUsers(SearchUsersRequest) returns (SearchUsersResponse) { option (google.api.http) = {get: "/api/v2/users:search"}; } - // GetUser gets a user by name. rpc GetUser(GetUserRequest) returns (GetUserResponse) { option (google.api.http) = {get: "/api/v2/{name=users/*}"}; option (google.api.method_signature) = "name"; } - // CreateUser creates a new user. rpc CreateUser(CreateUserRequest) returns (CreateUserResponse) { option (google.api.http) = { @@ -36,7 +33,6 @@ service UserService { }; option (google.api.method_signature) = "user"; } - // UpdateUser updates a user. rpc UpdateUser(UpdateUserRequest) returns (UpdateUserResponse) { option (google.api.http) = { @@ -45,19 +41,16 @@ service UserService { }; option (google.api.method_signature) = "user,update_mask"; } - // DeleteUser deletes a user. rpc DeleteUser(DeleteUserRequest) returns (DeleteUserResponse) { option (google.api.http) = {delete: "/api/v2/{name=users/*}"}; option (google.api.method_signature) = "name"; } - // GetUserSetting gets the setting of a user. rpc GetUserSetting(GetUserSettingRequest) returns (GetUserSettingResponse) { option (google.api.http) = {get: "/api/v2/{name=users/*}/setting"}; option (google.api.method_signature) = "name"; } - // UpdateUserSetting updates the setting of a user. rpc UpdateUserSetting(UpdateUserSettingRequest) returns (UpdateUserSettingResponse) { option (google.api.http) = { @@ -66,13 +59,11 @@ service UserService { }; option (google.api.method_signature) = "setting,update_mask"; } - // ListUserAccessTokens returns a list of access tokens for a user. rpc ListUserAccessTokens(ListUserAccessTokensRequest) returns (ListUserAccessTokensResponse) { option (google.api.http) = {get: "/api/v2/{name=users/*}/access_tokens"}; option (google.api.method_signature) = "name"; } - // CreateUserAccessToken creates a new access token for a user. rpc CreateUserAccessToken(CreateUserAccessTokenRequest) returns (CreateUserAccessTokenResponse) { option (google.api.http) = { @@ -81,7 +72,6 @@ service UserService { }; option (google.api.method_signature) = "name"; } - // DeleteUserAccessToken deletes an access token for a user. rpc DeleteUserAccessToken(DeleteUserAccessTokenRequest) returns (DeleteUserAccessTokenResponse) { option (google.api.http) = {delete: "/api/v2/{name=users/*}/access_tokens/{access_token}"}; diff --git a/proto/buf.gen.yaml b/proto/buf.gen.yaml index e0988e692..5cf05ec92 100644 --- a/proto/buf.gen.yaml +++ b/proto/buf.gen.yaml @@ -19,7 +19,7 @@ plugins: opt: - paths=source_relative - plugin: buf.build/grpc-ecosystem/openapiv2:v2.19.0 - out: ../server/route/api/v2/ + out: ../docs opt: output_format=yaml,allow_merge=true # Build the TypeScript definitions for the web. - plugin: buf.build/community/stephenh-ts-proto:v1.152.1 @@ -33,7 +33,3 @@ plugins: - useExactTypes=false - esModuleInterop=true - stringEnums=true - - plugin: buf.build/community/pseudomuto-doc:v1.5.1 - out: gen - opt: - - markdown,README.md,source_relative diff --git a/proto/gen/api/v2/README.md b/proto/gen/api/v2/README.md deleted file mode 100644 index 29f058844..000000000 --- a/proto/gen/api/v2/README.md +++ /dev/null @@ -1,3399 +0,0 @@ -# Protocol Documentation - - -## Table of Contents - -- [api/v2/activity_service.proto](#api_v2_activity_service-proto) - - [Activity](#memos-api-v2-Activity) - - [ActivityMemoCommentPayload](#memos-api-v2-ActivityMemoCommentPayload) - - [ActivityPayload](#memos-api-v2-ActivityPayload) - - [ActivityVersionUpdatePayload](#memos-api-v2-ActivityVersionUpdatePayload) - - [GetActivityRequest](#memos-api-v2-GetActivityRequest) - - [GetActivityResponse](#memos-api-v2-GetActivityResponse) - - - [ActivityService](#memos-api-v2-ActivityService) - -- [api/v2/common.proto](#api_v2_common-proto) - - [PageToken](#memos-api-v2-PageToken) - - - [RowStatus](#memos-api-v2-RowStatus) - -- [api/v2/user_service.proto](#api_v2_user_service-proto) - - [CreateUserAccessTokenRequest](#memos-api-v2-CreateUserAccessTokenRequest) - - [CreateUserAccessTokenResponse](#memos-api-v2-CreateUserAccessTokenResponse) - - [CreateUserRequest](#memos-api-v2-CreateUserRequest) - - [CreateUserResponse](#memos-api-v2-CreateUserResponse) - - [DeleteUserAccessTokenRequest](#memos-api-v2-DeleteUserAccessTokenRequest) - - [DeleteUserAccessTokenResponse](#memos-api-v2-DeleteUserAccessTokenResponse) - - [DeleteUserRequest](#memos-api-v2-DeleteUserRequest) - - [DeleteUserResponse](#memos-api-v2-DeleteUserResponse) - - [GetUserRequest](#memos-api-v2-GetUserRequest) - - [GetUserResponse](#memos-api-v2-GetUserResponse) - - [GetUserSettingRequest](#memos-api-v2-GetUserSettingRequest) - - [GetUserSettingResponse](#memos-api-v2-GetUserSettingResponse) - - [ListUserAccessTokensRequest](#memos-api-v2-ListUserAccessTokensRequest) - - [ListUserAccessTokensResponse](#memos-api-v2-ListUserAccessTokensResponse) - - [ListUsersRequest](#memos-api-v2-ListUsersRequest) - - [ListUsersResponse](#memos-api-v2-ListUsersResponse) - - [SearchUsersRequest](#memos-api-v2-SearchUsersRequest) - - [SearchUsersResponse](#memos-api-v2-SearchUsersResponse) - - [UpdateUserRequest](#memos-api-v2-UpdateUserRequest) - - [UpdateUserResponse](#memos-api-v2-UpdateUserResponse) - - [UpdateUserSettingRequest](#memos-api-v2-UpdateUserSettingRequest) - - [UpdateUserSettingResponse](#memos-api-v2-UpdateUserSettingResponse) - - [User](#memos-api-v2-User) - - [UserAccessToken](#memos-api-v2-UserAccessToken) - - [UserSetting](#memos-api-v2-UserSetting) - - - [User.Role](#memos-api-v2-User-Role) - - - [UserService](#memos-api-v2-UserService) - -- [api/v2/auth_service.proto](#api_v2_auth_service-proto) - - [GetAuthStatusRequest](#memos-api-v2-GetAuthStatusRequest) - - [GetAuthStatusResponse](#memos-api-v2-GetAuthStatusResponse) - - [SignInRequest](#memos-api-v2-SignInRequest) - - [SignInResponse](#memos-api-v2-SignInResponse) - - [SignInWithSSORequest](#memos-api-v2-SignInWithSSORequest) - - [SignInWithSSOResponse](#memos-api-v2-SignInWithSSOResponse) - - [SignOutRequest](#memos-api-v2-SignOutRequest) - - [SignOutResponse](#memos-api-v2-SignOutResponse) - - [SignUpRequest](#memos-api-v2-SignUpRequest) - - [SignUpResponse](#memos-api-v2-SignUpResponse) - - - [AuthService](#memos-api-v2-AuthService) - -- [api/v2/idp_service.proto](#api_v2_idp_service-proto) - - [CreateIdentityProviderRequest](#memos-api-v2-CreateIdentityProviderRequest) - - [CreateIdentityProviderResponse](#memos-api-v2-CreateIdentityProviderResponse) - - [DeleteIdentityProviderRequest](#memos-api-v2-DeleteIdentityProviderRequest) - - [DeleteIdentityProviderResponse](#memos-api-v2-DeleteIdentityProviderResponse) - - [FieldMapping](#memos-api-v2-FieldMapping) - - [GetIdentityProviderRequest](#memos-api-v2-GetIdentityProviderRequest) - - [GetIdentityProviderResponse](#memos-api-v2-GetIdentityProviderResponse) - - [IdentityProvider](#memos-api-v2-IdentityProvider) - - [IdentityProviderConfig](#memos-api-v2-IdentityProviderConfig) - - [ListIdentityProvidersRequest](#memos-api-v2-ListIdentityProvidersRequest) - - [ListIdentityProvidersResponse](#memos-api-v2-ListIdentityProvidersResponse) - - [OAuth2Config](#memos-api-v2-OAuth2Config) - - [UpdateIdentityProviderRequest](#memos-api-v2-UpdateIdentityProviderRequest) - - [UpdateIdentityProviderResponse](#memos-api-v2-UpdateIdentityProviderResponse) - - - [IdentityProvider.Type](#memos-api-v2-IdentityProvider-Type) - - - [IdentityProviderService](#memos-api-v2-IdentityProviderService) - -- [api/v2/inbox_service.proto](#api_v2_inbox_service-proto) - - [DeleteInboxRequest](#memos-api-v2-DeleteInboxRequest) - - [DeleteInboxResponse](#memos-api-v2-DeleteInboxResponse) - - [Inbox](#memos-api-v2-Inbox) - - [ListInboxesRequest](#memos-api-v2-ListInboxesRequest) - - [ListInboxesResponse](#memos-api-v2-ListInboxesResponse) - - [UpdateInboxRequest](#memos-api-v2-UpdateInboxRequest) - - [UpdateInboxResponse](#memos-api-v2-UpdateInboxResponse) - - - [Inbox.Status](#memos-api-v2-Inbox-Status) - - [Inbox.Type](#memos-api-v2-Inbox-Type) - - - [InboxService](#memos-api-v2-InboxService) - -- [api/v2/link_service.proto](#api_v2_link_service-proto) - - [GetLinkMetadataRequest](#memos-api-v2-GetLinkMetadataRequest) - - [GetLinkMetadataResponse](#memos-api-v2-GetLinkMetadataResponse) - - [LinkMetadata](#memos-api-v2-LinkMetadata) - - - [LinkService](#memos-api-v2-LinkService) - -- [api/v2/memo_relation_service.proto](#api_v2_memo_relation_service-proto) - - [MemoRelation](#memos-api-v2-MemoRelation) - - - [MemoRelation.Type](#memos-api-v2-MemoRelation-Type) - -- [api/v2/reaction_service.proto](#api_v2_reaction_service-proto) - - [Reaction](#memos-api-v2-Reaction) - - - [Reaction.Type](#memos-api-v2-Reaction-Type) - -- [api/v2/resource_service.proto](#api_v2_resource_service-proto) - - [CreateResourceRequest](#memos-api-v2-CreateResourceRequest) - - [CreateResourceResponse](#memos-api-v2-CreateResourceResponse) - - [DeleteResourceRequest](#memos-api-v2-DeleteResourceRequest) - - [DeleteResourceResponse](#memos-api-v2-DeleteResourceResponse) - - [GetResourceRequest](#memos-api-v2-GetResourceRequest) - - [GetResourceResponse](#memos-api-v2-GetResourceResponse) - - [ListResourcesRequest](#memos-api-v2-ListResourcesRequest) - - [ListResourcesResponse](#memos-api-v2-ListResourcesResponse) - - [Resource](#memos-api-v2-Resource) - - [SearchResourcesRequest](#memos-api-v2-SearchResourcesRequest) - - [SearchResourcesResponse](#memos-api-v2-SearchResourcesResponse) - - [UpdateResourceRequest](#memos-api-v2-UpdateResourceRequest) - - [UpdateResourceResponse](#memos-api-v2-UpdateResourceResponse) - - - [ResourceService](#memos-api-v2-ResourceService) - -- [api/v2/memo_service.proto](#api_v2_memo_service-proto) - - [CreateMemoCommentRequest](#memos-api-v2-CreateMemoCommentRequest) - - [CreateMemoCommentResponse](#memos-api-v2-CreateMemoCommentResponse) - - [CreateMemoRequest](#memos-api-v2-CreateMemoRequest) - - [CreateMemoResponse](#memos-api-v2-CreateMemoResponse) - - [DeleteMemoReactionRequest](#memos-api-v2-DeleteMemoReactionRequest) - - [DeleteMemoReactionResponse](#memos-api-v2-DeleteMemoReactionResponse) - - [DeleteMemoRequest](#memos-api-v2-DeleteMemoRequest) - - [DeleteMemoResponse](#memos-api-v2-DeleteMemoResponse) - - [ExportMemosRequest](#memos-api-v2-ExportMemosRequest) - - [ExportMemosResponse](#memos-api-v2-ExportMemosResponse) - - [GetMemoRequest](#memos-api-v2-GetMemoRequest) - - [GetMemoResponse](#memos-api-v2-GetMemoResponse) - - [GetUserMemosStatsRequest](#memos-api-v2-GetUserMemosStatsRequest) - - [GetUserMemosStatsResponse](#memos-api-v2-GetUserMemosStatsResponse) - - [GetUserMemosStatsResponse.StatsEntry](#memos-api-v2-GetUserMemosStatsResponse-StatsEntry) - - [ListMemoCommentsRequest](#memos-api-v2-ListMemoCommentsRequest) - - [ListMemoCommentsResponse](#memos-api-v2-ListMemoCommentsResponse) - - [ListMemoReactionsRequest](#memos-api-v2-ListMemoReactionsRequest) - - [ListMemoReactionsResponse](#memos-api-v2-ListMemoReactionsResponse) - - [ListMemoRelationsRequest](#memos-api-v2-ListMemoRelationsRequest) - - [ListMemoRelationsResponse](#memos-api-v2-ListMemoRelationsResponse) - - [ListMemoResourcesRequest](#memos-api-v2-ListMemoResourcesRequest) - - [ListMemoResourcesResponse](#memos-api-v2-ListMemoResourcesResponse) - - [ListMemosRequest](#memos-api-v2-ListMemosRequest) - - [ListMemosResponse](#memos-api-v2-ListMemosResponse) - - [Memo](#memos-api-v2-Memo) - - [SearchMemosRequest](#memos-api-v2-SearchMemosRequest) - - [SearchMemosResponse](#memos-api-v2-SearchMemosResponse) - - [SetMemoRelationsRequest](#memos-api-v2-SetMemoRelationsRequest) - - [SetMemoRelationsResponse](#memos-api-v2-SetMemoRelationsResponse) - - [SetMemoResourcesRequest](#memos-api-v2-SetMemoResourcesRequest) - - [SetMemoResourcesResponse](#memos-api-v2-SetMemoResourcesResponse) - - [UpdateMemoRequest](#memos-api-v2-UpdateMemoRequest) - - [UpdateMemoResponse](#memos-api-v2-UpdateMemoResponse) - - [UpsertMemoReactionRequest](#memos-api-v2-UpsertMemoReactionRequest) - - [UpsertMemoReactionResponse](#memos-api-v2-UpsertMemoReactionResponse) - - - [Visibility](#memos-api-v2-Visibility) - - - [MemoService](#memos-api-v2-MemoService) - -- [api/v2/storage_service.proto](#api_v2_storage_service-proto) - - [CreateStorageRequest](#memos-api-v2-CreateStorageRequest) - - [CreateStorageResponse](#memos-api-v2-CreateStorageResponse) - - [DeleteStorageRequest](#memos-api-v2-DeleteStorageRequest) - - [DeleteStorageResponse](#memos-api-v2-DeleteStorageResponse) - - [GetStorageRequest](#memos-api-v2-GetStorageRequest) - - [GetStorageResponse](#memos-api-v2-GetStorageResponse) - - [ListStoragesRequest](#memos-api-v2-ListStoragesRequest) - - [ListStoragesResponse](#memos-api-v2-ListStoragesResponse) - - [S3Config](#memos-api-v2-S3Config) - - [Storage](#memos-api-v2-Storage) - - [StorageConfig](#memos-api-v2-StorageConfig) - - [UpdateStorageRequest](#memos-api-v2-UpdateStorageRequest) - - [UpdateStorageResponse](#memos-api-v2-UpdateStorageResponse) - - - [Storage.Type](#memos-api-v2-Storage-Type) - - - [StorageService](#memos-api-v2-StorageService) - -- [api/v2/tag_service.proto](#api_v2_tag_service-proto) - - [BatchUpsertTagRequest](#memos-api-v2-BatchUpsertTagRequest) - - [BatchUpsertTagResponse](#memos-api-v2-BatchUpsertTagResponse) - - [DeleteTagRequest](#memos-api-v2-DeleteTagRequest) - - [DeleteTagResponse](#memos-api-v2-DeleteTagResponse) - - [GetTagSuggestionsRequest](#memos-api-v2-GetTagSuggestionsRequest) - - [GetTagSuggestionsResponse](#memos-api-v2-GetTagSuggestionsResponse) - - [ListTagsRequest](#memos-api-v2-ListTagsRequest) - - [ListTagsResponse](#memos-api-v2-ListTagsResponse) - - [RenameTagRequest](#memos-api-v2-RenameTagRequest) - - [RenameTagResponse](#memos-api-v2-RenameTagResponse) - - [Tag](#memos-api-v2-Tag) - - [UpsertTagRequest](#memos-api-v2-UpsertTagRequest) - - [UpsertTagResponse](#memos-api-v2-UpsertTagResponse) - - - [TagService](#memos-api-v2-TagService) - -- [api/v2/webhook_service.proto](#api_v2_webhook_service-proto) - - [CreateWebhookRequest](#memos-api-v2-CreateWebhookRequest) - - [CreateWebhookResponse](#memos-api-v2-CreateWebhookResponse) - - [DeleteWebhookRequest](#memos-api-v2-DeleteWebhookRequest) - - [DeleteWebhookResponse](#memos-api-v2-DeleteWebhookResponse) - - [GetWebhookRequest](#memos-api-v2-GetWebhookRequest) - - [GetWebhookResponse](#memos-api-v2-GetWebhookResponse) - - [ListWebhooksRequest](#memos-api-v2-ListWebhooksRequest) - - [ListWebhooksResponse](#memos-api-v2-ListWebhooksResponse) - - [UpdateWebhookRequest](#memos-api-v2-UpdateWebhookRequest) - - [UpdateWebhookResponse](#memos-api-v2-UpdateWebhookResponse) - - [Webhook](#memos-api-v2-Webhook) - - - [WebhookService](#memos-api-v2-WebhookService) - -- [api/v2/workspace_service.proto](#api_v2_workspace_service-proto) - - [GetWorkspaceProfileRequest](#memos-api-v2-GetWorkspaceProfileRequest) - - [GetWorkspaceProfileResponse](#memos-api-v2-GetWorkspaceProfileResponse) - - [WorkspaceProfile](#memos-api-v2-WorkspaceProfile) - - - [WorkspaceService](#memos-api-v2-WorkspaceService) - -- [api/v2/workspace_setting_service.proto](#api_v2_workspace_setting_service-proto) - - [GetWorkspaceSettingRequest](#memos-api-v2-GetWorkspaceSettingRequest) - - [GetWorkspaceSettingResponse](#memos-api-v2-GetWorkspaceSettingResponse) - - [ListWorkspaceSettingsRequest](#memos-api-v2-ListWorkspaceSettingsRequest) - - [ListWorkspaceSettingsResponse](#memos-api-v2-ListWorkspaceSettingsResponse) - - [SetWorkspaceSettingRequest](#memos-api-v2-SetWorkspaceSettingRequest) - - [SetWorkspaceSettingResponse](#memos-api-v2-SetWorkspaceSettingResponse) - - [WorkspaceCustomProfile](#memos-api-v2-WorkspaceCustomProfile) - - [WorkspaceGeneralSetting](#memos-api-v2-WorkspaceGeneralSetting) - - [WorkspaceMemoRelatedSetting](#memos-api-v2-WorkspaceMemoRelatedSetting) - - [WorkspaceSetting](#memos-api-v2-WorkspaceSetting) - - [WorkspaceStorageSetting](#memos-api-v2-WorkspaceStorageSetting) - - - [WorkspaceStorageSetting.StorageType](#memos-api-v2-WorkspaceStorageSetting-StorageType) - - - [WorkspaceSettingService](#memos-api-v2-WorkspaceSettingService) - -- [Scalar Value Types](#scalar-value-types) - - - - -

Top

- -## api/v2/activity_service.proto - - - - - -### Activity - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | -| creator_id | [int32](#int32) | | | -| type | [string](#string) | | | -| level | [string](#string) | | | -| create_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -| payload | [ActivityPayload](#memos-api-v2-ActivityPayload) | | | - - - - - - - - -### ActivityMemoCommentPayload - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memo_id | [int32](#int32) | | | -| related_memo_id | [int32](#int32) | | | - - - - - - - - -### ActivityPayload - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memo_comment | [ActivityMemoCommentPayload](#memos-api-v2-ActivityMemoCommentPayload) | | | -| version_update | [ActivityVersionUpdatePayload](#memos-api-v2-ActivityVersionUpdatePayload) | | | - - - - - - - - -### ActivityVersionUpdatePayload - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| version | [string](#string) | | | - - - - - - - - -### GetActivityRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | - - - - - - - - -### GetActivityResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| activity | [Activity](#memos-api-v2-Activity) | | | - - - - - - - - - - - - - - -### ActivityService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| GetActivity | [GetActivityRequest](#memos-api-v2-GetActivityRequest) | [GetActivityResponse](#memos-api-v2-GetActivityResponse) | GetActivity returns the activity with the given id. | - - - - - - -

Top

- -## api/v2/common.proto - - - - - -### PageToken -Used internally for obfuscating the page token. - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| limit | [int32](#int32) | | | -| offset | [int32](#int32) | | | - - - - - - - - - - -### RowStatus - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| ROW_STATUS_UNSPECIFIED | 0 | | -| ACTIVE | 1 | | -| ARCHIVED | 2 | | - - - - - - - - - - - -

Top

- -## api/v2/user_service.proto - - - - - -### CreateUserAccessTokenRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the user. Format: users/{id} | -| description | [string](#string) | | | -| expires_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | optional | | - - - - - - - - -### CreateUserAccessTokenResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| access_token | [UserAccessToken](#memos-api-v2-UserAccessToken) | | | - - - - - - - - -### CreateUserRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [User](#memos-api-v2-User) | | | - - - - - - - - -### CreateUserResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [User](#memos-api-v2-User) | | | - - - - - - - - -### DeleteUserAccessTokenRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the user. Format: users/{id} | -| access_token | [string](#string) | | access_token is the access token to delete. | - - - - - - - - -### DeleteUserAccessTokenResponse - - - - - - - - - -### DeleteUserRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the user. Format: users/{id} | - - - - - - - - -### DeleteUserResponse - - - - - - - - - -### GetUserRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the user. Format: users/{id} | - - - - - - - - -### GetUserResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [User](#memos-api-v2-User) | | | - - - - - - - - -### GetUserSettingRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the user. Format: users/{id} | - - - - - - - - -### GetUserSettingResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| setting | [UserSetting](#memos-api-v2-UserSetting) | | | - - - - - - - - -### ListUserAccessTokensRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the user. Format: users/{id} | - - - - - - - - -### ListUserAccessTokensResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| access_tokens | [UserAccessToken](#memos-api-v2-UserAccessToken) | repeated | | - - - - - - - - -### ListUsersRequest - - - - - - - - - -### ListUsersResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| users | [User](#memos-api-v2-User) | repeated | | - - - - - - - - -### SearchUsersRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| filter | [string](#string) | | Filter is used to filter users returned in the list. Format: "username == frank" | - - - - - - - - -### SearchUsersResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| users | [User](#memos-api-v2-User) | repeated | | - - - - - - - - -### UpdateUserRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [User](#memos-api-v2-User) | | | -| update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | - - - - - - - - -### UpdateUserResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [User](#memos-api-v2-User) | | | - - - - - - - - -### UpdateUserSettingRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| setting | [UserSetting](#memos-api-v2-UserSetting) | | | -| update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | - - - - - - - - -### UpdateUserSettingResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| setting | [UserSetting](#memos-api-v2-UserSetting) | | | - - - - - - - - -### User - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the user. Format: users/{id} | -| id | [int32](#int32) | | The system generated uid of the user. | -| role | [User.Role](#memos-api-v2-User-Role) | | | -| username | [string](#string) | | | -| email | [string](#string) | | | -| nickname | [string](#string) | | | -| avatar_url | [string](#string) | | | -| description | [string](#string) | | | -| password | [string](#string) | | | -| row_status | [RowStatus](#memos-api-v2-RowStatus) | | | -| create_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -| update_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | - - - - - - - - -### UserAccessToken - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| access_token | [string](#string) | | | -| description | [string](#string) | | | -| issued_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -| expires_at | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | - - - - - - - - -### UserSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the user. Format: users/{id} | -| locale | [string](#string) | | The preferred locale of the user. | -| appearance | [string](#string) | | The preferred appearance of the user. | -| memo_visibility | [string](#string) | | The default visibility of the memo. | - - - - - - - - - - -### User.Role - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| ROLE_UNSPECIFIED | 0 | | -| HOST | 1 | | -| ADMIN | 2 | | -| USER | 3 | | - - - - - - - - - -### UserService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListUsers | [ListUsersRequest](#memos-api-v2-ListUsersRequest) | [ListUsersResponse](#memos-api-v2-ListUsersResponse) | ListUsers returns a list of users. | -| SearchUsers | [SearchUsersRequest](#memos-api-v2-SearchUsersRequest) | [SearchUsersResponse](#memos-api-v2-SearchUsersResponse) | SearchUsers searches users by filter. | -| GetUser | [GetUserRequest](#memos-api-v2-GetUserRequest) | [GetUserResponse](#memos-api-v2-GetUserResponse) | GetUser gets a user by name. | -| CreateUser | [CreateUserRequest](#memos-api-v2-CreateUserRequest) | [CreateUserResponse](#memos-api-v2-CreateUserResponse) | CreateUser creates a new user. | -| UpdateUser | [UpdateUserRequest](#memos-api-v2-UpdateUserRequest) | [UpdateUserResponse](#memos-api-v2-UpdateUserResponse) | UpdateUser updates a user. | -| DeleteUser | [DeleteUserRequest](#memos-api-v2-DeleteUserRequest) | [DeleteUserResponse](#memos-api-v2-DeleteUserResponse) | DeleteUser deletes a user. | -| GetUserSetting | [GetUserSettingRequest](#memos-api-v2-GetUserSettingRequest) | [GetUserSettingResponse](#memos-api-v2-GetUserSettingResponse) | GetUserSetting gets the setting of a user. | -| UpdateUserSetting | [UpdateUserSettingRequest](#memos-api-v2-UpdateUserSettingRequest) | [UpdateUserSettingResponse](#memos-api-v2-UpdateUserSettingResponse) | UpdateUserSetting updates the setting of a user. | -| ListUserAccessTokens | [ListUserAccessTokensRequest](#memos-api-v2-ListUserAccessTokensRequest) | [ListUserAccessTokensResponse](#memos-api-v2-ListUserAccessTokensResponse) | ListUserAccessTokens returns a list of access tokens for a user. | -| CreateUserAccessToken | [CreateUserAccessTokenRequest](#memos-api-v2-CreateUserAccessTokenRequest) | [CreateUserAccessTokenResponse](#memos-api-v2-CreateUserAccessTokenResponse) | CreateUserAccessToken creates a new access token for a user. | -| DeleteUserAccessToken | [DeleteUserAccessTokenRequest](#memos-api-v2-DeleteUserAccessTokenRequest) | [DeleteUserAccessTokenResponse](#memos-api-v2-DeleteUserAccessTokenResponse) | DeleteUserAccessToken deletes an access token for a user. | - - - - - - -

Top

- -## api/v2/auth_service.proto - - - - - -### GetAuthStatusRequest - - - - - - - - - -### GetAuthStatusResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [User](#memos-api-v2-User) | | | - - - - - - - - -### SignInRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| username | [string](#string) | | | -| password | [string](#string) | | | -| never_expire | [bool](#bool) | | | - - - - - - - - -### SignInResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [User](#memos-api-v2-User) | | | - - - - - - - - -### SignInWithSSORequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| idp_id | [int32](#int32) | | | -| code | [string](#string) | | | -| redirect_uri | [string](#string) | | | - - - - - - - - -### SignInWithSSOResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [User](#memos-api-v2-User) | | | - - - - - - - - -### SignOutRequest - - - - - - - - - -### SignOutResponse - - - - - - - - - -### SignUpRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| username | [string](#string) | | | -| password | [string](#string) | | | - - - - - - - - -### SignUpResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [User](#memos-api-v2-User) | | | - - - - - - - - - - - - - - -### AuthService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| GetAuthStatus | [GetAuthStatusRequest](#memos-api-v2-GetAuthStatusRequest) | [GetAuthStatusResponse](#memos-api-v2-GetAuthStatusResponse) | GetAuthStatus returns the current auth status of the user. | -| SignIn | [SignInRequest](#memos-api-v2-SignInRequest) | [SignInResponse](#memos-api-v2-SignInResponse) | SignIn signs in the user with the given username and password. | -| SignInWithSSO | [SignInWithSSORequest](#memos-api-v2-SignInWithSSORequest) | [SignInWithSSOResponse](#memos-api-v2-SignInWithSSOResponse) | SignInWithSSO signs in the user with the given SSO code. | -| SignUp | [SignUpRequest](#memos-api-v2-SignUpRequest) | [SignUpResponse](#memos-api-v2-SignUpResponse) | SignUp signs up the user with the given username and password. | -| SignOut | [SignOutRequest](#memos-api-v2-SignOutRequest) | [SignOutResponse](#memos-api-v2-SignOutResponse) | SignOut signs out the user. | - - - - - - -

Top

- -## api/v2/idp_service.proto - - - - - -### CreateIdentityProviderRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| identity_provider | [IdentityProvider](#memos-api-v2-IdentityProvider) | | The identityProvider to create. | - - - - - - - - -### CreateIdentityProviderResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| identity_provider | [IdentityProvider](#memos-api-v2-IdentityProvider) | | The created identityProvider. | - - - - - - - - -### DeleteIdentityProviderRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the identityProvider to delete. Format: identityProviders/{id} | - - - - - - - - -### DeleteIdentityProviderResponse - - - - - - - - - -### FieldMapping - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| identifier | [string](#string) | | | -| display_name | [string](#string) | | | -| email | [string](#string) | | | - - - - - - - - -### GetIdentityProviderRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the identityProvider to get. Format: identityProviders/{id} | - - - - - - - - -### GetIdentityProviderResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| identity_provider | [IdentityProvider](#memos-api-v2-IdentityProvider) | | The identityProvider. | - - - - - - - - -### IdentityProvider - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the identityProvider. Format: identityProviders/{id} | -| type | [IdentityProvider.Type](#memos-api-v2-IdentityProvider-Type) | | | -| title | [string](#string) | | | -| identifier_filter | [string](#string) | | | -| config | [IdentityProviderConfig](#memos-api-v2-IdentityProviderConfig) | | | - - - - - - - - -### IdentityProviderConfig - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| oauth2_config | [OAuth2Config](#memos-api-v2-OAuth2Config) | | | - - - - - - - - -### ListIdentityProvidersRequest - - - - - - - - - -### ListIdentityProvidersResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| identity_providers | [IdentityProvider](#memos-api-v2-IdentityProvider) | repeated | | - - - - - - - - -### OAuth2Config - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| client_id | [string](#string) | | | -| client_secret | [string](#string) | | | -| auth_url | [string](#string) | | | -| token_url | [string](#string) | | | -| user_info_url | [string](#string) | | | -| scopes | [string](#string) | repeated | | -| field_mapping | [FieldMapping](#memos-api-v2-FieldMapping) | | | - - - - - - - - -### UpdateIdentityProviderRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| identity_provider | [IdentityProvider](#memos-api-v2-IdentityProvider) | | The identityProvider to update. | -| update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | The update mask applies to the resource. Only the top level fields of IdentityProvider are supported. | - - - - - - - - -### UpdateIdentityProviderResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| identity_provider | [IdentityProvider](#memos-api-v2-IdentityProvider) | | The updated identityProvider. | - - - - - - - - - - -### IdentityProvider.Type - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| TYPE_UNSPECIFIED | 0 | | -| OAUTH2 | 1 | | - - - - - - - - - -### IdentityProviderService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListIdentityProviders | [ListIdentityProvidersRequest](#memos-api-v2-ListIdentityProvidersRequest) | [ListIdentityProvidersResponse](#memos-api-v2-ListIdentityProvidersResponse) | | -| GetIdentityProvider | [GetIdentityProviderRequest](#memos-api-v2-GetIdentityProviderRequest) | [GetIdentityProviderResponse](#memos-api-v2-GetIdentityProviderResponse) | | -| CreateIdentityProvider | [CreateIdentityProviderRequest](#memos-api-v2-CreateIdentityProviderRequest) | [CreateIdentityProviderResponse](#memos-api-v2-CreateIdentityProviderResponse) | | -| UpdateIdentityProvider | [UpdateIdentityProviderRequest](#memos-api-v2-UpdateIdentityProviderRequest) | [UpdateIdentityProviderResponse](#memos-api-v2-UpdateIdentityProviderResponse) | UpdateIdentityProvider updates an identity provider. | -| DeleteIdentityProvider | [DeleteIdentityProviderRequest](#memos-api-v2-DeleteIdentityProviderRequest) | [DeleteIdentityProviderResponse](#memos-api-v2-DeleteIdentityProviderResponse) | DeleteIdentityProvider deletes an identity provider. | - - - - - - -

Top

- -## api/v2/inbox_service.proto - - - - - -### DeleteInboxRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the inbox to delete. Format: inboxes/{id} | - - - - - - - - -### DeleteInboxResponse - - - - - - - - - -### Inbox - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the inbox. Format: inboxes/{id} | -| sender | [string](#string) | | Format: users/{id} | -| receiver | [string](#string) | | Format: users/{id} | -| status | [Inbox.Status](#memos-api-v2-Inbox-Status) | | | -| create_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -| type | [Inbox.Type](#memos-api-v2-Inbox-Type) | | | -| activity_id | [int32](#int32) | optional | | - - - - - - - - -### ListInboxesRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [string](#string) | | Format: users/{id} | - - - - - - - - -### ListInboxesResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| inboxes | [Inbox](#memos-api-v2-Inbox) | repeated | | - - - - - - - - -### UpdateInboxRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| inbox | [Inbox](#memos-api-v2-Inbox) | | | -| update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | - - - - - - - - -### UpdateInboxResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| inbox | [Inbox](#memos-api-v2-Inbox) | | | - - - - - - - - - - -### Inbox.Status - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| STATUS_UNSPECIFIED | 0 | | -| UNREAD | 1 | | -| ARCHIVED | 2 | | - - - - - -### Inbox.Type - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| TYPE_UNSPECIFIED | 0 | | -| TYPE_MEMO_COMMENT | 1 | | -| TYPE_VERSION_UPDATE | 2 | | - - - - - - - - - -### InboxService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListInboxes | [ListInboxesRequest](#memos-api-v2-ListInboxesRequest) | [ListInboxesResponse](#memos-api-v2-ListInboxesResponse) | ListInboxes lists inboxes for a user. | -| UpdateInbox | [UpdateInboxRequest](#memos-api-v2-UpdateInboxRequest) | [UpdateInboxResponse](#memos-api-v2-UpdateInboxResponse) | UpdateInbox updates an inbox. | -| DeleteInbox | [DeleteInboxRequest](#memos-api-v2-DeleteInboxRequest) | [DeleteInboxResponse](#memos-api-v2-DeleteInboxResponse) | DeleteInbox deletes an inbox. | - - - - - - -

Top

- -## api/v2/link_service.proto - - - - - -### GetLinkMetadataRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| link | [string](#string) | | | - - - - - - - - -### GetLinkMetadataResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| link_metadata | [LinkMetadata](#memos-api-v2-LinkMetadata) | | | - - - - - - - - -### LinkMetadata - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| title | [string](#string) | | | -| description | [string](#string) | | | -| image | [string](#string) | | | - - - - - - - - - - - - - - -### LinkService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| GetLinkMetadata | [GetLinkMetadataRequest](#memos-api-v2-GetLinkMetadataRequest) | [GetLinkMetadataResponse](#memos-api-v2-GetLinkMetadataResponse) | | - - - - - - -

Top

- -## api/v2/memo_relation_service.proto - - - - - -### MemoRelation - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memo | [string](#string) | | The name of memo. Format: "memos/{uid}" | -| related_memo | [string](#string) | | The name of related memo. Format: "memos/{uid}" | -| type | [MemoRelation.Type](#memos-api-v2-MemoRelation-Type) | | | - - - - - - - - - - -### MemoRelation.Type - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| TYPE_UNSPECIFIED | 0 | | -| REFERENCE | 1 | | -| COMMENT | 2 | | - - - - - - - - - - - -

Top

- -## api/v2/reaction_service.proto - - - - - -### Reaction - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | -| creator | [string](#string) | | The name of the creator. Format: users/{id} | -| content_id | [string](#string) | | | -| reaction_type | [Reaction.Type](#memos-api-v2-Reaction-Type) | | | - - - - - - - - - - -### Reaction.Type - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| TYPE_UNSPECIFIED | 0 | | -| THUMBS_UP | 1 | | -| THUMBS_DOWN | 2 | | -| HEART | 3 | | -| FIRE | 4 | | -| CLAPPING_HANDS | 5 | | -| LAUGH | 6 | | -| OK_HAND | 7 | | -| ROCKET | 8 | | -| EYES | 9 | | -| THINKING_FACE | 10 | | -| CLOWN_FACE | 11 | | -| QUESTION_MARK | 12 | | - - - - - - - - - - - -

Top

- -## api/v2/resource_service.proto - - - - - -### CreateResourceRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| resource | [Resource](#memos-api-v2-Resource) | | | - - - - - - - - -### CreateResourceResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| resource | [Resource](#memos-api-v2-Resource) | | | - - - - - - - - -### DeleteResourceRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the resource. Format: resources/{id} id is the system generated unique identifier. | - - - - - - - - -### DeleteResourceResponse - - - - - - - - - -### GetResourceRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the resource. Format: resources/{id} id is the system generated unique identifier. | - - - - - - - - -### GetResourceResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| resource | [Resource](#memos-api-v2-Resource) | | | - - - - - - - - -### ListResourcesRequest - - - - - - - - - -### ListResourcesResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| resources | [Resource](#memos-api-v2-Resource) | repeated | | - - - - - - - - -### Resource - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the resource. Format: resources/{id} id is the system generated unique identifier. | -| uid | [string](#string) | | The user defined id of the resource. | -| create_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -| filename | [string](#string) | | | -| content | [bytes](#bytes) | | | -| external_link | [string](#string) | | | -| type | [string](#string) | | | -| size | [int64](#int64) | | | -| memo | [string](#string) | optional | The related memo. Format: memos/{id} | - - - - - - - - -### SearchResourcesRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| filter | [string](#string) | | | - - - - - - - - -### SearchResourcesResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| resources | [Resource](#memos-api-v2-Resource) | repeated | | - - - - - - - - -### UpdateResourceRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| resource | [Resource](#memos-api-v2-Resource) | | | -| update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | - - - - - - - - -### UpdateResourceResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| resource | [Resource](#memos-api-v2-Resource) | | | - - - - - - - - - - - - - - -### ResourceService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| CreateResource | [CreateResourceRequest](#memos-api-v2-CreateResourceRequest) | [CreateResourceResponse](#memos-api-v2-CreateResourceResponse) | CreateResource creates a new resource. | -| ListResources | [ListResourcesRequest](#memos-api-v2-ListResourcesRequest) | [ListResourcesResponse](#memos-api-v2-ListResourcesResponse) | ListResources lists all resources. | -| SearchResources | [SearchResourcesRequest](#memos-api-v2-SearchResourcesRequest) | [SearchResourcesResponse](#memos-api-v2-SearchResourcesResponse) | SearchResources searches memos. | -| GetResource | [GetResourceRequest](#memos-api-v2-GetResourceRequest) | [GetResourceResponse](#memos-api-v2-GetResourceResponse) | GetResource returns a resource by name. | -| UpdateResource | [UpdateResourceRequest](#memos-api-v2-UpdateResourceRequest) | [UpdateResourceResponse](#memos-api-v2-UpdateResourceResponse) | UpdateResource updates a resource. | -| DeleteResource | [DeleteResourceRequest](#memos-api-v2-DeleteResourceRequest) | [DeleteResourceResponse](#memos-api-v2-DeleteResourceResponse) | DeleteResource deletes a resource by name. | - - - - - - -

Top

- -## api/v2/memo_service.proto - - - - - -### CreateMemoCommentRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} | -| comment | [CreateMemoRequest](#memos-api-v2-CreateMemoRequest) | | | - - - - - - - - -### CreateMemoCommentResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memo | [Memo](#memos-api-v2-Memo) | | | - - - - - - - - -### CreateMemoRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| content | [string](#string) | | | -| visibility | [Visibility](#memos-api-v2-Visibility) | | | - - - - - - - - -### CreateMemoResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memo | [Memo](#memos-api-v2-Memo) | | | - - - - - - - - -### DeleteMemoReactionRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| reaction_id | [int32](#int32) | | | - - - - - - - - -### DeleteMemoReactionResponse - - - - - - - - - -### DeleteMemoRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} | - - - - - - - - -### DeleteMemoResponse - - - - - - - - - -### ExportMemosRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| filter | [string](#string) | | Same as ListMemosRequest.filter | - - - - - - - - -### ExportMemosResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| content | [bytes](#bytes) | | | - - - - - - - - -### GetMemoRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} | - - - - - - - - -### GetMemoResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memo | [Memo](#memos-api-v2-Memo) | | | - - - - - - - - -### GetUserMemosStatsRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | name is the name of the user to get stats for. Format: users/{id} | -| timezone | [string](#string) | | timezone location Format: uses tz identifier https://en.wikipedia.org/wiki/List_of_tz_database_time_zones | -| filter | [string](#string) | | Same as ListMemosRequest.filter | - - - - - - - - -### GetUserMemosStatsResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| stats | [GetUserMemosStatsResponse.StatsEntry](#memos-api-v2-GetUserMemosStatsResponse-StatsEntry) | repeated | stats is the stats of memo creating/updating activities. key is the year-month-day string. e.g. "2020-01-01". | - - - - - - - - -### GetUserMemosStatsResponse.StatsEntry - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| key | [string](#string) | | | -| value | [int32](#int32) | | | - - - - - - - - -### ListMemoCommentsRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} | - - - - - - - - -### ListMemoCommentsResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memos | [Memo](#memos-api-v2-Memo) | repeated | | - - - - - - - - -### ListMemoReactionsRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} | - - - - - - - - -### ListMemoReactionsResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| reactions | [Reaction](#memos-api-v2-Reaction) | repeated | | - - - - - - - - -### ListMemoRelationsRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} | - - - - - - - - -### ListMemoRelationsResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| relations | [MemoRelation](#memos-api-v2-MemoRelation) | repeated | | - - - - - - - - -### ListMemoResourcesRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} | - - - - - - - - -### ListMemoResourcesResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| resources | [Resource](#memos-api-v2-Resource) | repeated | | - - - - - - - - -### ListMemosRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| page_size | [int32](#int32) | | The maximum number of memos to return. | -| page_token | [string](#string) | | A page token, received from a previous `ListMemos` call. Provide this to retrieve the subsequent page. | -| filter | [string](#string) | | Filter is used to filter memos returned in the list. Format: "creator == users/{uid} && visibilities == ['PUBLIC', 'PROTECTED']" | - - - - - - - - -### ListMemosResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memos | [Memo](#memos-api-v2-Memo) | repeated | | -| next_page_token | [string](#string) | | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | - - - - - - - - -### Memo - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} id is the system generated id. | -| uid | [string](#string) | | The user defined id of the memo. | -| row_status | [RowStatus](#memos-api-v2-RowStatus) | | | -| creator | [string](#string) | | The name of the creator. Format: users/{id} | -| create_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -| update_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -| display_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -| content | [string](#string) | | | -| visibility | [Visibility](#memos-api-v2-Visibility) | | | -| pinned | [bool](#bool) | | | -| parent_id | [int32](#int32) | optional | | -| resources | [Resource](#memos-api-v2-Resource) | repeated | | -| relations | [MemoRelation](#memos-api-v2-MemoRelation) | repeated | | -| reactions | [Reaction](#memos-api-v2-Reaction) | repeated | | - - - - - - - - -### SearchMemosRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| filter | [string](#string) | | Filter is used to filter memos returned. Format: "creator == users/{uid} && visibilities == ['PUBLIC', 'PROTECTED']" | - - - - - - - - -### SearchMemosResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memos | [Memo](#memos-api-v2-Memo) | repeated | | - - - - - - - - -### SetMemoRelationsRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} | -| relations | [MemoRelation](#memos-api-v2-MemoRelation) | repeated | | - - - - - - - - -### SetMemoRelationsResponse - - - - - - - - - -### SetMemoResourcesRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} | -| resources | [Resource](#memos-api-v2-Resource) | repeated | | - - - - - - - - -### SetMemoResourcesResponse - - - - - - - - - -### UpdateMemoRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memo | [Memo](#memos-api-v2-Memo) | | | -| update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | - - - - - - - - -### UpdateMemoResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memo | [Memo](#memos-api-v2-Memo) | | | - - - - - - - - -### UpsertMemoReactionRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The name of the memo. Format: memos/{id} | -| reaction | [Reaction](#memos-api-v2-Reaction) | | | - - - - - - - - -### UpsertMemoReactionResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| reaction | [Reaction](#memos-api-v2-Reaction) | | | - - - - - - - - - - -### Visibility - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| VISIBILITY_UNSPECIFIED | 0 | | -| PRIVATE | 1 | | -| PROTECTED | 2 | | -| PUBLIC | 3 | | - - - - - - - - - -### MemoService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| CreateMemo | [CreateMemoRequest](#memos-api-v2-CreateMemoRequest) | [CreateMemoResponse](#memos-api-v2-CreateMemoResponse) | CreateMemo creates a memo. | -| ListMemos | [ListMemosRequest](#memos-api-v2-ListMemosRequest) | [ListMemosResponse](#memos-api-v2-ListMemosResponse) | ListMemos lists memos with pagination and filter. | -| SearchMemos | [SearchMemosRequest](#memos-api-v2-SearchMemosRequest) | [SearchMemosResponse](#memos-api-v2-SearchMemosResponse) | SearchMemos searches memos. | -| GetMemo | [GetMemoRequest](#memos-api-v2-GetMemoRequest) | [GetMemoResponse](#memos-api-v2-GetMemoResponse) | GetMemo gets a memo. | -| UpdateMemo | [UpdateMemoRequest](#memos-api-v2-UpdateMemoRequest) | [UpdateMemoResponse](#memos-api-v2-UpdateMemoResponse) | UpdateMemo updates a memo. | -| DeleteMemo | [DeleteMemoRequest](#memos-api-v2-DeleteMemoRequest) | [DeleteMemoResponse](#memos-api-v2-DeleteMemoResponse) | DeleteMemo deletes a memo. | -| ExportMemos | [ExportMemosRequest](#memos-api-v2-ExportMemosRequest) | [ExportMemosResponse](#memos-api-v2-ExportMemosResponse) | ExportMemos exports memos. | -| SetMemoResources | [SetMemoResourcesRequest](#memos-api-v2-SetMemoResourcesRequest) | [SetMemoResourcesResponse](#memos-api-v2-SetMemoResourcesResponse) | SetMemoResources sets resources for a memo. | -| ListMemoResources | [ListMemoResourcesRequest](#memos-api-v2-ListMemoResourcesRequest) | [ListMemoResourcesResponse](#memos-api-v2-ListMemoResourcesResponse) | ListMemoResources lists resources for a memo. | -| SetMemoRelations | [SetMemoRelationsRequest](#memos-api-v2-SetMemoRelationsRequest) | [SetMemoRelationsResponse](#memos-api-v2-SetMemoRelationsResponse) | SetMemoRelations sets relations for a memo. | -| ListMemoRelations | [ListMemoRelationsRequest](#memos-api-v2-ListMemoRelationsRequest) | [ListMemoRelationsResponse](#memos-api-v2-ListMemoRelationsResponse) | ListMemoRelations lists relations for a memo. | -| CreateMemoComment | [CreateMemoCommentRequest](#memos-api-v2-CreateMemoCommentRequest) | [CreateMemoCommentResponse](#memos-api-v2-CreateMemoCommentResponse) | CreateMemoComment creates a comment for a memo. | -| ListMemoComments | [ListMemoCommentsRequest](#memos-api-v2-ListMemoCommentsRequest) | [ListMemoCommentsResponse](#memos-api-v2-ListMemoCommentsResponse) | ListMemoComments lists comments for a memo. | -| GetUserMemosStats | [GetUserMemosStatsRequest](#memos-api-v2-GetUserMemosStatsRequest) | [GetUserMemosStatsResponse](#memos-api-v2-GetUserMemosStatsResponse) | GetUserMemosStats gets stats of memos for a user. | -| ListMemoReactions | [ListMemoReactionsRequest](#memos-api-v2-ListMemoReactionsRequest) | [ListMemoReactionsResponse](#memos-api-v2-ListMemoReactionsResponse) | ListMemoReactions lists reactions for a memo. | -| UpsertMemoReaction | [UpsertMemoReactionRequest](#memos-api-v2-UpsertMemoReactionRequest) | [UpsertMemoReactionResponse](#memos-api-v2-UpsertMemoReactionResponse) | UpsertMemoReaction upserts a reaction for a memo. | -| DeleteMemoReaction | [DeleteMemoReactionRequest](#memos-api-v2-DeleteMemoReactionRequest) | [DeleteMemoReactionResponse](#memos-api-v2-DeleteMemoReactionResponse) | DeleteMemoReaction deletes a reaction for a memo. | - - - - - - -

Top

- -## api/v2/storage_service.proto - - - - - -### CreateStorageRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| storage | [Storage](#memos-api-v2-Storage) | | | - - - - - - - - -### CreateStorageResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| storage | [Storage](#memos-api-v2-Storage) | | | - - - - - - - - -### DeleteStorageRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | - - - - - - - - -### DeleteStorageResponse - - - - - - - - - -### GetStorageRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | - - - - - - - - -### GetStorageResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| storage | [Storage](#memos-api-v2-Storage) | | | - - - - - - - - -### ListStoragesRequest - - - - - - - - - -### ListStoragesResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| storages | [Storage](#memos-api-v2-Storage) | repeated | | - - - - - - - - -### S3Config - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| end_point | [string](#string) | | | -| path | [string](#string) | | | -| region | [string](#string) | | | -| access_key | [string](#string) | | | -| secret_key | [string](#string) | | | -| bucket | [string](#string) | | | -| url_prefix | [string](#string) | | | -| url_suffix | [string](#string) | | | -| pre_sign | [bool](#bool) | | | - - - - - - - - -### Storage - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | -| title | [string](#string) | | | -| type | [Storage.Type](#memos-api-v2-Storage-Type) | | | -| config | [StorageConfig](#memos-api-v2-StorageConfig) | | | - - - - - - - - -### StorageConfig - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| s3_config | [S3Config](#memos-api-v2-S3Config) | | | - - - - - - - - -### UpdateStorageRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| storage | [Storage](#memos-api-v2-Storage) | | | -| update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | - - - - - - - - -### UpdateStorageResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| storage | [Storage](#memos-api-v2-Storage) | | | - - - - - - - - - - -### Storage.Type - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| TYPE_UNSPECIFIED | 0 | | -| S3 | 1 | | - - - - - - - - - -### StorageService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| CreateStorage | [CreateStorageRequest](#memos-api-v2-CreateStorageRequest) | [CreateStorageResponse](#memos-api-v2-CreateStorageResponse) | CreateStorage creates a new storage. | -| GetStorage | [GetStorageRequest](#memos-api-v2-GetStorageRequest) | [GetStorageResponse](#memos-api-v2-GetStorageResponse) | GetStorage returns a storage by id. | -| ListStorages | [ListStoragesRequest](#memos-api-v2-ListStoragesRequest) | [ListStoragesResponse](#memos-api-v2-ListStoragesResponse) | ListStorages returns a list of storages. | -| UpdateStorage | [UpdateStorageRequest](#memos-api-v2-UpdateStorageRequest) | [UpdateStorageResponse](#memos-api-v2-UpdateStorageResponse) | UpdateStorage updates a storage. | -| DeleteStorage | [DeleteStorageRequest](#memos-api-v2-DeleteStorageRequest) | [DeleteStorageResponse](#memos-api-v2-DeleteStorageResponse) | DeleteStorage deletes a storage by id. | - - - - - - -

Top

- -## api/v2/tag_service.proto - - - - - -### BatchUpsertTagRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| requests | [UpsertTagRequest](#memos-api-v2-UpsertTagRequest) | repeated | | - - - - - - - - -### BatchUpsertTagResponse - - - - - - - - - -### DeleteTagRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| tag | [Tag](#memos-api-v2-Tag) | | | - - - - - - - - -### DeleteTagResponse - - - - - - - - - -### GetTagSuggestionsRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [string](#string) | | The creator of tags. Format: users/{id} | - - - - - - - - -### GetTagSuggestionsResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| tags | [string](#string) | repeated | | - - - - - - - - -### ListTagsRequest - - - - - - - - - -### ListTagsResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| tags | [Tag](#memos-api-v2-Tag) | repeated | | - - - - - - - - -### RenameTagRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user | [string](#string) | | The creator of tags. Format: users/{id} | -| old_name | [string](#string) | | | -| new_name | [string](#string) | | | - - - - - - - - -### RenameTagResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| tag | [Tag](#memos-api-v2-Tag) | | | - - - - - - - - -### Tag - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | | -| creator | [string](#string) | | The creator of tags. Format: users/{id} | - - - - - - - - -### UpsertTagRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | | - - - - - - - - -### UpsertTagResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| tag | [Tag](#memos-api-v2-Tag) | | | - - - - - - - - - - - - - - -### TagService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| UpsertTag | [UpsertTagRequest](#memos-api-v2-UpsertTagRequest) | [UpsertTagResponse](#memos-api-v2-UpsertTagResponse) | UpsertTag upserts a tag. | -| BatchUpsertTag | [BatchUpsertTagRequest](#memos-api-v2-BatchUpsertTagRequest) | [BatchUpsertTagResponse](#memos-api-v2-BatchUpsertTagResponse) | BatchUpsertTag upserts multiple tags. | -| ListTags | [ListTagsRequest](#memos-api-v2-ListTagsRequest) | [ListTagsResponse](#memos-api-v2-ListTagsResponse) | ListTags lists tags. | -| RenameTag | [RenameTagRequest](#memos-api-v2-RenameTagRequest) | [RenameTagResponse](#memos-api-v2-RenameTagResponse) | RenameTag renames a tag. All related memos will be updated. | -| DeleteTag | [DeleteTagRequest](#memos-api-v2-DeleteTagRequest) | [DeleteTagResponse](#memos-api-v2-DeleteTagResponse) | DeleteTag deletes a tag. | -| GetTagSuggestions | [GetTagSuggestionsRequest](#memos-api-v2-GetTagSuggestionsRequest) | [GetTagSuggestionsResponse](#memos-api-v2-GetTagSuggestionsResponse) | GetTagSuggestions gets tag suggestions from the user's memos. | - - - - - - -

Top

- -## api/v2/webhook_service.proto - - - - - -### CreateWebhookRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | | -| url | [string](#string) | | | - - - - - - - - -### CreateWebhookResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| webhook | [Webhook](#memos-api-v2-Webhook) | | | - - - - - - - - -### DeleteWebhookRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | - - - - - - - - -### DeleteWebhookResponse - - - - - - - - - -### GetWebhookRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | - - - - - - - - -### GetWebhookResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| webhook | [Webhook](#memos-api-v2-Webhook) | | | - - - - - - - - -### ListWebhooksRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| creator_id | [int32](#int32) | | | - - - - - - - - -### ListWebhooksResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| webhooks | [Webhook](#memos-api-v2-Webhook) | repeated | | - - - - - - - - -### UpdateWebhookRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| webhook | [Webhook](#memos-api-v2-Webhook) | | | -| update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) | | | - - - - - - - - -### UpdateWebhookResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| webhook | [Webhook](#memos-api-v2-Webhook) | | | - - - - - - - - -### Webhook - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | -| creator_id | [int32](#int32) | | | -| created_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -| updated_time | [google.protobuf.Timestamp](#google-protobuf-Timestamp) | | | -| row_status | [RowStatus](#memos-api-v2-RowStatus) | | | -| name | [string](#string) | | | -| url | [string](#string) | | | - - - - - - - - - - - - - - -### WebhookService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| CreateWebhook | [CreateWebhookRequest](#memos-api-v2-CreateWebhookRequest) | [CreateWebhookResponse](#memos-api-v2-CreateWebhookResponse) | CreateWebhook creates a new webhook. | -| GetWebhook | [GetWebhookRequest](#memos-api-v2-GetWebhookRequest) | [GetWebhookResponse](#memos-api-v2-GetWebhookResponse) | GetWebhook returns a webhook by id. | -| ListWebhooks | [ListWebhooksRequest](#memos-api-v2-ListWebhooksRequest) | [ListWebhooksResponse](#memos-api-v2-ListWebhooksResponse) | ListWebhooks returns a list of webhooks. | -| UpdateWebhook | [UpdateWebhookRequest](#memos-api-v2-UpdateWebhookRequest) | [UpdateWebhookResponse](#memos-api-v2-UpdateWebhookResponse) | UpdateWebhook updates a webhook. | -| DeleteWebhook | [DeleteWebhookRequest](#memos-api-v2-DeleteWebhookRequest) | [DeleteWebhookResponse](#memos-api-v2-DeleteWebhookResponse) | DeleteWebhook deletes a webhook by id. | - - - - - - -

Top

- -## api/v2/workspace_service.proto - - - - - -### GetWorkspaceProfileRequest - - - - - - - - - -### GetWorkspaceProfileResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| workspace_profile | [WorkspaceProfile](#memos-api-v2-WorkspaceProfile) | | | - - - - - - - - -### WorkspaceProfile - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| owner | [string](#string) | | The name of instance owner. Format: "users/{id}" | -| version | [string](#string) | | version is the current version of instance | -| mode | [string](#string) | | mode is the instance mode (e.g. "prod", "dev" or "demo"). | - - - - - - - - - - - - - - -### WorkspaceService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| GetWorkspaceProfile | [GetWorkspaceProfileRequest](#memos-api-v2-GetWorkspaceProfileRequest) | [GetWorkspaceProfileResponse](#memos-api-v2-GetWorkspaceProfileResponse) | GetWorkspaceProfile returns the workspace profile. | - - - - - - -

Top

- -## api/v2/workspace_setting_service.proto - - - - - -### GetWorkspaceSettingRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | The resource name of the workspace setting. Format: settings/{setting} | - - - - - - - - -### GetWorkspaceSettingResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| setting | [WorkspaceSetting](#memos-api-v2-WorkspaceSetting) | | | - - - - - - - - -### ListWorkspaceSettingsRequest - - - - - - - - - -### ListWorkspaceSettingsResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| settings | [WorkspaceSetting](#memos-api-v2-WorkspaceSetting) | repeated | | - - - - - - - - -### SetWorkspaceSettingRequest - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| setting | [WorkspaceSetting](#memos-api-v2-WorkspaceSetting) | | setting is the setting to update. | - - - - - - - - -### SetWorkspaceSettingResponse - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| setting | [WorkspaceSetting](#memos-api-v2-WorkspaceSetting) | | | - - - - - - - - -### WorkspaceCustomProfile - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| title | [string](#string) | | | -| description | [string](#string) | | | -| logo_url | [string](#string) | | | -| locale | [string](#string) | | | -| appearance | [string](#string) | | | - - - - - - - - -### WorkspaceGeneralSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| instance_url | [string](#string) | | instance_url is the instance URL. | -| disallow_signup | [bool](#bool) | | disallow_signup is the flag to disallow signup. | -| disallow_password_login | [bool](#bool) | | disallow_password_login is the flag to disallow password login. | -| additional_script | [string](#string) | | additional_script is the additional script. | -| additional_style | [string](#string) | | additional_style is the additional style. | -| custom_profile | [WorkspaceCustomProfile](#memos-api-v2-WorkspaceCustomProfile) | | custom_profile is the custom profile. | - - - - - - - - -### WorkspaceMemoRelatedSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| disallow_public_visible | [bool](#bool) | | disallow_public_share disallows set memo as public visible. | -| display_with_update_time | [bool](#bool) | | display_with_update_time orders and displays memo with update time. | - - - - - - - - -### WorkspaceSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| name | [string](#string) | | name is the name of the setting. Format: settings/{setting} | -| general_setting | [WorkspaceGeneralSetting](#memos-api-v2-WorkspaceGeneralSetting) | | | -| storage_setting | [WorkspaceStorageSetting](#memos-api-v2-WorkspaceStorageSetting) | | | -| memo_related_setting | [WorkspaceMemoRelatedSetting](#memos-api-v2-WorkspaceMemoRelatedSetting) | | | - - - - - - - - -### WorkspaceStorageSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| storage_type | [WorkspaceStorageSetting.StorageType](#memos-api-v2-WorkspaceStorageSetting-StorageType) | | storage_type is the storage type. | -| actived_external_storage_id | [int32](#int32) | optional | The id of actived external storage. | -| local_storage_path_template | [string](#string) | | The template of local storage path. e.g. assets/{timestamp}_{filename} | -| upload_size_limit_mb | [int64](#int64) | | The max upload size in megabytes. | - - - - - - - - - - -### WorkspaceStorageSetting.StorageType - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| STORAGE_TYPE_UNSPECIFIED | 0 | | -| STORAGE_TYPE_DATABASE | 1 | STORAGE_TYPE_DATABASE is the database storage type. | -| STORAGE_TYPE_LOCAL | 2 | STORAGE_TYPE_LOCAL is the local storage type. | -| STORAGE_TYPE_EXTERNAL | 3 | STORAGE_TYPE_EXTERNAL is the external storage type. | - - - - - - - - - -### WorkspaceSettingService - - -| Method Name | Request Type | Response Type | Description | -| ----------- | ------------ | ------------- | ------------| -| ListWorkspaceSettings | [ListWorkspaceSettingsRequest](#memos-api-v2-ListWorkspaceSettingsRequest) | [ListWorkspaceSettingsResponse](#memos-api-v2-ListWorkspaceSettingsResponse) | ListWorkspaceSetting returns the list of settings. | -| GetWorkspaceSetting | [GetWorkspaceSettingRequest](#memos-api-v2-GetWorkspaceSettingRequest) | [GetWorkspaceSettingResponse](#memos-api-v2-GetWorkspaceSettingResponse) | GetWorkspaceSetting returns the setting by name. | -| SetWorkspaceSetting | [SetWorkspaceSettingRequest](#memos-api-v2-SetWorkspaceSettingRequest) | [SetWorkspaceSettingResponse](#memos-api-v2-SetWorkspaceSettingResponse) | SetWorkspaceSetting updates the setting. | - - - - - -## Scalar Value Types - -| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | -| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | -| double | | double | double | float | float64 | double | float | Float | -| float | | float | float | float | float32 | float | float | Float | -| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | -| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | -| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | -| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | -| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | -| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | -| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | -| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | -| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | -| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | -| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | -| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | -| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | - diff --git a/proto/gen/api/v2/activity_service.pb.go b/proto/gen/api/v2/activity_service.pb.go index a88aec716..8e183fd47 100644 --- a/proto/gen/api/v2/activity_service.pb.go +++ b/proto/gen/api/v2/activity_service.pb.go @@ -27,12 +27,18 @@ type Activity struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - CreatorId int32 `protobuf:"varint,2,opt,name=creator_id,json=creatorId,proto3" json:"creator_id,omitempty"` - Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` - Level string `protobuf:"bytes,4,opt,name=level,proto3" json:"level,omitempty"` + // The system-generated unique identifier for the activity. + Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` + // The system-generated unique identifier for the user who created the activity. + CreatorId int32 `protobuf:"varint,2,opt,name=creator_id,json=creatorId,proto3" json:"creator_id,omitempty"` + // The type of the activity. + Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` + // The level of the activity. + Level string `protobuf:"bytes,4,opt,name=level,proto3" json:"level,omitempty"` + // The create time of the activity. CreateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` - Payload *ActivityPayload `protobuf:"bytes,6,opt,name=payload,proto3" json:"payload,omitempty"` + // The payload of the activity. + Payload *ActivityPayload `protobuf:"bytes,6,opt,name=payload,proto3" json:"payload,omitempty"` } func (x *Activity) Reset() { @@ -109,12 +115,15 @@ func (x *Activity) GetPayload() *ActivityPayload { return nil } +// ActivityMemoCommentPayload represents the payload of a memo comment activity. type ActivityMemoCommentPayload struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - MemoId int32 `protobuf:"varint,1,opt,name=memo_id,json=memoId,proto3" json:"memo_id,omitempty"` + // The memo id of comment. + MemoId int32 `protobuf:"varint,1,opt,name=memo_id,json=memoId,proto3" json:"memo_id,omitempty"` + // The memo id of related memo. RelatedMemoId int32 `protobuf:"varint,2,opt,name=related_memo_id,json=relatedMemoId,proto3" json:"related_memo_id,omitempty"` } @@ -169,6 +178,7 @@ type ActivityVersionUpdatePayload struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The updated version of memos. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` } @@ -271,6 +281,7 @@ type GetActivityRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The system-generated unique identifier for the activity. Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` } @@ -369,70 +380,73 @@ var file_api_v2_activity_service_proto_rawDesc = []byte{ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd9, 0x01, 0x0a, 0x08, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, - 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x01, 0x0a, 0x08, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x0b, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x5d, 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x49, 0x64, 0x12, 0x26, + 0x0a, 0x0f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x4d, 0x65, 0x6d, 0x6f, 0x49, 0x64, 0x22, 0x38, 0x0a, 0x1c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, + 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x22, 0xb1, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x4b, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, + 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x65, 0x6d, + 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x51, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, - 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x22, 0x5d, 0x0a, 0x1a, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6d, - 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x17, 0x0a, 0x07, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x06, 0x6d, 0x65, 0x6d, 0x6f, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x6d, 0x6f, 0x49, 0x64, - 0x22, 0x38, 0x0a, 0x1c, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xb1, 0x01, 0x0a, 0x0f, 0x41, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x4b, - 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x4d, 0x65, 0x6d, 0x6f, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0b, - 0x6d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x0e, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x24, - 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x02, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, - 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x32, - 0x87, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x74, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, - 0x74, 0x79, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x32, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xda, 0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x32, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, - 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0xac, 0x01, 0x0a, 0x10, 0x63, 0x6f, - 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x14, - 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, - 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, - 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, - 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, - 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, - 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x61, + 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x22, 0x24, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x49, 0x0a, 0x13, 0x47, 0x65, + 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x32, 0x0a, 0x08, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x32, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x08, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x32, 0x87, 0x01, 0x0a, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, + 0x74, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x74, 0x0a, 0x0b, 0x47, 0x65, 0x74, + 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, 0x69, 0x76, + 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, + 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x74, + 0x69, 0x76, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xda, + 0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x76, 0x32, 0x2f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, + 0xac, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x32, 0x42, 0x14, 0x41, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, + 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, + 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, + 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, + 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, + 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, + 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, + 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/gen/api/v2/auth_service.pb.go b/proto/gen/api/v2/auth_service.pb.go index cc2745731..2830daebc 100644 --- a/proto/gen/api/v2/auth_service.pb.go +++ b/proto/gen/api/v2/auth_service.pb.go @@ -111,9 +111,12 @@ type SignInRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` - Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` - NeverExpire bool `protobuf:"varint,3,opt,name=never_expire,json=neverExpire,proto3" json:"never_expire,omitempty"` + // The username to sign in with. + Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + // The password to sign in with. + Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` + // Whether the session should never expire. + NeverExpire bool `protobuf:"varint,3,opt,name=never_expire,json=neverExpire,proto3" json:"never_expire,omitempty"` } func (x *SignInRequest) Reset() { @@ -221,8 +224,11 @@ type SignInWithSSORequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - IdpId int32 `protobuf:"varint,1,opt,name=idp_id,json=idpId,proto3" json:"idp_id,omitempty"` - Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` + // The ID of the SSO provider. + IdpId int32 `protobuf:"varint,1,opt,name=idp_id,json=idpId,proto3" json:"idp_id,omitempty"` + // The code to sign in with. + Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"` + // The redirect URI. RedirectUri string `protobuf:"bytes,3,opt,name=redirect_uri,json=redirectUri,proto3" json:"redirect_uri,omitempty"` } @@ -331,7 +337,9 @@ type SignUpRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The username to sign up with. Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` + // The password to sign up with. Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` } diff --git a/proto/gen/api/v2/idp_service.pb.go b/proto/gen/api/v2/idp_service.pb.go index b67c289fd..22d27bb7b 100644 --- a/proto/gen/api/v2/idp_service.pb.go +++ b/proto/gen/api/v2/idp_service.pb.go @@ -958,7 +958,7 @@ var file_api_v2_idp_service_proto_rawDesc = []byte{ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x32, 0xf8, 0x06, 0x0a, 0x17, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x6e, 0x73, 0x65, 0x32, 0x8b, 0x07, 0x0a, 0x17, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x93, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x2a, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, @@ -979,52 +979,54 @@ var file_api_v2_idp_service_proto_rawDesc = []byte{ 0x73, 0x65, 0x22, 0x31, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x12, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x96, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa9, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x21, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1b, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0xe4, - 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2e, 0x3a, 0x11, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x73, 0x12, 0xe4, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x6d, + 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0xda, 0x41, 0x1d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, 0x11, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x32, - 0x34, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x12, 0x2b, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, - 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0xda, 0x41, 0x1d, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x3a, + 0x11, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x32, 0x34, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2e, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa6, 0x01, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0xda, 0x41, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x2a, 0x22, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x7d, 0x42, 0xa7, - 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x49, 0x64, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, - 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, - 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, - 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, - 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, - 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x65, 0x72, 0x12, 0x2b, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2c, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, + 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x2a, 0x22, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x2f, 0x2a, + 0x7d, 0x42, 0xa7, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x49, 0x64, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, + 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, 0x41, + 0x58, 0xaa, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, + 0xca, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0xe2, + 0x02, 0x18, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, 0x6d, + 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/proto/gen/api/v2/idp_service.pb.gw.go b/proto/gen/api/v2/idp_service.pb.gw.go index 74bdcb5a3..22c5aee37 100644 --- a/proto/gen/api/v2/idp_service.pb.gw.go +++ b/proto/gen/api/v2/idp_service.pb.gw.go @@ -101,18 +101,15 @@ func local_request_IdentityProviderService_GetIdentityProvider_0(ctx context.Con } -var ( - filter_IdentityProviderService_CreateIdentityProvider_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - func request_IdentityProviderService_CreateIdentityProvider_0(ctx context.Context, marshaler runtime.Marshaler, client IdentityProviderServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq CreateIdentityProviderRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IdentityProviderService_CreateIdentityProvider_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.IdentityProvider); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -125,10 +122,11 @@ func local_request_IdentityProviderService_CreateIdentityProvider_0(ctx context. var protoReq CreateIdentityProviderRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_IdentityProviderService_CreateIdentityProvider_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.IdentityProvider); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } diff --git a/proto/gen/api/v2/idp_service_grpc.pb.go b/proto/gen/api/v2/idp_service_grpc.pb.go index ead15d060..64e92a35d 100644 --- a/proto/gen/api/v2/idp_service_grpc.pb.go +++ b/proto/gen/api/v2/idp_service_grpc.pb.go @@ -30,8 +30,11 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type IdentityProviderServiceClient interface { + // ListIdentityProviders lists identity providers. ListIdentityProviders(ctx context.Context, in *ListIdentityProvidersRequest, opts ...grpc.CallOption) (*ListIdentityProvidersResponse, error) + // GetIdentityProvider gets an identity provider. GetIdentityProvider(ctx context.Context, in *GetIdentityProviderRequest, opts ...grpc.CallOption) (*GetIdentityProviderResponse, error) + // CreateIdentityProvider creates an identity provider. CreateIdentityProvider(ctx context.Context, in *CreateIdentityProviderRequest, opts ...grpc.CallOption) (*CreateIdentityProviderResponse, error) // UpdateIdentityProvider updates an identity provider. UpdateIdentityProvider(ctx context.Context, in *UpdateIdentityProviderRequest, opts ...grpc.CallOption) (*UpdateIdentityProviderResponse, error) @@ -96,8 +99,11 @@ func (c *identityProviderServiceClient) DeleteIdentityProvider(ctx context.Conte // All implementations must embed UnimplementedIdentityProviderServiceServer // for forward compatibility type IdentityProviderServiceServer interface { + // ListIdentityProviders lists identity providers. ListIdentityProviders(context.Context, *ListIdentityProvidersRequest) (*ListIdentityProvidersResponse, error) + // GetIdentityProvider gets an identity provider. GetIdentityProvider(context.Context, *GetIdentityProviderRequest) (*GetIdentityProviderResponse, error) + // CreateIdentityProvider creates an identity provider. CreateIdentityProvider(context.Context, *CreateIdentityProviderRequest) (*CreateIdentityProviderResponse, error) // UpdateIdentityProvider updates an identity provider. UpdateIdentityProvider(context.Context, *UpdateIdentityProviderRequest) (*UpdateIdentityProviderResponse, error) diff --git a/proto/gen/api/v2/link_service.pb.go b/proto/gen/api/v2/link_service.pb.go index 4b2d83b46..9141f7a34 100644 --- a/proto/gen/api/v2/link_service.pb.go +++ b/proto/gen/api/v2/link_service.pb.go @@ -200,27 +200,26 @@ var file_api_v2_link_service_proto_rawDesc = []byte{ 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, - 0x8c, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x7d, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x8b, 0x01, 0x0a, 0x0b, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0x7c, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x1d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, - 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xa8, - 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x32, 0x42, 0x10, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, - 0x6f, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, 0x41, 0x58, 0xaa, - 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0xca, 0x02, - 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, - 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, 0x6d, 0x6f, 0x73, - 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x12, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, + 0x2f, 0x6c, 0x69, 0x6e, 0x6b, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0xa8, 0x01, + 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x32, 0x42, 0x10, 0x4c, 0x69, 0x6e, 0x6b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, + 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, + 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, + 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, + 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, + 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/gen/api/v2/link_service.pb.gw.go b/proto/gen/api/v2/link_service.pb.gw.go index fdd0e0e37..1bc48a1d8 100644 --- a/proto/gen/api/v2/link_service.pb.gw.go +++ b/proto/gen/api/v2/link_service.pb.gw.go @@ -81,7 +81,7 @@ func RegisterLinkServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/memos.api.v2.LinkService/GetLinkMetadata", runtime.WithHTTPPathPattern("/api/v2/link_metadata")) + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/memos.api.v2.LinkService/GetLinkMetadata", runtime.WithHTTPPathPattern("/api/v2/linkMetadata")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -145,7 +145,7 @@ func RegisterLinkServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) var err error var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/memos.api.v2.LinkService/GetLinkMetadata", runtime.WithHTTPPathPattern("/api/v2/link_metadata")) + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/memos.api.v2.LinkService/GetLinkMetadata", runtime.WithHTTPPathPattern("/api/v2/linkMetadata")) if err != nil { runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) return @@ -165,7 +165,7 @@ func RegisterLinkServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux } var ( - pattern_LinkService_GetLinkMetadata_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v2", "link_metadata"}, "")) + pattern_LinkService_GetLinkMetadata_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v2", "linkMetadata"}, "")) ) var ( diff --git a/proto/gen/api/v2/link_service_grpc.pb.go b/proto/gen/api/v2/link_service_grpc.pb.go index eab8cb286..4dc0ab6e1 100644 --- a/proto/gen/api/v2/link_service_grpc.pb.go +++ b/proto/gen/api/v2/link_service_grpc.pb.go @@ -26,6 +26,7 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type LinkServiceClient interface { + // GetLinkMetadata returns metadata for a given link. GetLinkMetadata(ctx context.Context, in *GetLinkMetadataRequest, opts ...grpc.CallOption) (*GetLinkMetadataResponse, error) } @@ -50,6 +51,7 @@ func (c *linkServiceClient) GetLinkMetadata(ctx context.Context, in *GetLinkMeta // All implementations must embed UnimplementedLinkServiceServer // for forward compatibility type LinkServiceServer interface { + // GetLinkMetadata returns metadata for a given link. GetLinkMetadata(context.Context, *GetLinkMetadataRequest) (*GetLinkMetadataResponse, error) mustEmbedUnimplementedLinkServiceServer() } diff --git a/proto/gen/api/v2/memo_service.pb.go b/proto/gen/api/v2/memo_service.pb.go index 690b8e458..d3d444a5b 100644 --- a/proto/gen/api/v2/memo_service.pb.go +++ b/proto/gen/api/v2/memo_service.pb.go @@ -2139,7 +2139,7 @@ var file_api_v2_memo_service_proto_rawDesc = []byte{ 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, - 0x0a, 0x06, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x03, 0x32, 0xa6, 0x12, 0x0a, 0x0b, 0x4d, + 0x0a, 0x06, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x03, 0x32, 0xaf, 0x12, 0x0a, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x69, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, @@ -2184,120 +2184,120 @@ var file_api_v2_memo_service_proto_rawDesc = []byte{ 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, - 0x2f, 0x2a, 0x7d, 0x12, 0x70, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x6d, + 0x2f, 0x2a, 0x7d, 0x12, 0x73, 0x0a, 0x0b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x22, - 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, 0x65, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x95, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, - 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, - 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, - 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, - 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, - 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x95, 0x01, - 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x65, - 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, - 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, - 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, - 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, - 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, - 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x95, 0x01, - 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x65, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, + 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, + 0x73, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x95, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74, + 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x25, 0x2e, + 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x74, + 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x32, 0x20, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, + 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 0x95, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x74, + 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x25, 0x2e, + 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x74, + 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x32, 0x20, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, + 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x95, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, + 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x97, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, + 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, + 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x31, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, + 0x2a, 0x22, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, + 0x74, 0x73, 0x12, 0x91, 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x43, + 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, + 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, + 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x6d, + 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x55, + 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xda, + 0x41, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, + 0x12, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, + 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x94, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x6d, 0x65, - 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0xda, 0x41, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x22, 0x1f, 0x2f, 0x61, 0x70, + 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xda, 0x41, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, - 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x91, 0x01, 0x0a, - 0x10, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, - 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x2e, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, - 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, - 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x12, 0x8c, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, - 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, - 0x6f, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, - 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0xda, 0x41, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x12, - 0x95, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, - 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, - 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, - 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, - 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x6d, - 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x2f, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, - 0x22, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, - 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, - 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, - 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9b, 0x01, + 0x0a, 0x12, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x73, + 0x65, 0x72, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x32, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x2a, + 0x7d, 0x2f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x9e, 0x01, 0x0a, 0x12, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0xda, 0x41, - 0x0b, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x21, 0x2a, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x7d, 0x42, 0xa8, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, - 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x10, 0x4d, 0x65, 0x6d, 0x6f, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, - 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, - 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, - 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, - 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, - 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, - 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, - 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x6d, 0x65, + 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x35, 0xda, 0x41, 0x0b, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x2a, 0x1f, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x72, 0x65, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x42, 0xa8, 0x01, 0x0a, + 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x32, 0x42, 0x10, 0x4d, 0x65, 0x6d, 0x6f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, 0x0c, + 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x4d, + 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, 0x65, + 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, + 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/gen/api/v2/memo_service.pb.gw.go b/proto/gen/api/v2/memo_service.pb.gw.go index e7c43ae7e..267b2a97b 100644 --- a/proto/gen/api/v2/memo_service.pb.gw.go +++ b/proto/gen/api/v2/memo_service.pb.gw.go @@ -341,18 +341,15 @@ func local_request_MemoService_DeleteMemo_0(ctx context.Context, marshaler runti } -var ( - filter_MemoService_ExportMemos_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - func request_MemoService_ExportMemos_0(ctx context.Context, marshaler runtime.Marshaler, client MemoServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq ExportMemosRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MemoService_ExportMemos_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -365,10 +362,11 @@ func local_request_MemoService_ExportMemos_0(ctx context.Context, marshaler runt var protoReq ExportMemosRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MemoService_ExportMemos_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -617,14 +615,18 @@ func local_request_MemoService_ListMemoRelations_0(ctx context.Context, marshale } -var ( - filter_MemoService_CreateMemoComment_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} -) - func request_MemoService_CreateMemoComment_0(ctx context.Context, marshaler runtime.Marshaler, client MemoServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq CreateMemoCommentRequest var metadata runtime.ServerMetadata + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + var ( val string ok bool @@ -642,13 +644,6 @@ func request_MemoService_CreateMemoComment_0(ctx context.Context, marshaler runt return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) } - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MemoService_CreateMemoComment_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - msg, err := client.CreateMemoComment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err @@ -658,6 +653,14 @@ func local_request_MemoService_CreateMemoComment_0(ctx context.Context, marshale var protoReq CreateMemoCommentRequest var metadata runtime.ServerMetadata + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + var ( val string ok bool @@ -675,13 +678,6 @@ func local_request_MemoService_CreateMemoComment_0(ctx context.Context, marshale return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) } - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MemoService_CreateMemoComment_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - msg, err := server.CreateMemoComment(ctx, &protoReq) return msg, metadata, err @@ -827,14 +823,18 @@ func local_request_MemoService_ListMemoReactions_0(ctx context.Context, marshale } -var ( - filter_MemoService_UpsertMemoReaction_0 = &utilities.DoubleArray{Encoding: map[string]int{"name": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} -) - func request_MemoService_UpsertMemoReaction_0(ctx context.Context, marshaler runtime.Marshaler, client MemoServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UpsertMemoReactionRequest var metadata runtime.ServerMetadata + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + var ( val string ok bool @@ -852,13 +852,6 @@ func request_MemoService_UpsertMemoReaction_0(ctx context.Context, marshaler run return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) } - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MemoService_UpsertMemoReaction_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - msg, err := client.UpsertMemoReaction(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) return msg, metadata, err @@ -868,6 +861,14 @@ func local_request_MemoService_UpsertMemoReaction_0(ctx context.Context, marshal var protoReq UpsertMemoReactionRequest var metadata runtime.ServerMetadata + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + var ( val string ok bool @@ -885,13 +886,6 @@ func local_request_MemoService_UpsertMemoReaction_0(ctx context.Context, marshal return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "name", err) } - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_MemoService_UpsertMemoReaction_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - msg, err := server.UpsertMemoReaction(ctx, &protoReq) return msg, metadata, err @@ -1130,7 +1124,7 @@ func RegisterMemoServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux }) - mux.Handle("POST", pattern_MemoService_SetMemoResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PATCH", pattern_MemoService_SetMemoResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1180,7 +1174,7 @@ func RegisterMemoServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux }) - mux.Handle("POST", pattern_MemoService_SetMemoRelations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PATCH", pattern_MemoService_SetMemoRelations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() var stream runtime.ServerTransportStream @@ -1575,7 +1569,7 @@ func RegisterMemoServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux }) - mux.Handle("POST", pattern_MemoService_SetMemoResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PATCH", pattern_MemoService_SetMemoResources_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) @@ -1619,7 +1613,7 @@ func RegisterMemoServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux }) - mux.Handle("POST", pattern_MemoService_SetMemoRelations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + mux.Handle("PATCH", pattern_MemoService_SetMemoRelations_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) diff --git a/proto/gen/api/v2/resource_service.pb.go b/proto/gen/api/v2/resource_service.pb.go index 990d51f46..5e61e2c6c 100644 --- a/proto/gen/api/v2/resource_service.pb.go +++ b/proto/gen/api/v2/resource_service.pb.go @@ -783,69 +783,70 @@ var file_api_v2_resource_service_proto_rawDesc = []byte{ 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x32, 0xb5, 0x06, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x76, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, - 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x73, 0x0a, - 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x22, - 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, - 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, - 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, - 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x3a, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x7d, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0xa9, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, + 0x65, 0x32, 0xc0, 0x06, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, + 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x73, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, + 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x19, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x12, 0x11, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x80, 0x01, + 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x12, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, + 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x3a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x12, 0x7d, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, + 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1c, 0x12, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, + 0xa9, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, + 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, - 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x4c, 0xda, 0x41, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2f, 0x3a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x23, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, - 0x12, 0x86, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4c, 0xda, + 0x41, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x3a, 0x08, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x32, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x12, 0x86, 0x01, 0x0a, 0x0e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, + 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x42, 0xac, 0x01, 0x0a, 0x10, 0x63, 0x6f, - 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x14, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, - 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, - 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, - 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, - 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, - 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0xda, 0x41, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x2f, 0x2a, 0x7d, 0x42, 0xac, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, + 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x73, + 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, + 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, + 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, + 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, + 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, + 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/gen/api/v2/resource_service.pb.gw.go b/proto/gen/api/v2/resource_service.pb.gw.go index 9836d31a4..e5cd797b6 100644 --- a/proto/gen/api/v2/resource_service.pb.gw.go +++ b/proto/gen/api/v2/resource_service.pb.gw.go @@ -31,18 +31,15 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join -var ( - filter_ResourceService_CreateResource_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - func request_ResourceService_CreateResource_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq CreateResourceRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceService_CreateResource_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Resource); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -55,10 +52,11 @@ func local_request_ResourceService_CreateResource_0(ctx context.Context, marshal var protoReq CreateResourceRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceService_CreateResource_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq.Resource); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } diff --git a/proto/gen/api/v2/tag_service.pb.go b/proto/gen/api/v2/tag_service.pb.go index d2f150348..217408841 100644 --- a/proto/gen/api/v2/tag_service.pb.go +++ b/proto/gen/api/v2/tag_service.pb.go @@ -684,60 +684,61 @@ var file_api_v2_tag_service_proto_rawDesc = []byte{ 0x22, 0x2f, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, - 0x73, 0x32, 0xa7, 0x05, 0x0a, 0x0a, 0x54, 0x61, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0x62, 0x0a, 0x09, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1e, 0x2e, + 0x73, 0x32, 0xb1, 0x05, 0x0a, 0x0a, 0x54, 0x61, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x65, 0x0a, 0x09, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x67, 0x12, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x73, - 0x65, 0x72, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, - 0x74, 0x61, 0x67, 0x73, 0x12, 0x7d, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x73, - 0x65, 0x72, 0x74, 0x54, 0x61, 0x67, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x73, 0x65, 0x72, - 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x6d, 0x65, - 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x32, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x73, - 0x65, 0x72, 0x74, 0x12, 0x5f, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, - 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, - 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, - 0x74, 0x61, 0x67, 0x73, 0x12, 0x69, 0x0a, 0x09, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, - 0x67, 0x12, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, - 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, - 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x1b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x32, 0x13, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x3a, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x62, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x1e, 0x2e, 0x6d, - 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, - 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x2a, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x74, - 0x61, 0x67, 0x73, 0x12, 0x85, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x75, - 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, - 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, - 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, - 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x19, 0x12, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x67, 0x73, - 0x2f, 0x73, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xa7, 0x01, 0x0a, 0x10, - 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, - 0x42, 0x0f, 0x54, 0x61, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, - 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x4d, 0x65, - 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, 0x69, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x4d, 0x65, 0x6d, - 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, 0x65, 0x6d, 0x6f, - 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, - 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x32, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x67, 0x12, 0x23, 0x2e, 0x6d, 0x65, 0x6d, + 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, + 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x24, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x54, 0x61, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, + 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x3a, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x73, 0x65, 0x72, 0x74, 0x12, 0x5f, 0x0a, 0x08, 0x4c, 0x69, + 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x12, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x12, 0x6c, 0x0a, 0x09, 0x52, + 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, 0x67, 0x12, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, + 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x54, 0x61, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x18, 0x3a, 0x01, 0x2a, 0x32, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, + 0x67, 0x73, 0x3a, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x09, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x12, 0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x61, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x2a, + 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x12, 0x85, 0x01, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, 0x67, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x65, + 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x61, + 0x67, 0x53, 0x75, 0x67, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x12, 0x17, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x74, 0x61, 0x67, 0x73, 0x2f, 0x73, 0x75, 0x67, 0x67, 0x65, + 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xa7, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x65, + 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x42, 0x0f, 0x54, 0x61, 0x67, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x73, 0x65, 0x6d, 0x65, 0x6d, + 0x6f, 0x73, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x3b, 0x61, 0x70, 0x69, 0x76, 0x32, 0xa2, + 0x02, 0x03, 0x4d, 0x41, 0x58, 0xaa, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x41, 0x70, + 0x69, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, + 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x5c, 0x41, 0x70, 0x69, 0x5c, + 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x0e, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x3a, 0x3a, 0x56, 0x32, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/gen/api/v2/tag_service.pb.gw.go b/proto/gen/api/v2/tag_service.pb.gw.go index 66084a7d9..93f4ef99d 100644 --- a/proto/gen/api/v2/tag_service.pb.gw.go +++ b/proto/gen/api/v2/tag_service.pb.gw.go @@ -31,18 +31,15 @@ var _ = runtime.String var _ = utilities.NewDoubleArray var _ = metadata.Join -var ( - filter_TagService_UpsertTag_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - func request_TagService_UpsertTag_0(ctx context.Context, marshaler runtime.Marshaler, client TagServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq UpsertTagRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TagService_UpsertTag_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -55,10 +52,11 @@ func local_request_TagService_UpsertTag_0(ctx context.Context, marshaler runtime var protoReq UpsertTagRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TagService_UpsertTag_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -67,18 +65,15 @@ func local_request_TagService_UpsertTag_0(ctx context.Context, marshaler runtime } -var ( - filter_TagService_BatchUpsertTag_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - func request_TagService_BatchUpsertTag_0(ctx context.Context, marshaler runtime.Marshaler, client TagServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq BatchUpsertTagRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TagService_BatchUpsertTag_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -91,10 +86,11 @@ func local_request_TagService_BatchUpsertTag_0(ctx context.Context, marshaler ru var protoReq BatchUpsertTagRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TagService_BatchUpsertTag_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -121,18 +117,15 @@ func local_request_TagService_ListTags_0(ctx context.Context, marshaler runtime. } -var ( - filter_TagService_RenameTag_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - func request_TagService_RenameTag_0(ctx context.Context, marshaler runtime.Marshaler, client TagServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { var protoReq RenameTagRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TagService_RenameTag_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } @@ -145,10 +138,11 @@ func local_request_TagService_RenameTag_0(ctx context.Context, marshaler runtime var protoReq RenameTagRequest var metadata runtime.ServerMetadata - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_TagService_RenameTag_0); err != nil { + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) } diff --git a/proto/gen/store/README.md b/proto/gen/store/README.md deleted file mode 100644 index 46a266779..000000000 --- a/proto/gen/store/README.md +++ /dev/null @@ -1,641 +0,0 @@ -# Protocol Documentation - - -## Table of Contents - -- [store/activity.proto](#store_activity-proto) - - [ActivityMemoCommentPayload](#memos-store-ActivityMemoCommentPayload) - - [ActivityPayload](#memos-store-ActivityPayload) - - [ActivityVersionUpdatePayload](#memos-store-ActivityVersionUpdatePayload) - -- [store/idp.proto](#store_idp-proto) - - [FieldMapping](#memos-store-FieldMapping) - - [IdentityProvider](#memos-store-IdentityProvider) - - [IdentityProviderConfig](#memos-store-IdentityProviderConfig) - - [OAuth2Config](#memos-store-OAuth2Config) - - - [IdentityProvider.Type](#memos-store-IdentityProvider-Type) - -- [store/inbox.proto](#store_inbox-proto) - - [InboxMessage](#memos-store-InboxMessage) - - - [InboxMessage.Type](#memos-store-InboxMessage-Type) - -- [store/reaction.proto](#store_reaction-proto) - - [ReactionType](#memos-store-ReactionType) - -- [store/storage.proto](#store_storage-proto) - - [S3Config](#memos-store-S3Config) - - [Storage](#memos-store-Storage) - - [StorageConfig](#memos-store-StorageConfig) - - - [Storage.Type](#memos-store-Storage-Type) - -- [store/user_setting.proto](#store_user_setting-proto) - - [AccessTokensUserSetting](#memos-store-AccessTokensUserSetting) - - [AccessTokensUserSetting.AccessToken](#memos-store-AccessTokensUserSetting-AccessToken) - - [UserSetting](#memos-store-UserSetting) - - - [UserSettingKey](#memos-store-UserSettingKey) - -- [store/workspace_setting.proto](#store_workspace_setting-proto) - - [WorkspaceBasicSetting](#memos-store-WorkspaceBasicSetting) - - [WorkspaceCustomProfile](#memos-store-WorkspaceCustomProfile) - - [WorkspaceGeneralSetting](#memos-store-WorkspaceGeneralSetting) - - [WorkspaceMemoRelatedSetting](#memos-store-WorkspaceMemoRelatedSetting) - - [WorkspaceSetting](#memos-store-WorkspaceSetting) - - [WorkspaceStorageSetting](#memos-store-WorkspaceStorageSetting) - - - [WorkspaceSettingKey](#memos-store-WorkspaceSettingKey) - - [WorkspaceStorageSetting.StorageType](#memos-store-WorkspaceStorageSetting-StorageType) - -- [Scalar Value Types](#scalar-value-types) - - - - -

Top

- -## store/activity.proto - - - - - -### ActivityMemoCommentPayload - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memo_id | [int32](#int32) | | | -| related_memo_id | [int32](#int32) | | | - - - - - - - - -### ActivityPayload - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| memo_comment | [ActivityMemoCommentPayload](#memos-store-ActivityMemoCommentPayload) | | | -| version_update | [ActivityVersionUpdatePayload](#memos-store-ActivityVersionUpdatePayload) | | | - - - - - - - - -### ActivityVersionUpdatePayload - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| version | [string](#string) | | | - - - - - - - - - - - - - - - - -

Top

- -## store/idp.proto - - - - - -### FieldMapping - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| identifier | [string](#string) | | | -| display_name | [string](#string) | | | -| email | [string](#string) | | | - - - - - - - - -### IdentityProvider - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | -| name | [string](#string) | | | -| type | [IdentityProvider.Type](#memos-store-IdentityProvider-Type) | | | -| identifier_filter | [string](#string) | | | -| config | [IdentityProviderConfig](#memos-store-IdentityProviderConfig) | | | - - - - - - - - -### IdentityProviderConfig - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| oauth2_config | [OAuth2Config](#memos-store-OAuth2Config) | | | - - - - - - - - -### OAuth2Config - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| client_id | [string](#string) | | | -| client_secret | [string](#string) | | | -| auth_url | [string](#string) | | | -| token_url | [string](#string) | | | -| user_info_url | [string](#string) | | | -| scopes | [string](#string) | repeated | | -| field_mapping | [FieldMapping](#memos-store-FieldMapping) | | | - - - - - - - - - - -### IdentityProvider.Type - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| TYPE_UNSPECIFIED | 0 | | -| OAUTH2 | 1 | | - - - - - - - - - - - -

Top

- -## store/inbox.proto - - - - - -### InboxMessage - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| type | [InboxMessage.Type](#memos-store-InboxMessage-Type) | | | -| activity_id | [int32](#int32) | optional | | - - - - - - - - - - -### InboxMessage.Type - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| TYPE_UNSPECIFIED | 0 | | -| TYPE_MEMO_COMMENT | 1 | | -| TYPE_VERSION_UPDATE | 2 | | - - - - - - - - - - - -

Top

- -## store/reaction.proto - - - - - - - -### ReactionType - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| REACTION_TYPE_UNSPECIFIED | 0 | | -| THUMBS_UP | 1 | | -| THUMBS_DOWN | 2 | | -| HEART | 3 | | -| FIRE | 4 | | -| CLAPPING_HANDS | 5 | | -| LAUGH | 6 | | -| OK_HAND | 7 | | -| ROCKET | 8 | | -| EYES | 9 | | -| THINKING_FACE | 10 | | -| CLOWN_FACE | 11 | | -| QUESTION_MARK | 12 | | - - - - - - - - - - - -

Top

- -## store/storage.proto - - - - - -### S3Config - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| end_point | [string](#string) | | | -| path | [string](#string) | | | -| region | [string](#string) | | | -| access_key | [string](#string) | | | -| secret_key | [string](#string) | | | -| bucket | [string](#string) | | | -| url_prefix | [string](#string) | | | -| url_suffix | [string](#string) | | | -| pre_sign | [bool](#bool) | | | - - - - - - - - -### Storage - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| id | [int32](#int32) | | | -| name | [string](#string) | | | -| type | [Storage.Type](#memos-store-Storage-Type) | | | -| config | [StorageConfig](#memos-store-StorageConfig) | | | - - - - - - - - -### StorageConfig - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| s3_config | [S3Config](#memos-store-S3Config) | | | - - - - - - - - - - -### Storage.Type - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| TYPE_UNSPECIFIED | 0 | | -| S3 | 1 | | - - - - - - - - - - - -

Top

- -## store/user_setting.proto - - - - - -### AccessTokensUserSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| access_tokens | [AccessTokensUserSetting.AccessToken](#memos-store-AccessTokensUserSetting-AccessToken) | repeated | | - - - - - - - - -### AccessTokensUserSetting.AccessToken - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| access_token | [string](#string) | | The access token is a JWT token. Including expiration time, issuer, etc. | -| description | [string](#string) | | A description for the access token. | - - - - - - - - -### UserSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| user_id | [int32](#int32) | | | -| key | [UserSettingKey](#memos-store-UserSettingKey) | | | -| access_tokens | [AccessTokensUserSetting](#memos-store-AccessTokensUserSetting) | | | -| locale | [string](#string) | | | -| appearance | [string](#string) | | | -| memo_visibility | [string](#string) | | | - - - - - - - - - - -### UserSettingKey - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| USER_SETTING_KEY_UNSPECIFIED | 0 | | -| USER_SETTING_ACCESS_TOKENS | 1 | Access tokens for the user. | -| USER_SETTING_LOCALE | 2 | The locale of the user. | -| USER_SETTING_APPEARANCE | 3 | The appearance of the user. | -| USER_SETTING_MEMO_VISIBILITY | 4 | The visibility of the memo. | - - - - - - - - - - - -

Top

- -## store/workspace_setting.proto - - - - - -### WorkspaceBasicSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| server_id | [string](#string) | | | -| secret_key | [string](#string) | | | - - - - - - - - -### WorkspaceCustomProfile - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| title | [string](#string) | | | -| description | [string](#string) | | | -| logo_url | [string](#string) | | | -| locale | [string](#string) | | | -| appearance | [string](#string) | | | - - - - - - - - -### WorkspaceGeneralSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| instance_url | [string](#string) | | instance_url is the instance URL. | -| disallow_signup | [bool](#bool) | | disallow_signup is the flag to disallow signup. | -| disallow_password_login | [bool](#bool) | | disallow_password_login is the flag to disallow password login. | -| additional_script | [string](#string) | | additional_script is the additional script. | -| additional_style | [string](#string) | | additional_style is the additional style. | -| custom_profile | [WorkspaceCustomProfile](#memos-store-WorkspaceCustomProfile) | | custom_profile is the custom profile. | - - - - - - - - -### WorkspaceMemoRelatedSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| disallow_public_visible | [bool](#bool) | | disallow_public_share disallows set memo as public visible. | -| display_with_update_time | [bool](#bool) | | display_with_update_time orders and displays memo with update time. | - - - - - - - - -### WorkspaceSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| key | [WorkspaceSettingKey](#memos-store-WorkspaceSettingKey) | | | -| basic_setting | [WorkspaceBasicSetting](#memos-store-WorkspaceBasicSetting) | | | -| general_setting | [WorkspaceGeneralSetting](#memos-store-WorkspaceGeneralSetting) | | | -| storage_setting | [WorkspaceStorageSetting](#memos-store-WorkspaceStorageSetting) | | | -| memo_related_setting | [WorkspaceMemoRelatedSetting](#memos-store-WorkspaceMemoRelatedSetting) | | | - - - - - - - - -### WorkspaceStorageSetting - - - -| Field | Type | Label | Description | -| ----- | ---- | ----- | ----------- | -| storage_type | [WorkspaceStorageSetting.StorageType](#memos-store-WorkspaceStorageSetting-StorageType) | | storage_type is the storage type. | -| actived_external_storage_id | [int32](#int32) | optional | The id of actived external storage. | -| local_storage_path_template | [string](#string) | | The template of local storage path. e.g. assets/{timestamp}_{filename} | -| upload_size_limit_mb | [int64](#int64) | | The max upload size in megabytes. | - - - - - - - - - - -### WorkspaceSettingKey - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| WORKSPACE_SETTING_KEY_UNSPECIFIED | 0 | | -| WORKSPACE_SETTING_BASIC | 1 | WORKSPACE_SETTING_BASIC is the key for basic settings. | -| WORKSPACE_SETTING_GENERAL | 2 | WORKSPACE_SETTING_GENERAL is the key for general settings. | -| WORKSPACE_SETTING_STORAGE | 3 | WORKSPACE_SETTING_STORAGE is the key for storage settings. | -| WORKSPACE_SETTING_MEMO_RELATED | 4 | WORKSPACE_SETTING_MEMO_RELATED is the key for memo related settings. | - - - - - -### WorkspaceStorageSetting.StorageType - - -| Name | Number | Description | -| ---- | ------ | ----------- | -| STORAGE_TYPE_UNSPECIFIED | 0 | | -| STORAGE_TYPE_DATABASE | 1 | STORAGE_TYPE_DATABASE is the database storage type. | -| STORAGE_TYPE_LOCAL | 2 | STORAGE_TYPE_LOCAL is the local storage type. | -| STORAGE_TYPE_EXTERNAL | 3 | STORAGE_TYPE_EXTERNAL is the external storage type. | - - - - - - - - - - -## Scalar Value Types - -| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | -| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | -| double | | double | double | float | float64 | double | float | Float | -| float | | float | float | float | float32 | float | float | Float | -| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | -| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | -| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | -| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | -| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | -| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | -| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | -| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | -| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | -| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | -| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | -| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | -| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | - diff --git a/server/route/api/v2/apidocs.swagger.md b/server/route/api/v2/apidocs.swagger.md deleted file mode 100644 index c09c9c92f..000000000 --- a/server/route/api/v2/apidocs.swagger.md +++ /dev/null @@ -1,2256 +0,0 @@ -# api/v2/activity_service.proto -## Version: version not set - ---- -## AuthService - -### /api/v2/auth/signin - -#### POST -##### Summary - -SignIn signs in the user with the given username and password. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| username | query | | No | string | -| password | query | | No | string | -| neverExpire | query | | No | boolean | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2SignInResponse](#v2signinresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/auth/signin/sso - -#### POST -##### Summary - -SignInWithSSO signs in the user with the given SSO code. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| idpId | query | | No | integer | -| code | query | | No | string | -| redirectUri | query | | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2SignInWithSSOResponse](#v2signinwithssoresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/auth/signout - -#### POST -##### Summary - -SignOut signs out the user. - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2SignOutResponse](#v2signoutresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/auth/signup - -#### POST -##### Summary - -SignUp signs up the user with the given username and password. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| username | query | | No | string | -| password | query | | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2SignUpResponse](#v2signupresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/auth/status - -#### POST -##### Summary - -GetAuthStatus returns the current auth status of the user. - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetAuthStatusResponse](#v2getauthstatusresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## IdentityProviderService - -### /api/v2/identityProviders - -#### GET -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListIdentityProvidersResponse](#v2listidentityprovidersresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| identityProvider.name | query | The name of the identityProvider. Format: identityProviders/{id} | No | string | -| identityProvider.type | query | | No | string | -| identityProvider.title | query | | No | string | -| identityProvider.identifierFilter | query | | No | string | -| identityProvider.config.oauth2Config.clientId | query | | No | string | -| identityProvider.config.oauth2Config.clientSecret | query | | No | string | -| identityProvider.config.oauth2Config.authUrl | query | | No | string | -| identityProvider.config.oauth2Config.tokenUrl | query | | No | string | -| identityProvider.config.oauth2Config.userInfoUrl | query | | No | string | -| identityProvider.config.oauth2Config.scopes | query | | No | [ string ] | -| identityProvider.config.oauth2Config.fieldMapping.identifier | query | | No | string | -| identityProvider.config.oauth2Config.fieldMapping.displayName | query | | No | string | -| identityProvider.config.oauth2Config.fieldMapping.email | query | | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2CreateIdentityProviderResponse](#v2createidentityproviderresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{identityProvider.name} - -#### PATCH -##### Summary - -UpdateIdentityProvider updates an identity provider. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| identityProvider.name | path | The name of the identityProvider. Format: identityProviders/{id} | Yes | string | -| identityProvider | body | The identityProvider to update. | Yes | { **"type"**: [apiv2IdentityProviderType](#apiv2identityprovidertype), **"title"**: string, **"identifierFilter"**: string, **"config"**: [apiv2IdentityProviderConfig](#apiv2identityproviderconfig) } | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2UpdateIdentityProviderResponse](#v2updateidentityproviderresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name_1} - -#### GET -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_1 | path | The name of the identityProvider to get. Format: identityProviders/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetIdentityProviderResponse](#v2getidentityproviderresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### DELETE -##### Summary - -DeleteIdentityProvider deletes an identity provider. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_1 | path | The name of the identityProvider to delete. Format: identityProviders/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteIdentityProviderResponse](#v2deleteidentityproviderresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## InboxService - -### /api/v2/inboxes - -#### GET -##### Summary - -ListInboxes lists inboxes for a user. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| user | query | Format: users/{id} | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListInboxesResponse](#v2listinboxesresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{inbox.name} - -#### PATCH -##### Summary - -UpdateInbox updates an inbox. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| inbox.name | path | The name of the inbox. Format: inboxes/{id} | Yes | string | -| inbox | body | | Yes | { **"sender"**: string, **"receiver"**: string, **"status"**: [v2InboxStatus](#v2inboxstatus), **"createTime"**: dateTime, **"type"**: [v2InboxType](#v2inboxtype), **"activityId"**: integer } | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2UpdateInboxResponse](#v2updateinboxresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name_2} - -#### GET -##### Summary - -GetResource returns a resource by name. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_2 | path | The name of the resource. Format: resources/{id} id is the system generated unique identifier. | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetResourceResponse](#v2getresourceresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### DELETE -##### Summary - -DeleteInbox deletes an inbox. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_2 | path | The name of the inbox to delete. Format: inboxes/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteInboxResponse](#v2deleteinboxresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## LinkService - -### /api/v2/link_metadata - -#### GET -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| link | query | | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetLinkMetadataResponse](#v2getlinkmetadataresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## MemoService - -### /api/v2/memos - -#### GET -##### Summary - -ListMemos lists memos with pagination and filter. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| pageSize | query | The maximum number of memos to return. | No | integer | -| pageToken | query | A page token, received from a previous `ListMemos` call. Provide this to retrieve the subsequent page. | No | string | -| filter | query | Filter is used to filter memos returned in the list. Format: "creator == users/{uid} && visibilities == ['PUBLIC', 'PROTECTED']" | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListMemosResponse](#v2listmemosresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -CreateMemo creates a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| body | body | | Yes | [v2CreateMemoRequest](#v2creatememorequest) | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2CreateMemoResponse](#v2creatememoresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/memos/stats - -#### GET -##### Summary - -GetUserMemosStats gets stats of memos for a user. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | query | name is the name of the user to get stats for. Format: users/{id} | No | string | -| timezone | query | timezone location Format: uses tz identifier https://en.wikipedia.org/wiki/List_of_tz_database_time_zones | No | string | -| filter | query | Same as ListMemosRequest.filter | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetUserMemosStatsResponse](#v2getusermemosstatsresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/memos:export - -#### POST -##### Summary - -ExportMemos exports memos. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| filter | query | Same as ListMemosRequest.filter | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ExportMemosResponse](#v2exportmemosresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/memos:search - -#### GET -##### Summary - -SearchMemos searches memos. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| filter | query | Filter is used to filter memos returned. Format: "creator == users/{uid} && visibilities == ['PUBLIC', 'PROTECTED']" | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2SearchMemosResponse](#v2searchmemosresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/reactions/{reactionId} - -#### DELETE -##### Summary - -DeleteMemoReaction deletes a reaction for a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| reactionId | path | | Yes | integer | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteMemoReactionResponse](#v2deletememoreactionresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{memo.name} - -#### PATCH -##### Summary - -UpdateMemo updates a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| memo.name | path | The name of the memo. Format: memos/{id} id is the system generated id. | Yes | string | -| memo | body | | Yes | { **"uid"**: string, **"rowStatus"**: [v2RowStatus](#v2rowstatus), **"creator"**: string, **"createTime"**: dateTime, **"updateTime"**: dateTime, **"displayTime"**: dateTime, **"content"**: string, **"visibility"**: [v2Visibility](#v2visibility), **"pinned"**: boolean, **"parentId"**: integer, **"resources"**: [ [v2Resource](#v2resource) ], **"relations"**: [ [v2MemoRelation](#v2memorelation) ], **"reactions"**: [ [v2Reaction](#v2reaction) ] } | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2UpdateMemoResponse](#v2updatememoresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name_3} - -#### GET -##### Summary - -GetMemo gets a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_3 | path | The name of the memo. Format: memos/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetMemoResponse](#v2getmemoresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### DELETE -##### Summary - -DeleteResource deletes a resource by name. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_3 | path | The name of the resource. Format: resources/{id} id is the system generated unique identifier. | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteResourceResponse](#v2deleteresourceresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name_4} - -#### DELETE -##### Summary - -DeleteMemo deletes a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_4 | path | The name of the memo. Format: memos/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteMemoResponse](#v2deletememoresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name}/comments - -#### GET -##### Summary - -ListMemoComments lists comments for a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the memo. Format: memos/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListMemoCommentsResponse](#v2listmemocommentsresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -CreateMemoComment creates a comment for a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the memo. Format: memos/{id} | Yes | string | -| comment.content | query | | No | string | -| comment.visibility | query | | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2CreateMemoCommentResponse](#v2creatememocommentresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name}/reactions - -#### GET -##### Summary - -ListMemoReactions lists reactions for a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the memo. Format: memos/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListMemoReactionsResponse](#v2listmemoreactionsresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -UpsertMemoReaction upserts a reaction for a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the memo. Format: memos/{id} | Yes | string | -| reaction.id | query | | No | integer | -| reaction.creator | query | The name of the creator. Format: users/{id} | No | string | -| reaction.contentId | query | | No | string | -| reaction.reactionType | query | | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2UpsertMemoReactionResponse](#v2upsertmemoreactionresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name}/relations - -#### GET -##### Summary - -ListMemoRelations lists relations for a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the memo. Format: memos/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListMemoRelationsResponse](#v2listmemorelationsresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -SetMemoRelations sets relations for a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the memo. Format: memos/{id} | Yes | string | -| body | body | | Yes | [MemoServiceSetMemoRelationsBody](#memoservicesetmemorelationsbody) | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2SetMemoRelationsResponse](#v2setmemorelationsresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name}/resources - -#### GET -##### Summary - -ListMemoResources lists resources for a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the memo. Format: memos/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListMemoResourcesResponse](#v2listmemoresourcesresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -SetMemoResources sets resources for a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the memo. Format: memos/{id} | Yes | string | -| body | body | | Yes | [MemoServiceSetMemoResourcesBody](#memoservicesetmemoresourcesbody) | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2SetMemoResourcesResponse](#v2setmemoresourcesresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## ResourceService - -### /api/v2/resources - -#### GET -##### Summary - -ListResources lists all resources. - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListResourcesResponse](#v2listresourcesresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -CreateResource creates a new resource. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| resource.name | query | The name of the resource. Format: resources/{id} id is the system generated unique identifier. | No | string | -| resource.uid | query | The user defined id of the resource. | No | string | -| resource.createTime | query | | No | dateTime | -| resource.filename | query | | No | string | -| resource.content | query | | No | byte | -| resource.externalLink | query | | No | string | -| resource.type | query | | No | string | -| resource.size | query | | No | string (int64) | -| resource.memo | query | The related memo. Format: memos/{id} | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2CreateResourceResponse](#v2createresourceresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/resources:search - -#### GET -##### Summary - -SearchResources searches memos. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| filter | query | | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2SearchResourcesResponse](#v2searchresourcesresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name_2} - -#### GET -##### Summary - -GetResource returns a resource by name. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_2 | path | The name of the resource. Format: resources/{id} id is the system generated unique identifier. | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetResourceResponse](#v2getresourceresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### DELETE -##### Summary - -DeleteInbox deletes an inbox. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_2 | path | The name of the inbox to delete. Format: inboxes/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteInboxResponse](#v2deleteinboxresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name_3} - -#### GET -##### Summary - -GetMemo gets a memo. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_3 | path | The name of the memo. Format: memos/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetMemoResponse](#v2getmemoresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### DELETE -##### Summary - -DeleteResource deletes a resource by name. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name_3 | path | The name of the resource. Format: resources/{id} id is the system generated unique identifier. | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteResourceResponse](#v2deleteresourceresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{resource.name} - -#### PATCH -##### Summary - -UpdateResource updates a resource. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| resource.name | path | The name of the resource. Format: resources/{id} id is the system generated unique identifier. | Yes | string | -| resource | body | | Yes | { **"uid"**: string, **"createTime"**: dateTime, **"filename"**: string, **"content"**: byte, **"externalLink"**: string, **"type"**: string, **"size"**: string (int64), **"memo"**: string } | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2UpdateResourceResponse](#v2updateresourceresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## StorageService - -### /api/v2/storages - -#### GET -##### Summary - -ListStorages returns a list of storages. - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListStoragesResponse](#v2liststoragesresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -CreateStorage creates a new storage. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| body | body | | Yes | [v2CreateStorageRequest](#v2createstoragerequest) | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2CreateStorageResponse](#v2createstorageresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/storages/{id} - -#### GET -##### Summary - -GetStorage returns a storage by id. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| id | path | | Yes | integer | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetStorageResponse](#v2getstorageresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### DELETE -##### Summary - -DeleteStorage deletes a storage by id. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| id | path | | Yes | integer | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteStorageResponse](#v2deletestorageresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/storages/{storage.id} - -#### PATCH -##### Summary - -UpdateStorage updates a storage. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| storage.id | path | | Yes | integer | -| storage | body | | Yes | { **"title"**: string, **"type"**: [apiv2StorageType](#apiv2storagetype), **"config"**: [apiv2StorageConfig](#apiv2storageconfig) } | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2UpdateStorageResponse](#v2updatestorageresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## TagService - -### /api/v2/tags - -#### GET -##### Summary - -ListTags lists tags. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| user | query | The creator of tags. Format: users/{id} | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListTagsResponse](#v2listtagsresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### DELETE -##### Summary - -DeleteTag deletes a tag. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| tag.name | query | | No | string | -| tag.creator | query | The creator of tags. Format: users/{id} | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteTagResponse](#v2deletetagresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -UpsertTag upserts a tag. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | query | | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2UpsertTagResponse](#v2upserttagresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/tags/suggestion - -#### GET -##### Summary - -GetTagSuggestions gets tag suggestions from the user's memos. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| user | query | The creator of tags. Format: users/{id} | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetTagSuggestionsResponse](#v2gettagsuggestionsresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/tags:batchUpsert - -#### POST -##### Summary - -BatchUpsertTag upserts multiple tags. - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2BatchUpsertTagResponse](#v2batchupserttagresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/tags:rename - -#### PATCH -##### Summary - -RenameTag renames a tag. -All related memos will be updated. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| user | query | The creator of tags. Format: users/{id} | No | string | -| oldName | query | | No | string | -| newName | query | | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2RenameTagResponse](#v2renametagresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## UserService - -### /api/v2/users - -#### GET -##### Summary - -ListUsers returns a list of users. - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListUsersResponse](#v2listusersresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -CreateUser creates a new user. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| user | body | | Yes | [v2User](#v2user) | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2CreateUserResponse](#v2createuserresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/users:search - -#### GET -##### Summary - -SearchUsers searches users by filter. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| filter | query | Filter is used to filter users returned in the list. Format: "username == frank" | No | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2SearchUsersResponse](#v2searchusersresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name} - -#### GET -##### Summary - -GetUser gets a user by name. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the user. Format: users/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetUserResponse](#v2getuserresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### DELETE -##### Summary - -DeleteUser deletes a user. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the user. Format: users/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteUserResponse](#v2deleteuserresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name}/access_tokens - -#### GET -##### Summary - -ListUserAccessTokens returns a list of access tokens for a user. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the user. Format: users/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListUserAccessTokensResponse](#v2listuseraccesstokensresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -CreateUserAccessToken creates a new access token for a user. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the user. Format: users/{id} | Yes | string | -| body | body | | Yes | [UserServiceCreateUserAccessTokenBody](#userservicecreateuseraccesstokenbody) | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2CreateUserAccessTokenResponse](#v2createuseraccesstokenresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name}/access_tokens/{accessToken} - -#### DELETE -##### Summary - -DeleteUserAccessToken deletes an access token for a user. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the user. Format: users/{id} | Yes | string | -| accessToken | path | access_token is the access token to delete. | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteUserAccessTokenResponse](#v2deleteuseraccesstokenresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{name}/setting - -#### GET -##### Summary - -GetUserSetting gets the setting of a user. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The name of the user. Format: users/{id} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetUserSettingResponse](#v2getusersettingresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{setting.name} - -#### PATCH -##### Summary - -UpdateUserSetting updates the setting of a user. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| setting.name | path | The name of the user. Format: users/{id} | Yes | string | -| setting | body | | Yes | { **"locale"**: string, **"appearance"**: string, **"memoVisibility"**: string } | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2UpdateUserSettingResponse](#v2updateusersettingresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/{user.name} - -#### PATCH -##### Summary - -UpdateUser updates a user. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| user.name | path | The name of the user. Format: users/{id} | Yes | string | -| user | body | | Yes | { **"id"**: integer, **"role"**: [UserRole](#userrole), **"username"**: string, **"email"**: string, **"nickname"**: string, **"avatarUrl"**: string, **"description"**: string, **"password"**: string, **"rowStatus"**: [v2RowStatus](#v2rowstatus), **"createTime"**: dateTime, **"updateTime"**: dateTime } | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2UpdateUserResponse](#v2updateuserresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## WebhookService - -### /api/v2/webhooks - -#### GET -##### Summary - -ListWebhooks returns a list of webhooks. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| creatorId | query | | No | integer | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListWebhooksResponse](#v2listwebhooksresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### POST -##### Summary - -CreateWebhook creates a new webhook. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| body | body | | Yes | [v2CreateWebhookRequest](#v2createwebhookrequest) | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2CreateWebhookResponse](#v2createwebhookresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/webhooks/{id} - -#### GET -##### Summary - -GetWebhook returns a webhook by id. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| id | path | | Yes | integer | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetWebhookResponse](#v2getwebhookresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -#### DELETE -##### Summary - -DeleteWebhook deletes a webhook by id. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| id | path | | Yes | integer | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2DeleteWebhookResponse](#v2deletewebhookresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/webhooks/{webhook.id} - -#### PATCH -##### Summary - -UpdateWebhook updates a webhook. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| webhook.id | path | | Yes | integer | -| webhook | body | | Yes | { **"creatorId"**: integer, **"createdTime"**: dateTime, **"updatedTime"**: dateTime, **"rowStatus"**: [v2RowStatus](#v2rowstatus), **"name"**: string, **"url"**: string } | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2UpdateWebhookResponse](#v2updatewebhookresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## WorkspaceService - -### /api/v2/workspace/profile - -#### GET -##### Summary - -GetWorkspaceProfile returns the workspace profile. - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetWorkspaceProfileResponse](#v2getworkspaceprofileresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## WorkspaceSettingService - -### /api/v2/workspace/settings - -#### GET -##### Summary - -ListWorkspaceSetting returns the list of settings. - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2ListWorkspaceSettingsResponse](#v2listworkspacesettingsresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/workspace/{name} - -#### GET -##### Summary - -GetWorkspaceSetting returns the setting by name. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| name | path | The resource name of the workspace setting. Format: settings/{setting} | Yes | string | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetWorkspaceSettingResponse](#v2getworkspacesettingresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - -### /api/v2/workspace/{setting.name} - -#### PATCH -##### Summary - -SetWorkspaceSetting updates the setting. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| setting.name | path | name is the name of the setting. Format: settings/{setting} | Yes | string | -| setting | body | setting is the setting to update. | Yes | { **"generalSetting"**: [apiv2WorkspaceGeneralSetting](#apiv2workspacegeneralsetting), **"storageSetting"**: [apiv2WorkspaceStorageSetting](#apiv2workspacestoragesetting), **"memoRelatedSetting"**: [apiv2WorkspaceMemoRelatedSetting](#apiv2workspacememorelatedsetting) } | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2SetWorkspaceSettingResponse](#v2setworkspacesettingresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -## ActivityService - -### /v2/activities/{id} - -#### GET -##### Summary - -GetActivity returns the activity with the given id. - -##### Parameters - -| Name | Located in | Description | Required | Schema | -| ---- | ---------- | ----------- | -------- | ------ | -| id | path | | Yes | integer | - -##### Responses - -| Code | Description | Schema | -| ---- | ----------- | ------ | -| 200 | A successful response. | [v2GetActivityResponse](#v2getactivityresponse) | -| default | An unexpected error response. | [googlerpcStatus](#googlerpcstatus) | - ---- -### Models - -#### MemoServiceSetMemoRelationsBody - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| relations | [ [v2MemoRelation](#v2memorelation) ] | | No | - -#### MemoServiceSetMemoResourcesBody - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| resources | [ [v2Resource](#v2resource) ] | | No | - -#### UserRole - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| UserRole | string | | | - -#### UserServiceCreateUserAccessTokenBody - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| description | string | | No | -| expiresAt | dateTime | | No | - -#### apiv2ActivityMemoCommentPayload - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| memoId | integer | | No | -| relatedMemoId | integer | | No | - -#### apiv2ActivityPayload - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| memoComment | [apiv2ActivityMemoCommentPayload](#apiv2activitymemocommentpayload) | | No | -| versionUpdate | [apiv2ActivityVersionUpdatePayload](#apiv2activityversionupdatepayload) | | No | - -#### apiv2ActivityVersionUpdatePayload - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| version | string | | No | - -#### apiv2FieldMapping - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| identifier | string | | No | -| displayName | string | | No | -| email | string | | No | - -#### apiv2IdentityProvider - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| name | string | | No | -| type | [apiv2IdentityProviderType](#apiv2identityprovidertype) | | No | -| title | string | | No | -| identifierFilter | string | | No | -| config | [apiv2IdentityProviderConfig](#apiv2identityproviderconfig) | | No | - -#### apiv2IdentityProviderConfig - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| oauth2Config | [apiv2OAuth2Config](#apiv2oauth2config) | | No | - -#### apiv2IdentityProviderType - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| apiv2IdentityProviderType | string | | | - -#### apiv2OAuth2Config - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| clientId | string | | No | -| clientSecret | string | | No | -| authUrl | string | | No | -| tokenUrl | string | | No | -| userInfoUrl | string | | No | -| scopes | [ string ] | | No | -| fieldMapping | [apiv2FieldMapping](#apiv2fieldmapping) | | No | - -#### apiv2S3Config - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| endPoint | string | | No | -| path | string | | No | -| region | string | | No | -| accessKey | string | | No | -| secretKey | string | | No | -| bucket | string | | No | -| urlPrefix | string | | No | -| urlSuffix | string | | No | -| preSign | boolean | | No | - -#### apiv2Storage - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| id | integer | | No | -| title | string | | No | -| type | [apiv2StorageType](#apiv2storagetype) | | No | -| config | [apiv2StorageConfig](#apiv2storageconfig) | | No | - -#### apiv2StorageConfig - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| s3Config | [apiv2S3Config](#apiv2s3config) | | No | - -#### apiv2StorageType - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| apiv2StorageType | string | | | - -#### apiv2UserSetting - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| name | string | | No | -| locale | string | The preferred locale of the user. | No | -| appearance | string | The preferred appearance of the user. | No | -| memoVisibility | string | The default visibility of the memo. | No | - -#### apiv2WorkspaceCustomProfile - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| title | string | | No | -| description | string | | No | -| logoUrl | string | | No | -| locale | string | | No | -| appearance | string | | No | - -#### apiv2WorkspaceGeneralSetting - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| instanceUrl | string | instance_url is the instance URL. | No | -| disallowSignup | boolean | disallow_signup is the flag to disallow signup. | No | -| disallowPasswordLogin | boolean | disallow_password_login is the flag to disallow password login. | No | -| additionalScript | string | additional_script is the additional script. | No | -| additionalStyle | string | additional_style is the additional style. | No | -| customProfile | [apiv2WorkspaceCustomProfile](#apiv2workspacecustomprofile) | custom_profile is the custom profile. | No | - -#### apiv2WorkspaceMemoRelatedSetting - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| disallowPublicVisible | boolean | disallow_public_share disallows set memo as public visible. | No | -| displayWithUpdateTime | boolean | display_with_update_time orders and displays memo with update time. | No | - -#### apiv2WorkspaceSetting - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| name | string | | No | -| generalSetting | [apiv2WorkspaceGeneralSetting](#apiv2workspacegeneralsetting) | | No | -| storageSetting | [apiv2WorkspaceStorageSetting](#apiv2workspacestoragesetting) | | No | -| memoRelatedSetting | [apiv2WorkspaceMemoRelatedSetting](#apiv2workspacememorelatedsetting) | | No | - -#### apiv2WorkspaceStorageSetting - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| storageType | [apiv2WorkspaceStorageSettingStorageType](#apiv2workspacestoragesettingstoragetype) | storage_type is the storage type. | No | -| activedExternalStorageId | integer | The id of actived external storage. | No | -| localStoragePathTemplate | string | | No | -| uploadSizeLimitMb | string (int64) | The max upload size in megabytes. | No | - -#### apiv2WorkspaceStorageSettingStorageType - -- STORAGE_TYPE_DATABASE: STORAGE_TYPE_DATABASE is the database storage type. -- STORAGE_TYPE_LOCAL: STORAGE_TYPE_LOCAL is the local storage type. -- STORAGE_TYPE_EXTERNAL: STORAGE_TYPE_EXTERNAL is the external storage type. - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| apiv2WorkspaceStorageSettingStorageType | string | - STORAGE_TYPE_DATABASE: STORAGE_TYPE_DATABASE is the database storage type. - STORAGE_TYPE_LOCAL: STORAGE_TYPE_LOCAL is the local storage type. - STORAGE_TYPE_EXTERNAL: STORAGE_TYPE_EXTERNAL is the external storage type. | | - -#### googlerpcStatus - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| code | integer | | No | -| message | string | | No | -| details | [ [protobufAny](#protobufany) ] | | No | - -#### protobufAny - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| @type | string | | No | - -#### v2Activity - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| id | integer | | No | -| creatorId | integer | | No | -| type | string | | No | -| level | string | | No | -| createTime | dateTime | | No | -| payload | [apiv2ActivityPayload](#apiv2activitypayload) | | No | - -#### v2BatchUpsertTagResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2BatchUpsertTagResponse | object | | | - -#### v2CreateIdentityProviderResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| identityProvider | [apiv2IdentityProvider](#apiv2identityprovider) | The created identityProvider. | No | - -#### v2CreateMemoCommentResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| memo | [v2Memo](#v2memo) | | No | - -#### v2CreateMemoRequest - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| content | string | | No | -| visibility | [v2Visibility](#v2visibility) | | No | - -#### v2CreateMemoResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| memo | [v2Memo](#v2memo) | | No | - -#### v2CreateResourceResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| resource | [v2Resource](#v2resource) | | No | - -#### v2CreateStorageRequest - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| storage | [apiv2Storage](#apiv2storage) | | No | - -#### v2CreateStorageResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| storage | [apiv2Storage](#apiv2storage) | | No | - -#### v2CreateUserAccessTokenResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| accessToken | [v2UserAccessToken](#v2useraccesstoken) | | No | - -#### v2CreateUserResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| user | [v2User](#v2user) | | No | - -#### v2CreateWebhookRequest - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| name | string | | No | -| url | string | | No | - -#### v2CreateWebhookResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| webhook | [v2Webhook](#v2webhook) | | No | - -#### v2DeleteIdentityProviderResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2DeleteIdentityProviderResponse | object | | | - -#### v2DeleteInboxResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2DeleteInboxResponse | object | | | - -#### v2DeleteMemoReactionResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2DeleteMemoReactionResponse | object | | | - -#### v2DeleteMemoResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2DeleteMemoResponse | object | | | - -#### v2DeleteResourceResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2DeleteResourceResponse | object | | | - -#### v2DeleteStorageResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2DeleteStorageResponse | object | | | - -#### v2DeleteTagResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2DeleteTagResponse | object | | | - -#### v2DeleteUserAccessTokenResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2DeleteUserAccessTokenResponse | object | | | - -#### v2DeleteUserResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2DeleteUserResponse | object | | | - -#### v2DeleteWebhookResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2DeleteWebhookResponse | object | | | - -#### v2ExportMemosResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| content | byte | | No | - -#### v2GetActivityResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| activity | [v2Activity](#v2activity) | | No | - -#### v2GetAuthStatusResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| user | [v2User](#v2user) | | No | - -#### v2GetIdentityProviderResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| identityProvider | [apiv2IdentityProvider](#apiv2identityprovider) | The identityProvider. | No | - -#### v2GetLinkMetadataResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| linkMetadata | [v2LinkMetadata](#v2linkmetadata) | | No | - -#### v2GetMemoResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| memo | [v2Memo](#v2memo) | | No | - -#### v2GetResourceResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| resource | [v2Resource](#v2resource) | | No | - -#### v2GetStorageResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| storage | [apiv2Storage](#apiv2storage) | | No | - -#### v2GetTagSuggestionsResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| tags | [ string ] | | No | - -#### v2GetUserMemosStatsResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| stats | object | stats is the stats of memo creating/updating activities. key is the year-month-day string. e.g. "2020-01-01". | No | - -#### v2GetUserResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| user | [v2User](#v2user) | | No | - -#### v2GetUserSettingResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| setting | [apiv2UserSetting](#apiv2usersetting) | | No | - -#### v2GetWebhookResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| webhook | [v2Webhook](#v2webhook) | | No | - -#### v2GetWorkspaceProfileResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| workspaceProfile | [v2WorkspaceProfile](#v2workspaceprofile) | | No | - -#### v2GetWorkspaceSettingResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| setting | [apiv2WorkspaceSetting](#apiv2workspacesetting) | | No | - -#### v2Inbox - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| name | string | | No | -| sender | string | | No | -| receiver | string | | No | -| status | [v2InboxStatus](#v2inboxstatus) | | No | -| createTime | dateTime | | No | -| type | [v2InboxType](#v2inboxtype) | | No | -| activityId | integer | | No | - -#### v2InboxStatus - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2InboxStatus | string | | | - -#### v2InboxType - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2InboxType | string | | | - -#### v2LinkMetadata - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| title | string | | No | -| description | string | | No | -| image | string | | No | - -#### v2ListIdentityProvidersResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| identityProviders | [ [apiv2IdentityProvider](#apiv2identityprovider) ] | | No | - -#### v2ListInboxesResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| inboxes | [ [v2Inbox](#v2inbox) ] | | No | - -#### v2ListMemoCommentsResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| memos | [ [v2Memo](#v2memo) ] | | No | - -#### v2ListMemoReactionsResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| reactions | [ [v2Reaction](#v2reaction) ] | | No | - -#### v2ListMemoRelationsResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| relations | [ [v2MemoRelation](#v2memorelation) ] | | No | - -#### v2ListMemoResourcesResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| resources | [ [v2Resource](#v2resource) ] | | No | - -#### v2ListMemosResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| memos | [ [v2Memo](#v2memo) ] | | No | -| nextPageToken | string | A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. | No | - -#### v2ListResourcesResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| resources | [ [v2Resource](#v2resource) ] | | No | - -#### v2ListStoragesResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| storages | [ [apiv2Storage](#apiv2storage) ] | | No | - -#### v2ListTagsResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| tags | [ [v2Tag](#v2tag) ] | | No | - -#### v2ListUserAccessTokensResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| accessTokens | [ [v2UserAccessToken](#v2useraccesstoken) ] | | No | - -#### v2ListUsersResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| users | [ [v2User](#v2user) ] | | No | - -#### v2ListWebhooksResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| webhooks | [ [v2Webhook](#v2webhook) ] | | No | - -#### v2ListWorkspaceSettingsResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| settings | [ [apiv2WorkspaceSetting](#apiv2workspacesetting) ] | | No | - -#### v2Memo - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| name | string | The name of the memo. Format: memos/{id} id is the system generated id. | No | -| uid | string | The user defined id of the memo. | No | -| rowStatus | [v2RowStatus](#v2rowstatus) | | No | -| creator | string | | No | -| createTime | dateTime | | No | -| updateTime | dateTime | | No | -| displayTime | dateTime | | No | -| content | string | | No | -| visibility | [v2Visibility](#v2visibility) | | No | -| pinned | boolean | | No | -| parentId | integer | | No | -| resources | [ [v2Resource](#v2resource) ] | | No | -| relations | [ [v2MemoRelation](#v2memorelation) ] | | No | -| reactions | [ [v2Reaction](#v2reaction) ] | | No | - -#### v2MemoRelation - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| memo | string | | No | -| relatedMemo | string | | No | -| type | [v2MemoRelationType](#v2memorelationtype) | | No | - -#### v2MemoRelationType - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2MemoRelationType | string | | | - -#### v2Reaction - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| id | integer | | No | -| creator | string | | No | -| contentId | string | | No | -| reactionType | [v2ReactionType](#v2reactiontype) | | No | - -#### v2ReactionType - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2ReactionType | string | | | - -#### v2RenameTagResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| tag | [v2Tag](#v2tag) | | No | - -#### v2Resource - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| name | string | The name of the resource. Format: resources/{id} id is the system generated unique identifier. | No | -| uid | string | The user defined id of the resource. | No | -| createTime | dateTime | | No | -| filename | string | | No | -| content | byte | | No | -| externalLink | string | | No | -| type | string | | No | -| size | string (int64) | | No | -| memo | string | | No | - -#### v2RowStatus - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2RowStatus | string | | | - -#### v2SearchMemosResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| memos | [ [v2Memo](#v2memo) ] | | No | - -#### v2SearchResourcesResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| resources | [ [v2Resource](#v2resource) ] | | No | - -#### v2SearchUsersResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| users | [ [v2User](#v2user) ] | | No | - -#### v2SetMemoRelationsResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2SetMemoRelationsResponse | object | | | - -#### v2SetMemoResourcesResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2SetMemoResourcesResponse | object | | | - -#### v2SetWorkspaceSettingResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| setting | [apiv2WorkspaceSetting](#apiv2workspacesetting) | | No | - -#### v2SignInResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| user | [v2User](#v2user) | | No | - -#### v2SignInWithSSOResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| user | [v2User](#v2user) | | No | - -#### v2SignOutResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2SignOutResponse | object | | | - -#### v2SignUpResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| user | [v2User](#v2user) | | No | - -#### v2Tag - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| name | string | | No | -| creator | string | | No | - -#### v2UpdateIdentityProviderResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| identityProvider | [apiv2IdentityProvider](#apiv2identityprovider) | The updated identityProvider. | No | - -#### v2UpdateInboxResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| inbox | [v2Inbox](#v2inbox) | | No | - -#### v2UpdateMemoResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| memo | [v2Memo](#v2memo) | | No | - -#### v2UpdateResourceResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| resource | [v2Resource](#v2resource) | | No | - -#### v2UpdateStorageResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| storage | [apiv2Storage](#apiv2storage) | | No | - -#### v2UpdateUserResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| user | [v2User](#v2user) | | No | - -#### v2UpdateUserSettingResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| setting | [apiv2UserSetting](#apiv2usersetting) | | No | - -#### v2UpdateWebhookResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| webhook | [v2Webhook](#v2webhook) | | No | - -#### v2UpsertMemoReactionResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| reaction | [v2Reaction](#v2reaction) | | No | - -#### v2UpsertTagRequest - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| name | string | | No | - -#### v2UpsertTagResponse - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| tag | [v2Tag](#v2tag) | | No | - -#### v2User - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| name | string | | No | -| id | integer | The system generated uid of the user. | No | -| role | [UserRole](#userrole) | | No | -| username | string | | No | -| email | string | | No | -| nickname | string | | No | -| avatarUrl | string | | No | -| description | string | | No | -| password | string | | No | -| rowStatus | [v2RowStatus](#v2rowstatus) | | No | -| createTime | dateTime | | No | -| updateTime | dateTime | | No | - -#### v2UserAccessToken - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| accessToken | string | | No | -| description | string | | No | -| issuedAt | dateTime | | No | -| expiresAt | dateTime | | No | - -#### v2Visibility - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| v2Visibility | string | | | - -#### v2Webhook - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| id | integer | | No | -| creatorId | integer | | No | -| createdTime | dateTime | | No | -| updatedTime | dateTime | | No | -| rowStatus | [v2RowStatus](#v2rowstatus) | | No | -| name | string | | No | -| url | string | | No | - -#### v2WorkspaceProfile - -| Name | Type | Description | Required | -| ---- | ---- | ----------- | -------- | -| owner | string | | No | -| version | string | | No | -| mode | string | mode is the instance mode (e.g. "prod", "dev" or "demo"). | No |