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 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