Changes
2 changed files (+58/-0)
-
-
@@ -5,8 +5,10 @@ edition = "2023";package yamori.workspace.v2; import "yamori/capability/v1/capability_key.proto"; import "yamori/workspace/v2/login_method.proto"; import "yamori/workspace/v2/user_id.proto"; import "yamori/workspace/v2/user_permissions.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2";
-
@@ -33,4 +35,16 @@ // 通常ユーザには与えられない。これは新しい権限を持つユーザが存在せず、// その新しい権限を持つユーザを誰も作成できないデッドロック状態を回避 // するための設計となる。 bool is_admin = 5; UserPermissions permissions = 6; // 削除するためのキー。 // 削除できない場合や権限がない場合は空となる。 yamori.capability.v1.CapabilityKey delete_key = 7; // ユーザ名や公開名を更新するためのキー。 yamori.capability.v1.CapabilityKey update_profile_key = 8; // ログイン設定の変更キー。 yamori.capability.v1.CapabilityKey update_login_method_key = 9; }
-
-
-
@@ -0,0 +1,44 @@// 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 UserPermissions { // ワークスペースにユーザを追加できるか。 // 作成される権限は作成するユーザの権限が最大となるため、 // 管理者ユーザは管理者ユーザによってしか追加できない。 bool can_add_user = 1; // ユーザの削除が行えるか。 // 管理者ユーザの削除は管理者ユーザのみ行える。 bool can_delete_regular_user = 2; // 実際の記録を含めない、自分以外のユーザ情報を参照できるか。 // これがない場合は編集や記録の参照も行えない。 bool can_read_other_user_profile = 3; // 実際の記録を含めない、自分以外のユーザ情報を編集できるか。 // 管理者ユーザに対する変更は管理者ユーザのみ行える。 bool can_update_other_regular_user_profile = 4; // 自分自身のユーザ情報を編集できるか。 bool can_update_self_profile = 5; // 自分以外のユーザのログイン手段の更新を行えるか。 // パスワードの変更や手段を削除してログイン不可にすることも含まれる。 // 管理者ユーザに対する変更は管理者ユーザのみ行える。 bool can_update_other_regular_user_login_method = 6; // ワークスペースの全体設定を変更できるかどうか。 // 休暇・休業の定義一覧や年次有給休暇の付与日数テーブル、省略表記など // も含まれる。 bool can_update_workspace = 7; }
-