yamori

有給休暇計算を主目的とした簡易勤怠管理システム

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 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;
}