Files
websocket-qris/docs/swagger.yaml
T

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"