Changes
20 changed files (+282/-60)
-
packages/proto/yamori/workspace/v1/login_method.proto > packages/proto/yamori/workspace/v2/login_method.proto
-
@@ -3,9 +3,9 @@ // SPDX-License-Identifier: AGPL-3.0-onlyedition = "2023"; package yamori.workspace.v1; package yamori.workspace.v2; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v1"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message LoginMethod { // パスワードによるログインが設定されているか。
-
-
-
@@ -1,18 +0,0 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v1; import "yamori/workspace/v1/login_session_lifespan.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v1"; message LoginRequest { string name = 1; string password = 2; LoginSessionLifespan session_lifespan = 3; }
-
-
packages/proto/yamori/workspace/v1/login_response.proto > packages/proto/yamori/workspace/v2/login_response.proto
-
@@ -3,27 +3,27 @@ // SPDX-License-Identifier: AGPL-3.0-onlyedition = "2023"; package yamori.workspace.v1; package yamori.workspace.v2; import "yamori/error/v1/authentication_error.proto"; import "yamori/error/v1/missing_field_error.proto"; import "yamori/error/v1/system_error.proto"; import "yamori/workspace/v1/user.proto"; import "yamori/workspace/v2/user.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v1"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message LoginResponse { oneof result { // ログインしたユーザ。 User ok = 1; // 予期せぬシステムエラー。 // 予期せぬエラー。 yamori.error.v1.SystemError system_error = 2; // ユーザ名が見つからない、パスワードが異なっているといったエラー。 // ユーザ名やパスワードが異なっているといったエラー。 yamori.error.v1.AuthenticationError authentication_error = 3; // ログインに必要な要素が抜けている。 // ログインに必要な要素が欠けている。 yamori.error.v1.MissingFieldError missing_field_error = 4; } }
-
-
packages/proto/yamori/workspace/v1/login_session_lifespan.proto > packages/proto/yamori/workspace/v2/login_session_lifespan.proto
-
@@ -3,9 +3,9 @@ // SPDX-License-Identifier: AGPL-3.0-onlyedition = "2023"; package yamori.workspace.v1; package yamori.workspace.v2; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v1"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; enum LoginSessionLifespan { LOGIN_SESSION_LIFESPAN_UNKNOWN = 0;
-
-
-
@@ -9,10 +9,6 @@ import "yamori/workspace/v1/configure_singleton_request.proto";import "yamori/workspace/v1/configure_singleton_response.proto"; import "yamori/workspace/v1/get_singleton_request.proto"; import "yamori/workspace/v1/get_singleton_response.proto"; import "yamori/workspace/v1/login_request.proto"; import "yamori/workspace/v1/login_response.proto"; import "yamori/workspace/v1/logout_request.proto"; import "yamori/workspace/v1/logout_response.proto"; import "yamori/workspace/v1/update_singleton_request.proto"; import "yamori/workspace/v1/update_singleton_response.proto";
-
@@ -28,10 +24,4 @@ rpc UpdateSingleton(UpdateSingletonRequest) returns (UpdateSingletonResponse);// ワークスペースを設定する。既に設定済みの場合はエラーとなる。 rpc ConfigureSingleton(ConfigureSingletonRequest) returns (ConfigureSingletonResponse); // ワークスペースにログインする。 rpc Login(LoginRequest) returns (LoginResponse); // ワークスペースからログアウトする。 rpc Logout(LogoutRequest) returns (LogoutResponse); }
-
-
-
@@ -3,13 +3,12 @@ // SPDX-License-Identifier: AGPL-3.0-onlyedition = "2023"; package yamori.workspace.v1; package yamori.workspace.v2; import "yamori/workspace/v1/login_method.proto"; import "yamori/workspace/v1/user_id.proto"; import "yamori/workspace/v1/user_profile.proto"; import "yamori/workspace/v2/login_method.proto"; import "yamori/workspace/v2/user_id.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v1"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; // ワークスペースにログイン可能なユーザ。 message User {
-
@@ -19,7 +18,8 @@// ログインユーザ名。社員 ID でもハンドルネームでも本名でも。 string name = 2; UserProfile profile = 3; // 公開名。 string display_name = 3; // ログイン設定。 LoginMethod login_method = 4;
-
-
-
@@ -3,9 +3,9 @@ // SPDX-License-Identifier: AGPL-3.0-onlyedition = "2023"; package yamori.workspace.v1; package yamori.workspace.v2; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v1"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; // システムによって割り振られたワークスペース内で一意の識別子。 // ユーザ ID は `wu-` というプリフィクスを持つ。
-
-
-
@@ -1,14 +0,0 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v1; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v1"; // ユーザ自身が設定・変更できる項目。 message UserProfile { // 公開名。 string display_name = 1; }
-
-
-
@@ -0,0 +1,22 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message Abbreviations { // 休日の省略表示。 string dayoff = 1; // 出勤の省略表示。 string worked = 2; // 欠勤の省略表示。 string skip_work = 3; // 年次有給休暇 (取得) の省略表示。 string paid_leave = 4; }
-
-
-
@@ -0,0 +1,15 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; import "yamori/workspace/v2/workspace_read_mask.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message GetRequest { // GetResponse.ok に対してかけるフィールドマスク。 WorkspaceReadMask read_mask = 1; }
-
-
-
@@ -0,0 +1,20 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; import "yamori/error/v1/system_error.proto"; import "yamori/workspace/v2/workspace.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message GetResponse { oneof result { Workspace ok = 1; // システムエラーが発生したため取得処理が中断された。 yamori.error.v1.SystemError system_error = 3; } }
-
-
-
@@ -0,0 +1,19 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; import "yamori/workspace/v2/login_session_lifespan.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message LoginRequest { // ユーザ名。 string name = 1; string password = 2; LoginSessionLifespan session_lifespan = 3; }
-
-
-
@@ -0,0 +1,10 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message LogoutRequest {}
-
-
-
@@ -0,0 +1,16 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; import "yamori/error/v1/system_error.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message LogoutResponse { // 予期せぬシステムエラー。 // このフィールドが空の場合は正常にログアウトできたということになる。 yamori.error.v1.SystemError system_error = 1; }
-
-
-
@@ -0,0 +1,26 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; import "yamori/capability/v1/capability_key.proto"; import "yamori/workspace/v2/abbreviations.proto"; import "yamori/workspace/v2/workspace_read_mask.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message UpdateRequest { // ワークスペースの表示名。 string display_name = 1; // ワークスペース内で用いる省略表記。 Abbreviations abbreviations = 2; // [必須] ワークスペース自体の情報の更新を行うためのキー。 yamori.capability.v1.CapabilityKey update_key = 5; // UpdateResponse.ok に対してかけるフィールドマスク。 WorkspaceReadMask read_mask = 6; }
-
-
-
@@ -0,0 +1,24 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; import "yamori/error/v1/capability_error.proto"; import "yamori/error/v1/system_error.proto"; import "yamori/workspace/v2/workspace.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message UpdateResponse { oneof result { Workspace ok = 1; // システムエラーが発生した。 yamori.error.v1.SystemError system_error = 2; // 権限がない、もしくはキーが不正。 yamori.error.v1.CapabilityError capability_error = 3; } }
-
-
-
@@ -0,0 +1,14 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; // User を出力する際のフィールドマスク。 message UserReadMask { // レスポンスに含める User のフィールド番号。 repeated int32 fields = 1; }
-
-
-
@@ -0,0 +1,40 @@// SPDX-FileCopyrightText: 2024 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; import "yamori/capability/v1/capability_key.proto"; import "yamori/paid_leave_provision/v1/paid_leave_provision_table.proto"; import "yamori/work_record/v1/leave.proto"; import "yamori/workspace/v2/abbreviations.proto"; import "yamori/workspace/v2/user.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; // 労働者や勤怠記録といった全てのデータの管理単位。 // 会社や組織と考えて問題ない。 message Workspace { // ワークスペースの表示名。ユーザが選択する際などに識別 // するための human readable な名前。 string display_name = 1; // ワークスペース内で用いる省略表記。 Abbreviations abbreviations = 2; // ワークスペース上に定義されている休暇・休業の一覧。 repeated yamori.work_record.v1.Leave leave_definitions = 3; // 有給休暇の付与日数テーブルの一覧。 repeated yamori.paid_leave_provision.v1.PaidLeaveProvisionTable paid_leave_provision_tables = 4; // ワークスペースに登録されているユーザの一覧。 repeated User users = 5; // ワークスペースの更新を行うためのキー。 yamori.capability.v1.CapabilityKey update_key = 6; // ユーザの登録を行うためのキー。 yamori.capability.v1.CapabilityKey user_add_key = 7; }
-
-
-
@@ -0,0 +1,27 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; import "yamori/paid_leave_provision/v1/paid_leave_provision_table_read_mask.proto"; import "yamori/work_record/v1/leave_read_mask.proto"; import "yamori/workspace/v2/user_read_mask.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; // Workspace を出力する際のフィールドマスク。 message WorkspaceReadMask { // レスポンスに含める Workspace のフィールド番号。 repeated int32 fields = 1; // leave_definitions 内の各要素に対してかけるマスク。 yamori.work_record.v1.LeaveReadMask leave_definitions_mask = 2; // paid_leave_provision_tables の各要素にかけるマスク。 yamori.paid_leave_provision.v1.PaidLeaveProvisionTableReadMask paid_leave_provision_table_mask = 3; // users の各要素にかけるマスク。 UserReadMask users_mask = 4; }
-
-
-
@@ -0,0 +1,31 @@// SPDX-FileCopyrightText: 2025 Shota FUJI <pockawoooh@gmail.com> // SPDX-License-Identifier: AGPL-3.0-only edition = "2023"; package yamori.workspace.v2; import "yamori/workspace/v2/get_request.proto"; import "yamori/workspace/v2/get_response.proto"; import "yamori/workspace/v2/login_request.proto"; import "yamori/workspace/v2/login_response.proto"; import "yamori/workspace/v2/logout_request.proto"; import "yamori/workspace/v2/logout_response.proto"; import "yamori/workspace/v2/update_request.proto"; import "yamori/workspace/v2/update_response.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; service WorkspaceService { // ワークスペースにログインする。 rpc Login(LoginRequest) returns (LoginResponse); // ワークスペースからログアウトする。 rpc Logout(LogoutRequest) returns (LogoutResponse); // ワークスペース情報を取得する。 rpc Get(GetRequest) returns (GetResponse); // ワークスペース情報を更新する。 rpc Update(UpdateRequest) returns (UpdateResponse); }
-