mirror of
				https://github.com/usememos/memos.git
				synced 2025-06-05 22:09:59 +02:00 
			
		
		
		
	chore: implement list memo resources api
This commit is contained in:
		| @@ -233,6 +233,23 @@ func (s *APIV2Service) DeleteMemo(ctx context.Context, request *apiv2pb.DeleteMe | |||||||
| 	return &apiv2pb.DeleteMemoResponse{}, nil | 	return &apiv2pb.DeleteMemoResponse{}, nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (s *APIV2Service) ListMemoResources(ctx context.Context, request *apiv2pb.ListMemoResourcesRequest) (*apiv2pb.ListMemoResourcesResponse, error) { | ||||||
|  | 	resources, err := s.Store.ListResources(ctx, &store.FindResource{ | ||||||
|  | 		MemoID: &request.Id, | ||||||
|  | 	}) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, status.Errorf(codes.Internal, "failed to list resources") | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	response := &apiv2pb.ListMemoResourcesResponse{ | ||||||
|  | 		Resources: []*apiv2pb.Resource{}, | ||||||
|  | 	} | ||||||
|  | 	for _, resource := range resources { | ||||||
|  | 		response.Resources = append(response.Resources, s.convertResourceFromStore(ctx, resource)) | ||||||
|  | 	} | ||||||
|  | 	return response, nil | ||||||
|  | } | ||||||
|  |  | ||||||
| func (s *APIV2Service) CreateMemoComment(ctx context.Context, request *apiv2pb.CreateMemoCommentRequest) (*apiv2pb.CreateMemoCommentResponse, error) { | func (s *APIV2Service) CreateMemoComment(ctx context.Context, request *apiv2pb.CreateMemoCommentRequest) (*apiv2pb.CreateMemoCommentResponse, error) { | ||||||
| 	// Create the comment memo first. | 	// Create the comment memo first. | ||||||
| 	createMemoResponse, err := s.CreateMemo(ctx, request.Create) | 	createMemoResponse, err := s.CreateMemo(ctx, request.Create) | ||||||
|   | |||||||
| @@ -4,6 +4,7 @@ package memos.api.v2; | |||||||
|  |  | ||||||
| import "api/v2/common.proto"; | import "api/v2/common.proto"; | ||||||
| import "api/v2/markdown_service.proto"; | import "api/v2/markdown_service.proto"; | ||||||
|  | import "api/v2/resource_service.proto"; | ||||||
| import "google/api/annotations.proto"; | import "google/api/annotations.proto"; | ||||||
| import "google/api/client.proto"; | import "google/api/client.proto"; | ||||||
| import "google/protobuf/field_mask.proto"; | import "google/protobuf/field_mask.proto"; | ||||||
| @@ -41,6 +42,11 @@ service MemoService { | |||||||
|     option (google.api.method_signature) = "id"; |     option (google.api.method_signature) = "id"; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   rpc ListMemoResources(ListMemoResourcesRequest) returns (ListMemoResourcesResponse) { | ||||||
|  |     option (google.api.http) = {get: "/api/v2/memos/{id}/resources"}; | ||||||
|  |     option (google.api.method_signature) = "id"; | ||||||
|  |   } | ||||||
|  |  | ||||||
|   rpc CreateMemoComment(CreateMemoCommentRequest) returns (CreateMemoCommentResponse) { |   rpc CreateMemoComment(CreateMemoCommentRequest) returns (CreateMemoCommentResponse) { | ||||||
|     option (google.api.http) = {post: "/api/v2/memos/{id}/comments"}; |     option (google.api.http) = {post: "/api/v2/memos/{id}/comments"}; | ||||||
|     option (google.api.method_signature) = "id"; |     option (google.api.method_signature) = "id"; | ||||||
| @@ -133,6 +139,14 @@ message DeleteMemoRequest { | |||||||
|  |  | ||||||
| message DeleteMemoResponse {} | message DeleteMemoResponse {} | ||||||
|  |  | ||||||
|  | message ListMemoResourcesRequest { | ||||||
|  |   int32 id = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
|  | message ListMemoResourcesResponse { | ||||||
|  |   repeated Resource resources = 1; | ||||||
|  | } | ||||||
|  |  | ||||||
| message CreateMemoCommentRequest { | message CreateMemoCommentRequest { | ||||||
|   // id is the memo id to create comment for. |   // id is the memo id to create comment for. | ||||||
|   int32 id = 1; |   int32 id = 1; | ||||||
|   | |||||||
| @@ -91,27 +91,6 @@ | |||||||
|    |    | ||||||
|     - [MarkdownService](#memos-api-v2-MarkdownService) |     - [MarkdownService](#memos-api-v2-MarkdownService) | ||||||
|    |    | ||||||
| - [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) |  | ||||||
|     - [DeleteMemoRequest](#memos-api-v2-DeleteMemoRequest) |  | ||||||
|     - [DeleteMemoResponse](#memos-api-v2-DeleteMemoResponse) |  | ||||||
|     - [GetMemoRequest](#memos-api-v2-GetMemoRequest) |  | ||||||
|     - [GetMemoResponse](#memos-api-v2-GetMemoResponse) |  | ||||||
|     - [ListMemoCommentsRequest](#memos-api-v2-ListMemoCommentsRequest) |  | ||||||
|     - [ListMemoCommentsResponse](#memos-api-v2-ListMemoCommentsResponse) |  | ||||||
|     - [ListMemosRequest](#memos-api-v2-ListMemosRequest) |  | ||||||
|     - [ListMemosResponse](#memos-api-v2-ListMemosResponse) |  | ||||||
|     - [Memo](#memos-api-v2-Memo) |  | ||||||
|     - [UpdateMemoRequest](#memos-api-v2-UpdateMemoRequest) |  | ||||||
|     - [UpdateMemoResponse](#memos-api-v2-UpdateMemoResponse) |  | ||||||
|    |  | ||||||
|     - [Visibility](#memos-api-v2-Visibility) |  | ||||||
|    |  | ||||||
|     - [MemoService](#memos-api-v2-MemoService) |  | ||||||
|    |  | ||||||
| - [api/v2/resource_service.proto](#api_v2_resource_service-proto) | - [api/v2/resource_service.proto](#api_v2_resource_service-proto) | ||||||
|     - [CreateResourceRequest](#memos-api-v2-CreateResourceRequest) |     - [CreateResourceRequest](#memos-api-v2-CreateResourceRequest) | ||||||
|     - [CreateResourceResponse](#memos-api-v2-CreateResourceResponse) |     - [CreateResourceResponse](#memos-api-v2-CreateResourceResponse) | ||||||
| @@ -125,6 +104,29 @@ | |||||||
|    |    | ||||||
|     - [ResourceService](#memos-api-v2-ResourceService) |     - [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) | ||||||
|  |     - [DeleteMemoRequest](#memos-api-v2-DeleteMemoRequest) | ||||||
|  |     - [DeleteMemoResponse](#memos-api-v2-DeleteMemoResponse) | ||||||
|  |     - [GetMemoRequest](#memos-api-v2-GetMemoRequest) | ||||||
|  |     - [GetMemoResponse](#memos-api-v2-GetMemoResponse) | ||||||
|  |     - [ListMemoCommentsRequest](#memos-api-v2-ListMemoCommentsRequest) | ||||||
|  |     - [ListMemoCommentsResponse](#memos-api-v2-ListMemoCommentsResponse) | ||||||
|  |     - [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) | ||||||
|  |     - [UpdateMemoRequest](#memos-api-v2-UpdateMemoRequest) | ||||||
|  |     - [UpdateMemoResponse](#memos-api-v2-UpdateMemoResponse) | ||||||
|  |    | ||||||
|  |     - [Visibility](#memos-api-v2-Visibility) | ||||||
|  |    | ||||||
|  |     - [MemoService](#memos-api-v2-MemoService) | ||||||
|  |    | ||||||
| - [api/v2/system_service.proto](#api_v2_system_service-proto) | - [api/v2/system_service.proto](#api_v2_system_service-proto) | ||||||
|     - [GetSystemInfoRequest](#memos-api-v2-GetSystemInfoRequest) |     - [GetSystemInfoRequest](#memos-api-v2-GetSystemInfoRequest) | ||||||
|     - [GetSystemInfoResponse](#memos-api-v2-GetSystemInfoResponse) |     - [GetSystemInfoResponse](#memos-api-v2-GetSystemInfoResponse) | ||||||
| @@ -1315,287 +1317,6 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="api_v2_memo_service-proto"></a> |  | ||||||
| <p align="right"><a href="#top">Top</a></p> |  | ||||||
|  |  | ||||||
| ## api/v2/memo_service.proto |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-CreateMemoCommentRequest"></a> |  | ||||||
|  |  | ||||||
| ### CreateMemoCommentRequest |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | id | [int32](#int32) |  | id is the memo id to create comment for. | |  | ||||||
| | create | [CreateMemoRequest](#memos-api-v2-CreateMemoRequest) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-CreateMemoCommentResponse"></a> |  | ||||||
|  |  | ||||||
| ### CreateMemoCommentResponse |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | memo | [Memo](#memos-api-v2-Memo) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-CreateMemoRequest"></a> |  | ||||||
|  |  | ||||||
| ### CreateMemoRequest |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | content | [string](#string) |  |  | |  | ||||||
| | visibility | [Visibility](#memos-api-v2-Visibility) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-CreateMemoResponse"></a> |  | ||||||
|  |  | ||||||
| ### CreateMemoResponse |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | memo | [Memo](#memos-api-v2-Memo) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-DeleteMemoRequest"></a> |  | ||||||
|  |  | ||||||
| ### DeleteMemoRequest |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | id | [int32](#int32) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-DeleteMemoResponse"></a> |  | ||||||
|  |  | ||||||
| ### DeleteMemoResponse |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-GetMemoRequest"></a> |  | ||||||
|  |  | ||||||
| ### GetMemoRequest |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | id | [int32](#int32) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-GetMemoResponse"></a> |  | ||||||
|  |  | ||||||
| ### GetMemoResponse |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | memo | [Memo](#memos-api-v2-Memo) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-ListMemoCommentsRequest"></a> |  | ||||||
|  |  | ||||||
| ### ListMemoCommentsRequest |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | id | [int32](#int32) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-ListMemoCommentsResponse"></a> |  | ||||||
|  |  | ||||||
| ### ListMemoCommentsResponse |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | memos | [Memo](#memos-api-v2-Memo) | repeated |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-ListMemosRequest"></a> |  | ||||||
|  |  | ||||||
| ### ListMemosRequest |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | page | [int32](#int32) |  |  | |  | ||||||
| | page_size | [int32](#int32) |  |  | |  | ||||||
| | filter | [string](#string) |  | Filter is used to filter memos returned in the list. | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-ListMemosResponse"></a> |  | ||||||
|  |  | ||||||
| ### ListMemosResponse |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | memos | [Memo](#memos-api-v2-Memo) | repeated |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-Memo"></a> |  | ||||||
|  |  | ||||||
| ### Memo |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | id | [int32](#int32) |  |  | |  | ||||||
| | row_status | [RowStatus](#memos-api-v2-RowStatus) |  |  | |  | ||||||
| | creator_id | [int32](#int32) |  |  | |  | ||||||
| | 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) |  |  | |  | ||||||
| | nodes | [Node](#memos-api-v2-Node) | repeated |  | |  | ||||||
| | visibility | [Visibility](#memos-api-v2-Visibility) |  |  | |  | ||||||
| | pinned | [bool](#bool) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-UpdateMemoRequest"></a> |  | ||||||
|  |  | ||||||
| ### UpdateMemoRequest |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | id | [int32](#int32) |  |  | |  | ||||||
| | memo | [Memo](#memos-api-v2-Memo) |  |  | |  | ||||||
| | update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-UpdateMemoResponse"></a> |  | ||||||
|  |  | ||||||
| ### UpdateMemoResponse |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Field | Type | Label | Description | |  | ||||||
| | ----- | ---- | ----- | ----------- | |  | ||||||
| | memo | [Memo](#memos-api-v2-Memo) |  |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-Visibility"></a> |  | ||||||
|  |  | ||||||
| ### Visibility |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Name | Number | Description | |  | ||||||
| | ---- | ------ | ----------- | |  | ||||||
| | VISIBILITY_UNSPECIFIED | 0 |  | |  | ||||||
| | PRIVATE | 1 |  | |  | ||||||
| | PROTECTED | 2 |  | |  | ||||||
| | PUBLIC | 3 |  | |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   |  | ||||||
|  |  | ||||||
|   |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="memos-api-v2-MemoService"></a> |  | ||||||
|  |  | ||||||
| ### MemoService |  | ||||||
|  |  | ||||||
|  |  | ||||||
| | Method Name | Request Type | Response Type | Description | |  | ||||||
| | ----------- | ------------ | ------------- | ------------| |  | ||||||
| | CreateMemo | [CreateMemoRequest](#memos-api-v2-CreateMemoRequest) | [CreateMemoResponse](#memos-api-v2-CreateMemoResponse) |  | |  | ||||||
| | ListMemos | [ListMemosRequest](#memos-api-v2-ListMemosRequest) | [ListMemosResponse](#memos-api-v2-ListMemosResponse) |  | |  | ||||||
| | GetMemo | [GetMemoRequest](#memos-api-v2-GetMemoRequest) | [GetMemoResponse](#memos-api-v2-GetMemoResponse) |  | |  | ||||||
| | UpdateMemo | [UpdateMemoRequest](#memos-api-v2-UpdateMemoRequest) | [UpdateMemoResponse](#memos-api-v2-UpdateMemoResponse) |  | |  | ||||||
| | DeleteMemo | [DeleteMemoRequest](#memos-api-v2-DeleteMemoRequest) | [DeleteMemoResponse](#memos-api-v2-DeleteMemoResponse) |  | |  | ||||||
| | CreateMemoComment | [CreateMemoCommentRequest](#memos-api-v2-CreateMemoCommentRequest) | [CreateMemoCommentResponse](#memos-api-v2-CreateMemoCommentResponse) |  | |  | ||||||
| | ListMemoComments | [ListMemoCommentsRequest](#memos-api-v2-ListMemoCommentsRequest) | [ListMemoCommentsResponse](#memos-api-v2-ListMemoCommentsResponse) |  | |  | ||||||
|  |  | ||||||
|   |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="api_v2_resource_service-proto"></a> | <a name="api_v2_resource_service-proto"></a> | ||||||
| <p align="right"><a href="#top">Top</a></p> | <p align="right"><a href="#top">Top</a></p> | ||||||
|  |  | ||||||
| @@ -1760,6 +1481,318 @@ | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="api_v2_memo_service-proto"></a> | ||||||
|  | <p align="right"><a href="#top">Top</a></p> | ||||||
|  |  | ||||||
|  | ## api/v2/memo_service.proto | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-CreateMemoCommentRequest"></a> | ||||||
|  |  | ||||||
|  | ### CreateMemoCommentRequest | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | id | [int32](#int32) |  | id is the memo id to create comment for. | | ||||||
|  | | create | [CreateMemoRequest](#memos-api-v2-CreateMemoRequest) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-CreateMemoCommentResponse"></a> | ||||||
|  |  | ||||||
|  | ### CreateMemoCommentResponse | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | memo | [Memo](#memos-api-v2-Memo) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-CreateMemoRequest"></a> | ||||||
|  |  | ||||||
|  | ### CreateMemoRequest | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | content | [string](#string) |  |  | | ||||||
|  | | visibility | [Visibility](#memos-api-v2-Visibility) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-CreateMemoResponse"></a> | ||||||
|  |  | ||||||
|  | ### CreateMemoResponse | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | memo | [Memo](#memos-api-v2-Memo) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-DeleteMemoRequest"></a> | ||||||
|  |  | ||||||
|  | ### DeleteMemoRequest | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | id | [int32](#int32) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-DeleteMemoResponse"></a> | ||||||
|  |  | ||||||
|  | ### DeleteMemoResponse | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-GetMemoRequest"></a> | ||||||
|  |  | ||||||
|  | ### GetMemoRequest | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | id | [int32](#int32) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-GetMemoResponse"></a> | ||||||
|  |  | ||||||
|  | ### GetMemoResponse | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | memo | [Memo](#memos-api-v2-Memo) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-ListMemoCommentsRequest"></a> | ||||||
|  |  | ||||||
|  | ### ListMemoCommentsRequest | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | id | [int32](#int32) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-ListMemoCommentsResponse"></a> | ||||||
|  |  | ||||||
|  | ### ListMemoCommentsResponse | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | memos | [Memo](#memos-api-v2-Memo) | repeated |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-ListMemoResourcesRequest"></a> | ||||||
|  |  | ||||||
|  | ### ListMemoResourcesRequest | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | id | [int32](#int32) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-ListMemoResourcesResponse"></a> | ||||||
|  |  | ||||||
|  | ### ListMemoResourcesResponse | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | resources | [Resource](#memos-api-v2-Resource) | repeated |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-ListMemosRequest"></a> | ||||||
|  |  | ||||||
|  | ### ListMemosRequest | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | page | [int32](#int32) |  |  | | ||||||
|  | | page_size | [int32](#int32) |  |  | | ||||||
|  | | filter | [string](#string) |  | Filter is used to filter memos returned in the list. | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-ListMemosResponse"></a> | ||||||
|  |  | ||||||
|  | ### ListMemosResponse | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | memos | [Memo](#memos-api-v2-Memo) | repeated |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-Memo"></a> | ||||||
|  |  | ||||||
|  | ### Memo | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | id | [int32](#int32) |  |  | | ||||||
|  | | row_status | [RowStatus](#memos-api-v2-RowStatus) |  |  | | ||||||
|  | | creator_id | [int32](#int32) |  |  | | ||||||
|  | | 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) |  |  | | ||||||
|  | | nodes | [Node](#memos-api-v2-Node) | repeated |  | | ||||||
|  | | visibility | [Visibility](#memos-api-v2-Visibility) |  |  | | ||||||
|  | | pinned | [bool](#bool) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-UpdateMemoRequest"></a> | ||||||
|  |  | ||||||
|  | ### UpdateMemoRequest | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | id | [int32](#int32) |  |  | | ||||||
|  | | memo | [Memo](#memos-api-v2-Memo) |  |  | | ||||||
|  | | update_mask | [google.protobuf.FieldMask](#google-protobuf-FieldMask) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-UpdateMemoResponse"></a> | ||||||
|  |  | ||||||
|  | ### UpdateMemoResponse | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Field | Type | Label | Description | | ||||||
|  | | ----- | ---- | ----- | ----------- | | ||||||
|  | | memo | [Memo](#memos-api-v2-Memo) |  |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-Visibility"></a> | ||||||
|  |  | ||||||
|  | ### Visibility | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Name | Number | Description | | ||||||
|  | | ---- | ------ | ----------- | | ||||||
|  | | VISIBILITY_UNSPECIFIED | 0 |  | | ||||||
|  | | PRIVATE | 1 |  | | ||||||
|  | | PROTECTED | 2 |  | | ||||||
|  | | PUBLIC | 3 |  | | ||||||
|  |  | ||||||
|  |  | ||||||
|  |   | ||||||
|  |  | ||||||
|  |   | ||||||
|  |  | ||||||
|  |  | ||||||
|  | <a name="memos-api-v2-MemoService"></a> | ||||||
|  |  | ||||||
|  | ### MemoService | ||||||
|  |  | ||||||
|  |  | ||||||
|  | | Method Name | Request Type | Response Type | Description | | ||||||
|  | | ----------- | ------------ | ------------- | ------------| | ||||||
|  | | CreateMemo | [CreateMemoRequest](#memos-api-v2-CreateMemoRequest) | [CreateMemoResponse](#memos-api-v2-CreateMemoResponse) |  | | ||||||
|  | | ListMemos | [ListMemosRequest](#memos-api-v2-ListMemosRequest) | [ListMemosResponse](#memos-api-v2-ListMemosResponse) |  | | ||||||
|  | | GetMemo | [GetMemoRequest](#memos-api-v2-GetMemoRequest) | [GetMemoResponse](#memos-api-v2-GetMemoResponse) |  | | ||||||
|  | | UpdateMemo | [UpdateMemoRequest](#memos-api-v2-UpdateMemoRequest) | [UpdateMemoResponse](#memos-api-v2-UpdateMemoResponse) |  | | ||||||
|  | | DeleteMemo | [DeleteMemoRequest](#memos-api-v2-DeleteMemoRequest) | [DeleteMemoResponse](#memos-api-v2-DeleteMemoResponse) |  | | ||||||
|  | | ListMemoResources | [ListMemoResourcesRequest](#memos-api-v2-ListMemoResourcesRequest) | [ListMemoResourcesResponse](#memos-api-v2-ListMemoResourcesResponse) |  | | ||||||
|  | | CreateMemoComment | [CreateMemoCommentRequest](#memos-api-v2-CreateMemoCommentRequest) | [CreateMemoCommentResponse](#memos-api-v2-CreateMemoCommentResponse) |  | | ||||||
|  | | ListMemoComments | [ListMemoCommentsRequest](#memos-api-v2-ListMemoCommentsRequest) | [ListMemoCommentsResponse](#memos-api-v2-ListMemoCommentsResponse) |  | | ||||||
|  |  | ||||||
|  |   | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="api_v2_system_service-proto"></a> | <a name="api_v2_system_service-proto"></a> | ||||||
| <p align="right"><a href="#top">Top</a></p> | <p align="right"><a href="#top">Top</a></p> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -696,6 +696,100 @@ func (*DeleteMemoResponse) Descriptor() ([]byte, []int) { | |||||||
| 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{10} | 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{10} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | type ListMemoResourcesRequest struct { | ||||||
|  | 	state         protoimpl.MessageState | ||||||
|  | 	sizeCache     protoimpl.SizeCache | ||||||
|  | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
|  | 	Id int32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *ListMemoResourcesRequest) Reset() { | ||||||
|  | 	*x = ListMemoResourcesRequest{} | ||||||
|  | 	if protoimpl.UnsafeEnabled { | ||||||
|  | 		mi := &file_api_v2_memo_service_proto_msgTypes[11] | ||||||
|  | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
|  | 		ms.StoreMessageInfo(mi) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *ListMemoResourcesRequest) String() string { | ||||||
|  | 	return protoimpl.X.MessageStringOf(x) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (*ListMemoResourcesRequest) ProtoMessage() {} | ||||||
|  |  | ||||||
|  | func (x *ListMemoResourcesRequest) ProtoReflect() protoreflect.Message { | ||||||
|  | 	mi := &file_api_v2_memo_service_proto_msgTypes[11] | ||||||
|  | 	if protoimpl.UnsafeEnabled && x != nil { | ||||||
|  | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
|  | 		if ms.LoadMessageInfo() == nil { | ||||||
|  | 			ms.StoreMessageInfo(mi) | ||||||
|  | 		} | ||||||
|  | 		return ms | ||||||
|  | 	} | ||||||
|  | 	return mi.MessageOf(x) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Deprecated: Use ListMemoResourcesRequest.ProtoReflect.Descriptor instead. | ||||||
|  | func (*ListMemoResourcesRequest) Descriptor() ([]byte, []int) { | ||||||
|  | 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{11} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *ListMemoResourcesRequest) GetId() int32 { | ||||||
|  | 	if x != nil { | ||||||
|  | 		return x.Id | ||||||
|  | 	} | ||||||
|  | 	return 0 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | type ListMemoResourcesResponse struct { | ||||||
|  | 	state         protoimpl.MessageState | ||||||
|  | 	sizeCache     protoimpl.SizeCache | ||||||
|  | 	unknownFields protoimpl.UnknownFields | ||||||
|  |  | ||||||
|  | 	Resources []*Resource `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty"` | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *ListMemoResourcesResponse) Reset() { | ||||||
|  | 	*x = ListMemoResourcesResponse{} | ||||||
|  | 	if protoimpl.UnsafeEnabled { | ||||||
|  | 		mi := &file_api_v2_memo_service_proto_msgTypes[12] | ||||||
|  | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
|  | 		ms.StoreMessageInfo(mi) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *ListMemoResourcesResponse) String() string { | ||||||
|  | 	return protoimpl.X.MessageStringOf(x) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (*ListMemoResourcesResponse) ProtoMessage() {} | ||||||
|  |  | ||||||
|  | func (x *ListMemoResourcesResponse) ProtoReflect() protoreflect.Message { | ||||||
|  | 	mi := &file_api_v2_memo_service_proto_msgTypes[12] | ||||||
|  | 	if protoimpl.UnsafeEnabled && x != nil { | ||||||
|  | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
|  | 		if ms.LoadMessageInfo() == nil { | ||||||
|  | 			ms.StoreMessageInfo(mi) | ||||||
|  | 		} | ||||||
|  | 		return ms | ||||||
|  | 	} | ||||||
|  | 	return mi.MessageOf(x) | ||||||
|  | } | ||||||
|  |  | ||||||
|  | // Deprecated: Use ListMemoResourcesResponse.ProtoReflect.Descriptor instead. | ||||||
|  | func (*ListMemoResourcesResponse) Descriptor() ([]byte, []int) { | ||||||
|  | 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{12} | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func (x *ListMemoResourcesResponse) GetResources() []*Resource { | ||||||
|  | 	if x != nil { | ||||||
|  | 		return x.Resources | ||||||
|  | 	} | ||||||
|  | 	return nil | ||||||
|  | } | ||||||
|  |  | ||||||
| type CreateMemoCommentRequest struct { | type CreateMemoCommentRequest struct { | ||||||
| 	state         protoimpl.MessageState | 	state         protoimpl.MessageState | ||||||
| 	sizeCache     protoimpl.SizeCache | 	sizeCache     protoimpl.SizeCache | ||||||
| @@ -709,7 +803,7 @@ type CreateMemoCommentRequest struct { | |||||||
| func (x *CreateMemoCommentRequest) Reset() { | func (x *CreateMemoCommentRequest) Reset() { | ||||||
| 	*x = CreateMemoCommentRequest{} | 	*x = CreateMemoCommentRequest{} | ||||||
| 	if protoimpl.UnsafeEnabled { | 	if protoimpl.UnsafeEnabled { | ||||||
| 		mi := &file_api_v2_memo_service_proto_msgTypes[11] | 		mi := &file_api_v2_memo_service_proto_msgTypes[13] | ||||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
| 		ms.StoreMessageInfo(mi) | 		ms.StoreMessageInfo(mi) | ||||||
| 	} | 	} | ||||||
| @@ -722,7 +816,7 @@ func (x *CreateMemoCommentRequest) String() string { | |||||||
| func (*CreateMemoCommentRequest) ProtoMessage() {} | func (*CreateMemoCommentRequest) ProtoMessage() {} | ||||||
|  |  | ||||||
| func (x *CreateMemoCommentRequest) ProtoReflect() protoreflect.Message { | func (x *CreateMemoCommentRequest) ProtoReflect() protoreflect.Message { | ||||||
| 	mi := &file_api_v2_memo_service_proto_msgTypes[11] | 	mi := &file_api_v2_memo_service_proto_msgTypes[13] | ||||||
| 	if protoimpl.UnsafeEnabled && x != nil { | 	if protoimpl.UnsafeEnabled && x != nil { | ||||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
| 		if ms.LoadMessageInfo() == nil { | 		if ms.LoadMessageInfo() == nil { | ||||||
| @@ -735,7 +829,7 @@ func (x *CreateMemoCommentRequest) ProtoReflect() protoreflect.Message { | |||||||
|  |  | ||||||
| // Deprecated: Use CreateMemoCommentRequest.ProtoReflect.Descriptor instead. | // Deprecated: Use CreateMemoCommentRequest.ProtoReflect.Descriptor instead. | ||||||
| func (*CreateMemoCommentRequest) Descriptor() ([]byte, []int) { | func (*CreateMemoCommentRequest) Descriptor() ([]byte, []int) { | ||||||
| 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{11} | 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{13} | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *CreateMemoCommentRequest) GetId() int32 { | func (x *CreateMemoCommentRequest) GetId() int32 { | ||||||
| @@ -763,7 +857,7 @@ type CreateMemoCommentResponse struct { | |||||||
| func (x *CreateMemoCommentResponse) Reset() { | func (x *CreateMemoCommentResponse) Reset() { | ||||||
| 	*x = CreateMemoCommentResponse{} | 	*x = CreateMemoCommentResponse{} | ||||||
| 	if protoimpl.UnsafeEnabled { | 	if protoimpl.UnsafeEnabled { | ||||||
| 		mi := &file_api_v2_memo_service_proto_msgTypes[12] | 		mi := &file_api_v2_memo_service_proto_msgTypes[14] | ||||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
| 		ms.StoreMessageInfo(mi) | 		ms.StoreMessageInfo(mi) | ||||||
| 	} | 	} | ||||||
| @@ -776,7 +870,7 @@ func (x *CreateMemoCommentResponse) String() string { | |||||||
| func (*CreateMemoCommentResponse) ProtoMessage() {} | func (*CreateMemoCommentResponse) ProtoMessage() {} | ||||||
|  |  | ||||||
| func (x *CreateMemoCommentResponse) ProtoReflect() protoreflect.Message { | func (x *CreateMemoCommentResponse) ProtoReflect() protoreflect.Message { | ||||||
| 	mi := &file_api_v2_memo_service_proto_msgTypes[12] | 	mi := &file_api_v2_memo_service_proto_msgTypes[14] | ||||||
| 	if protoimpl.UnsafeEnabled && x != nil { | 	if protoimpl.UnsafeEnabled && x != nil { | ||||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
| 		if ms.LoadMessageInfo() == nil { | 		if ms.LoadMessageInfo() == nil { | ||||||
| @@ -789,7 +883,7 @@ func (x *CreateMemoCommentResponse) ProtoReflect() protoreflect.Message { | |||||||
|  |  | ||||||
| // Deprecated: Use CreateMemoCommentResponse.ProtoReflect.Descriptor instead. | // Deprecated: Use CreateMemoCommentResponse.ProtoReflect.Descriptor instead. | ||||||
| func (*CreateMemoCommentResponse) Descriptor() ([]byte, []int) { | func (*CreateMemoCommentResponse) Descriptor() ([]byte, []int) { | ||||||
| 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{12} | 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{14} | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *CreateMemoCommentResponse) GetMemo() *Memo { | func (x *CreateMemoCommentResponse) GetMemo() *Memo { | ||||||
| @@ -810,7 +904,7 @@ type ListMemoCommentsRequest struct { | |||||||
| func (x *ListMemoCommentsRequest) Reset() { | func (x *ListMemoCommentsRequest) Reset() { | ||||||
| 	*x = ListMemoCommentsRequest{} | 	*x = ListMemoCommentsRequest{} | ||||||
| 	if protoimpl.UnsafeEnabled { | 	if protoimpl.UnsafeEnabled { | ||||||
| 		mi := &file_api_v2_memo_service_proto_msgTypes[13] | 		mi := &file_api_v2_memo_service_proto_msgTypes[15] | ||||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
| 		ms.StoreMessageInfo(mi) | 		ms.StoreMessageInfo(mi) | ||||||
| 	} | 	} | ||||||
| @@ -823,7 +917,7 @@ func (x *ListMemoCommentsRequest) String() string { | |||||||
| func (*ListMemoCommentsRequest) ProtoMessage() {} | func (*ListMemoCommentsRequest) ProtoMessage() {} | ||||||
|  |  | ||||||
| func (x *ListMemoCommentsRequest) ProtoReflect() protoreflect.Message { | func (x *ListMemoCommentsRequest) ProtoReflect() protoreflect.Message { | ||||||
| 	mi := &file_api_v2_memo_service_proto_msgTypes[13] | 	mi := &file_api_v2_memo_service_proto_msgTypes[15] | ||||||
| 	if protoimpl.UnsafeEnabled && x != nil { | 	if protoimpl.UnsafeEnabled && x != nil { | ||||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
| 		if ms.LoadMessageInfo() == nil { | 		if ms.LoadMessageInfo() == nil { | ||||||
| @@ -836,7 +930,7 @@ func (x *ListMemoCommentsRequest) ProtoReflect() protoreflect.Message { | |||||||
|  |  | ||||||
| // Deprecated: Use ListMemoCommentsRequest.ProtoReflect.Descriptor instead. | // Deprecated: Use ListMemoCommentsRequest.ProtoReflect.Descriptor instead. | ||||||
| func (*ListMemoCommentsRequest) Descriptor() ([]byte, []int) { | func (*ListMemoCommentsRequest) Descriptor() ([]byte, []int) { | ||||||
| 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{13} | 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{15} | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *ListMemoCommentsRequest) GetId() int32 { | func (x *ListMemoCommentsRequest) GetId() int32 { | ||||||
| @@ -857,7 +951,7 @@ type ListMemoCommentsResponse struct { | |||||||
| func (x *ListMemoCommentsResponse) Reset() { | func (x *ListMemoCommentsResponse) Reset() { | ||||||
| 	*x = ListMemoCommentsResponse{} | 	*x = ListMemoCommentsResponse{} | ||||||
| 	if protoimpl.UnsafeEnabled { | 	if protoimpl.UnsafeEnabled { | ||||||
| 		mi := &file_api_v2_memo_service_proto_msgTypes[14] | 		mi := &file_api_v2_memo_service_proto_msgTypes[16] | ||||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
| 		ms.StoreMessageInfo(mi) | 		ms.StoreMessageInfo(mi) | ||||||
| 	} | 	} | ||||||
| @@ -870,7 +964,7 @@ func (x *ListMemoCommentsResponse) String() string { | |||||||
| func (*ListMemoCommentsResponse) ProtoMessage() {} | func (*ListMemoCommentsResponse) ProtoMessage() {} | ||||||
|  |  | ||||||
| func (x *ListMemoCommentsResponse) ProtoReflect() protoreflect.Message { | func (x *ListMemoCommentsResponse) ProtoReflect() protoreflect.Message { | ||||||
| 	mi := &file_api_v2_memo_service_proto_msgTypes[14] | 	mi := &file_api_v2_memo_service_proto_msgTypes[16] | ||||||
| 	if protoimpl.UnsafeEnabled && x != nil { | 	if protoimpl.UnsafeEnabled && x != nil { | ||||||
| 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) | ||||||
| 		if ms.LoadMessageInfo() == nil { | 		if ms.LoadMessageInfo() == nil { | ||||||
| @@ -883,7 +977,7 @@ func (x *ListMemoCommentsResponse) ProtoReflect() protoreflect.Message { | |||||||
|  |  | ||||||
| // Deprecated: Use ListMemoCommentsResponse.ProtoReflect.Descriptor instead. | // Deprecated: Use ListMemoCommentsResponse.ProtoReflect.Descriptor instead. | ||||||
| func (*ListMemoCommentsResponse) Descriptor() ([]byte, []int) { | func (*ListMemoCommentsResponse) Descriptor() ([]byte, []int) { | ||||||
| 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{14} | 	return file_api_v2_memo_service_proto_rawDescGZIP(), []int{16} | ||||||
| } | } | ||||||
|  |  | ||||||
| func (x *ListMemoCommentsResponse) GetMemos() []*Memo { | func (x *ListMemoCommentsResponse) GetMemos() []*Memo { | ||||||
| @@ -901,144 +995,163 @@ var file_api_v2_memo_service_proto_rawDesc = []byte{ | |||||||
| 	0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x13, 0x61, 0x70, 0x69, 0x2f, 0x76, | 	0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x1a, 0x13, 0x61, 0x70, 0x69, 0x2f, 0x76, | ||||||
| 	0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, | 	0x32, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, | ||||||
| 	0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, | 	0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x61, 0x72, 0x6b, 0x64, 0x6f, 0x77, 0x6e, 0x5f, | ||||||
| 	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, | 	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x61, | ||||||
| 	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, | 	0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, | ||||||
| 	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, | 	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, | ||||||
| 	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, | 	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, | ||||||
| 	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, | 	0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, | ||||||
| 	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, | 	0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, | ||||||
| 	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, | 	0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, | ||||||
| 	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, | 	0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, | ||||||
| 	0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x03, 0x0a, 0x04, 0x4d, 0x65, 0x6d, 0x6f, | 	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, | ||||||
| 	0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, | 	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, | ||||||
| 	0x12, 0x36, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, | 	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x03, 0x0a, 0x04, 0x4d, 0x65, 0x6d, 0x6f, 0x12, | ||||||
| 	0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, | 	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, | ||||||
| 	0x2e, 0x76, 0x32, 0x2e, 0x52, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x72, | 	0x36, 0x0a, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, | ||||||
| 	0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, | 	0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, | ||||||
| 	0x74, 0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, | 	0x76, 0x32, 0x2e, 0x52, 0x6f, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x72, 0x6f, | ||||||
| 	0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, | 	0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, | ||||||
| 	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, | 	0x6f, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x63, 0x72, 0x65, | ||||||
| 	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, | 	0x61, 0x74, 0x6f, 0x72, 0x49, 0x64, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, | ||||||
| 	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, | 	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, | ||||||
| 	0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, | 	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, | ||||||
| 	0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, | 	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, | ||||||
| 	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, | 	0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, | ||||||
| 	0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, | 	0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, | ||||||
| 	0x65, 0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, | 	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, | ||||||
| 	0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, | 	0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, | ||||||
| 	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, | 	0x12, 0x3d, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, | ||||||
| 	0x61, 0x6d, 0x70, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, | 	0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, | ||||||
| 	0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, | 	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, | ||||||
| 	0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x05, 0x6e, 0x6f, | 	0x6d, 0x70, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, | ||||||
| 	0x64, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, | 	0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, | ||||||
| 	0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, | 	0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x05, 0x6e, 0x6f, 0x64, | ||||||
| 	0x6f, 0x64, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, | 	0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, | ||||||
| 	0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, | 	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x05, 0x6e, 0x6f, | ||||||
|  | 	0x64, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, | ||||||
|  | 	0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, | ||||||
|  | 	0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, | ||||||
|  | 	0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, | ||||||
|  | 	0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, | ||||||
|  | 	0x69, 0x6e, 0x6e, 0x65, 0x64, 0x22, 0x67, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, | ||||||
|  | 	0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, | ||||||
|  | 	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6e, | ||||||
|  | 	0x74, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, | ||||||
|  | 	0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, | ||||||
| 	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, | 	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, | ||||||
| 	0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x16, | 	0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, 0x3c, | ||||||
| 	0x0a, 0x06, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, | 	0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, | ||||||
| 	0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x22, 0x67, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, | 	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x01, 0x20, 0x01, | ||||||
| 	0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, | 	0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, | ||||||
| 	0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, | 	0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x22, 0x5b, 0x0a, 0x10, | ||||||
| 	0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x38, 0x0a, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, | 	0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | ||||||
| 	0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, | 	0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, | ||||||
| 	0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, | 	0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, | ||||||
| 	0x69, 0x74, 0x79, 0x52, 0x0a, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x22, | 	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, | ||||||
| 	0x3c, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, | 	0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, | ||||||
| 	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x01, 0x20, | 	0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x3d, 0x0a, 0x11, 0x4c, 0x69, 0x73, | ||||||
| 	0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, | 	0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, | ||||||
| 	0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x22, 0x5b, 0x0a, | 	0x0a, 0x05, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, | ||||||
| 	0x10, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | 	0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, | ||||||
| 	0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, | 	0x6f, 0x52, 0x05, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x22, 0x20, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x4d, | ||||||
| 	0x04, 0x70, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, | 	0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, | ||||||
| 	0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, | 	0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x39, 0x0a, 0x0f, 0x47, 0x65, | ||||||
| 	0x7a, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, | 	0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, | ||||||
| 	0x28, 0x09, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x22, 0x3d, 0x0a, 0x11, 0x4c, 0x69, | 	0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, | ||||||
| 	0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, | 	0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, | ||||||
| 	0x28, 0x0a, 0x05, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, | 	0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, | ||||||
| 	0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, |  | ||||||
| 	0x6d, 0x6f, 0x52, 0x05, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x22, 0x20, 0x0a, 0x0e, 0x47, 0x65, 0x74, |  | ||||||
| 	0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, | 	0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, | ||||||
| 	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x39, 0x0a, 0x0f, 0x47, | 	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x04, 0x6d, | ||||||
| 	0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, | 	0x65, 0x6d, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, | ||||||
| 	0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, | 	0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x04, 0x6d, | ||||||
| 	0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, | 	0x65, 0x6d, 0x6f, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, | ||||||
| 	0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x22, 0x88, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, | 	0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, | ||||||
| 	0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, | 	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, | ||||||
| 	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x04, | 	0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, | ||||||
| 	0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, | 	0x22, 0x3c, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, | ||||||
| 	0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x04, | 	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x01, | ||||||
| 	0x6d, 0x65, 0x6d, 0x6f, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, | 	0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, | ||||||
| 	0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, | 	0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x22, 0x23, | ||||||
| 	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, | 	0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, | ||||||
| 	0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, | 	0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, | ||||||
| 	0x6b, 0x22, 0x3c, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, | 	0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, | ||||||
| 	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x18, | 	0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x0a, 0x18, 0x4c, 0x69, 0x73, | ||||||
| 	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, | 	0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, | ||||||
| 	0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x04, 0x6d, 0x65, 0x6d, 0x6f, 0x22, | 	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, | ||||||
| 	0x23, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, | 	0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x51, 0x0a, 0x19, 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, 0x12, 0x34, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, | ||||||
|  | 	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, | ||||||
|  | 	0x69, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, | ||||||
|  | 	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x63, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, | ||||||
|  | 	0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, | ||||||
| 	0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, | 	0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, | ||||||
| 	0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, | 	0x52, 0x02, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x02, | ||||||
| 	0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x0a, 0x18, 0x43, 0x72, | 	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, | ||||||
| 	0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, | 	0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, | ||||||
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, | 	0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x22, 0x43, 0x0a, | ||||||
| 	0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, | 	0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, | ||||||
| 	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, | 	0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x04, 0x6d, 0x65, | ||||||
| 	0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, | 	0x6d, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, | ||||||
| 	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x22, | 	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x04, 0x6d, 0x65, | ||||||
| 	0x43, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, | 	0x6d, 0x6f, 0x22, 0x29, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, | ||||||
| 	0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x04, | 	0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, | ||||||
| 	0x6d, 0x65, 0x6d, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, | 	0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, 0x44, 0x0a, | ||||||
| 	0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x04, | 	0x18, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, | ||||||
| 	0x6d, 0x65, 0x6d, 0x6f, 0x22, 0x29, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, | 	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x6d, 0x65, 0x6d, | ||||||
| 	0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, | 	0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, | ||||||
| 	0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x02, 0x69, 0x64, 0x22, | 	0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x05, 0x6d, 0x65, | ||||||
| 	0x44, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, | 	0x6d, 0x6f, 0x73, 0x2a, 0x50, 0x0a, 0x0a, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, | ||||||
| 	0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x05, 0x6d, | 	0x79, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, | ||||||
| 	0x65, 0x6d, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x6d, | 	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, | ||||||
| 	0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x05, | 	0x07, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x52, | ||||||
| 	0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2a, 0x50, 0x0a, 0x0a, 0x56, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, | 	0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x55, 0x42, | ||||||
| 	0x69, 0x74, 0x79, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x49, 0x53, 0x49, 0x42, 0x49, 0x4c, 0x49, 0x54, | 	0x4c, 0x49, 0x43, 0x10, 0x03, 0x32, 0xec, 0x07, 0x0a, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, 0x53, 0x65, | ||||||
| 	0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, | 	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x69, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, | ||||||
| 	0x0b, 0x0a, 0x07, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, | 	0x65, 0x6d, 0x6f, 0x12, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, | ||||||
| 	0x50, 0x52, 0x4f, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x50, | 	0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, | ||||||
| 	0x55, 0x42, 0x4c, 0x49, 0x43, 0x10, 0x03, 0x32, 0xda, 0x06, 0x0a, 0x0b, 0x4d, 0x65, 0x6d, 0x6f, | 	0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, | ||||||
| 	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x69, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, | 	0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, | ||||||
| 	0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, | 	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, | ||||||
| 	0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, | 	0x2a, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, | ||||||
| 	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, | 	0x12, 0x63, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x12, 0x1e, 0x2e, | ||||||
| 	0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, | 	0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, | ||||||
| 	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, | 	0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, | ||||||
| 	0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, | 	0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, | ||||||
| 	0x6f, 0x73, 0x12, 0x63, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x12, | 	0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x15, | ||||||
| 	0x1e, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, | 	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, | ||||||
| 	0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, | 	0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x12, 0x67, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, | ||||||
| 	0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, | 	0x12, 0x1c, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, | ||||||
| 	0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | 	0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, | ||||||
| 	0x22, 0x15, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, | 	0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, | ||||||
| 	0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x12, 0x67, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x4d, 0x65, | 	0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0xda, | ||||||
| 	0x6d, 0x6f, 0x12, 0x1c, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, | 	0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, | ||||||
| 	0x32, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | 	0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x80, | ||||||
| 	0x1a, 0x1d, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, | 	0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x12, 0x1f, 0x2e, | ||||||
| 	0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, | 	0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, | ||||||
| 	0x1f, 0xda, 0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, | 	0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, | ||||||
| 	0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, | 	0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, | ||||||
| 	0x12, 0x80, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x12, | 	0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, | ||||||
| 	0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x55, | 	0x22, 0x2f, 0xda, 0x41, 0x0f, 0x69, 0x64, 0x2c, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, | ||||||
| 	0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, | 	0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x32, 0x12, 0x2f, | ||||||
|  | 	0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x7b, 0x69, 0x64, | ||||||
|  | 	0x7d, 0x12, 0x70, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x12, | ||||||
|  | 	0x1f, 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, 0x71, 0x75, 0x65, 0x73, 0x74, | ||||||
| 	0x1a, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, | 	0x1a, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, | ||||||
| 	0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | 	0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, | ||||||
| 	0x73, 0x65, 0x22, 0x2f, 0xda, 0x41, 0x0f, 0x69, 0x64, 0x2c, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, | 	0x73, 0x65, 0x22, 0x1f, 0xda, 0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x2a, | ||||||
| 	0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x32, |  | ||||||
| 	0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x7b, | 	0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x7b, | ||||||
| 	0x69, 0x64, 0x7d, 0x12, 0x70, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, | 	0x69, 0x64, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, | ||||||
| 	0x6f, 0x12, 0x1f, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, | 	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, | ||||||
| 	0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, | 	0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, | ||||||
| 	0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, | 	0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, | ||||||
| 	0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x70, | 	0x74, 0x1a, 0x27, 0x2e, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, | ||||||
| 	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1f, 0xda, 0x41, 0x02, 0x69, 0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, | 	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, | ||||||
| 	0x14, 0x2a, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, | 	0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0xda, 0x41, 0x02, 0x69, | ||||||
| 	0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0x8e, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, | 	0x64, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, | ||||||
|  | 	0x2f, 0x6d, 0x65, 0x6d, 0x6f, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x6f, | ||||||
|  | 	0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x8e, 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, | 	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, | 	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, 0x4d, 0x65, 0x6d, 0x6f, 0x43, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, | ||||||
| @@ -1083,7 +1196,7 @@ func file_api_v2_memo_service_proto_rawDescGZIP() []byte { | |||||||
| } | } | ||||||
|  |  | ||||||
| var file_api_v2_memo_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) | var file_api_v2_memo_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1) | ||||||
| var file_api_v2_memo_service_proto_msgTypes = make([]protoimpl.MessageInfo, 15) | var file_api_v2_memo_service_proto_msgTypes = make([]protoimpl.MessageInfo, 17) | ||||||
| var file_api_v2_memo_service_proto_goTypes = []interface{}{ | var file_api_v2_memo_service_proto_goTypes = []interface{}{ | ||||||
| 	(Visibility)(0),                   // 0: memos.api.v2.Visibility | 	(Visibility)(0),                   // 0: memos.api.v2.Visibility | ||||||
| 	(*Memo)(nil),                      // 1: memos.api.v2.Memo | 	(*Memo)(nil),                      // 1: memos.api.v2.Memo | ||||||
| @@ -1097,51 +1210,57 @@ var file_api_v2_memo_service_proto_goTypes = []interface{}{ | |||||||
| 	(*UpdateMemoResponse)(nil),        // 9: memos.api.v2.UpdateMemoResponse | 	(*UpdateMemoResponse)(nil),        // 9: memos.api.v2.UpdateMemoResponse | ||||||
| 	(*DeleteMemoRequest)(nil),         // 10: memos.api.v2.DeleteMemoRequest | 	(*DeleteMemoRequest)(nil),         // 10: memos.api.v2.DeleteMemoRequest | ||||||
| 	(*DeleteMemoResponse)(nil),        // 11: memos.api.v2.DeleteMemoResponse | 	(*DeleteMemoResponse)(nil),        // 11: memos.api.v2.DeleteMemoResponse | ||||||
| 	(*CreateMemoCommentRequest)(nil),  // 12: memos.api.v2.CreateMemoCommentRequest | 	(*ListMemoResourcesRequest)(nil),  // 12: memos.api.v2.ListMemoResourcesRequest | ||||||
| 	(*CreateMemoCommentResponse)(nil), // 13: memos.api.v2.CreateMemoCommentResponse | 	(*ListMemoResourcesResponse)(nil), // 13: memos.api.v2.ListMemoResourcesResponse | ||||||
| 	(*ListMemoCommentsRequest)(nil),   // 14: memos.api.v2.ListMemoCommentsRequest | 	(*CreateMemoCommentRequest)(nil),  // 14: memos.api.v2.CreateMemoCommentRequest | ||||||
| 	(*ListMemoCommentsResponse)(nil),  // 15: memos.api.v2.ListMemoCommentsResponse | 	(*CreateMemoCommentResponse)(nil), // 15: memos.api.v2.CreateMemoCommentResponse | ||||||
| 	(RowStatus)(0),                    // 16: memos.api.v2.RowStatus | 	(*ListMemoCommentsRequest)(nil),   // 16: memos.api.v2.ListMemoCommentsRequest | ||||||
| 	(*timestamppb.Timestamp)(nil),     // 17: google.protobuf.Timestamp | 	(*ListMemoCommentsResponse)(nil),  // 17: memos.api.v2.ListMemoCommentsResponse | ||||||
| 	(*Node)(nil),                      // 18: memos.api.v2.Node | 	(RowStatus)(0),                    // 18: memos.api.v2.RowStatus | ||||||
| 	(*fieldmaskpb.FieldMask)(nil),     // 19: google.protobuf.FieldMask | 	(*timestamppb.Timestamp)(nil),     // 19: google.protobuf.Timestamp | ||||||
|  | 	(*Node)(nil),                      // 20: memos.api.v2.Node | ||||||
|  | 	(*fieldmaskpb.FieldMask)(nil),     // 21: google.protobuf.FieldMask | ||||||
|  | 	(*Resource)(nil),                  // 22: memos.api.v2.Resource | ||||||
| } | } | ||||||
| var file_api_v2_memo_service_proto_depIdxs = []int32{ | var file_api_v2_memo_service_proto_depIdxs = []int32{ | ||||||
| 	16, // 0: memos.api.v2.Memo.row_status:type_name -> memos.api.v2.RowStatus | 	18, // 0: memos.api.v2.Memo.row_status:type_name -> memos.api.v2.RowStatus | ||||||
| 	17, // 1: memos.api.v2.Memo.create_time:type_name -> google.protobuf.Timestamp | 	19, // 1: memos.api.v2.Memo.create_time:type_name -> google.protobuf.Timestamp | ||||||
| 	17, // 2: memos.api.v2.Memo.update_time:type_name -> google.protobuf.Timestamp | 	19, // 2: memos.api.v2.Memo.update_time:type_name -> google.protobuf.Timestamp | ||||||
| 	17, // 3: memos.api.v2.Memo.display_time:type_name -> google.protobuf.Timestamp | 	19, // 3: memos.api.v2.Memo.display_time:type_name -> google.protobuf.Timestamp | ||||||
| 	18, // 4: memos.api.v2.Memo.nodes:type_name -> memos.api.v2.Node | 	20, // 4: memos.api.v2.Memo.nodes:type_name -> memos.api.v2.Node | ||||||
| 	0,  // 5: memos.api.v2.Memo.visibility:type_name -> memos.api.v2.Visibility | 	0,  // 5: memos.api.v2.Memo.visibility:type_name -> memos.api.v2.Visibility | ||||||
| 	0,  // 6: memos.api.v2.CreateMemoRequest.visibility:type_name -> memos.api.v2.Visibility | 	0,  // 6: memos.api.v2.CreateMemoRequest.visibility:type_name -> memos.api.v2.Visibility | ||||||
| 	1,  // 7: memos.api.v2.CreateMemoResponse.memo:type_name -> memos.api.v2.Memo | 	1,  // 7: memos.api.v2.CreateMemoResponse.memo:type_name -> memos.api.v2.Memo | ||||||
| 	1,  // 8: memos.api.v2.ListMemosResponse.memos:type_name -> memos.api.v2.Memo | 	1,  // 8: memos.api.v2.ListMemosResponse.memos:type_name -> memos.api.v2.Memo | ||||||
| 	1,  // 9: memos.api.v2.GetMemoResponse.memo:type_name -> memos.api.v2.Memo | 	1,  // 9: memos.api.v2.GetMemoResponse.memo:type_name -> memos.api.v2.Memo | ||||||
| 	1,  // 10: memos.api.v2.UpdateMemoRequest.memo:type_name -> memos.api.v2.Memo | 	1,  // 10: memos.api.v2.UpdateMemoRequest.memo:type_name -> memos.api.v2.Memo | ||||||
| 	19, // 11: memos.api.v2.UpdateMemoRequest.update_mask:type_name -> google.protobuf.FieldMask | 	21, // 11: memos.api.v2.UpdateMemoRequest.update_mask:type_name -> google.protobuf.FieldMask | ||||||
| 	1,  // 12: memos.api.v2.UpdateMemoResponse.memo:type_name -> memos.api.v2.Memo | 	1,  // 12: memos.api.v2.UpdateMemoResponse.memo:type_name -> memos.api.v2.Memo | ||||||
| 	2,  // 13: memos.api.v2.CreateMemoCommentRequest.create:type_name -> memos.api.v2.CreateMemoRequest | 	22, // 13: memos.api.v2.ListMemoResourcesResponse.resources:type_name -> memos.api.v2.Resource | ||||||
| 	1,  // 14: memos.api.v2.CreateMemoCommentResponse.memo:type_name -> memos.api.v2.Memo | 	2,  // 14: memos.api.v2.CreateMemoCommentRequest.create:type_name -> memos.api.v2.CreateMemoRequest | ||||||
| 	1,  // 15: memos.api.v2.ListMemoCommentsResponse.memos:type_name -> memos.api.v2.Memo | 	1,  // 15: memos.api.v2.CreateMemoCommentResponse.memo:type_name -> memos.api.v2.Memo | ||||||
| 	2,  // 16: memos.api.v2.MemoService.CreateMemo:input_type -> memos.api.v2.CreateMemoRequest | 	1,  // 16: memos.api.v2.ListMemoCommentsResponse.memos:type_name -> memos.api.v2.Memo | ||||||
| 	4,  // 17: memos.api.v2.MemoService.ListMemos:input_type -> memos.api.v2.ListMemosRequest | 	2,  // 17: memos.api.v2.MemoService.CreateMemo:input_type -> memos.api.v2.CreateMemoRequest | ||||||
| 	6,  // 18: memos.api.v2.MemoService.GetMemo:input_type -> memos.api.v2.GetMemoRequest | 	4,  // 18: memos.api.v2.MemoService.ListMemos:input_type -> memos.api.v2.ListMemosRequest | ||||||
| 	8,  // 19: memos.api.v2.MemoService.UpdateMemo:input_type -> memos.api.v2.UpdateMemoRequest | 	6,  // 19: memos.api.v2.MemoService.GetMemo:input_type -> memos.api.v2.GetMemoRequest | ||||||
| 	10, // 20: memos.api.v2.MemoService.DeleteMemo:input_type -> memos.api.v2.DeleteMemoRequest | 	8,  // 20: memos.api.v2.MemoService.UpdateMemo:input_type -> memos.api.v2.UpdateMemoRequest | ||||||
| 	12, // 21: memos.api.v2.MemoService.CreateMemoComment:input_type -> memos.api.v2.CreateMemoCommentRequest | 	10, // 21: memos.api.v2.MemoService.DeleteMemo:input_type -> memos.api.v2.DeleteMemoRequest | ||||||
| 	14, // 22: memos.api.v2.MemoService.ListMemoComments:input_type -> memos.api.v2.ListMemoCommentsRequest | 	12, // 22: memos.api.v2.MemoService.ListMemoResources:input_type -> memos.api.v2.ListMemoResourcesRequest | ||||||
| 	3,  // 23: memos.api.v2.MemoService.CreateMemo:output_type -> memos.api.v2.CreateMemoResponse | 	14, // 23: memos.api.v2.MemoService.CreateMemoComment:input_type -> memos.api.v2.CreateMemoCommentRequest | ||||||
| 	5,  // 24: memos.api.v2.MemoService.ListMemos:output_type -> memos.api.v2.ListMemosResponse | 	16, // 24: memos.api.v2.MemoService.ListMemoComments:input_type -> memos.api.v2.ListMemoCommentsRequest | ||||||
| 	7,  // 25: memos.api.v2.MemoService.GetMemo:output_type -> memos.api.v2.GetMemoResponse | 	3,  // 25: memos.api.v2.MemoService.CreateMemo:output_type -> memos.api.v2.CreateMemoResponse | ||||||
| 	9,  // 26: memos.api.v2.MemoService.UpdateMemo:output_type -> memos.api.v2.UpdateMemoResponse | 	5,  // 26: memos.api.v2.MemoService.ListMemos:output_type -> memos.api.v2.ListMemosResponse | ||||||
| 	11, // 27: memos.api.v2.MemoService.DeleteMemo:output_type -> memos.api.v2.DeleteMemoResponse | 	7,  // 27: memos.api.v2.MemoService.GetMemo:output_type -> memos.api.v2.GetMemoResponse | ||||||
| 	13, // 28: memos.api.v2.MemoService.CreateMemoComment:output_type -> memos.api.v2.CreateMemoCommentResponse | 	9,  // 28: memos.api.v2.MemoService.UpdateMemo:output_type -> memos.api.v2.UpdateMemoResponse | ||||||
| 	15, // 29: memos.api.v2.MemoService.ListMemoComments:output_type -> memos.api.v2.ListMemoCommentsResponse | 	11, // 29: memos.api.v2.MemoService.DeleteMemo:output_type -> memos.api.v2.DeleteMemoResponse | ||||||
| 	23, // [23:30] is the sub-list for method output_type | 	13, // 30: memos.api.v2.MemoService.ListMemoResources:output_type -> memos.api.v2.ListMemoResourcesResponse | ||||||
| 	16, // [16:23] is the sub-list for method input_type | 	15, // 31: memos.api.v2.MemoService.CreateMemoComment:output_type -> memos.api.v2.CreateMemoCommentResponse | ||||||
| 	16, // [16:16] is the sub-list for extension type_name | 	17, // 32: memos.api.v2.MemoService.ListMemoComments:output_type -> memos.api.v2.ListMemoCommentsResponse | ||||||
| 	16, // [16:16] is the sub-list for extension extendee | 	25, // [25:33] is the sub-list for method output_type | ||||||
| 	0,  // [0:16] is the sub-list for field type_name | 	17, // [17:25] is the sub-list for method input_type | ||||||
|  | 	17, // [17:17] is the sub-list for extension type_name | ||||||
|  | 	17, // [17:17] is the sub-list for extension extendee | ||||||
|  | 	0,  // [0:17] is the sub-list for field type_name | ||||||
| } | } | ||||||
|  |  | ||||||
| func init() { file_api_v2_memo_service_proto_init() } | func init() { file_api_v2_memo_service_proto_init() } | ||||||
| @@ -1151,6 +1270,7 @@ func file_api_v2_memo_service_proto_init() { | |||||||
| 	} | 	} | ||||||
| 	file_api_v2_common_proto_init() | 	file_api_v2_common_proto_init() | ||||||
| 	file_api_v2_markdown_service_proto_init() | 	file_api_v2_markdown_service_proto_init() | ||||||
|  | 	file_api_v2_resource_service_proto_init() | ||||||
| 	if !protoimpl.UnsafeEnabled { | 	if !protoimpl.UnsafeEnabled { | ||||||
| 		file_api_v2_memo_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { | 		file_api_v2_memo_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { | ||||||
| 			switch v := v.(*Memo); i { | 			switch v := v.(*Memo); i { | ||||||
| @@ -1285,7 +1405,7 @@ func file_api_v2_memo_service_proto_init() { | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		file_api_v2_memo_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { | 		file_api_v2_memo_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { | ||||||
| 			switch v := v.(*CreateMemoCommentRequest); i { | 			switch v := v.(*ListMemoResourcesRequest); i { | ||||||
| 			case 0: | 			case 0: | ||||||
| 				return &v.state | 				return &v.state | ||||||
| 			case 1: | 			case 1: | ||||||
| @@ -1297,7 +1417,7 @@ func file_api_v2_memo_service_proto_init() { | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		file_api_v2_memo_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { | 		file_api_v2_memo_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { | ||||||
| 			switch v := v.(*CreateMemoCommentResponse); i { | 			switch v := v.(*ListMemoResourcesResponse); i { | ||||||
| 			case 0: | 			case 0: | ||||||
| 				return &v.state | 				return &v.state | ||||||
| 			case 1: | 			case 1: | ||||||
| @@ -1309,7 +1429,7 @@ func file_api_v2_memo_service_proto_init() { | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		file_api_v2_memo_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { | 		file_api_v2_memo_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { | ||||||
| 			switch v := v.(*ListMemoCommentsRequest); i { | 			switch v := v.(*CreateMemoCommentRequest); i { | ||||||
| 			case 0: | 			case 0: | ||||||
| 				return &v.state | 				return &v.state | ||||||
| 			case 1: | 			case 1: | ||||||
| @@ -1321,6 +1441,30 @@ func file_api_v2_memo_service_proto_init() { | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		file_api_v2_memo_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { | 		file_api_v2_memo_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { | ||||||
|  | 			switch v := v.(*CreateMemoCommentResponse); i { | ||||||
|  | 			case 0: | ||||||
|  | 				return &v.state | ||||||
|  | 			case 1: | ||||||
|  | 				return &v.sizeCache | ||||||
|  | 			case 2: | ||||||
|  | 				return &v.unknownFields | ||||||
|  | 			default: | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		file_api_v2_memo_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { | ||||||
|  | 			switch v := v.(*ListMemoCommentsRequest); i { | ||||||
|  | 			case 0: | ||||||
|  | 				return &v.state | ||||||
|  | 			case 1: | ||||||
|  | 				return &v.sizeCache | ||||||
|  | 			case 2: | ||||||
|  | 				return &v.unknownFields | ||||||
|  | 			default: | ||||||
|  | 				return nil | ||||||
|  | 			} | ||||||
|  | 		} | ||||||
|  | 		file_api_v2_memo_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { | ||||||
| 			switch v := v.(*ListMemoCommentsResponse); i { | 			switch v := v.(*ListMemoCommentsResponse); i { | ||||||
| 			case 0: | 			case 0: | ||||||
| 				return &v.state | 				return &v.state | ||||||
| @@ -1339,7 +1483,7 @@ func file_api_v2_memo_service_proto_init() { | |||||||
| 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(), | ||||||
| 			RawDescriptor: file_api_v2_memo_service_proto_rawDesc, | 			RawDescriptor: file_api_v2_memo_service_proto_rawDesc, | ||||||
| 			NumEnums:      1, | 			NumEnums:      1, | ||||||
| 			NumMessages:   15, | 			NumMessages:   17, | ||||||
| 			NumExtensions: 0, | 			NumExtensions: 0, | ||||||
| 			NumServices:   1, | 			NumServices:   1, | ||||||
| 		}, | 		}, | ||||||
|   | |||||||
| @@ -273,6 +273,58 @@ func local_request_MemoService_DeleteMemo_0(ctx context.Context, marshaler runti | |||||||
|  |  | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func request_MemoService_ListMemoResources_0(ctx context.Context, marshaler runtime.Marshaler, client MemoServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||||
|  | 	var protoReq ListMemoResourcesRequest | ||||||
|  | 	var metadata runtime.ServerMetadata | ||||||
|  |  | ||||||
|  | 	var ( | ||||||
|  | 		val string | ||||||
|  | 		ok  bool | ||||||
|  | 		err error | ||||||
|  | 		_   = err | ||||||
|  | 	) | ||||||
|  |  | ||||||
|  | 	val, ok = pathParams["id"] | ||||||
|  | 	if !ok { | ||||||
|  | 		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	protoReq.Id, err = runtime.Int32(val) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	msg, err := client.ListMemoResources(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) | ||||||
|  | 	return msg, metadata, err | ||||||
|  |  | ||||||
|  | } | ||||||
|  |  | ||||||
|  | func local_request_MemoService_ListMemoResources_0(ctx context.Context, marshaler runtime.Marshaler, server MemoServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { | ||||||
|  | 	var protoReq ListMemoResourcesRequest | ||||||
|  | 	var metadata runtime.ServerMetadata | ||||||
|  |  | ||||||
|  | 	var ( | ||||||
|  | 		val string | ||||||
|  | 		ok  bool | ||||||
|  | 		err error | ||||||
|  | 		_   = err | ||||||
|  | 	) | ||||||
|  |  | ||||||
|  | 	val, ok = pathParams["id"] | ||||||
|  | 	if !ok { | ||||||
|  | 		return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	protoReq.Id, err = runtime.Int32(val) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	msg, err := server.ListMemoResources(ctx, &protoReq) | ||||||
|  | 	return msg, metadata, err | ||||||
|  |  | ||||||
|  | } | ||||||
|  |  | ||||||
| var ( | var ( | ||||||
| 	filter_MemoService_CreateMemoComment_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} | 	filter_MemoService_CreateMemoComment_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 2, 0, 0}, Check: []int{0, 1, 2, 2}} | ||||||
| ) | ) | ||||||
| @@ -526,6 +578,31 @@ func RegisterMemoServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux | |||||||
|  |  | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
|  | 	mux.Handle("GET", pattern_MemoService_ListMemoResources_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||||
|  | 		ctx, cancel := context.WithCancel(req.Context()) | ||||||
|  | 		defer cancel() | ||||||
|  | 		var stream runtime.ServerTransportStream | ||||||
|  | 		ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) | ||||||
|  | 		inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) | ||||||
|  | 		var err error | ||||||
|  | 		var annotatedContext context.Context | ||||||
|  | 		annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/memos.api.v2.MemoService/ListMemoResources", runtime.WithHTTPPathPattern("/api/v2/memos/{id}/resources")) | ||||||
|  | 		if err != nil { | ||||||
|  | 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||||
|  | 			return | ||||||
|  | 		} | ||||||
|  | 		resp, md, err := local_request_MemoService_ListMemoResources_0(annotatedContext, inboundMarshaler, server, req, pathParams) | ||||||
|  | 		md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) | ||||||
|  | 		annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) | ||||||
|  | 		if err != nil { | ||||||
|  | 			runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) | ||||||
|  | 			return | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		forward_MemoService_ListMemoResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||||
|  |  | ||||||
|  | 	}) | ||||||
|  |  | ||||||
| 	mux.Handle("POST", pattern_MemoService_CreateMemoComment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | 	mux.Handle("POST", pattern_MemoService_CreateMemoComment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||||
| 		ctx, cancel := context.WithCancel(req.Context()) | 		ctx, cancel := context.WithCancel(req.Context()) | ||||||
| 		defer cancel() | 		defer cancel() | ||||||
| @@ -727,6 +804,28 @@ func RegisterMemoServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux | |||||||
|  |  | ||||||
| 	}) | 	}) | ||||||
|  |  | ||||||
|  | 	mux.Handle("GET", pattern_MemoService_ListMemoResources_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) | ||||||
|  | 		var err error | ||||||
|  | 		var annotatedContext context.Context | ||||||
|  | 		annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/memos.api.v2.MemoService/ListMemoResources", runtime.WithHTTPPathPattern("/api/v2/memos/{id}/resources")) | ||||||
|  | 		if err != nil { | ||||||
|  | 			runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) | ||||||
|  | 			return | ||||||
|  | 		} | ||||||
|  | 		resp, md, err := request_MemoService_ListMemoResources_0(annotatedContext, inboundMarshaler, client, req, pathParams) | ||||||
|  | 		annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) | ||||||
|  | 		if err != nil { | ||||||
|  | 			runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) | ||||||
|  | 			return | ||||||
|  | 		} | ||||||
|  |  | ||||||
|  | 		forward_MemoService_ListMemoResources_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) | ||||||
|  |  | ||||||
|  | 	}) | ||||||
|  |  | ||||||
| 	mux.Handle("POST", pattern_MemoService_CreateMemoComment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | 	mux.Handle("POST", pattern_MemoService_CreateMemoComment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { | ||||||
| 		ctx, cancel := context.WithCancel(req.Context()) | 		ctx, cancel := context.WithCancel(req.Context()) | ||||||
| 		defer cancel() | 		defer cancel() | ||||||
| @@ -785,6 +884,8 @@ var ( | |||||||
|  |  | ||||||
| 	pattern_MemoService_DeleteMemo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v2", "memos", "id"}, "")) | 	pattern_MemoService_DeleteMemo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v2", "memos", "id"}, "")) | ||||||
|  |  | ||||||
|  | 	pattern_MemoService_ListMemoResources_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v2", "memos", "id", "resources"}, "")) | ||||||
|  |  | ||||||
| 	pattern_MemoService_CreateMemoComment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v2", "memos", "id", "comments"}, "")) | 	pattern_MemoService_CreateMemoComment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v2", "memos", "id", "comments"}, "")) | ||||||
|  |  | ||||||
| 	pattern_MemoService_ListMemoComments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v2", "memos", "id", "comments"}, "")) | 	pattern_MemoService_ListMemoComments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v2", "memos", "id", "comments"}, "")) | ||||||
| @@ -801,6 +902,8 @@ var ( | |||||||
|  |  | ||||||
| 	forward_MemoService_DeleteMemo_0 = runtime.ForwardResponseMessage | 	forward_MemoService_DeleteMemo_0 = runtime.ForwardResponseMessage | ||||||
|  |  | ||||||
|  | 	forward_MemoService_ListMemoResources_0 = runtime.ForwardResponseMessage | ||||||
|  |  | ||||||
| 	forward_MemoService_CreateMemoComment_0 = runtime.ForwardResponseMessage | 	forward_MemoService_CreateMemoComment_0 = runtime.ForwardResponseMessage | ||||||
|  |  | ||||||
| 	forward_MemoService_ListMemoComments_0 = runtime.ForwardResponseMessage | 	forward_MemoService_ListMemoComments_0 = runtime.ForwardResponseMessage | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ const ( | |||||||
| 	MemoService_GetMemo_FullMethodName           = "/memos.api.v2.MemoService/GetMemo" | 	MemoService_GetMemo_FullMethodName           = "/memos.api.v2.MemoService/GetMemo" | ||||||
| 	MemoService_UpdateMemo_FullMethodName        = "/memos.api.v2.MemoService/UpdateMemo" | 	MemoService_UpdateMemo_FullMethodName        = "/memos.api.v2.MemoService/UpdateMemo" | ||||||
| 	MemoService_DeleteMemo_FullMethodName        = "/memos.api.v2.MemoService/DeleteMemo" | 	MemoService_DeleteMemo_FullMethodName        = "/memos.api.v2.MemoService/DeleteMemo" | ||||||
|  | 	MemoService_ListMemoResources_FullMethodName = "/memos.api.v2.MemoService/ListMemoResources" | ||||||
| 	MemoService_CreateMemoComment_FullMethodName = "/memos.api.v2.MemoService/CreateMemoComment" | 	MemoService_CreateMemoComment_FullMethodName = "/memos.api.v2.MemoService/CreateMemoComment" | ||||||
| 	MemoService_ListMemoComments_FullMethodName  = "/memos.api.v2.MemoService/ListMemoComments" | 	MemoService_ListMemoComments_FullMethodName  = "/memos.api.v2.MemoService/ListMemoComments" | ||||||
| ) | ) | ||||||
| @@ -37,6 +38,7 @@ type MemoServiceClient interface { | |||||||
| 	GetMemo(ctx context.Context, in *GetMemoRequest, opts ...grpc.CallOption) (*GetMemoResponse, error) | 	GetMemo(ctx context.Context, in *GetMemoRequest, opts ...grpc.CallOption) (*GetMemoResponse, error) | ||||||
| 	UpdateMemo(ctx context.Context, in *UpdateMemoRequest, opts ...grpc.CallOption) (*UpdateMemoResponse, error) | 	UpdateMemo(ctx context.Context, in *UpdateMemoRequest, opts ...grpc.CallOption) (*UpdateMemoResponse, error) | ||||||
| 	DeleteMemo(ctx context.Context, in *DeleteMemoRequest, opts ...grpc.CallOption) (*DeleteMemoResponse, error) | 	DeleteMemo(ctx context.Context, in *DeleteMemoRequest, opts ...grpc.CallOption) (*DeleteMemoResponse, error) | ||||||
|  | 	ListMemoResources(ctx context.Context, in *ListMemoResourcesRequest, opts ...grpc.CallOption) (*ListMemoResourcesResponse, error) | ||||||
| 	CreateMemoComment(ctx context.Context, in *CreateMemoCommentRequest, opts ...grpc.CallOption) (*CreateMemoCommentResponse, error) | 	CreateMemoComment(ctx context.Context, in *CreateMemoCommentRequest, opts ...grpc.CallOption) (*CreateMemoCommentResponse, error) | ||||||
| 	ListMemoComments(ctx context.Context, in *ListMemoCommentsRequest, opts ...grpc.CallOption) (*ListMemoCommentsResponse, error) | 	ListMemoComments(ctx context.Context, in *ListMemoCommentsRequest, opts ...grpc.CallOption) (*ListMemoCommentsResponse, error) | ||||||
| } | } | ||||||
| @@ -94,6 +96,15 @@ func (c *memoServiceClient) DeleteMemo(ctx context.Context, in *DeleteMemoReques | |||||||
| 	return out, nil | 	return out, nil | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func (c *memoServiceClient) ListMemoResources(ctx context.Context, in *ListMemoResourcesRequest, opts ...grpc.CallOption) (*ListMemoResourcesResponse, error) { | ||||||
|  | 	out := new(ListMemoResourcesResponse) | ||||||
|  | 	err := c.cc.Invoke(ctx, MemoService_ListMemoResources_FullMethodName, in, out, opts...) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	return out, nil | ||||||
|  | } | ||||||
|  |  | ||||||
| func (c *memoServiceClient) CreateMemoComment(ctx context.Context, in *CreateMemoCommentRequest, opts ...grpc.CallOption) (*CreateMemoCommentResponse, error) { | func (c *memoServiceClient) CreateMemoComment(ctx context.Context, in *CreateMemoCommentRequest, opts ...grpc.CallOption) (*CreateMemoCommentResponse, error) { | ||||||
| 	out := new(CreateMemoCommentResponse) | 	out := new(CreateMemoCommentResponse) | ||||||
| 	err := c.cc.Invoke(ctx, MemoService_CreateMemoComment_FullMethodName, in, out, opts...) | 	err := c.cc.Invoke(ctx, MemoService_CreateMemoComment_FullMethodName, in, out, opts...) | ||||||
| @@ -121,6 +132,7 @@ type MemoServiceServer interface { | |||||||
| 	GetMemo(context.Context, *GetMemoRequest) (*GetMemoResponse, error) | 	GetMemo(context.Context, *GetMemoRequest) (*GetMemoResponse, error) | ||||||
| 	UpdateMemo(context.Context, *UpdateMemoRequest) (*UpdateMemoResponse, error) | 	UpdateMemo(context.Context, *UpdateMemoRequest) (*UpdateMemoResponse, error) | ||||||
| 	DeleteMemo(context.Context, *DeleteMemoRequest) (*DeleteMemoResponse, error) | 	DeleteMemo(context.Context, *DeleteMemoRequest) (*DeleteMemoResponse, error) | ||||||
|  | 	ListMemoResources(context.Context, *ListMemoResourcesRequest) (*ListMemoResourcesResponse, error) | ||||||
| 	CreateMemoComment(context.Context, *CreateMemoCommentRequest) (*CreateMemoCommentResponse, error) | 	CreateMemoComment(context.Context, *CreateMemoCommentRequest) (*CreateMemoCommentResponse, error) | ||||||
| 	ListMemoComments(context.Context, *ListMemoCommentsRequest) (*ListMemoCommentsResponse, error) | 	ListMemoComments(context.Context, *ListMemoCommentsRequest) (*ListMemoCommentsResponse, error) | ||||||
| 	mustEmbedUnimplementedMemoServiceServer() | 	mustEmbedUnimplementedMemoServiceServer() | ||||||
| @@ -145,6 +157,9 @@ func (UnimplementedMemoServiceServer) UpdateMemo(context.Context, *UpdateMemoReq | |||||||
| func (UnimplementedMemoServiceServer) DeleteMemo(context.Context, *DeleteMemoRequest) (*DeleteMemoResponse, error) { | func (UnimplementedMemoServiceServer) DeleteMemo(context.Context, *DeleteMemoRequest) (*DeleteMemoResponse, error) { | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method DeleteMemo not implemented") | 	return nil, status.Errorf(codes.Unimplemented, "method DeleteMemo not implemented") | ||||||
| } | } | ||||||
|  | func (UnimplementedMemoServiceServer) ListMemoResources(context.Context, *ListMemoResourcesRequest) (*ListMemoResourcesResponse, error) { | ||||||
|  | 	return nil, status.Errorf(codes.Unimplemented, "method ListMemoResources not implemented") | ||||||
|  | } | ||||||
| func (UnimplementedMemoServiceServer) CreateMemoComment(context.Context, *CreateMemoCommentRequest) (*CreateMemoCommentResponse, error) { | func (UnimplementedMemoServiceServer) CreateMemoComment(context.Context, *CreateMemoCommentRequest) (*CreateMemoCommentResponse, error) { | ||||||
| 	return nil, status.Errorf(codes.Unimplemented, "method CreateMemoComment not implemented") | 	return nil, status.Errorf(codes.Unimplemented, "method CreateMemoComment not implemented") | ||||||
| } | } | ||||||
| @@ -254,6 +269,24 @@ func _MemoService_DeleteMemo_Handler(srv interface{}, ctx context.Context, dec f | |||||||
| 	return interceptor(ctx, in, info, handler) | 	return interceptor(ctx, in, info, handler) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func _MemoService_ListMemoResources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
|  | 	in := new(ListMemoResourcesRequest) | ||||||
|  | 	if err := dec(in); err != nil { | ||||||
|  | 		return nil, err | ||||||
|  | 	} | ||||||
|  | 	if interceptor == nil { | ||||||
|  | 		return srv.(MemoServiceServer).ListMemoResources(ctx, in) | ||||||
|  | 	} | ||||||
|  | 	info := &grpc.UnaryServerInfo{ | ||||||
|  | 		Server:     srv, | ||||||
|  | 		FullMethod: MemoService_ListMemoResources_FullMethodName, | ||||||
|  | 	} | ||||||
|  | 	handler := func(ctx context.Context, req interface{}) (interface{}, error) { | ||||||
|  | 		return srv.(MemoServiceServer).ListMemoResources(ctx, req.(*ListMemoResourcesRequest)) | ||||||
|  | 	} | ||||||
|  | 	return interceptor(ctx, in, info, handler) | ||||||
|  | } | ||||||
|  |  | ||||||
| func _MemoService_CreateMemoComment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | func _MemoService_CreateMemoComment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { | ||||||
| 	in := new(CreateMemoCommentRequest) | 	in := new(CreateMemoCommentRequest) | ||||||
| 	if err := dec(in); err != nil { | 	if err := dec(in); err != nil { | ||||||
| @@ -317,6 +350,10 @@ var MemoService_ServiceDesc = grpc.ServiceDesc{ | |||||||
| 			MethodName: "DeleteMemo", | 			MethodName: "DeleteMemo", | ||||||
| 			Handler:    _MemoService_DeleteMemo_Handler, | 			Handler:    _MemoService_DeleteMemo_Handler, | ||||||
| 		}, | 		}, | ||||||
|  | 		{ | ||||||
|  | 			MethodName: "ListMemoResources", | ||||||
|  | 			Handler:    _MemoService_ListMemoResources_Handler, | ||||||
|  | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			MethodName: "CreateMemoComment", | 			MethodName: "CreateMemoComment", | ||||||
| 			Handler:    _MemoService_CreateMemoComment_Handler, | 			Handler:    _MemoService_CreateMemoComment_Handler, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user