From d490ac55ce1d32391850c7468190e408bd36d186 Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Wed, 13 Mar 2024 12:32:08 -0400 Subject: [PATCH] feat: add ping account api --- src/account.ts | 28 +-- src/account/swagger.yaml | 418 ++++++++++++++++++++------------------- 2 files changed, 230 insertions(+), 216 deletions(-) diff --git a/src/account.ts b/src/account.ts index 0ac80b3..3a52879 100644 --- a/src/account.ts +++ b/src/account.ts @@ -1,15 +1,15 @@ import { - LoginRequest, - LoginResponse, - OTPDisableRequest, - OTPGenerateResponse, - OTPValidateRequest, - OTPVerifyRequest, - PasswordResetVerifyRequest, - postApiAuthPasswordResetRequest, - RegisterRequest, - VerifyEmailRequest, -} from "./account/generated/index.js"; + LoginRequest, + LoginResponse, + OTPDisableRequest, + OTPGenerateResponse, + OTPValidateRequest, + OTPVerifyRequest, + PasswordResetVerifyRequest, + postApiAuthPasswordResetRequest, postApiAuthPing, + RegisterRequest, + VerifyEmailRequest, +} from './account/generated/index.js'; import { postApiAuthLogin, postApiAuthRegister, @@ -110,6 +110,12 @@ export default class AccountApi { ); } + public async ping(): Promise { + return this.checkSuccessBool( + await postApiAuthPing( this.buildOptions()), + ); + } + private checkSuccessBool(ret: AxiosResponse): boolean { return ret.status === 200; } diff --git a/src/account/swagger.yaml b/src/account/swagger.yaml index e65e3fb..44ab09d 100644 --- a/src/account/swagger.yaml +++ b/src/account/swagger.yaml @@ -1,210 +1,218 @@ openapi: 3.0.0 info: - title: Account Management API - version: "1.0" - description: API for managing user accounts, including login, registration, OTP operations, and password resets. + title: Account Management API + version: "1.0" + description: API for managing user accounts, including login, registration, OTP operations, and password resets. paths: - /api/auth/login: - post: - summary: Login to the system - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/LoginRequest" - responses: - "200": - description: Successfully logged in - content: - application/json: - schema: - $ref: "#/components/schemas/LoginResponse" - "401": - description: Unauthorized - /api/auth/register: - post: - summary: Register a new account - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RegisterRequest" - responses: - "200": - description: Successfully registered - "400": - description: Bad Request - /api/auth/verify-email: - post: - summary: Verify email address - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/VerifyEmailRequest" - responses: - "200": - description: Email verified successfully - /api/auth/otp/generate: - get: - summary: Generate OTP for two-factor authentication - responses: - "200": - description: OTP generated successfully - content: - application/json: - schema: - $ref: "#/components/schemas/OTPGenerateResponse" - /api/auth/otp/verify: - post: - summary: Verify OTP for enabling two-factor authentication - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/OTPVerifyRequest" - responses: - "200": - description: OTP verified successfully - /api/auth/otp/validate: - post: - summary: Validate OTP for two-factor authentication login - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/OTPValidateRequest" - responses: - "200": - description: OTP validated successfully - /api/auth/otp/disable: - post: - summary: Disable OTP for two-factor authentication - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/OTPDisableRequest" - responses: - "200": - description: OTP disabled successfully - /api/auth/password-reset/request: - post: - summary: Request a password reset - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/PasswordResetRequest" - responses: - "200": - description: Password reset requested successfully - /api/auth/password-reset/confirm: - post: - summary: Confirm a password reset - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/PasswordResetVerifyRequest" - responses: - "200": - description: Password reset successfully + /api/auth/login: + post: + summary: Login to the system + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/LoginRequest' + responses: + '200': + description: Successfully logged in + content: + application/json: + schema: + $ref: '#/components/schemas/LoginResponse' + '401': + description: Unauthorized + /api/auth/register: + post: + summary: Register a new account + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RegisterRequest' + responses: + '200': + description: Successfully registered + '400': + description: Bad Request + /api/auth/verify-email: + post: + summary: Verify email address + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VerifyEmailRequest' + responses: + '200': + description: Email verified successfully + /api/auth/otp/generate: + get: + summary: Generate OTP for two-factor authentication + responses: + '200': + description: OTP generated successfully + content: + application/json: + schema: + $ref: '#/components/schemas/OTPGenerateResponse' + /api/auth/otp/verify: + post: + summary: Verify OTP for enabling two-factor authentication + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OTPVerifyRequest' + responses: + '200': + description: OTP verified successfully + /api/auth/otp/validate: + post: + summary: Validate OTP for two-factor authentication login + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OTPValidateRequest' + responses: + '200': + description: OTP validated successfully + /api/auth/otp/disable: + post: + summary: Disable OTP for two-factor authentication + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OTPDisableRequest' + responses: + '200': + description: OTP disabled successfully + /api/auth/password-reset/request: + post: + summary: Request a password reset + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordResetRequest' + responses: + '200': + description: Password reset requested successfully + /api/auth/password-reset/confirm: + post: + summary: Confirm a password reset + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordResetVerifyRequest' + responses: + '200': + description: Password reset successfully + /api/auth/ping: + post: + summary: Auth check endpoint + responses: + '200': + description: Pong + '401': + description: Unauthorized components: - schemas: - LoginRequest: - type: object - required: - - email - - password - properties: - email: - type: string - password: - type: string - LoginResponse: - type: object - properties: - token: - type: string - RegisterRequest: - type: object - required: - - firstName - - lastName - - email - - password - properties: - firstName: - type: string - lastName: - type: string - email: - type: string - password: - type: string - VerifyEmailRequest: - type: object - required: - - email - - token - properties: - email: - type: string - token: - type: string - OTPGenerateResponse: - type: object - properties: - OTP: - type: string - OTPVerifyRequest: - type: object - required: - - OTP - properties: - OTP: - type: string - OTPValidateRequest: - type: object - required: - - OTP - properties: - OTP: - type: string - OTPDisableRequest: - type: object - required: - - password - properties: - password: - type: string - PasswordResetRequest: - type: object - required: - - email - properties: - email: - type: string - PasswordResetVerifyRequest: - type: object - required: - - email - - token - - password - properties: - email: - type: string - token: - type: string - password: - type: string + schemas: + LoginRequest: + type: object + required: + - email + - password + properties: + email: + type: string + password: + type: string + LoginResponse: + type: object + properties: + token: + type: string + RegisterRequest: + type: object + required: + - firstName + - lastName + - email + - password + properties: + firstName: + type: string + lastName: + type: string + email: + type: string + password: + type: string + VerifyEmailRequest: + type: object + required: + - email + - token + properties: + email: + type: string + token: + type: string + OTPGenerateResponse: + type: object + properties: + OTP: + type: string + OTPVerifyRequest: + type: object + required: + - OTP + properties: + OTP: + type: string + OTPValidateRequest: + type: object + required: + - OTP + properties: + OTP: + type: string + OTPDisableRequest: + type: object + required: + - password + properties: + password: + type: string + PasswordResetRequest: + type: object + required: + - email + properties: + email: + type: string + PasswordResetVerifyRequest: + type: object + required: + - email + - token + - password + properties: + email: + type: string + token: + type: string + password: + type: string