Files
antrean-anjungan/docs/swagger.yaml
Annisa Rachmadiyanti 00d9e9f200
Some checks failed
Go-test / build (push) Has been cancelled
Koreksi Routes
2025-12-01 12:09:11 +07:00

2044 lines
56 KiB
YAML

basePath: /api/v1
definitions:
api-service_internal_models.AggregateData:
properties:
by_dinas:
additionalProperties:
type: integer
type: object
by_jenis:
additionalProperties:
type: integer
type: object
by_status:
additionalProperties:
type: integer
type: object
created_today:
type: integer
last_updated:
type: string
total_active:
type: integer
total_draft:
type: integer
total_inactive:
type: integer
updated_today:
type: integer
type: object
api-service_internal_models.ErrorResponse:
properties:
code:
type: integer
error:
type: string
message:
type: string
timestamp:
type: string
type: object
api-service_internal_models.ErrorResponseBpjs:
properties:
code:
type: string
errors:
additionalProperties: true
type: object
message:
type: string
request_id:
type: string
status:
type: string
type: object
api-service_internal_models.MetaResponse:
properties:
current_page:
type: integer
has_next:
type: boolean
has_prev:
type: boolean
limit:
type: integer
offset:
type: integer
total:
type: integer
total_pages:
type: integer
type: object
api-service_internal_models.NullableInt32:
properties:
int32:
type: integer
valid:
type: boolean
type: object
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
api-service_internal_models_kiosk.Listkiosk:
properties:
active:
$ref: '#/definitions/sql.NullBool'
ds_sd_location:
$ref: '#/definitions/sql.NullString'
fk_ref_healthcare_type_id:
$ref: '#/definitions/api-service_internal_models.NullableInt32'
fk_ref_service_type_id:
$ref: '#/definitions/api-service_internal_models.NullableInt32'
fk_sd_location_id:
$ref: '#/definitions/sql.NullString'
icon:
$ref: '#/definitions/sql.NullString'
id:
type: integer
name:
$ref: '#/definitions/sql.NullString'
url:
$ref: '#/definitions/sql.NullString'
type: object
api-service_internal_models_kiosk.ListkioskCreateRequest:
properties:
active:
type: boolean
ds_sd_location:
type: string
fk_ref_healthcare_type_id:
minimum: 1
type: integer
fk_ref_service_type_id:
minimum: 1
type: integer
fk_sd_location_id:
type: string
icon:
maxLength: 20
minLength: 1
type: string
name:
maxLength: 20
minLength: 1
type: string
url:
maxLength: 255
minLength: 1
type: string
type: object
api-service_internal_models_kiosk.ListkioskCreateResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_kiosk.Listkiosk'
message:
type: string
type: object
api-service_internal_models_kiosk.ListkioskDeleteResponse:
properties:
id:
type: string
message:
type: string
type: object
api-service_internal_models_kiosk.ListkioskGetResponse:
properties:
data:
items:
$ref: '#/definitions/api-service_internal_models_kiosk.Listkiosk'
type: array
message:
type: string
meta:
$ref: '#/definitions/api-service_internal_models.MetaResponse'
summary:
$ref: '#/definitions/api-service_internal_models.AggregateData'
type: object
api-service_internal_models_kiosk.ListkioskUpdateRequest:
properties:
active:
type: boolean
ds_sd_location:
maxLength: 255
type: string
fk_ref_healthcare_type_id:
minimum: 1
type: integer
fk_ref_service_type_id:
minimum: 1
type: integer
fk_sd_location_id:
type: string
icon:
maxLength: 20
minLength: 1
type: string
id:
minimum: 1
type: integer
name:
maxLength: 20
minLength: 1
type: string
url:
maxLength: 255
minLength: 1
type: string
required:
- id
type: object
api-service_internal_models_kiosk.ListkioskUpdateResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_kiosk.Listkiosk'
message:
type: string
type: object
api-service_internal_models_patient.Patient:
properties:
active:
$ref: '#/definitions/sql.NullBool'
address:
$ref: '#/definitions/sql.NullString'
birth_date:
type: string
ds_sd_kabupaten_kota:
$ref: '#/definitions/sql.NullString'
ds_sd_kecamatan:
$ref: '#/definitions/sql.NullString'
ds_sd_kelurahan:
$ref: '#/definitions/sql.NullString'
ds_sd_provinsi:
$ref: '#/definitions/sql.NullString'
fk_sd_kabupaten_kota_id:
$ref: '#/definitions/api-service_internal_models.NullableInt32'
fk_sd_kecamatan_id:
$ref: '#/definitions/api-service_internal_models.NullableInt32'
fk_sd_kelurahan_id:
$ref: '#/definitions/api-service_internal_models.NullableInt32'
fk_sd_provinsi_id:
$ref: '#/definitions/api-service_internal_models.NullableInt32'
gender:
$ref: '#/definitions/sql.NullString'
id:
type: integer
medical_record_number:
$ref: '#/definitions/sql.NullString'
name:
$ref: '#/definitions/sql.NullString'
phone_number:
$ref: '#/definitions/sql.NullString'
type: object
api-service_internal_models_patient.PatientCreateRequest:
properties:
active:
type: boolean
address:
maxLength: 255
minLength: 1
type: string
birth_date:
type: string
ds_sd_kabupaten_kota:
maxLength: 255
minLength: 1
type: string
ds_sd_kecamatan:
maxLength: 255
minLength: 1
type: string
ds_sd_kelurahan:
maxLength: 255
minLength: 1
type: string
ds_sd_provinsi:
maxLength: 255
minLength: 1
type: string
fk_sd_kabupaten_kota_id:
type: integer
fk_sd_kecamatan_id:
type: integer
fk_sd_kelurahan_id:
type: integer
fk_sd_provinsi_id:
type: integer
gender:
maxLength: 1
type: string
medical_record_number:
maxLength: 20
minLength: 1
type: string
name:
maxLength: 100
minLength: 1
type: string
phone_number:
maxLength: 20
minLength: 1
type: string
type: object
api-service_internal_models_patient.PatientCreateResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_patient.Patient'
message:
type: string
type: object
api-service_internal_models_patient.PatientDeleteResponse:
properties:
id:
type: string
message:
type: string
type: object
api-service_internal_models_patient.PatientGetResponse:
properties:
data:
items:
$ref: '#/definitions/api-service_internal_models_patient.Patient'
type: array
message:
type: string
meta:
$ref: '#/definitions/api-service_internal_models.MetaResponse'
summary:
$ref: '#/definitions/api-service_internal_models.AggregateData'
type: object
api-service_internal_models_patient.PatientPostRequest:
properties:
id:
minimum: 1
type: integer
required:
- id
type: object
api-service_internal_models_patient.PatientUpdateRequest:
properties:
active:
type: boolean
address:
maxLength: 255
minLength: 1
type: string
birth_date:
type: string
ds_sd_kabupaten_kota:
maxLength: 255
type: string
ds_sd_kecamatan:
maxLength: 255
type: string
ds_sd_kelurahan:
maxLength: 255
type: string
ds_sd_provinsi:
maxLength: 255
type: string
fk_sd_kabupaten_kota_id:
type: integer
fk_sd_kecamatan_id:
type: integer
fk_sd_kelurahan_id:
type: integer
fk_sd_provinsi_id:
type: integer
gender:
maxLength: 1
type: string
id:
minimum: 1
type: integer
medical_record_number:
maxLength: 20
minLength: 1
type: string
name:
maxLength: 100
minLength: 1
type: string
phone_number:
maxLength: 20
minLength: 1
type: string
required:
- id
type: object
api-service_internal_models_patient.PatientUpdateResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_patient.Patient'
message:
type: string
type: object
api-service_internal_models_registrasi.MsRegistrationCounter:
properties:
active:
$ref: '#/definitions/sql.NullBool'
code:
$ref: '#/definitions/sql.NullString'
ds_sd_location:
$ref: '#/definitions/sql.NullString'
fk_ref_healtcare_type_id:
$ref: '#/definitions/api-service_internal_models.NullableInt32'
fk_ref_service_type_id:
$ref: '#/definitions/api-service_internal_models.NullableInt32'
fk_sd_location_id:
$ref: '#/definitions/sql.NullString'
icon:
$ref: '#/definitions/sql.NullString'
id:
type: integer
name:
$ref: '#/definitions/sql.NullString'
quota:
$ref: '#/definitions/sql.NullInt16'
type: object
api-service_internal_models_registrasi.MsRegistrationCounterCreateRequest:
properties:
active:
type: boolean
code:
maxLength: 3
minLength: 1
type: string
ds_sd_location:
maxLength: 255
minLength: 1
type: string
fk_ref_healtcare_type_id:
minimum: 1
type: integer
fk_ref_service_type_id:
minimum: 1
type: integer
fk_sd_location_id:
type: string
icon:
maxLength: 20
minLength: 1
type: string
name:
maxLength: 20
minLength: 1
type: string
quota:
minimum: 0
type: integer
required:
- code
- name
type: object
api-service_internal_models_registrasi.MsRegistrationCounterCreateResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounter'
message:
type: string
type: object
api-service_internal_models_registrasi.MsRegistrationCounterDeleteResponse:
properties:
id:
type: string
message:
type: string
type: object
api-service_internal_models_registrasi.MsRegistrationCounterDetail:
properties:
active:
$ref: '#/definitions/sql.NullBool'
code:
$ref: '#/definitions/sql.NullString'
healthcaretype:
$ref: '#/definitions/sql.NullString'
icon:
$ref: '#/definitions/sql.NullString'
id:
type: integer
name:
$ref: '#/definitions/sql.NullString'
quota:
$ref: '#/definitions/sql.NullInt16'
servicetype:
$ref: '#/definitions/sql.NullString'
type: object
api-service_internal_models_registrasi.MsRegistrationCounterGetByIDResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounterDetail'
message:
type: string
type: object
api-service_internal_models_registrasi.MsRegistrationCounterGetResponse:
properties:
data:
items:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounter'
type: array
message:
type: string
meta:
$ref: '#/definitions/api-service_internal_models.MetaResponse'
summary:
$ref: '#/definitions/api-service_internal_models.AggregateData'
type: object
api-service_internal_models_registrasi.MsRegistrationCounterUpdateRequest:
properties:
active:
type: boolean
code:
maxLength: 3
minLength: 1
type: string
ds_sd_location:
maxLength: 255
minLength: 1
type: string
fk_ref_healtcare_type_id:
minimum: 1
type: integer
fk_ref_service_type_id:
minimum: 1
type: integer
fk_sd_location_id:
type: string
icon:
maxLength: 20
minLength: 1
type: string
id:
minimum: 1
type: integer
name:
maxLength: 20
minLength: 1
type: string
quota:
minimum: 0
type: integer
required:
- code
- ds_sd_location
- fk_sd_location_id
- id
- name
type: object
api-service_internal_models_registrasi.MsRegistrationCounterUpdateResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounter'
message:
type: string
type: object
api-service_internal_models_retribusi.Retribusi:
properties:
createdAt:
type: string
date_created:
$ref: '#/definitions/sql.NullTime'
date_updated:
$ref: '#/definitions/sql.NullTime'
deletedAt:
$ref: '#/definitions/gorm.DeletedAt'
dinas:
$ref: '#/definitions/sql.NullString'
id:
type: string
jenis:
$ref: '#/definitions/sql.NullString'
kelompok_obyek:
$ref: '#/definitions/sql.NullString'
kode_tarif:
$ref: '#/definitions/sql.NullString'
pelayanan:
$ref: '#/definitions/sql.NullString'
rekening_denda:
$ref: '#/definitions/sql.NullString'
rekening_pokok:
$ref: '#/definitions/sql.NullString'
satuan:
$ref: '#/definitions/sql.NullString'
satuan_overtime:
$ref: '#/definitions/sql.NullString'
sort:
$ref: '#/definitions/sql.NullInt32'
status:
type: string
tarif:
$ref: '#/definitions/sql.NullString'
tarif_overtime:
$ref: '#/definitions/sql.NullString'
updatedAt:
type: string
uraian_1:
$ref: '#/definitions/sql.NullString'
uraian_2:
$ref: '#/definitions/sql.NullString'
uraian_3:
$ref: '#/definitions/sql.NullString'
user_created:
$ref: '#/definitions/sql.NullString'
user_updated:
$ref: '#/definitions/sql.NullString'
type: object
api-service_internal_models_retribusi.RetribusiCreateRequest:
properties:
dinas:
maxLength: 255
minLength: 1
type: string
jenis:
maxLength: 255
minLength: 1
type: string
kelompok_obyek:
maxLength: 255
minLength: 1
type: string
kode_tarif:
maxLength: 255
minLength: 1
type: string
pelayanan:
maxLength: 255
minLength: 1
type: string
rekening_denda:
maxLength: 255
minLength: 1
type: string
rekening_pokok:
maxLength: 255
minLength: 1
type: string
satuan:
maxLength: 255
minLength: 1
type: string
satuan_overtime:
maxLength: 255
minLength: 1
type: string
status:
enum:
- draft
- active
- inactive
type: string
tarif:
type: string
tarif_overtime:
type: string
uraian_1:
type: string
uraian_2:
type: string
uraian_3:
type: string
required:
- status
type: object
api-service_internal_models_retribusi.RetribusiCreateResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_retribusi.Retribusi'
message:
type: string
type: object
api-service_internal_models_retribusi.RetribusiDeleteResponse:
properties:
id:
type: string
message:
type: string
type: object
api-service_internal_models_retribusi.RetribusiGetByIDResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_retribusi.Retribusi'
message:
type: string
type: object
api-service_internal_models_retribusi.RetribusiGetResponse:
properties:
data:
items:
$ref: '#/definitions/api-service_internal_models_retribusi.Retribusi'
type: array
message:
type: string
meta:
$ref: '#/definitions/api-service_internal_models.MetaResponse'
summary:
$ref: '#/definitions/api-service_internal_models.AggregateData'
type: object
api-service_internal_models_retribusi.RetribusiUpdateRequest:
properties:
dinas:
maxLength: 255
minLength: 1
type: string
jenis:
maxLength: 255
minLength: 1
type: string
kelompok_obyek:
maxLength: 255
minLength: 1
type: string
kode_tarif:
maxLength: 255
minLength: 1
type: string
pelayanan:
maxLength: 255
minLength: 1
type: string
rekening_denda:
maxLength: 255
minLength: 1
type: string
rekening_pokok:
maxLength: 255
minLength: 1
type: string
satuan:
maxLength: 255
minLength: 1
type: string
satuan_overtime:
maxLength: 255
minLength: 1
type: string
status:
enum:
- draft
- active
- inactive
type: string
tarif:
type: string
tarif_overtime:
type: string
uraian_1:
type: string
uraian_2:
type: string
uraian_3:
type: string
required:
- status
type: object
api-service_internal_models_retribusi.RetribusiUpdateResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_retribusi.Retribusi'
message:
type: string
type: object
api-service_internal_models_vclaim_peserta.PesertaData:
properties:
cob:
properties:
nmAsuransi: {}
noAsuransi: {}
tglTAT: {}
tglTMT: {}
type: object
hakKelas:
properties:
keterangan:
type: string
kode:
type: string
type: object
informasi:
properties:
dinsos: {}
eSEP: {}
noSKTM: {}
prolanisPRB:
type: string
type: object
jenisPeserta:
properties:
keterangan:
type: string
kode:
type: string
type: object
mr:
properties:
noMR:
type: string
noTelepon:
type: string
type: object
nama:
type: string
nik:
type: string
noKartu:
type: string
pisa:
type: string
provUmum:
properties:
kdProvider:
type: string
nmProvider:
type: string
type: object
raw_response:
type: string
sex:
type: string
statusPeserta:
properties:
keterangan:
type: string
kode:
type: string
type: object
tglCetakKartu:
type: string
tglLahir:
type: string
tglTAT:
type: string
tglTMT:
type: string
umur:
properties:
umurSaatPelayanan:
type: string
umurSekarang:
type: string
type: object
type: object
api-service_internal_models_vclaim_peserta.PesertaResponse:
properties:
data:
$ref: '#/definitions/api-service_internal_models_vclaim_peserta.PesertaData'
message:
type: string
metaData: {}
request_id:
type: string
status:
type: string
timestamp:
type: string
type: object
gorm.DeletedAt:
properties:
time:
type: string
valid:
description: Valid is true if Time is not NULL
type: boolean
type: object
sql.NullBool:
properties:
bool:
type: boolean
valid:
description: Valid is true if Bool is not NULL
type: boolean
type: object
sql.NullInt16:
properties:
int16:
format: int32
type: integer
valid:
description: Valid is true if Int16 is not NULL
type: boolean
type: object
sql.NullInt32:
properties:
int32:
format: int32
type: integer
valid:
description: Valid is true if Int32 is not NULL
type: boolean
type: object
sql.NullString:
properties:
string:
type: string
valid:
description: Valid is true if String is not NULL
type: boolean
type: object
sql.NullTime:
properties:
time:
type: string
valid:
description: Valid is true if Time is not NULL
type: boolean
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:
/Peserta/nik/:nik:
get:
consumes:
- application/json
description: Get participant eligibility information by NIK
parameters:
- description: Request ID for tracking
in: header
name: X-Request-ID
type: string
- description: nik
example: '"example_value"'
in: path
name: nik
required: true
type: string
produces:
- application/json
responses:
"200":
description: Successfully retrieved Bynik data
schema:
$ref: '#/definitions/api-service_internal_models_vclaim_peserta.PesertaResponse'
"400":
description: Bad request - invalid parameters
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponseBpjs'
"401":
description: Unauthorized - invalid API credentials
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponseBpjs'
"404":
description: Not found - Bynik not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponseBpjs'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponseBpjs'
security:
- ApiKeyAuth: []
summary: Get Bynik data
tags:
- Peserta
/Peserta/nokartu/:nokartu:
get:
consumes:
- application/json
description: Get participant eligibility information by card number
parameters:
- description: Request ID for tracking
in: header
name: X-Request-ID
type: string
- description: nokartu
example: '"example_value"'
in: path
name: nokartu
required: true
type: string
produces:
- application/json
responses:
"200":
description: Successfully retrieved Bynokartu data
schema:
$ref: '#/definitions/api-service_internal_models_vclaim_peserta.PesertaResponse'
"400":
description: Bad request - invalid parameters
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponseBpjs'
"401":
description: Unauthorized - invalid API credentials
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponseBpjs'
"404":
description: Not found - Bynokartu not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponseBpjs'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponseBpjs'
security:
- ApiKeyAuth: []
summary: Get Bynokartu data
tags:
- Peserta
/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/listkiosks/stats:
get:
consumes:
- application/json
description: Returns comprehensive statistics about listkiosk data
parameters:
- description: Filter statistics by status
in: query
name: status
type: string
produces:
- application/json
responses:
"200":
description: Statistics data
schema:
$ref: '#/definitions/api-service_internal_models.AggregateData'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get listkiosk statistics
tags:
- Listkiosk
/api/v1/patients/stats:
get:
consumes:
- application/json
description: Returns comprehensive statistics about patient data
parameters:
- description: Filter statistics by status
in: query
name: status
type: string
produces:
- application/json
responses:
"200":
description: Statistics data
schema:
$ref: '#/definitions/api-service_internal_models.AggregateData'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get patient statistics
tags:
- Patient
/api/v1/retribusi/{id}:
delete:
consumes:
- application/json
description: Soft deletes a retribusi by setting status to 'deleted'
parameters:
- description: Retribusi ID (UUID)
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: Retribusi deleted successfully
schema:
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiDeleteResponse'
"400":
description: Invalid ID format
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Retribusi not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Delete retribusi
tags:
- Retribusi
get:
consumes:
- application/json
description: Returns a single retribusi by ID
parameters:
- description: Retribusi ID (UUID)
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: Success response
schema:
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiGetByIDResponse'
"400":
description: Invalid ID format
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Retribusi not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get Retribusi by ID
tags:
- Retribusi
put:
consumes:
- application/json
description: Updates an existing retribusi record
parameters:
- description: Retribusi ID (UUID)
in: path
name: id
required: true
type: string
- description: Retribusi update request
in: body
name: request
required: true
schema:
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiUpdateRequest'
produces:
- application/json
responses:
"200":
description: Retribusi updated successfully
schema:
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiUpdateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Retribusi not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Update retribusi
tags:
- Retribusi
/api/v1/retribusis:
get:
consumes:
- application/json
description: Returns a paginated list of retribusis with optional summary statistics
parameters:
- default: 10
description: Limit (max 100)
in: query
name: limit
type: integer
- default: 0
description: Offset
in: query
name: offset
type: integer
- default: false
description: Include aggregation summary
in: query
name: include_summary
type: boolean
- description: Filter by status
in: query
name: status
type: string
- description: Filter by jenis
in: query
name: jenis
type: string
- description: Filter by dinas
in: query
name: dinas
type: string
- description: Search in multiple fields
in: query
name: search
type: string
produces:
- application/json
responses:
"200":
description: Success response
schema:
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiGetResponse'
"400":
description: Bad request
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get retribusi with pagination and optional aggregation
tags:
- Retribusi
post:
consumes:
- application/json
description: Creates a new retribusi record
parameters:
- description: Retribusi creation request
in: body
name: request
required: true
schema:
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiCreateRequest'
produces:
- application/json
responses:
"201":
description: Retribusi created successfully
schema:
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiCreateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Create retribusi
tags:
- Retribusi
/api/v1/retribusis/dynamic:
get:
consumes:
- application/json
description: Returns retribusis with advanced dynamic filtering like Directus
parameters:
- description: Fields to select (e.g., fields=*.*)
in: query
name: fields
type: string
- description: Dynamic filters (e.g., filter[Jenis][_eq]=value)
in: query
name: filter[column][operator]
type: string
- description: Sort fields (e.g., sort=date_created,-Jenis)
in: query
name: sort
type: string
- default: 10
description: Limit
in: query
name: limit
type: integer
- default: 0
description: Offset
in: query
name: offset
type: integer
produces:
- application/json
responses:
"200":
description: Success response
schema:
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiGetResponse'
"400":
description: Bad request
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get retribusi with dynamic filtering
tags:
- Retribusi
/api/v1/retribusis/stats:
get:
consumes:
- application/json
description: Returns comprehensive statistics about retribusi data
parameters:
- description: Filter statistics by status
in: query
name: status
type: string
produces:
- application/json
responses:
"200":
description: Statistics data
schema:
$ref: '#/definitions/api-service_internal_models.AggregateData'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get retribusi statistics
tags:
- Retribusi
/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
/kiosk:
post:
consumes:
- application/json
description: Creates a new listkiosk record
parameters:
- description: Listkiosk creation request
in: body
name: request
required: true
schema:
$ref: '#/definitions/api-service_internal_models_kiosk.ListkioskCreateRequest'
produces:
- application/json
responses:
"201":
description: Listkiosk created successfully
schema:
$ref: '#/definitions/api-service_internal_models_kiosk.ListkioskCreateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Create listkiosk
tags:
- Listkiosk
/kiosk/{id}:
delete:
consumes:
- application/json
description: Soft deletes a listkiosk by setting status to 'deleted'
parameters:
- description: Kiosk ID (integer)
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Listkiosk deleted successfully
schema:
$ref: '#/definitions/api-service_internal_models_kiosk.ListkioskDeleteResponse'
"400":
description: Invalid ID format
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Listkiosk not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Delete listkiosk
tags:
- Listkiosk
put:
consumes:
- application/json
description: Updates an existing listkiosk record
parameters:
- description: Kiosk ID (integer)
in: path
name: id
required: true
type: integer
- description: Listkiosk update request
in: body
name: request
required: true
schema:
$ref: '#/definitions/api-service_internal_models_kiosk.ListkioskUpdateRequest'
produces:
- application/json
responses:
"200":
description: Listkiosk updated successfully
schema:
$ref: '#/definitions/api-service_internal_models_kiosk.ListkioskUpdateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Listkiosk not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Update listkiosk
tags:
- Listkiosk
/kiosk/listkiosk:
get:
consumes:
- application/json
description: Returns a paginated list of listkiosks with optional summary statistics
parameters:
- default: 10
description: Limit (max 100)
in: query
name: limit
type: integer
- default: 0
description: Offset
in: query
name: offset
type: integer
- default: false
description: Include aggregation summary
in: query
name: include_summary
type: boolean
- description: Filter by status
in: query
name: status
type: string
- description: Search in multiple fields
in: query
name: search
type: string
produces:
- application/json
responses:
"200":
description: Success response
schema:
$ref: '#/definitions/api-service_internal_models_kiosk.ListkioskGetResponse'
"400":
description: Bad request
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get listkiosk with pagination and optional aggregation
tags:
- Listkiosk
/patient:
post:
consumes:
- application/json
description: Creates a new patient record
parameters:
- description: Patient creation request
in: body
name: request
required: true
schema:
$ref: '#/definitions/api-service_internal_models_patient.PatientCreateRequest'
produces:
- application/json
responses:
"201":
description: Patient created successfully
schema:
$ref: '#/definitions/api-service_internal_models_patient.PatientCreateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Create patient
tags:
- Patient
/patient/{id}:
delete:
consumes:
- application/json
description: Soft deletes a patient by setting status to 'deleted'
parameters:
- description: Patient ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Patient deleted successfully
schema:
$ref: '#/definitions/api-service_internal_models_patient.PatientDeleteResponse'
"400":
description: Invalid ID format
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Patient not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Delete patient
tags:
- Patient
put:
consumes:
- application/json
description: Updates an existing patient record
parameters:
- description: Patient ID
in: path
name: id
required: true
type: integer
- description: Patient update request
in: body
name: request
required: true
schema:
$ref: '#/definitions/api-service_internal_models_patient.PatientUpdateRequest'
produces:
- application/json
responses:
"200":
description: Patient updated successfully
schema:
$ref: '#/definitions/api-service_internal_models_patient.PatientUpdateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Patient not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Update patient
tags:
- Patient
/patient/detail:
post:
consumes:
- application/json
description: Retrieves a patient record by ID using POST request
parameters:
- description: Patient post request
in: body
name: request
required: true
schema:
$ref: '#/definitions/api-service_internal_models_patient.PatientPostRequest'
produces:
- application/json
responses:
"200":
description: Patient details retrieved successfully
schema:
$ref: '#/definitions/api-service_internal_models_patient.PatientCreateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Patient not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get patient by ID using POST request
tags:
- Patient
/patient/listpatient:
get:
consumes:
- application/json
description: Returns a paginated list of patients with optional summary statistics
parameters:
- default: 10
description: Limit (max 100)
in: query
name: limit
type: integer
- default: 0
description: Offset
in: query
name: offset
type: integer
- default: false
description: Include aggregation summary
in: query
name: include_summary
type: boolean
- description: Filter by status
in: query
name: status
type: string
- description: Search in multiple fields
in: query
name: search
type: string
produces:
- application/json
responses:
"200":
description: Success response
schema:
$ref: '#/definitions/api-service_internal_models_patient.PatientGetResponse'
"400":
description: Bad request
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get patient with pagination and optional aggregation
tags:
- Patient
/registration-counter:
get:
consumes:
- application/json
description: Returns a paginated list of registration counters with optional
summary statistics
parameters:
- default: 10
description: Limit (max 100)
in: query
name: limit
type: integer
- default: 0
description: Offset
in: query
name: offset
type: integer
- default: false
description: Include aggregation summary
in: query
name: include_summary
type: boolean
- description: Filter by active status
in: query
name: active
type: boolean
- description: Search in name or code
in: query
name: search
type: string
produces:
- application/json
responses:
"200":
description: Success response
schema:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounterGetResponse'
"400":
description: Bad request
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get registration counters with pagination and optional aggregation
tags:
- RegistrationCounter
post:
consumes:
- application/json
description: Creates a new registration counter record
parameters:
- description: Registration Counter creation request
in: body
name: request
required: true
schema:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounterCreateRequest'
produces:
- application/json
responses:
"201":
description: Registration Counter created successfully
schema:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounterCreateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Create a new registration counter
tags:
- RegistrationCounter
/registration-counter/{id}:
delete:
consumes:
- application/json
description: Soft deletes a registration counter by setting active to false
parameters:
- description: Registration Counter ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Registration Counter deleted successfully
schema:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounterDeleteResponse'
"400":
description: Invalid ID format
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Registration Counter not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Soft delete a registration counter
tags:
- RegistrationCounter
get:
consumes:
- application/json
description: Returns a single registration counter by its ID
parameters:
- description: Registration Counter ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: Success response
schema:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounterGetByIDResponse'
"400":
description: Invalid ID format
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Registration Counter not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get Registration Counter by ID
tags:
- RegistrationCounter
put:
consumes:
- application/json
description: Updates an existing registration counter record
parameters:
- description: Registration Counter ID
in: path
name: id
required: true
type: integer
- description: Registration Counter update request
in: body
name: request
required: true
schema:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounterUpdateRequest'
produces:
- application/json
responses:
"200":
description: Registration Counter updated successfully
schema:
$ref: '#/definitions/api-service_internal_models_registrasi.MsRegistrationCounterUpdateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Registration Counter not found
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Update an existing registration counter
tags:
- RegistrationCounter
/registration-counter/stats:
get:
consumes:
- application/json
description: Returns comprehensive statistics about registration counter data
parameters:
- description: Filter statistics by active status
in: query
name: active
type: boolean
produces:
- application/json
responses:
"200":
description: Statistics data
schema:
$ref: '#/definitions/api-service_internal_models.AggregateData'
"500":
description: Internal server error
schema:
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get registration counter statistics
tags:
- RegistrationCounter
schemes:
- http
- https
swagger: "2.0"