forked from scratchfoundation/scratch-gui
-
-
Notifications
You must be signed in to change notification settings - Fork 16
Closed
Description
概要
Issue #417 の Step 3: 基本GraphQL API実装を行います。
GraphQL gemの設定と基本的なQuery/Mutationを実装し、PlayerAiとGameMapの基本操作を可能にします。
実装内容
1. GraphQL gem設定
- GraphQL gem の設定とセットアップ
- GraphQL schema ファイル作成
- GraphQL controller 作成
- routes.rb への GraphQL endpoint 追加
2. 基本スキーマ定義
- PlayerAi type 定義
- GameMap type 定義
- 基本的な scalar types (DateTime, JSON等) 定義
- enum types (GameStatus, PlayerStatus等) 定義
3. PlayerAi関連 Query/Mutation
- availablePlayerAis Query 実装
- presetPlayerAis Query 実装
- registerPlayerAi Mutation 実装
- PlayerAi type resolver 実装
4. GameMap関連 Query
- gameMaps Query 実装
- GameMap type resolver 実装
- マップデータの JSON serialization 対応
5. エラーハンドリング
- GraphQL エラーハンドリング設定
- バリデーションエラーの GraphQL 形式での返却
- 基本的な例外処理
6. テスト作成
- GraphQL Query/Mutation の integration test
- エラーケースのテスト
- GraphQL schema のバリデーションテスト
完了条件
- GraphQL playground が正常に動作する
- PlayerAi の登録・取得が GraphQL 経由で可能
- GameMap の取得が GraphQL 経由で可能
- 基本的なエラーハンドリングが動作する
- GraphQL のテストがパスする
関連Issue
- [スパイク]スモウルビー3から実行可能なスモウルビー甲子園の実行環境を設計する #417 [スパイク]スモウルビー3から実行可能なスモウルビー甲子園の実行環境を設計する
- [Step 1] 基盤環境構築 #418 [Step 1] 基盤環境構築
- [Step 2] データモデル・DB設計 #419 [Step 2] データモデル・DB設計
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Done