Files
websocket-qris/tools/general/services-config.yaml
2025-11-17 15:04:27 +07:00

301 lines
9.2 KiB
YAML

global:
module_name: "api-service"
output_dir: "internal/handlers"
enable_swagger: true
enable_logging: true
# services:
# retribusi:
# name: "Retribusi"
# category: "retribusi"
# package: "retribusi"
# description: "Retribusi service for tariff and billing management"
# base_url: ""
# timeout: 30
# retry_count: 3
services:
qris:
name: "QRIS"
category: "qris"
package: "qris"
description: "QRIS service for QR code payment management"
base_url: ""
timeout: 30
retry_count: 3
endpoints:
qris:
description: "QRIS management"
handler_folder: "qris"
handler_file: "qris.go"
handler_name: "QRIS"
table_name: "m_deviceqris"
functions:
create:
methods: ["POST"]
path: "/broadcast/qris"
post_routes: "/broadcast/qris"
post_path: "/broadcast/qris"
model: "QrisCreateRequest"
response_model: "QrisCreateResponse"
request_model: "QrisCreateRequest"
description: "Send new QRIS broadcast"
summary: "Send QRIS"
tags: ["QRIS"]
require_auth: true
cache_enabled: false
enable_database: true
cache_ttl: 0
create:
methods: ["POST"]
path: "/broadcast/check"
post_routes: "/broadcast/check"
post_path: "/broadcast/check"
model: "QrisCreateRequest"
response_model: "QrisCreateResponse"
request_model: "QrisCreateRequest"
description: "Send new QRIS check broadcast"
summary: "Send QRIS check"
tags: ["QRIS"]
require_auth: true
cache_enabled: false
enable_database: true
cache_ttl: 0
# endpoints:
# retribusi:
# description: "Retribusi tariff management"
# handler_folder: "retribusi"
# handler_file: "retribusi.go"
# handler_name: "Retribusi"
# table_name: "data_retribusi"
# functions:
# list:
# methods: ["GET"]
# path: "/"
# get_routes: "/"
# get_path: "/"
# model: "Retribusi"
# response_model: "RetribusiGetResponse"
# description: "Get retribusi list with pagination and filters"
# summary: "Get Retribusi List"
# tags: ["Retribusi"]
# require_auth: true
# cache_enabled: true
# enable_database: true
# cache_ttl: 300
# has_pagination: true
# has_filter: true
# has_search: true
# has_stats: true
# get:
# methods: ["GET"]
# path: "/:id"
# get_routes: "/:id"
# get_path: "/:id"
# model: "Retribusi"
# response_model: "RetribusiGetByIDResponse"
# description: "Get retribusi by ID"
# summary: "Get Retribusi by ID"
# tags: ["Retribusi"]
# require_auth: true
# cache_enabled: true
# enable_database: true
# cache_ttl: 300
# dynamic:
# methods: ["GET"]
# path: "/dynamic"
# get_routes: "/dynamic"
# get_path: "/dynamic"
# model: "Retribusi"
# response_model: "RetribusiGetResponse"
# description: "Get retribusi with dynamic filtering"
# summary: "Get Retribusi Dynamic"
# tags: ["Retribusi"]
# require_auth: true
# cache_enabled: true
# enable_database: true
# cache_ttl: 300
# has_dynamic: true
# search:
# methods: ["GET"]
# path: "/search"
# get_routes: "/search"
# get_path: "/search"
# model: "Retribusi"
# response_model: "RetribusiGetResponse"
# description: "Search retribusi"
# summary: "Search Retribusi"
# tags: ["Retribusi"]
# require_auth: true
# cache_enabled: true
# enable_database: true
# cache_ttl: 300
# has_search: true
# create:
# methods: ["POST"]
# path: "/"
# post_routes: "/"
# post_path: "/"
# model: "RetribusiCreateRequest"
# response_model: "RetribusiCreateResponse"
# request_model: "RetribusiCreateRequest"
# description: "Create new retribusi"
# summary: "Create Retribusi"
# tags: ["Retribusi"]
# require_auth: true
# cache_enabled: false
# enable_database: true
# cache_ttl: 0
# update:
# methods: ["PUT"]
# path: "/:id"
# put_routes: "/:id"
# put_path: "/:id"
# model: "RetribusiUpdateRequest"
# response_model: "RetribusiUpdateResponse"
# request_model: "RetribusiUpdateRequest"
# description: "Update retribusi"
# summary: "Update Retribusi"
# tags: ["Retribusi"]
# require_auth: true
# cache_enabled: false
# enable_database: true
# cache_ttl: 0
# delete:
# methods: ["DELETE"]
# path: "/:id"
# delete_routes: "/:id"
# delete_path: "/:id"
# model: "Retribusi"
# response_model: "RetribusiDeleteResponse"
# description: "Delete retribusi"
# summary: "Delete Retribusi"
# tags: ["Retribusi"]
# require_auth: true
# cache_enabled: false
# enable_database: true
# cache_ttl: 0
# stats:
# methods: ["GET"]
# path: "/stats"
# get_routes: "/stats"
# get_path: "/stats"
# model: "AggregateData"
# response_model: "AggregateData"
# description: "Get retribusi statistics"
# summary: "Get Retribusi Stats"
# tags: ["Retribusi"]
# require_auth: true
# cache_enabled: true
# enable_database: true
# cache_ttl: 180
# has_stats: true
# Example of another service
# user:
# name: "User"
# category: "user"
# package: "user"
# description: "User management service"
# base_url: ""
# timeout: 30
# retry_count: 3
# endpoints:
# user:
# description: "User management endpoints"
# handler_folder: "retribusi"
# handler_file: "user.go"
# handler_name: "User"
# table_name: "data_user"
# functions:
# list:
# methods: ["GET"]
# path: "/"
# get_routes: "/"
# get_path: "/"
# model: "User"
# response_model: "UserGetResponse"
# description: "Get user list with pagination"
# summary: "Get User List"
# tags: ["User"]
# require_auth: true
# cache_enabled: true
# enable_database: true
# cache_ttl: 300
# has_pagination: true
# has_filter: true
# has_search: true
# get:
# methods: ["GET"]
# path: "/:id"
# get_routes: "/:id"
# get_path: "/:id"
# model: "User"
# response_model: "UserGetByIDResponse"
# description: "Get user by ID"
# summary: "Get User by ID"
# tags: ["User"]
# require_auth: true
# cache_enabled: true
# enable_database: true
# cache_ttl: 300
# create:
# methods: ["POST"]
# path: "/"
# post_routes: "/"
# post_path: "/"
# model: "UserCreateRequest"
# response_model: "UserCreateResponse"
# request_model: "UserCreateRequest"
# description: "Create new user"
# summary: "Create User"
# tags: ["User"]
# require_auth: true
# cache_enabled: false
# enable_database: true
# cache_ttl: 0
# update:
# methods: ["PUT"]
# path: "/:id"
# put_routes: "/:id"
# put_path: "/:id"
# model: "UserUpdateRequest"
# response_model: "UserUpdateResponse"
# request_model: "UserUpdateRequest"
# description: "Update user"
# summary: "Update User"
# tags: ["User"]
# require_auth: true
# cache_enabled: false
# enable_database: true
# cache_ttl: 0
# delete:
# methods: ["DELETE"]
# path: "/:id"
# delete_routes: "/:id"
# delete_path: "/:id"
# model: "User"
# response_model: "UserDeleteResponse"
# description: "Delete user"
# summary: "Delete User"
# tags: ["User"]
# require_auth: true
# cache_enabled: false
# enable_database: true
# cache_ttl: 0