309 lines
7.8 KiB
YAML
309 lines
7.8 KiB
YAML
basePath: /api/v1
|
|
definitions:
|
|
api-service_internal_models_auth.LoginRequest:
|
|
properties:
|
|
password:
|
|
type: string
|
|
username:
|
|
type: string
|
|
required:
|
|
- password
|
|
- username
|
|
type: object
|
|
api-service_internal_models_auth.TokenResponse:
|
|
properties:
|
|
access_token:
|
|
type: string
|
|
expires_in:
|
|
type: integer
|
|
token_type:
|
|
type: string
|
|
type: object
|
|
api-service_internal_models_auth.User:
|
|
properties:
|
|
email:
|
|
type: string
|
|
id:
|
|
type: string
|
|
role:
|
|
type: string
|
|
username:
|
|
type: string
|
|
type: object
|
|
host: localhost:8080
|
|
info:
|
|
contact:
|
|
email: support@swagger.io
|
|
name: API Support
|
|
url: http://www.swagger.io/support
|
|
description: A comprehensive Go API service with Swagger documentation
|
|
license:
|
|
name: Apache 2.0
|
|
url: http://www.apache.org/licenses/LICENSE-2.0.html
|
|
termsOfService: http://swagger.io/terms/
|
|
title: API Service
|
|
version: 1.0.0
|
|
paths:
|
|
/api/v1/auth/login:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Authenticate user with username and password to receive JWT token
|
|
parameters:
|
|
- description: Login credentials
|
|
in: body
|
|
name: login
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api-service_internal_models_auth.LoginRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api-service_internal_models_auth.TokenResponse'
|
|
"400":
|
|
description: Bad request
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
"401":
|
|
description: Unauthorized
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
summary: Login user and get JWT token
|
|
tags:
|
|
- Authentication
|
|
/api/v1/auth/me:
|
|
get:
|
|
description: Get information about the currently authenticated user
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api-service_internal_models_auth.User'
|
|
"401":
|
|
description: Unauthorized
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
security:
|
|
- Bearer: []
|
|
summary: Get current user info
|
|
tags:
|
|
- Authentication
|
|
/api/v1/auth/refresh:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Refresh the JWT token using a valid refresh token
|
|
parameters:
|
|
- description: Refresh token
|
|
in: body
|
|
name: refresh
|
|
required: true
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api-service_internal_models_auth.TokenResponse'
|
|
"400":
|
|
description: Bad request
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
"401":
|
|
description: Unauthorized
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
summary: Refresh JWT token
|
|
tags:
|
|
- Authentication
|
|
/api/v1/auth/register:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Register a new user account
|
|
parameters:
|
|
- description: Registration data
|
|
in: body
|
|
name: register
|
|
required: true
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"201":
|
|
description: Created
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
"400":
|
|
description: Bad request
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
summary: Register new user
|
|
tags:
|
|
- Authentication
|
|
/api/v1/token/generate:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Generate a JWT token for a user
|
|
parameters:
|
|
- description: User credentials
|
|
in: body
|
|
name: token
|
|
required: true
|
|
schema:
|
|
$ref: '#/definitions/api-service_internal_models_auth.LoginRequest'
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api-service_internal_models_auth.TokenResponse'
|
|
"400":
|
|
description: Bad request
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
"401":
|
|
description: Unauthorized
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
summary: Generate JWT token
|
|
tags:
|
|
- Token
|
|
/api/v1/token/generate-direct:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Generate a JWT token directly without password verification (for
|
|
testing)
|
|
parameters:
|
|
- description: User info
|
|
in: body
|
|
name: user
|
|
required: true
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/api-service_internal_models_auth.TokenResponse'
|
|
"400":
|
|
description: Bad request
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
summary: Generate token directly
|
|
tags:
|
|
- Token
|
|
/api/v1/ws/broadcast/check:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates and broadcasts a WebSocket message with the specified type
|
|
and data
|
|
parameters:
|
|
- description: Type of the message to broadcast
|
|
in: path
|
|
name: messageType
|
|
required: true
|
|
type: string
|
|
- description: Data payload for the message
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema: {}
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: Message successfully queued for broadcast
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
"500":
|
|
description: Failed to queue message (queue full)
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
summary: Broadcast a WebSocket message
|
|
tags:
|
|
- WebSocket QRIS
|
|
/api/v1/ws/broadcast/qris:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: Creates and broadcasts a WebSocket message with the specified type
|
|
and data for QRIS operations
|
|
parameters:
|
|
- description: Type of the QRIS message to broadcast
|
|
in: path
|
|
name: messageType
|
|
required: true
|
|
type: string
|
|
- description: QRIS data payload for the message
|
|
in: body
|
|
name: data
|
|
required: true
|
|
schema: {}
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: QRIS message successfully queued for broadcast
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
"500":
|
|
description: Failed to queue QRIS message (queue full)
|
|
schema:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
summary: Broadcast a QRIS-related WebSocket message
|
|
tags:
|
|
- WebSocket QRIS
|
|
schemes:
|
|
- http
|
|
- https
|
|
swagger: "2.0"
|