Pembaruan

This commit is contained in:
2025-08-26 14:10:37 +07:00
parent f2dbbd165e
commit 7c16fd17f8
9 changed files with 1085 additions and 1931 deletions

View File

@@ -1,9 +1,6 @@
basePath: /api/v1
definitions:
gin.H:
additionalProperties: {}
type: object
models.AggregateData:
api-service_internal_models.AggregateData:
properties:
by_dinas:
additionalProperties:
@@ -30,7 +27,7 @@ definitions:
updated_today:
type: integer
type: object
models.ErrorResponse:
api-service_internal_models.ErrorResponse:
properties:
code:
type: integer
@@ -41,68 +38,7 @@ definitions:
timestamp:
type: string
type: object
models.Flag:
properties:
flag:
type: string
required:
- flag
type: object
models.Jaminan:
properties:
lakaLantas:
type: string
noLP:
type: string
penjamin:
$ref: '#/definitions/models.Penjamin'
required:
- lakaLantas
type: object
models.KlsRawatPost:
properties:
klsRawatHak:
type: string
klsRawatNaik:
type: string
pembiayaan:
type: string
penanggungJawab:
type: string
required:
- klsRawatHak
type: object
models.KlsRawatPut:
properties:
klsRawatHak:
type: string
klsRawatNaik:
type: string
pembiayaan:
type: string
penanggungJawab:
type: string
type: object
models.LoginRequest:
properties:
password:
type: string
username:
type: string
required:
- password
- username
type: object
models.LokasiLaka:
properties:
kdKabupaten:
type: string
kdKecamatan:
type: string
kdPropinsi:
type: string
type: object
models.MetaResponse:
api-service_internal_models.MetaResponse:
properties:
current_page:
type: integer
@@ -119,33 +55,44 @@ definitions:
total_pages:
type: integer
type: object
models.NullableInt32:
api-service_internal_models.NullableInt32:
properties:
int32:
type: integer
valid:
type: boolean
type: object
models.Penjamin:
api-service_internal_models_auth.LoginRequest:
properties:
keterangan:
password:
type: string
suplesi:
$ref: '#/definitions/models.Suplesi'
tglKejadian:
type: string
type: object
models.Poli:
properties:
eksekutif:
type: string
tujuan:
username:
type: string
required:
- eksekutif
- tujuan
- password
- username
type: object
models.Retribusi:
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_retribusi.Retribusi:
properties:
date_created:
$ref: '#/definitions/sql.NullTime'
@@ -172,7 +119,7 @@ definitions:
satuan_overtime:
$ref: '#/definitions/sql.NullString'
sort:
$ref: '#/definitions/models.NullableInt32'
$ref: '#/definitions/api-service_internal_models.NullableInt32'
status:
type: string
tarif:
@@ -190,7 +137,7 @@ definitions:
user_updated:
$ref: '#/definitions/sql.NullString'
type: object
models.RetribusiCreateRequest:
api-service_internal_models_retribusi.RetribusiCreateRequest:
properties:
dinas:
maxLength: 255
@@ -247,41 +194,41 @@ definitions:
required:
- status
type: object
models.RetribusiCreateResponse:
api-service_internal_models_retribusi.RetribusiCreateResponse:
properties:
data:
$ref: '#/definitions/models.Retribusi'
$ref: '#/definitions/api-service_internal_models_retribusi.Retribusi'
message:
type: string
type: object
models.RetribusiDeleteResponse:
api-service_internal_models_retribusi.RetribusiDeleteResponse:
properties:
id:
type: string
message:
type: string
type: object
models.RetribusiGetByIDResponse:
api-service_internal_models_retribusi.RetribusiGetByIDResponse:
properties:
data:
$ref: '#/definitions/models.Retribusi'
$ref: '#/definitions/api-service_internal_models_retribusi.Retribusi'
message:
type: string
type: object
models.RetribusiGetResponse:
api-service_internal_models_retribusi.RetribusiGetResponse:
properties:
data:
items:
$ref: '#/definitions/models.Retribusi'
$ref: '#/definitions/api-service_internal_models_retribusi.Retribusi'
type: array
message:
type: string
meta:
$ref: '#/definitions/models.MetaResponse'
$ref: '#/definitions/api-service_internal_models.MetaResponse'
summary:
$ref: '#/definitions/models.AggregateData'
$ref: '#/definitions/api-service_internal_models.AggregateData'
type: object
models.RetribusiUpdateRequest:
api-service_internal_models_retribusi.RetribusiUpdateRequest:
properties:
dinas:
maxLength: 255
@@ -338,44 +285,18 @@ definitions:
required:
- status
type: object
models.RetribusiUpdateResponse:
api-service_internal_models_retribusi.RetribusiUpdateResponse:
properties:
data:
$ref: '#/definitions/models.Retribusi'
$ref: '#/definitions/api-service_internal_models_retribusi.Retribusi'
message:
type: string
type: object
models.Rujukan:
properties:
asalRujukan:
type: string
noRujukan:
type: string
ppkRujukan:
type: string
tglRujukan:
type: string
required:
- asalRujukan
- noRujukan
- ppkRujukan
- tglRujukan
api-service_internal_models_vclaim.SepPostRequest:
type: object
models.SepPostRequest:
properties:
tsep:
$ref: '#/definitions/models.TSepPost'
required:
- tsep
api-service_internal_models_vclaim.SepPutRequest:
type: object
models.SepPutRequest:
properties:
tsep:
$ref: '#/definitions/models.TSepPut'
required:
- tsep
type: object
models.SepResponse:
api-service_internal_models_vclaim.SepResponse:
properties:
data:
additionalProperties: true
@@ -383,134 +304,113 @@ definitions:
message:
type: string
type: object
models.Skdp:
properties:
kodeDPJP:
type: string
noSurat:
type: string
required:
- kodeDPJP
- noSurat
gin.H:
additionalProperties: {}
type: object
models.Suplesi:
internal_models_surkon.ErrorResponse:
properties:
lokasiLaka:
$ref: '#/definitions/models.LokasiLaka'
noSepSuplesi:
code:
type: string
suplesi:
details:
type: string
message:
type: string
type: object
models.TSepPost:
models.ResponseMetadata:
properties:
assesmentPel:
request_id:
type: string
timestamp:
type: string
version:
type: string
type: object
models.SpriPost:
properties:
catatan:
maxLength: 200
type: string
cob:
$ref: '#/definitions/models.Flag'
diagAwal:
type: string
dpjpLayan:
type: string
flagProcedure:
type: string
jaminan:
$ref: '#/definitions/models.Jaminan'
jnsPelayanan:
enum:
- "1"
- "2"
type: string
katarak:
$ref: '#/definitions/models.Flag'
kdPenunjang:
type: string
klsRawat:
$ref: '#/definitions/models.KlsRawatPost'
noKartu:
description: Core BPJS fields - customize based on your specific requirements
maxLength: 13
minLength: 13
type: string
noMR:
type: string
noTelp:
type: string
poli:
$ref: '#/definitions/models.Poli'
ppkPelayanan:
type: string
rujukan:
$ref: '#/definitions/models.Rujukan'
skdp:
$ref: '#/definitions/models.Skdp'
tglSep:
description: yyyy-MM-dd
type: string
tujuanKunj:
tglLayanan:
type: string
user:
type: string
required:
- cob
- diagAwal
- jaminan
- jnsPelayanan
- katarak
- klsRawat
- noKartu
- noMR
- poli
- ppkPelayanan
- rujukan
- skdp
- tglSep
- tglLayanan
- user
type: object
models.TSepPut:
models.SpriPostRequest:
properties:
request_id:
type: string
timestamp:
type: string
tsep:
$ref: '#/definitions/models.SpriPost'
required:
- tsep
type: object
models.SpriPut:
properties:
catatan:
type: string
cob:
$ref: '#/definitions/models.Flag'
diagAwal:
type: string
dpjpLayan:
type: string
jaminan:
$ref: '#/definitions/models.Jaminan'
katarak:
$ref: '#/definitions/models.Flag'
klsRawat:
$ref: '#/definitions/models.KlsRawatPut'
noMR:
type: string
noSep:
type: string
noTelp:
type: string
poli:
$ref: '#/definitions/models.Poli'
user:
type: string
required:
- noSep
- user
type: object
models.TokenResponse:
properties:
access_token:
type: string
expires_in:
type: integer
token_type:
type: string
type: object
models.User:
properties:
email:
maxLength: 200
type: string
id:
type: string
role:
jnsPelayanan:
enum:
- "1"
- "2"
type: string
username:
noKartu:
maxLength: 13
minLength: 13
type: string
ppkPelayanan:
type: string
tglLayanan:
type: string
user:
type: string
required:
- id
- user
type: object
models.SpriPutRequest:
properties:
request_id:
type: string
timestamp:
type: string
tsep:
$ref: '#/definitions/models.SpriPut'
required:
- tsep
type: object
models.SpriResponse:
properties:
data: {}
error:
$ref: '#/definitions/internal_models_surkon.ErrorResponse'
message:
type: string
metadata:
$ref: '#/definitions/models.ResponseMetadata'
status:
type: string
type: object
sql.NullString:
@@ -554,14 +454,14 @@ paths:
name: login
required: true
schema:
$ref: '#/definitions/models.LoginRequest'
$ref: '#/definitions/api-service_internal_models_auth.LoginRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/models.TokenResponse'
$ref: '#/definitions/api-service_internal_models_auth.TokenResponse'
"400":
description: Bad request
schema:
@@ -586,7 +486,7 @@ paths:
"200":
description: OK
schema:
$ref: '#/definitions/models.User'
$ref: '#/definitions/api-service_internal_models_auth.User'
"401":
description: Unauthorized
schema:
@@ -618,7 +518,7 @@ paths:
"200":
description: OK
schema:
$ref: '#/definitions/models.TokenResponse'
$ref: '#/definitions/api-service_internal_models_auth.TokenResponse'
"400":
description: Bad request
schema:
@@ -725,19 +625,19 @@ paths:
"200":
description: Retribusi deleted successfully
schema:
$ref: '#/definitions/models.RetribusiDeleteResponse'
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiDeleteResponse'
"400":
description: Invalid ID format
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Retribusi not found
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Delete retribusi
tags:
- retribusi
@@ -757,19 +657,19 @@ paths:
"200":
description: Success response
schema:
$ref: '#/definitions/models.RetribusiGetByIDResponse'
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiGetByIDResponse'
"400":
description: Invalid ID format
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Retribusi not found
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get Retribusi by ID
tags:
- retribusi
@@ -788,26 +688,26 @@ paths:
name: request
required: true
schema:
$ref: '#/definitions/models.RetribusiUpdateRequest'
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiUpdateRequest'
produces:
- application/json
responses:
"200":
description: Retribusi updated successfully
schema:
$ref: '#/definitions/models.RetribusiUpdateResponse'
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiUpdateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"404":
description: Retribusi not found
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Update retribusi
tags:
- retribusi
@@ -854,15 +754,15 @@ paths:
"200":
description: Success response
schema:
$ref: '#/definitions/models.RetribusiGetResponse'
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiGetResponse'
"400":
description: Bad request
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get retribusi with pagination and optional aggregation
tags:
- retribusi
@@ -876,22 +776,22 @@ paths:
name: request
required: true
schema:
$ref: '#/definitions/models.RetribusiCreateRequest'
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiCreateRequest'
produces:
- application/json
responses:
"201":
description: Retribusi created successfully
schema:
$ref: '#/definitions/models.RetribusiCreateResponse'
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiCreateResponse'
"400":
description: Bad request or validation error
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Create retribusi
tags:
- retribusi
@@ -929,15 +829,15 @@ paths:
"200":
description: Success response
schema:
$ref: '#/definitions/models.RetribusiGetResponse'
$ref: '#/definitions/api-service_internal_models_retribusi.RetribusiGetResponse'
"400":
description: Bad request
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get retribusi with dynamic filtering
tags:
- retribusi
@@ -957,14 +857,152 @@ paths:
"200":
description: Statistics data
schema:
$ref: '#/definitions/models.AggregateData'
$ref: '#/definitions/api-service_internal_models.AggregateData'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.ErrorResponse'
$ref: '#/definitions/api-service_internal_models.ErrorResponse'
summary: Get retribusi statistics
tags:
- retribusi
/api/v1/surkon/spri:
post:
consumes:
- application/json
description: Create a new Spri in BPJS system with enhanced validation and logging
parameters:
- description: Spri creation request
in: body
name: request
required: true
schema:
$ref: '#/definitions/models.SpriPostRequest'
produces:
- application/json
responses:
"200":
description: Spri created successfully
schema:
$ref: '#/definitions/models.SpriResponse'
"400":
description: Bad request - validation error
schema:
$ref: '#/definitions/models.SpriResponse'
"422":
description: Unprocessable entity - business logic error
schema:
$ref: '#/definitions/models.SpriResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.SpriResponse'
summary: Create a new SPRI
tags:
- Surkon-Spri
put:
consumes:
- application/json
description: Update an existing Spri in BPJS system with enhanced validation
and logging
parameters:
- description: Spri update request
in: body
name: request
required: true
schema:
$ref: '#/definitions/models.SpriPutRequest'
produces:
- application/json
responses:
"200":
description: Spri updated successfully
schema:
$ref: '#/definitions/models.SpriResponse'
"400":
description: Bad request - validation error
schema:
$ref: '#/definitions/models.SpriResponse'
"422":
description: Unprocessable entity - business logic error
schema:
$ref: '#/definitions/models.SpriResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.SpriResponse'
summary: Update an existing SPRI
tags:
- Surkon-Spri
/api/v1/surkon/spri/{id}:
delete:
consumes:
- application/json
description: Delete a Spri by ID with enhanced validation and logging
parameters:
- description: Spri ID
in: path
name: id
required: true
type: string
- description: User identifier
in: query
name: user
required: true
type: string
produces:
- application/json
responses:
"200":
description: Spri deleted successfully
schema:
$ref: '#/definitions/models.SpriResponse'
"400":
description: Bad request - missing parameters
schema:
$ref: '#/definitions/models.SpriResponse'
"422":
description: Unprocessable entity - business logic error
schema:
$ref: '#/definitions/models.SpriResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.SpriResponse'
summary: Delete an existing SPRI
tags:
- Surkon-Spri
get:
consumes:
- application/json
description: Retrieve a Spri by ID with enhanced validation and logging
parameters:
- description: Spri ID
in: path
name: id
required: true
type: string
produces:
- application/json
responses:
"200":
description: Data Spri retrieved successfully
schema:
$ref: '#/definitions/models.SpriResponse'
"400":
description: Bad request - invalid ID
schema:
$ref: '#/definitions/models.SpriResponse'
"404":
description: Spri not found
schema:
$ref: '#/definitions/models.SpriResponse'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.SpriResponse'
summary: Get an existing SPRI
tags:
- Surkon-Spri
/api/v1/token/generate:
post:
consumes:
@@ -976,14 +1014,14 @@ paths:
name: token
required: true
schema:
$ref: '#/definitions/models.LoginRequest'
$ref: '#/definitions/api-service_internal_models_auth.LoginRequest'
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/models.TokenResponse'
$ref: '#/definitions/api-service_internal_models_auth.TokenResponse'
"400":
description: Bad request
schema:
@@ -1020,7 +1058,7 @@ paths:
"200":
description: OK
schema:
$ref: '#/definitions/models.TokenResponse'
$ref: '#/definitions/api-service_internal_models_auth.TokenResponse'
"400":
description: Bad request
schema:
@@ -1041,14 +1079,14 @@ paths:
name: request
required: true
schema:
$ref: '#/definitions/models.SepPostRequest'
$ref: '#/definitions/api-service_internal_models_vclaim.SepPostRequest'
produces:
- application/json
responses:
"200":
description: SEP created successfully
schema:
$ref: '#/definitions/models.SepResponse'
$ref: '#/definitions/api-service_internal_models_vclaim.SepResponse'
"400":
description: Invalid request
schema:
@@ -1070,14 +1108,14 @@ paths:
name: request
required: true
schema:
$ref: '#/definitions/models.SepPutRequest'
$ref: '#/definitions/api-service_internal_models_vclaim.SepPutRequest'
produces:
- application/json
responses:
"200":
description: SEP updated successfully
schema:
$ref: '#/definitions/models.SepResponse'
$ref: '#/definitions/api-service_internal_models_vclaim.SepResponse'
"400":
description: Invalid request
schema:
@@ -1111,7 +1149,7 @@ paths:
"200":
description: SEP deleted successfully
schema:
$ref: '#/definitions/models.SepResponse'
$ref: '#/definitions/api-service_internal_models_vclaim.SepResponse'
"400":
description: Invalid request
schema:
@@ -1139,7 +1177,7 @@ paths:
"200":
description: Data SEP retrieved successfully
schema:
$ref: '#/definitions/models.SepResponse'
$ref: '#/definitions/api-service_internal_models_vclaim.SepResponse'
"400":
description: Invalid request
schema: