作成
概要
新しいフォルダーを作成する。owner_id はセッションの user_id をサーバー側で自動設定する(クライアント指定不可)。
親フォルダーが指定された場合、親の owner_id が自分と一致することを検証する。
必要なデータ
Headers
Body (JSON)
例(ルート直下)
{
"name": "Projects"
}
例(サブフォルダー)
{
"name": "2026",
"folder_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
レスポンス
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "Projects",
"folder_id": null,
"owner": {
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"username": "alice",
"avatar_url": null
},
"created_at": "2026-06-01T10:05:00+09:00",
"updated_at": "2026-06-01T10:05:00+09:00"
}
Folder オブジェクトのフィールド
OwnerInfo オブジェクト
エラーケース
実装要件
id: サーバー側で UUID v4 生成owner_id: セッションのuser_idを設定(DB 列。レスポンスではownerオブジェクトとして返す)usersテーブルを JOIN してid/username/avatar_urlを取得し OwnerInfo を組み立てる(email/is_suspended/password_hash等の内部情報は含めない)- 実装時に
OwnerInfoDTO(または同等の struct)をmodels/に定義すること - 親指定時は親の
owner_idが自分と一致することを検証 - エラー形式: エラーレスポンスに準拠
- 同一親配下に同名フォルダーを複数作成可能(Google Drive 型。重複チェックは行わない)
- 必要コンポーネント: PostgreSQL