301 lines
9.2 KiB
YAML
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
|