fix: improvement response api and docs

This commit is contained in:
ericprd 2025-02-25 11:07:17 +08:00
parent 81c7a51256
commit aee94a5c9c
5 changed files with 210 additions and 10 deletions

View File

@ -58,7 +58,7 @@ func LoginStaff(
return return
} }
responsePayload := &authdomain.LoginResponse{ responsePayload := &authdomain.AuthResponse{
Token: token, Token: token,
} }
@ -113,7 +113,7 @@ func LoginUser(
return return
} }
responsePayload := &authdomain.LoginResponse{ responsePayload := &authdomain.AuthResponse{
Token: token, Token: token,
} }

View File

@ -58,7 +58,11 @@ func RegisterUser(
return return
} }
response.RespondJsonSuccess(ctx, w, token) responsePayload := &authdomain.AuthResponse{
Token: token,
}
response.RespondJsonSuccess(ctx, w, responsePayload)
}) })
} }
@ -108,7 +112,9 @@ func RegisterStaff(
) )
return return
} }
responsePayload := &authdomain.AuthResponse{
response.RespondJsonSuccess(ctx, w, token) Token: token,
}
response.RespondJsonSuccess(ctx, w, responsePayload)
}) })
} }

View File

@ -60,7 +60,7 @@ func CreateSubscribePlan(
response.RespondJsonSuccess(ctx, w, struct { response.RespondJsonSuccess(ctx, w, struct {
Message string Message string
}{ }{
Message: "success", Message: "subscription plan created successfully.",
}) })
}) })
} }

View File

@ -7,7 +7,7 @@ type LoginReq struct {
Password string `json:"password" validate:"required"` Password string `json:"password" validate:"required"`
} }
type LoginResponse struct { type AuthResponse struct {
Token string `json:"token"` Token string `json:"token"`
} }

View File

@ -8,6 +8,8 @@ paths:
/staff/login: /staff/login:
post: post:
summary: Login for staff summary: Login for staff
tags:
- Staff
requestBody: requestBody:
required: true required: true
content: content:
@ -26,12 +28,37 @@ paths:
responses: responses:
"200": "200":
description: Successful login description: Successful login
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
token:
type: string
description: JWT token for staff authentication
"400": "400":
description: Bad request description: Bad request
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
/staff/register: /staff/register:
post: post:
summary: Register a new staff member summary: Register a new staff member
tags:
- Staff
requestBody: requestBody:
required: true required: true
content: content:
@ -50,14 +77,51 @@ paths:
responses: responses:
"201": "201":
description: Staff member created description: Staff member created
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
token:
type: string
description: JWT token for staff authentication
"400": "400":
description: Bad request description: Bad request
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
"409": "409":
description: Conflict (email already registered) description: Conflict (email already registered)
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
/user/login: /user/login:
post: post:
summary: Login for user summary: Login for user
tags:
- User
requestBody: requestBody:
required: true required: true
content: content:
@ -76,12 +140,37 @@ paths:
responses: responses:
"200": "200":
description: Successful login description: Successful login
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
token:
type: string
description: JWT token for user authentication
"400": "400":
description: Bad request description: Bad request
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
/user/register: /user/register:
post: post:
summary: Register a new user summary: Register a new user
tags:
- User
requestBody: requestBody:
required: true required: true
content: content:
@ -107,14 +196,51 @@ paths:
responses: responses:
"201": "201":
description: User created description: User created
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
token:
type: string
description: JWT token for user authentication
"400": "400":
description: Bad request description: Bad request
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
"409": "409":
description: Conflict (email already registered) description: Conflict (email already registered)
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
/subscribe-plan/create: /subscribe-plan/create:
post: post:
summary: Create a new subscription plan summary: Create a new subscription plan
tags:
- Subscribe Plan
requestBody: requestBody:
required: true required: true
content: content:
@ -122,23 +248,91 @@ paths:
schema: schema:
type: object type: object
properties: properties:
name:
type: string
code: code:
type: string type: string
required: required:
- code - code
- name
responses: responses:
"201": "201":
description: Subscription plan created description: Subscription plan created
content:
application/json:
schema:
type: object
properties:
data:
type: object
properties:
message:
type: string
example: "Subscription plan created successfully."
"400": "400":
description: Bad request description: Bad request
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
"409": "409":
description: Conflict (plan code already exists) description: Conflict (plan code already exists)
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
/subscribe-plan/get-all: /subscribe-plan/get-all:
get: get:
summary: Get all subscription plan summary: Get all subscription plans
tags:
- Subscribe Plan
responses: responses:
"201": "200":
description: Subscription plan created description: Successfully retrieved all subscription plans
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
type: object
properties:
id:
type: string
code:
type: string
name:
type: string
"400": "400":
description: Bad request description: Bad request
content:
application/json:
schema:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string