clqms-be/public/paths/authentication.yaml
mahdahar fcaf9b74ea feat: Restructure OpenAPI documentation with modular components
- Add OpenApiDocs controller for serving bundled API docs

- Split monolithic api-docs.yaml into modular components/

- Add organized paths/ directory with endpoint definitions

- Create bundling scripts (JS, PHP, Python) for merging docs

- Add API_DOCS_README.md with documentation guidelines

- Update Routes.php for new API documentation endpoints

- Update swagger.php view and TestDefSiteModel
2026-02-16 14:20:52 +07:00

168 lines
4.1 KiB
YAML

/api/auth/login:
post:
tags: [Authentication]
summary: User login
description: Authenticate user and receive JWT token via HTTP-only cookie
requestBody:
required: true
content:
application/json:
schema:
$ref: '../components/schemas/authentication.yaml#/LoginRequest'
application/x-www-form-urlencoded:
schema:
$ref: '../components/schemas/authentication.yaml#/LoginRequest'
responses:
'200':
description: Login successful
headers:
Set-Cookie:
description: JWT token in HTTP-only cookie
schema:
type: string
content:
application/json:
schema:
$ref: '../components/schemas/authentication.yaml#/LoginResponse'
'400':
description: Missing username
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/ErrorResponse'
'401':
description: Invalid credentials
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/ErrorResponse'
/api/auth/logout:
post:
tags: [Authentication]
summary: User logout
description: Clear JWT token cookie
security:
- bearerAuth: []
responses:
'200':
description: Logout successful
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/SuccessResponse'
/api/auth/check:
get:
tags: [Authentication]
summary: Check authentication status
security:
- bearerAuth: []
- cookieAuth: []
responses:
'200':
description: Authenticated
content:
application/json:
schema:
type: object
properties:
authenticated:
type: boolean
user:
type: object
'401':
description: Not authenticated
/api/auth/register:
post:
tags: [Authentication]
summary: Register new user
requestBody:
required: true
content:
application/json:
schema:
$ref: '../components/schemas/authentication.yaml#/RegisterRequest'
responses:
'201':
description: User created
content:
application/json:
schema:
$ref: '../components/schemas/common.yaml#/SuccessResponse'
/api/auth/change_pass:
post:
tags: [Authentication]
summary: Change password
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- current_password
- new_password
properties:
current_password:
type: string
format: password
new_password:
type: string
format: password
responses:
'200':
description: Password changed successfully
/v2/auth/login:
post:
tags: [Authentication]
summary: V2 User login
requestBody:
required: true
content:
application/json:
schema:
$ref: '../components/schemas/authentication.yaml#/LoginRequest'
responses:
'200':
description: Login successful
content:
application/json:
schema:
$ref: '../components/schemas/authentication.yaml#/LoginResponse'
/v2/auth/logout:
post:
tags: [Authentication]
summary: V2 User logout
responses:
'200':
description: Logout successful
/v2/auth/check:
get:
tags: [Authentication]
summary: V2 Check authentication
responses:
'200':
description: Auth check result
/v2/auth/register:
post:
tags: [Authentication]
summary: V2 Register new user
requestBody:
required: true
content:
application/json:
schema:
$ref: '../components/schemas/authentication.yaml#/RegisterRequest'
responses:
'201':
description: User created