forked from rachmadiyanti.annisa.3004/service_antrean
Update Toll Generate
This commit is contained in:
@@ -345,6 +345,10 @@ go run tools/general/generate-handler.go retribusi get post put delete
|
||||
|
||||
# Generate dengan fitur advanced
|
||||
go run tools/general/generate-handler.go retribusi get post put delete dynamic search stats
|
||||
|
||||
# Config
|
||||
go run tools/general/generate-handler.go --config tools/general/services-config.yaml --verbose
|
||||
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
@@ -97,7 +97,6 @@ func RegisterRoutes(cfg *config.Config) *gin.Engine {
|
||||
|
||||
// =============================================================================
|
||||
// PUBLISHED ROUTES
|
||||
// =============================================================================
|
||||
|
||||
// Retribusi endpoints with
|
||||
retribusiHandler := retribusiHandlers.NewRetribusiHandler()
|
||||
@@ -128,24 +127,24 @@ func RegisterRoutes(cfg *config.Config) *gin.Engine {
|
||||
protected.Use(middleware.ConfigurableAuthMiddleware(cfg))
|
||||
|
||||
// Protected retribusi endpoints (Authentication Required)
|
||||
protectedRetribusiGroup := protected.Group("/retribusi")
|
||||
{
|
||||
protectedRetribusiGroup.GET("", retribusiHandler.GetRetribusi)
|
||||
protectedRetribusiGroup.GET("/dynamic", retribusiHandler.GetRetribusiDynamic)
|
||||
protectedRetribusiGroup.GET("/search", retribusiHandler.SearchRetribusiAdvanced)
|
||||
protectedRetribusiGroup.GET("/id/:id", retribusiHandler.GetRetribusiByID)
|
||||
protectedRetribusiGroup.POST("", func(c *gin.Context) {
|
||||
retribusiHandler.CreateRetribusi(c)
|
||||
})
|
||||
// protectedRetribusiGroup := protected.Group("/retribusi")
|
||||
// {
|
||||
// protectedRetribusiGroup.GET("", retribusiHandler.GetRetribusi)
|
||||
// protectedRetribusiGroup.GET("/dynamic", retribusiHandler.GetRetribusiDynamic)
|
||||
// protectedRetribusiGroup.GET("/search", retribusiHandler.SearchRetribusiAdvanced)
|
||||
// protectedRetribusiGroup.GET("/id/:id", retribusiHandler.GetRetribusiByID)
|
||||
// protectedRetribusiGroup.POST("", func(c *gin.Context) {
|
||||
// retribusiHandler.CreateRetribusi(c)
|
||||
// })
|
||||
|
||||
protectedRetribusiGroup.PUT("/id/:id", func(c *gin.Context) {
|
||||
retribusiHandler.UpdateRetribusi(c)
|
||||
})
|
||||
// protectedRetribusiGroup.PUT("/id/:id", func(c *gin.Context) {
|
||||
// retribusiHandler.UpdateRetribusi(c)
|
||||
// })
|
||||
|
||||
protectedRetribusiGroup.DELETE("/id/:id", func(c *gin.Context) {
|
||||
retribusiHandler.DeleteRetribusi(c)
|
||||
})
|
||||
}
|
||||
// protectedRetribusiGroup.DELETE("/id/:id", func(c *gin.Context) {
|
||||
// retribusiHandler.DeleteRetribusi(c)
|
||||
// })
|
||||
// }
|
||||
|
||||
return router
|
||||
}
|
||||
|
||||
3651
tools/bpjs/generate-handler.go
Normal file
3651
tools/bpjs/generate-handler.go
Normal file
File diff suppressed because it is too large
Load Diff
166
tools/bpjs/services-config.yaml
Normal file
166
tools/bpjs/services-config.yaml
Normal file
@@ -0,0 +1,166 @@
|
||||
global:
|
||||
module_name: "api-service"
|
||||
output_dir: "internal/handlers"
|
||||
enable_swagger: true
|
||||
enable_logging: true
|
||||
|
||||
services:
|
||||
vclaim:
|
||||
name: "VClaim"
|
||||
category: "vclaim"
|
||||
package: "vclaim"
|
||||
description: "BPJS VClaim service for eligibility and SEP management"
|
||||
base_url: "https://apijkn.bpjs-kesehatan.go.id/vclaim-rest"
|
||||
timeout: 30
|
||||
retry_count: 3
|
||||
|
||||
endpoints:
|
||||
peserta:
|
||||
description: "Participant eligibility information"
|
||||
handler_folder: "peserta"
|
||||
handler_file: "peserta.go"
|
||||
handler_name: "Peserta"
|
||||
functions:
|
||||
bynokartu:
|
||||
methods: ["GET"]
|
||||
path: "/peserta/:nokartu"
|
||||
get_routes: "/nokartu/:nokartu"
|
||||
# post_routes: "/Peserta/nokartu/:nokartu"
|
||||
# put_routes: "/Peserta/nokartu/:nokartu"
|
||||
# delete_routes: "/Peserta/nokartu/:nokartu"
|
||||
get_path: "/Peserta/nokartu/:nokartu/tglSEP/:tglSEP"
|
||||
# post_path: "/peserta"
|
||||
# put_path: "/peserta/:nokartu"
|
||||
# delete_path: "/peserta/:nokartu"
|
||||
model: "PesertaRequest"
|
||||
response_model: "PesertaResponse"
|
||||
request_model: "RujukanRequest"
|
||||
description: "Get participant eligibility information by card number"
|
||||
summary: "Get Participant Info by No Kartu"
|
||||
tags: ["Peserta"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 300
|
||||
|
||||
bynik:
|
||||
methods: ["GET"]
|
||||
path: "/peserta/nik/:nik"
|
||||
get_routes: "/nik/:nik"
|
||||
# post_routes: "/Peserta/nik/:nik"
|
||||
# put_routes: "/Peserta/nik/:nik"
|
||||
# delete_routes: "/Peserta/nik/:nik"
|
||||
get_path: "/Peserta/nik/:nik/tglSEP/:tglSEP"
|
||||
# post_path: "/peserta"
|
||||
# put_path: "/peserta/nik/:nik"
|
||||
# delete_path: "/peserta/nik/:nik"
|
||||
model: "PesertaRequest"
|
||||
response_model: "PesertaResponse"
|
||||
request_model: "PesertaRequest"
|
||||
description: "Get participant eligibility information by NIK"
|
||||
summary: "Get Participant Info by NIK"
|
||||
tags: ["Peserta"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 300
|
||||
|
||||
rujukan:
|
||||
description: "Rujukan management endpoints"
|
||||
handler_folder: "rujukan"
|
||||
handler_file: "rujukan.go"
|
||||
handler_name: "Rujukan"
|
||||
functions:
|
||||
rujukan:
|
||||
methods: ["POST", "PUT", "DELETE"]
|
||||
path: "/Rujukan"
|
||||
# get_routes: "/Rujukan/:norujukan"
|
||||
post_routes: "/Rujukan/:norujukan"
|
||||
put_routes: "/Rujukan/:norujukan"
|
||||
delete_routes: "/Rujukan/:norujukan"
|
||||
# get_path: "/Rujukan/:norujukan"
|
||||
post_path: "/Rujukan"
|
||||
put_path: "/Rujukan/:norujukan"
|
||||
delete_path: "/Rujukan/:norujukan"
|
||||
model: "RujukanRequest"
|
||||
response_model: "RujukanResponse"
|
||||
request_model: "RujukanRequest"
|
||||
description: "Manage rujukan"
|
||||
summary: "Rujukan Management"
|
||||
tags: ["Rujukan"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 180
|
||||
rujukanbalik:
|
||||
methods: ["POST", "PUT", "DELETE"]
|
||||
path: "/Rujukanbalik"
|
||||
# get_routes: "/Rujukanbalik/:norujukan"
|
||||
post_routes: "/Rujukanbalik/:norujukan"
|
||||
put_routes: "/Rujukanbalik/:norujukan"
|
||||
delete_routes: "/Rujukanbalik/:norujukan"
|
||||
# get_path: "/Rujukanbalik/:norujukan"
|
||||
post_path: "/Rujukanbalik"
|
||||
put_path: "/Rujukanbalik/:norujukan"
|
||||
delete_path: "/Rujukanbalik/:norujukan"
|
||||
model: "RujukanRequest"
|
||||
response_model: "RujukanResponse"
|
||||
request_model: "RujukanRequest"
|
||||
description: "Manage rujukan"
|
||||
summary: "Rujukan Management"
|
||||
tags: ["Rujukan"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 180
|
||||
|
||||
search:
|
||||
description: "Search for rujukan endpoints"
|
||||
handler_folder: "rujukan"
|
||||
handler_file: "search.go"
|
||||
handler_name: "Search"
|
||||
functions:
|
||||
bynorujukan:
|
||||
methods: ["GET"]
|
||||
path: "/Rujukan/:norujukan"
|
||||
get_routes: "/bynorujukan/:norujukan"
|
||||
# post_routes: "/bynorujukan/:norujukan"
|
||||
# put_routes: "/bynorujukan/:norujukan"
|
||||
# delete_routes: "/bynorujukan/:norujukan"
|
||||
get_path: "/Rujukan/:norujukan"
|
||||
# post_path: "/Rujukan"
|
||||
# put_path: "/Rujukan/:norujukan"
|
||||
# delete_path: "/Rujukan/:norujukan"
|
||||
model: "RujukanRequest"
|
||||
response_model: "RujukanResponse"
|
||||
request_model: "RujukanRequest"
|
||||
description: "Get rujukan by nomor rujukan"
|
||||
summary: "Rujukan Management"
|
||||
tags: ["Rujukan"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 300
|
||||
|
||||
bynokartu:
|
||||
methods: ["GET"]
|
||||
path: "/Rujukan/:nokartu"
|
||||
get_routes: "/bynokartu/:nokartu"
|
||||
# post_routes: "/bynokartu/:nokartu"
|
||||
# put_routes: "/bynokartu/:nokartu"
|
||||
# delete_routes: "/bynokartu/:nokartu"
|
||||
get_path: "/Rujukan/:nokartu"
|
||||
# post_path: "/Rujukan"
|
||||
# put_path: "/Rujukan/:nokartu"
|
||||
# delete_path: "/Rujukan/:nokartu"
|
||||
model: "RujukanRequest"
|
||||
response_model: "RujukanResponse"
|
||||
request_model: "RujukanRequest"
|
||||
description: "Get rujukan by card number"
|
||||
summary: "Rujukan Management"
|
||||
tags: ["Rujukan"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 300
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
2000
tools/general/old/generate-handlerold.go
Normal file
2000
tools/general/old/generate-handlerold.go
Normal file
File diff suppressed because it is too large
Load Diff
250
tools/general/services-config.yaml
Normal file
250
tools/general/services-config.yaml
Normal file
@@ -0,0 +1,250 @@
|
||||
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
|
||||
Reference in New Issue
Block a user