forked from clj-nakano/situated-program-challenge
-
Notifications
You must be signed in to change notification settings - Fork 1
/
swagger-spec-v1.json
1 lines (1 loc) · 19.6 KB
/
swagger-spec-v1.json
1
{"swagger":"2.0","info":{"title":"Situated Program Challenge","version":"0.0.1"},"produces":["application/json"],"consumes":["application/json"],"basePath":"/","paths":{"/groups":{"get":{"tags":["groups"],"summary":"グループ一覧の取得","description":"現在登録されているグループ一覧を取得します。","responses":{"default":{"description":""},"200":{"schema":{"type":"array","items":{"type":"object","properties":{"group-id":{"type":"integer","format":"int64","description":"自動採番ID"},"group-name":{"type":"string","description":"グループ名"},"admin":{"type":"array","items":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]}},"venues":{"type":"array","items":{"type":"object","properties":{"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"},"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-id","venue-name","address"]}},"meetups":{"type":"array","items":{"type":"object","properties":{"event-id":{"type":"integer","format":"int64","description":"自動採番ID"},"title":{"type":"string","description":"イベント名"},"start-at":{"type":"string","format":"date-time","description":"開始日時"},"end-at":{"type":"string","format":"date-time","description":"終了日時"},"venue":{"type":"object","properties":{"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"},"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-id","venue-name","address"]},"members":{"type":"array","items":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]}}},"required":["event-id","title","start-at","end-at","venue","members"]}}},"required":["group-id","group-name","admin","venues","meetups"]}},"description":""}}},"post":{"tags":["groups"],"summary":"グループの登録","description":"新しいグループを登録します。","responses":{"default":{"description":""},"200":{"schema":{"type":"object","properties":{"group-id":{"type":"integer","format":"int64","description":"自動採番ID"},"group-name":{"type":"string","description":"グループ名"},"admin":{"type":"array","items":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]}}},"required":["group-id","group-name","admin"]},"description":""}},"parameters":[{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"group-name":{"type":"string","description":"グループ名"},"admin-member-ids":{"type":"array","items":{"type":"integer","format":"int64","description":"自動採番ID"}}},"required":["group-name","admin-member-ids"]}}]}},"/groups/{group-id}/meetups":{"get":{"tags":["meetups"],"summary":"ミートアップイベント一覧情報の取得","description":"現在登録されているミートアップイベントの一覧を取得します。","parameters":[{"in":"path","name":"group-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""},"200":{"schema":{"type":"array","items":{"type":"object","properties":{"event-id":{"type":"integer","format":"int64","description":"自動採番ID"},"title":{"type":"string","description":"イベント名"},"start-at":{"type":"string","format":"date-time","description":"開始日時"},"end-at":{"type":"string","format":"date-time","description":"終了日時"},"venue":{"type":"object","properties":{"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"},"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-id","venue-name","address"]},"members":{"type":"array","items":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]}}},"required":["event-id","title","start-at","end-at","venue","members"]}},"description":""}}},"post":{"tags":["meetups"],"summary":"ミートアップイベントの登録","description":"新しいミートアップを登録します。","parameters":[{"in":"path","name":"group-id","description":"","required":true,"type":"string"},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"title":{"type":"string","description":"イベント名"},"start-at":{"type":"string","format":"date-time","description":"開始日時"},"end-at":{"type":"string","format":"date-time","description":"終了日時"},"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"}},"required":["title","start-at","end-at","venue-id"]}}],"responses":{"default":{"description":""},"200":{"schema":{"type":"object","properties":{"event-id":{"type":"integer","format":"int64","description":"自動採番ID"},"title":{"type":"string","description":"イベント名"},"start-at":{"type":"string","format":"date-time","description":"開始日時"},"end-at":{"type":"string","format":"date-time","description":"終了日時"},"venue":{"type":"object","properties":{"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"},"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-id","venue-name","address"]},"members":{"type":"array","items":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]}}},"required":["event-id","title","start-at","end-at","venue","members"]},"description":""}}}},"/groups/{group-id}/meetups/{event-id}":{"get":{"tags":["meetups"],"summary":"ミートアップイベント情報の取得","description":"IDで指定されたミートアップイベントを取得します。","parameters":[{"in":"path","name":"group-id","description":"","required":true,"type":"string"},{"in":"path","name":"event-id","description":"自動採番ID","type":"integer","required":true,"format":"int64"}],"responses":{"default":{"description":""},"200":{"schema":{"type":"object","properties":{"event-id":{"type":"integer","format":"int64","description":"自動採番ID"},"title":{"type":"string","description":"イベント名"},"start-at":{"type":"string","format":"date-time","description":"開始日時"},"end-at":{"type":"string","format":"date-time","description":"終了日時"},"venue":{"type":"object","properties":{"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"},"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-id","venue-name","address"]},"members":{"type":"array","items":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]}}},"required":["event-id","title","start-at","end-at","venue","members"]},"description":""}}}},"/groups/{group-id}/venues":{"get":{"tags":["venues"],"summary":"会場一覧の取得","description":"登録されている会場の一覧を取得します。","parameters":[{"in":"path","name":"group-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""},"200":{"schema":{"type":"array","items":{"type":"object","properties":{"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"},"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-id","venue-name","address"]}},"description":""}}},"post":{"tags":["venues"],"summary":"会場の登録","description":"会場を登録します。","parameters":[{"in":"path","name":"group-id","description":"","required":true,"type":"string"},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-name","address"]}}],"responses":{"default":{"description":""},"200":{"schema":{"type":"object","properties":{"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"},"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-id","venue-name","address"]},"description":""}}}},"/members":{"get":{"tags":["members"],"summary":"メンバー一覧情報の取得","description":"現在登録されているメンバーの一覧を取得します。","responses":{"default":{"description":""},"200":{"schema":{"type":"array","items":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]}},"description":""}}},"post":{"tags":["members"],"summary":"メンバーの登録","description":"メンバーを新規登録します。","responses":{"default":{"description":""},"200":{"schema":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]},"description":""}},"parameters":[{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["first-name","last-name","email"]}}]}},"/members/{member-id}":{"get":{"tags":["members"],"summary":"メンバー情報の取得","description":"IDで指定されたメンバー情報を取得します。","parameters":[{"in":"path","name":"member-id","description":"自動採番ID","type":"integer","required":true,"format":"int64"}],"responses":{"default":{"description":""},"200":{"schema":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]},"description":""}}}},"/members/{member-id}/meetups/{event-id}":{"post":{"tags":["members"],"summary":"ミートアップへの参加","description":"メンバーがミートアップに参加申し込みをします。","parameters":[{"in":"path","name":"member-id","description":"","required":true,"type":"string"},{"in":"path","name":"event-id","description":"","required":true,"type":"string"}],"responses":{"default":{"description":""},"200":{"schema":{"type":"object","properties":{"event-id":{"type":"integer","format":"int64","description":"自動採番ID"},"title":{"type":"string","description":"イベント名"},"start-at":{"type":"string","format":"date-time","description":"開始日時"},"end-at":{"type":"string","format":"date-time","description":"終了日時"},"venue":{"type":"object","properties":{"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"},"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-id","venue-name","address"]},"members":{"type":"array","items":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]}}},"required":["event-id","title","start-at","end-at","venue","members"]},"description":""}}}},"/members/{member-id}/groups/{group-id}":{"post":{"tags":["members"],"summary":"グループへの参加","description":"メンバーがグループに参加申し込みをします。","parameters":[{"in":"path","name":"member-id","description":"","required":true,"type":"string"},{"in":"path","name":"group-id","description":"","required":true,"type":"string"},{"in":"body","name":"","description":"","required":true,"schema":{"type":"object","properties":{"admin":{"type":"boolean","description":"管理者フラグ"}},"required":["admin"]}}],"responses":{"default":{"description":""},"200":{"schema":{"type":"object","properties":{"group-id":{"type":"integer","format":"int64","description":"自動採番ID"},"group-name":{"type":"string","description":"グループ名"},"admin":{"type":"array","items":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]}},"venues":{"type":"array","items":{"type":"object","properties":{"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"},"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-id","venue-name","address"]}},"meetups":{"type":"array","items":{"type":"object","properties":{"event-id":{"type":"integer","format":"int64","description":"自動採番ID"},"title":{"type":"string","description":"イベント名"},"start-at":{"type":"string","format":"date-time","description":"開始日時"},"end-at":{"type":"string","format":"date-time","description":"終了日時"},"venue":{"type":"object","properties":{"venue-id":{"type":"integer","format":"int64","description":"自動採番ID"},"venue-name":{"type":"string","description":"会場名"},"address":{"type":"object","properties":{"postal-code":{"type":"string","description":"郵便番号"},"prefecture":{"type":"string","description":"都道府県"},"city":{"type":"string","description":"市区町村"},"address1":{"type":"string","description":"丁目番地"},"address2":{"type":"string","description":"建物名"}},"required":["postal-code","prefecture","city","address1"]}},"required":["venue-id","venue-name","address"]},"members":{"type":"array","items":{"type":"object","properties":{"member-id":{"type":"integer","format":"int64","description":"自動採番ID"},"first-name":{"type":"string","description":"名"},"last-name":{"type":"string","description":"姓"},"email":{"type":"string","description":"Eメールアドレス"}},"required":["member-id","first-name","last-name","email"]}}},"required":["event-id","title","start-at","end-at","venue","members"]}}},"required":["group-id","group-name","admin","venues","meetups"]},"description":""}}}}},"tags":[{"name":"meetups","description":"ミートアップエンティティ"},{"name":"members","description":"メンバーエンティティ"},{"name":"venues","description":"会場エンティティ"},{"name":"groups","description":"グループエンティティ"}],"definitions":{}}