create @ ScrollPanelsController

スクコマ作成

url

リクエスト

認証ユーザ
権限作家
methodpost
urlパラメータなし
POSTデータjson形式またはフォームで
html
json
jsonp×

解説

ScrollPanelsNewフォームからスクコマを新規作成するための機能。

  • セッションまたは認証トークンからユーザアカウントを特定する。
  • ユーザアカウントから作家を取得する。
  • スクコマオブジェクトを新規に興す。
  • スクコマにデフォルト値補充を依頼する。
  • POSTデータから、カラム値を復元して、スクコマに反映させる。
  • スクコマを上書き補充する。
  • スクロールモデルに編集取得を依頼して、権限をチェックする。
    • スクコマオブジェクトのスクロールidと作家を渡す。
  • コマモデルに単体取得を依頼して、権限をチェックする。
    • スクコマオブジェクトのコマidと作家を渡す。
  • スクコマモデルにデータの検証と保存を依頼する。
  • 作業結果をクライアントに戻す。

urlパラメータ

なし

POSTデータ

scroll_panel

ScrollPanelModelを参照

  • scroll_id
  • panel_id
  • t

auth_token

  • jsonで要求する場合、認証処置として認証トークンが必要。

戻り値

正常系

  • htmlのとき、ステータスコード302 Foundとともに、作成されたスクロールの閲覧(/scrolls/comic_id/play)ページに遷移する。
  • jsonのとき、ステータスコード200 OKとともに、json構造のデータを返す。
    • 出力フォーマットはスクコマモデルのストーリーのjson出力に従う。

参考:

例外系

  • ユーザアカウントでサインインしてなかった。(Devise)
    • htmlなら、ステータスコード302 Foundとともに、サインインを促すページ(/users/sign_in)へ遷移する。
    • jsonなら、ステータスコード401 Unauthorizedとともに、応答メッセージにUnauthorizedを返す。
  • 作家登録してなかった。
    • htmlなら、ステータスコード302 Foundを返すとともに、作家登録を促すページ(/authors/new)へ遷移する。
    • jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。
  • スクロールにスクコマ作成権限がなかった。(ScrollModel)
    • htmlなら、例外403 forbiddenを返す。
    • jsonなら、例外403 forbiddenを返す。
  • コマにスクコマ参照権限がなかった。(PanelModel)
    • htmlなら、例外403 forbiddenを返す。
    • jsonなら、例外403 forbiddenを返す。
  • 検証、保存に失敗した
    • htmlなら、ステータスコード200 OKとともに、新規ページを描画する。
      • パラメータで渡されたスクコマデータを入力フォームに保持している。
    • jsonなら、ステータスコード422 unprocessable_entityを返す。