create @ OriginalPictureLicenseGroupsController

原画ライセンスグループの検証。

url

リクエスト

権限絵師
methodpost
urlパラメータなし
POSTデータjson形式またはフォームで
html
json×
jsonp×

解説

OriginalPictureLicenseGroupsNewフォームから原画ライセンスグループを検証するための機能。このアクションはライセンス付与の途中経過なので、検証が通ればデータを次段階に投げる。遷移先はライセンスグループに定義してあるクラス名から取得する。

  • セッションまたは認証トークンから作家アカウントを特定する。
  • 作家アカウントから絵師データを取得する。
  • 原画モデルに単体取得を依頼して原画オブジェクトをもらう。
    • POSTデータの原画idと絵師データを使う。
  • POSTデータから原画ライセンスグループデータを起こす。
  • ライセンスグループモデルに単体取得を依頼してライセンスグループオブジェクトをもらう。
    • 原画ライセンスグループデータからライセンスグループを取得して渡す。
  • ライセンスグループのクラス名から遷移先のコントローラ名を算出する。
  • 原画ライセンスグループモデルにデータの検証を依頼する。
  • 作業結果をクライアントに戻す。

urlパラメータ

なし

POSTデータ

original_picture_id

  • 前段階から渡ってくる原画idを引き継いで受け取り

original_picture_license_group 原画ライセンスグループ情報

  • original_picture_id
    • 原画ライセンスグループを適用する原画のid
  • license_group_id
    • 原画に採択したライセンスグループのid

auth_token

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

戻り値

正常系

  • htmlのとき、ステータスコード200 OKとともに、ライセンスクラスの新規作成(ライセンスクラス名/attributes/new)ページを描画する。
  • jsのとき、ステータスコード200 OKとともに、ライセンスクラスの新規作成(ライセンスクラス名/attributes/new)ページjs版を描画する。

参考:OriginalPictureLicenseGroupsCreateView

例外系

  • 作家アカウントでサインインしてなかった。(Devise)
    • htmlなら、ステータスコード302 Foundを返すとともに、サインインを促すページ(/users/sign_in)へ遷移する。
    • jsonなら、ステータスコード401 Unauthorizedを返すとともに、応答メッセージにUnauthorizedを返す。
  • 絵師登録してなかった。
    • htmlなら、ステータスコード302 Foundを返すとともに、絵師登録を促すページ(/artists/new)へ遷移する。
    • jsonなら、例外403 forbiddenを返す
  • 対象原画が存在しなかった。(OriginalPictureModel)
    • htmlなら、例外404 not_foundを返す
    • jsなら、例外404 not_foundを返す
  • 対象原画に対する閲覧権限がなかった。(OriginalPictureModel)
    • htmlなら、例外403 forbiddenを返す
    • jsなら、例外403 forbiddenを返す
  • 対象ライセンスグループが存在しなかった。(LicenseGroupModel)
    • htmlなら、例外404 not_foundを返す
    • jsなら、例外404 not_foundを返す
  • 検証に失敗した
    • htmlなら、ステータスコード200 OKとともに、新規ページを描画する。
      • パラメータで渡されたデータを入力フォームに保持している。
    • jsなら、ステータスコード422 unprocessable_entityを返す。