1779 lines
59 KiB
JSON
1779 lines
59 KiB
JSON
{
|
|
"schemes": [
|
|
"http",
|
|
"https"
|
|
],
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "A comprehensive Go API service with Swagger documentation",
|
|
"title": "API Service",
|
|
"termsOfService": "http://swagger.io/terms/",
|
|
"contact": {
|
|
"name": "API Support",
|
|
"url": "http://www.swagger.io/support",
|
|
"email": "support@swagger.io"
|
|
},
|
|
"license": {
|
|
"name": "Apache 2.0",
|
|
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
|
|
},
|
|
"version": "1.0.0"
|
|
},
|
|
"host": "localhost:8080",
|
|
"basePath": "/api/v1",
|
|
"paths": {
|
|
"/api/v1/auth/login": {
|
|
"post": {
|
|
"description": "Authenticate user with username and password to receive JWT token",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"summary": "Login user and get JWT token",
|
|
"parameters": [
|
|
{
|
|
"description": "Login credentials",
|
|
"name": "login",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api-service_internal_models_auth.LoginRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api-service_internal_models_auth.TokenResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/auth/me": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"Bearer": []
|
|
}
|
|
],
|
|
"description": "Get information about the currently authenticated user",
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"summary": "Get current user info",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api-service_internal_models_auth.User"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/auth/refresh": {
|
|
"post": {
|
|
"description": "Refresh the JWT token using a valid refresh token",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"summary": "Refresh JWT token",
|
|
"parameters": [
|
|
{
|
|
"description": "Refresh token",
|
|
"name": "refresh",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api-service_internal_models_auth.TokenResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/auth/register": {
|
|
"post": {
|
|
"description": "Register a new user account",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"summary": "Register new user",
|
|
"parameters": [
|
|
{
|
|
"description": "Registration data",
|
|
"name": "register",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/bpjs/Peserta/nik/{nik}/tglSEP/{tglSEP}": {
|
|
"get": {
|
|
"description": "Search participant data based on Population NIK and service date",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"bpjs"
|
|
],
|
|
"summary": "Get participant data by NIK",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "NIK KTP",
|
|
"name": "nik",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Service date/SEP date (format: yyyy-MM-dd)",
|
|
"name": "tglSEP",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Participant data",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Participant not found",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/bpjs/reference/referensi/diagnosa": {
|
|
"get": {
|
|
"description": "Get all diagnosa reference data",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"bpjs/reference"
|
|
],
|
|
"summary": "Get all diagnosa reference data",
|
|
"responses": {
|
|
"200": {
|
|
"description": "Success response",
|
|
"schema": {
|
|
"$ref": "#/definitions/models.DiagnosaResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Data not found",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/retribusi/{id}": {
|
|
"get": {
|
|
"description": "Returns a single retribusi by ID",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"retribusi"
|
|
],
|
|
"summary": "Get Retribusi by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Retribusi ID (UUID)",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"description": "Updates an existing retribusi record",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"retribusi"
|
|
],
|
|
"summary": "Update retribusi",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Retribusi ID (UUID)",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Retribusi update request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiUpdateRequest"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"description": "Soft deletes a retribusi by setting status to 'deleted'",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"retribusi"
|
|
],
|
|
"summary": "Delete retribusi",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Retribusi ID (UUID)",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/retribusis": {
|
|
"get": {
|
|
"description": "Returns a paginated list of retribusis with optional summary statistics",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"retribusi"
|
|
],
|
|
"summary": "Get retribusi with pagination and optional aggregation",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"default": 10,
|
|
"description": "Limit (max 100)",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"default": 0,
|
|
"description": "Offset",
|
|
"name": "offset",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Include aggregation summary",
|
|
"name": "include_summary",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Filter by status",
|
|
"name": "status",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Filter by jenis",
|
|
"name": "jenis",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Filter by dinas",
|
|
"name": "dinas",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Search in multiple fields",
|
|
"name": "search",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"description": "Creates a new retribusi record",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"retribusi"
|
|
],
|
|
"summary": "Create retribusi",
|
|
"parameters": [
|
|
{
|
|
"description": "Retribusi creation request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api-service_internal_models_retribusi.RetribusiCreateRequest"
|
|
}
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/retribusis/dynamic": {
|
|
"get": {
|
|
"description": "Returns retribusis with advanced dynamic filtering like Directus",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"retribusi"
|
|
],
|
|
"summary": "Get retribusi with dynamic filtering",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Fields to select (e.g., fields=*.*)",
|
|
"name": "fields",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Dynamic filters (e.g., filter[Jenis][_eq]=value)",
|
|
"name": "filter[column][operator]",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Sort fields (e.g., sort=date_created,-Jenis)",
|
|
"name": "sort",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"default": 10,
|
|
"description": "Limit",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"default": 0,
|
|
"description": "Offset",
|
|
"name": "offset",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/retribusis/stats": {
|
|
"get": {
|
|
"description": "Returns comprehensive statistics about retribusi data",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"retribusi"
|
|
],
|
|
"summary": "Get retribusi statistics",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Filter statistics by status",
|
|
"name": "status",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/token/generate": {
|
|
"post": {
|
|
"description": "Generate a JWT token for a user",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Token"
|
|
],
|
|
"summary": "Generate JWT token",
|
|
"parameters": [
|
|
{
|
|
"description": "User credentials",
|
|
"name": "token",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/api-service_internal_models_auth.LoginRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api-service_internal_models_auth.TokenResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/token/generate-direct": {
|
|
"post": {
|
|
"description": "Generate a JWT token directly without password verification (for testing)",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"Token"
|
|
],
|
|
"summary": "Generate token directly",
|
|
"parameters": [
|
|
{
|
|
"description": "User info",
|
|
"name": "user",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/api-service_internal_models_auth.TokenResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/sep": {
|
|
"put": {
|
|
"description": "Update an existing Surat Eligibilitas Peserta",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"bpjs"
|
|
],
|
|
"summary": "Update an existing SEP",
|
|
"parameters": [
|
|
{
|
|
"description": "SEP update request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/models.SepPutRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "SEP updated successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/models.SepResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gin.H"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gin.H"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"description": "Create a new Surat Eligibilitas Peserta",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"bpjs"
|
|
],
|
|
"summary": "Create a new SEP",
|
|
"parameters": [
|
|
{
|
|
"description": "SEP creation request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/models.SepPostRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "SEP created successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/models.SepResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gin.H"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gin.H"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/sep/{noSep}": {
|
|
"get": {
|
|
"description": "Retrieve a Surat Eligibilitas Peserta by noSep",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"bpjs"
|
|
],
|
|
"summary": "Get an existing SEP",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "No SEP",
|
|
"name": "noSep",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Data SEP retrieved successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/models.SepResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gin.H"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gin.H"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"description": "Delete a Surat Eligibilitas Peserta by noSep",
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"tags": [
|
|
"bpjs"
|
|
],
|
|
"summary": "Delete an existing SEP",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "No SEP",
|
|
"name": "noSep",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "User",
|
|
"name": "user",
|
|
"in": "query",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "SEP deleted successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/models.SepResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Invalid request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gin.H"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gin.H"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"api-service_internal_models.AggregateData": {
|
|
"type": "object",
|
|
"properties": {
|
|
"by_dinas": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"by_jenis": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"by_status": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"created_today": {
|
|
"type": "integer"
|
|
},
|
|
"last_updated": {
|
|
"type": "string"
|
|
},
|
|
"total_active": {
|
|
"type": "integer"
|
|
},
|
|
"total_draft": {
|
|
"type": "integer"
|
|
},
|
|
"total_inactive": {
|
|
"type": "integer"
|
|
},
|
|
"updated_today": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models.ErrorResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "integer"
|
|
},
|
|
"error": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"timestamp": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models.MetaResponse": {
|
|
"type": "object",
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models.NullableInt32": {
|
|
"type": "object",
|
|
"properties": {
|
|
"int32": {
|
|
"type": "integer"
|
|
},
|
|
"valid": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_auth.LoginRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"password",
|
|
"username"
|
|
],
|
|
"properties": {
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_auth.TokenResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"access_token": {
|
|
"type": "string"
|
|
},
|
|
"expires_in": {
|
|
"type": "integer"
|
|
},
|
|
"token_type": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_auth.User": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_retribusi.Retribusi": {
|
|
"type": "object",
|
|
"properties": {
|
|
"date_created": {
|
|
"$ref": "#/definitions/sql.NullTime"
|
|
},
|
|
"date_updated": {
|
|
"$ref": "#/definitions/sql.NullTime"
|
|
},
|
|
"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/api-service_internal_models.NullableInt32"
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"tarif": {
|
|
"$ref": "#/definitions/sql.NullString"
|
|
},
|
|
"tarif_overtime": {
|
|
"$ref": "#/definitions/sql.NullString"
|
|
},
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_retribusi.RetribusiCreateRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"status"
|
|
],
|
|
"properties": {
|
|
"dinas": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"jenis": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"kelompok_obyek": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"kode_tarif": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"pelayanan": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"rekening_denda": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"rekening_pokok": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"satuan": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"satuan_overtime": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"draft",
|
|
"active",
|
|
"inactive"
|
|
]
|
|
},
|
|
"tarif": {
|
|
"type": "string"
|
|
},
|
|
"tarif_overtime": {
|
|
"type": "string"
|
|
},
|
|
"uraian_1": {
|
|
"type": "string"
|
|
},
|
|
"uraian_2": {
|
|
"type": "string"
|
|
},
|
|
"uraian_3": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_retribusi.RetribusiCreateResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_retribusi.RetribusiDeleteResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_retribusi.RetribusiGetByIDResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_retribusi.RetribusiGetResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi"
|
|
}
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"meta": {
|
|
"$ref": "#/definitions/api-service_internal_models.MetaResponse"
|
|
},
|
|
"summary": {
|
|
"$ref": "#/definitions/api-service_internal_models.AggregateData"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_retribusi.RetribusiUpdateRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"status"
|
|
],
|
|
"properties": {
|
|
"dinas": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"jenis": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"kelompok_obyek": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"kode_tarif": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"pelayanan": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"rekening_denda": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"rekening_pokok": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"satuan": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"satuan_overtime": {
|
|
"type": "string",
|
|
"maxLength": 255,
|
|
"minLength": 1
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"draft",
|
|
"active",
|
|
"inactive"
|
|
]
|
|
},
|
|
"tarif": {
|
|
"type": "string"
|
|
},
|
|
"tarif_overtime": {
|
|
"type": "string"
|
|
},
|
|
"uraian_1": {
|
|
"type": "string"
|
|
},
|
|
"uraian_2": {
|
|
"type": "string"
|
|
},
|
|
"uraian_3": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"api-service_internal_models_retribusi.RetribusiUpdateResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"$ref": "#/definitions/api-service_internal_models_retribusi.Retribusi"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gin.H": {
|
|
"type": "object",
|
|
"additionalProperties": {}
|
|
},
|
|
"models.DiagnosaResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.Flag": {
|
|
"type": "object",
|
|
"required": [
|
|
"cob"
|
|
],
|
|
"properties": {
|
|
"cob": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.Jaminan": {
|
|
"type": "object",
|
|
"required": [
|
|
"lakaLantas"
|
|
],
|
|
"properties": {
|
|
"lakaLantas": {
|
|
"type": "string"
|
|
},
|
|
"noLP": {
|
|
"type": "string"
|
|
},
|
|
"penjamin": {
|
|
"$ref": "#/definitions/models.Penjamin"
|
|
}
|
|
}
|
|
},
|
|
"models.KlsRawatPost": {
|
|
"type": "object",
|
|
"required": [
|
|
"klsRawatHak"
|
|
],
|
|
"properties": {
|
|
"klsRawatHak": {
|
|
"type": "string"
|
|
},
|
|
"klsRawatNaik": {
|
|
"type": "string"
|
|
},
|
|
"pembiayaan": {
|
|
"type": "string"
|
|
},
|
|
"penanggungJawab": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.KlsRawatPut": {
|
|
"type": "object",
|
|
"properties": {
|
|
"klsRawatHak": {
|
|
"type": "string"
|
|
},
|
|
"klsRawatNaik": {
|
|
"type": "string"
|
|
},
|
|
"pembiayaan": {
|
|
"type": "string"
|
|
},
|
|
"penanggungJawab": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.LokasiLaka": {
|
|
"type": "object",
|
|
"properties": {
|
|
"kdKabupaten": {
|
|
"type": "string"
|
|
},
|
|
"kdKecamatan": {
|
|
"type": "string"
|
|
},
|
|
"kdPropinsi": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.Penjamin": {
|
|
"type": "object",
|
|
"properties": {
|
|
"keterangan": {
|
|
"type": "string"
|
|
},
|
|
"suplesi": {
|
|
"$ref": "#/definitions/models.Suplesi"
|
|
},
|
|
"tglKejadian": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.Poli": {
|
|
"type": "object",
|
|
"required": [
|
|
"eksekutif"
|
|
],
|
|
"properties": {
|
|
"eksekutif": {
|
|
"type": "string"
|
|
},
|
|
"tujuan": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.Rujukan": {
|
|
"type": "object",
|
|
"required": [
|
|
"asalRujukan",
|
|
"noRujukan",
|
|
"ppkRujukan",
|
|
"tglRujukan"
|
|
],
|
|
"properties": {
|
|
"asalRujukan": {
|
|
"type": "string"
|
|
},
|
|
"noRujukan": {
|
|
"type": "string"
|
|
},
|
|
"ppkRujukan": {
|
|
"type": "string"
|
|
},
|
|
"tglRujukan": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.SepPostRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"t_sep"
|
|
],
|
|
"properties": {
|
|
"t_sep": {
|
|
"$ref": "#/definitions/models.TSepPost"
|
|
}
|
|
}
|
|
},
|
|
"models.SepPutRequest": {
|
|
"type": "object",
|
|
"required": [
|
|
"t_sep"
|
|
],
|
|
"properties": {
|
|
"t_sep": {
|
|
"$ref": "#/definitions/models.TSepPut"
|
|
}
|
|
}
|
|
},
|
|
"models.SepResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"data": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.Skdp": {
|
|
"type": "object",
|
|
"required": [
|
|
"kodeDPJP",
|
|
"noSurat"
|
|
],
|
|
"properties": {
|
|
"kodeDPJP": {
|
|
"type": "string"
|
|
},
|
|
"noSurat": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.Suplesi": {
|
|
"type": "object",
|
|
"properties": {
|
|
"lokasiLaka": {
|
|
"$ref": "#/definitions/models.LokasiLaka"
|
|
},
|
|
"noSepSuplesi": {
|
|
"type": "string"
|
|
},
|
|
"suplesi": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.TSepPost": {
|
|
"type": "object",
|
|
"required": [
|
|
"cob",
|
|
"diagAwal",
|
|
"jaminan",
|
|
"jnsPelayanan",
|
|
"katarak",
|
|
"klsRawat",
|
|
"noKartu",
|
|
"noMR",
|
|
"poli",
|
|
"ppkPelayanan",
|
|
"rujukan",
|
|
"skdp",
|
|
"tglSep",
|
|
"user"
|
|
],
|
|
"properties": {
|
|
"assesmentPel": {
|
|
"type": "string"
|
|
},
|
|
"catatan": {
|
|
"type": "string"
|
|
},
|
|
"cob": {
|
|
"$ref": "#/definitions/models.Flag"
|
|
},
|
|
"diagAwal": {
|
|
"type": "string"
|
|
},
|
|
"dpjpLayan": {
|
|
"type": "string"
|
|
},
|
|
"flagProcedure": {
|
|
"type": "string"
|
|
},
|
|
"jaminan": {
|
|
"$ref": "#/definitions/models.Jaminan"
|
|
},
|
|
"jnsPelayanan": {
|
|
"type": "string"
|
|
},
|
|
"katarak": {
|
|
"$ref": "#/definitions/models.Flag"
|
|
},
|
|
"kdPenunjang": {
|
|
"type": "string"
|
|
},
|
|
"klsRawat": {
|
|
"$ref": "#/definitions/models.KlsRawatPost"
|
|
},
|
|
"noKartu": {
|
|
"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": {
|
|
"type": "string"
|
|
},
|
|
"user": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"models.TSepPut": {
|
|
"type": "object",
|
|
"required": [
|
|
"noSep",
|
|
"user"
|
|
],
|
|
"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"
|
|
}
|
|
}
|
|
},
|
|
"sql.NullString": {
|
|
"type": "object",
|
|
"properties": {
|
|
"string": {
|
|
"type": "string"
|
|
},
|
|
"valid": {
|
|
"description": "Valid is true if String is not NULL",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"sql.NullTime": {
|
|
"type": "object",
|
|
"properties": {
|
|
"time": {
|
|
"type": "string"
|
|
},
|
|
"valid": {
|
|
"description": "Valid is true if Time is not NULL",
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |