{ "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/Order/{id}": { "get": { "description": "Returns a single order by ID", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Order" ], "summary": "Get Order by ID", "parameters": [ { "type": "string", "description": "Order ID (UUID)", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Success response", "schema": { "$ref": "#/definitions/api-service_internal_models_order.OrderGetByIDResponse" } }, "400": { "description": "Invalid ID format", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } }, "404": { "description": "order not found", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } } } } }, "/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/order/{id}": { "put": { "description": "Updates an existing order record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "order" ], "summary": "Update order", "parameters": [ { "type": "string", "description": "Order ID (UUID)", "name": "id", "in": "path", "required": true }, { "description": "Order update request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_order.OrderUpdateRequest" } } ], "responses": { "200": { "description": "Order updated successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_order.OrderUpdateResponse" } }, "400": { "description": "Bad request or validation error", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } }, "404": { "description": "Order not found", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } } } }, "delete": { "description": "Soft deletes a order by setting status to 'deleted'", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "order" ], "summary": "Delete order", "parameters": [ { "type": "string", "description": "Order ID (UUID)", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Order deleted successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_order.OrderDeleteResponse" } }, "400": { "description": "Invalid ID format", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } }, "404": { "description": "Order not found", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } } } } }, "/api/v1/orders": { "get": { "description": "Returns a paginated list of orders with optional summary statistics", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "order" ], "summary": "Get order 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": "Search in multiple fields", "name": "search", "in": "query" } ], "responses": { "200": { "description": "Success response", "schema": { "$ref": "#/definitions/api-service_internal_models_order.OrderGetResponse" } }, "400": { "description": "Bad request", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } } } }, "post": { "description": "Creates a new order record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "order" ], "summary": "Create order", "parameters": [ { "description": "Order creation request", "name": "request", "in": "body", "required": true, "schema": { "$ref": "#/definitions/api-service_internal_models_order.OrderCreateRequest" } } ], "responses": { "201": { "description": "Order created successfully", "schema": { "$ref": "#/definitions/api-service_internal_models_order.OrderCreateResponse" } }, "400": { "description": "Bad request or validation error", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } } } } }, "/api/v1/orders/stats": { "get": { "description": "Returns comprehensive statistics about order data", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "order" ], "summary": "Get order 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_order.AggregateData" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_order.ErrorResponse" } } } } }, "/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_retribusi.ErrorResponse" } }, "404": { "description": "Retribusi not found", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.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_retribusi.ErrorResponse" } }, "404": { "description": "Retribusi not found", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.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_retribusi.ErrorResponse" } }, "404": { "description": "Retribusi not found", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.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_retribusi.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.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_retribusi.ErrorResponse" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.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_retribusi.AggregateData" } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/api-service_internal_models_retribusi.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" } } } } } } }, "definitions": { "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_order.AggregateData": { "type": "object", "properties": { "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_order.ErrorResponse": { "type": "object", "properties": { "code": { "type": "integer" }, "error": { "type": "string" }, "message": { "type": "string" }, "timestamp": { "type": "string" } } }, "api-service_internal_models_order.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_order.NullableInt32": { "type": "object", "properties": { "int32": { "type": "integer" }, "valid": { "type": "boolean" } } }, "api-service_internal_models_order.Order": { "type": "object", "properties": { "date_created": { "$ref": "#/definitions/sql.NullTime" }, "date_updated": { "$ref": "#/definitions/sql.NullTime" }, "id": { "type": "string" }, "name": { "$ref": "#/definitions/sql.NullString" }, "sort": { "$ref": "#/definitions/api-service_internal_models_order.NullableInt32" }, "status": { "type": "string" }, "user_created": { "$ref": "#/definitions/sql.NullString" }, "user_updated": { "$ref": "#/definitions/sql.NullString" } } }, "api-service_internal_models_order.OrderCreateRequest": { "type": "object", "required": [ "status" ], "properties": { "name": { "type": "string", "maxLength": 255, "minLength": 1 }, "status": { "type": "string", "enum": [ "draft", "active", "inactive" ] } } }, "api-service_internal_models_order.OrderCreateResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_order.Order" }, "message": { "type": "string" } } }, "api-service_internal_models_order.OrderDeleteResponse": { "type": "object", "properties": { "id": { "type": "string" }, "message": { "type": "string" } } }, "api-service_internal_models_order.OrderGetByIDResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_order.Order" }, "message": { "type": "string" } } }, "api-service_internal_models_order.OrderGetResponse": { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/api-service_internal_models_order.Order" } }, "message": { "type": "string" }, "meta": { "$ref": "#/definitions/api-service_internal_models_order.MetaResponse" }, "summary": { "$ref": "#/definitions/api-service_internal_models_order.AggregateData" } } }, "api-service_internal_models_order.OrderUpdateRequest": { "type": "object", "required": [ "status" ], "properties": { "name": { "type": "string", "maxLength": 255, "minLength": 1 }, "status": { "type": "string", "enum": [ "draft", "active", "inactive" ] } } }, "api-service_internal_models_order.OrderUpdateResponse": { "type": "object", "properties": { "data": { "$ref": "#/definitions/api-service_internal_models_order.Order" }, "message": { "type": "string" } } }, "api-service_internal_models_retribusi.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_retribusi.ErrorResponse": { "type": "object", "properties": { "code": { "type": "integer" }, "error": { "type": "string" }, "message": { "type": "string" }, "timestamp": { "type": "string" } } }, "api-service_internal_models_retribusi.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_retribusi.NullableInt32": { "type": "object", "properties": { "int32": { "type": "integer" }, "valid": { "type": "boolean" } } }, "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_retribusi.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_retribusi.MetaResponse" }, "summary": { "$ref": "#/definitions/api-service_internal_models_retribusi.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" } } }, "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" } } } } }