Changes
6 changed files (+87/-5)
-
-
@@ -306,6 +306,21 @@return connect.NewResponse(&res), nil } func (s *Service) CreateInitialAdmin( ctx context.Context, req *connect.Request[workspaceV2.CreateInitialAdminRequest], ) (*connect.Response[workspaceV2.CreateInitialAdminResponse], error) { res := workspaceV2.CreateInitialAdminResponse{ Result: &workspaceV2.CreateInitialAdminResponse_SystemError{ SystemError: &errorV1.SystemError{ Message: proto.String("Not Implemented"), }, }, } return connect.NewResponse(&res), nil } func (s *Service) Register(mux *http.ServeMux) { path, handler := workspaceV2connect.NewWorkspaceServiceHandler(s)
-
-
-
@@ -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 CreateInitialAdminRequest { // [必須] ログインユーザ名。社員 ID でもハンドルネームでも本名でも。 string name = 1; // 公開名。未設定の場合は `name` の値となる。 string display_name = 2; // [必須] 初期パスワード。 string password = 3; // 管理ユーザセットアップパスワード。 string initial_admin_password = 4; }
-
-
-
@@ -0,0 +1,32 @@// 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/authentication_error.proto"; import "yamori/error/v1/missing_field_error.proto"; import "yamori/error/v1/system_error.proto"; import "yamori/workspace/v2/user.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2"; message CreateInitialAdminResponse { oneof result { // 作成された管理者ユーザ。 User ok = 1; // 予期せぬエラー。 yamori.error.v1.SystemError system_error = 2; // 既に管理者ユーザが存在し、初期設定パスワードが利用できない。 yamori.error.v1.AuthenticationError password_expired = 3; // パスワードが異なる。 yamori.error.v1.AuthenticationError authentication_error = 4; // リクエストの必須フィールドが欠けている。 yamori.error.v1.MissingFieldError missing_field_error = 5; } }
-
-
-
@@ -6,6 +6,7 @@package yamori.workspace.v2; import "yamori/capability/v1/capability_key.proto"; import "yamori/workspace/v2/user_permissions.proto"; option go_package = "pocka.jp/x/yamori/proto/go/workspace/v2";
-
@@ -19,13 +20,21 @@// [必須] 初期パスワード。 string password = 3; // 管理者ユーザかどうか。 // TODO: 実装側で `CreateInitialAdminRequest` に移行後削除する。 bool is_admin = 4; // 管理ユーザセットアップパスワード。 // ワークスペースに誰も管理者ユーザが存在しない状態で管理者ユーザを // 登録する際のパスワード。 // TODO: 実装側で `CreateInitialAdminRequest` に移行後削除する。 string initial_admin_password = 5; oneof role { // 管理者ユーザ。 `false` は不正な値となる。 // TODO: 実装側で `CreateInitialAdminRequest` に移行後フィールド番号を4にする。 bool admin = 7; // 通常ユーザ。 // TODO: 実装側で `CreateInitialAdminRequest` に移行後フィールド番号を5にする。 UserPermissions regular = 8; } // `Workspace.user_add_key` の値。 // `initial_admin_password` が未指定の場合は必須。
-
-
-
@@ -22,7 +22,6 @@ // 予期せぬエラー。yamori.error.v1.SystemError system_error = 2; // ログインしていない、トークンやセッションが不正といった認証に関するエラーが発生した。 // 管理ユーザセットアップパスワードに関するエラー(条件不一致や文字列不一致)もこれになる。 yamori.error.v1.AuthenticationError authentication_error = 3; // リクエストの必須フィールドが欠けている。
-
-
-
@@ -5,6 +5,8 @@ edition = "2023";package yamori.workspace.v2; import "yamori/workspace/v2/create_initial_admin_request.proto"; import "yamori/workspace/v2/create_initial_admin_response.proto"; import "yamori/workspace/v2/create_user_request.proto"; import "yamori/workspace/v2/create_user_response.proto"; import "yamori/workspace/v2/get_request.proto";
-
@@ -32,4 +34,7 @@ // ワークスペース情報を更新する。rpc Update(UpdateRequest) returns (UpdateResponse); rpc CreateUser(CreateUserRequest) returns (CreateUserResponse); // ワークスペースに管理者が一人もいない状態で、最初の管理者ユーザを作成する。 rpc CreateInitialAdmin(CreateInitialAdminRequest) returns (CreateInitialAdminResponse); }
-