diff --git a/user_api.yaml b/user_api.yaml new file mode 100644 index 0000000..a5de04a --- /dev/null +++ b/user_api.yaml @@ -0,0 +1,286 @@ +swagger: "2.0" +info: + description: "これはユーザ情報に関するAPIです。" + version: "1.0.0" + title: "user API" +host: "nitta-lab-www.is.konan-u.ac.jp" +basePath: "/cosmos" +schemes: +- "https" +- "http" +paths: + /users: + post: + summary: "ユーザーの新規作成" + description: "新しいユーザーを登録します。" + consumes: + - "multipart/form-data" + parameters: + - name: "uid" + in: "formData" + description: "ユーザーID" + required: true + type: "string" + - name: "name" + in: "formData" + description: "ユーザーの名前" + required: true + type: "string" + - name: "pass" + in: "formData" + description: "ユーザーのpass" + required: true + type: "string" + - name: "icon-image" + in: "formData" + description: "アイコンイメージ" + required: true + type: "string" + responses: + 201: + description: "Userdate created" + + + /users/createWithArray: + post: + summary: "Creates list of users with given input array" + description: "" + consumes: + - "multipart/form-data" + parameters: + - name: "uid" + in: "formData" + description: "ユーザーID" + required: true + type: "string" + - name: "name" + in: "formData" + description: "ユーザーの名前" + required: true + type: "string" + - name: "pass" + in: "formData" + description: "ユーザーのpass" + required: true + type: "string" + - name: "icon-image" + in: "formData" + description: "アイコンイメージ" + required: true + type: "string" + responses: + default: + description: "処理が成功しました。" + + /users/login: + get: + summary: "Logs user into the system." + description: "" + parameters: + - name: "userId" + in: "query" + description: "ログインのためのユーザ名" + required: true + type: "string" + - name: "password" + in: "query" + description: "ログインのためのパスワード" + required: true + type: "string" + responses: + 200: + description: "処理に成功" + 400: + description: "ユーザ名もしくはパスワードが間違っています。" + + /users/logout: + get: + summary: "Logs out current logged in user session." + description: "" + parameters: [] + responses: + default: + description: "ログアウトしました。" + + /users/{userId}: + get: + summary: "ユーザー情報を取得" + description: "userIdを指定してユーザーの情報を取得します。" + parameters: + - name: "userId" + in: "path" + required: true + type: "string" + responses: + 200: + description: "succesful operation." + schema: + $ref: "#/definitions/User" + 400: + description: "無効なユーザー名が指定されました。" + 404: + description: "ユーザーが見つかりませんでした。" + # put: + # summary: "Updated user." + # description: "ログインしているユーザのみが行えます。" + # consumes: + # - "multipart/form-data" + # parameters: + # - name: "userId" + # in: "path" + # description: "ユーザ名の更新" + # required: true + # type: "string" + # - name: "newName" + # in: "formData" + # description: "ユーザーの名前" + # required: true + # type: "string" + # responses: + # 400: + # description: "無効なユーザが指定されました。" + # 404: + # description: "ユーザが見つかりませんでした。" + delete: + summary: "ユーザー情報を削除" + description: "userIdを指定してユーザーの情報を削除します。" + parameters: + - name: "userId" + in: "path" + description: "削除したいユーザーのuserId" + required: true + type: "string" + responses: + 400: + description: "無効なユーザが指定されました。" + 404: + description: "ユーザが見つかりませんでした。" + + /users/{userId}/uId: + get: + summary: "uIdの取得" + description: "userIdで指定したユーザーのuIdを取得します。" + parameters: + - name: "userId" + in: "path" + required: true + type: "string" + responses: + default: + description: "取得に成功しました。" + schema: + type: "object" + properties: + uId: + type: "string" + put: + summary: "uIdの更新" + description: "userIdで指定したユーザーのuIdを更新します。" + consumes: + - "multipart/form-data" + parameters: + - name: "userId" + in: "path" + required: true + type: "string" + - name: "newName" + in: "formData" + description: "ユーザーの名前" + required: true + type: "string" + responses: + default: + description: "uIdを更新しました。" + schema: + type: "object" + properties: + uId: + type: "string" + example: "123" + + /users/{userId}/name: + get: + summary: "nameの取得" + description: "userIdで指定したユーザーのnameを取得します。" + parameters: + - name: "userId" + in: "path" + required: true + type: "string" + responses: + default: + description: "取得に成功しました。" + schema: + type: "object" + properties: + name: + type: "string" + put: + summary: "nameの更新" + description: "userIdで指定したユーザーのnameを更新します。" + parameters: + - name: "userId" + in: "path" + required: true + type: "string" + responses: + default: + description: "nameを更新しました。" + schema: + type: "object" + properties: + name: + type: "string" + example: "123" + + /users/{userId}/pass: + put: + summary: "passの更新" + description: "userIdで指定したユーザーのpassを更新します。" + parameters: + - name: "userId" + in: "path" + required: true + type: "string" + responses: + default: + description: "passを更新しました。" + schema: + type: "object" + properties: + name: + type: "string" + example: "123" +definitions: + # Parametars: + # - name: "uid" + # in: "formData" + # description: "ユーザーID" + # required: true. + # type: "string" + # - name: "name" + # in: "formData" + # description: "ユーザーの名前" + # required: true + # type: "string" + # - name: "pass" + # in: "formData" + # description: "ユーザーのpass" + # required: true + # type: "string" + # - name: "icon-image" + # in: "formData" + # description: "アイコンイメージ" + # required: true + # type: "string" + User: + type: "object" + properties: + uId: + type: "string" + name: + type: "string" + pass: + type: "string" + icon-image: + type: "string" \ No newline at end of file