Changes
6 changed files (+123/-0)
-
-
@@ -0,0 +1,12 @@// SPDX-FileCopyrightText: 2024 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.error.v1; // 対象のリソースが存在しない場合のエラー。 message NotFound { // リソースの型名。 string type_name = 1; }
-
-
-
@@ -0,0 +1,13 @@// SPDX-FileCopyrightText: 2024 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v1; import "yamori/workspace/v1/workspace_id.proto"; message DeleteRequest { // [必須] 削除対象のワークスペースの ID 。 WorkspaceID id = 1; }
-
-
-
@@ -0,0 +1,33 @@// SPDX-FileCopyrightText: 2024 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v1; import "yamori/error/v1/missing_field_error.proto"; import "yamori/error/v1/not_found.proto"; import "yamori/error/v1/system_error.proto"; import "yamori/workspace/v1/workspace.proto"; message DeleteResponse { message Result { // 削除されたワークスペース。 Workspace workspace = 1; } oneof result { Result ok = 1; // システムエラーが発生した。 yamori.error.v1.SystemError system_error = 2; // 必須フィールドに値が入っていないため削除されなかった。 yamori.error.v1.MissingFieldError missing_field = 3; // 削除対象のワークスペースが見つからない。 // - ID がおかしい // - 既に削除された yamori.error.v1.NotFound not_found = 4; } }
-
-
-
@@ -7,8 +7,12 @@ package yamori.workspace.v1;import "yamori/workspace/v1/create_request.proto"; import "yamori/workspace/v1/create_response.proto"; import "yamori/workspace/v1/delete_request.proto"; import "yamori/workspace/v1/delete_response.proto"; import "yamori/workspace/v1/list_request.proto"; import "yamori/workspace/v1/list_response.proto"; import "yamori/workspace/v1/update_request.proto"; import "yamori/workspace/v1/update_response.proto"; service KeyValueStorageBasedWorkspaceService { // アクセス可能なワークスペースの一覧を返す。
-
@@ -16,4 +20,10 @@ rpc List(ListRequest) returns (ListResponse);// ワークスペースを新規作成する。 rpc Create(CreateRequest) returns (CreateResponse); // ワークスペースを更新する。 rpc Update(UpdateRequest) returns (UpdateResponse); // ワークスペースを削除する。 rpc Delete(DeleteRequest) returns (DeleteResponse); }
-
-
-
@@ -0,0 +1,22 @@// SPDX-FileCopyrightText: 2024 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v1; import "google/protobuf/field_mask.proto"; import "yamori/workspace/v1/workspace_id.proto"; message UpdateRequest { // [必須] 更新対象のワークスペースの ID 。 WorkspaceID id = 1; // ワークスペースの表示名。 string display_name = 2; // 更新するフィールドの一覧。 // 有効なパス: // - `display_name` google.protobuf.FieldMask field_mask = 3; }
-
-
-
@@ -0,0 +1,33 @@// SPDX-FileCopyrightText: 2024 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v1; import "yamori/error/v1/missing_field_error.proto"; import "yamori/error/v1/not_found.proto"; import "yamori/error/v1/system_error.proto"; import "yamori/workspace/v1/workspace.proto"; message UpdateResponse { message Result { // 更新後のワークスペース。 Workspace workspace = 1; } oneof result { Result ok = 1; // システムエラーが発生した。 yamori.error.v1.SystemError system_error = 2; // 必須フィールドに値が入っていないため更新されなかった。 yamori.error.v1.MissingFieldError missing_field = 3; // 更新対象のワークスペースが見つからない。 // - ID がおかしい // - 既に削除された yamori.error.v1.NotFound not_found = 4; } }
-