grouping reference api

This commit is contained in:
renaldybrada
2026-02-03 12:31:41 +07:00
parent 6caee98c07
commit 3aebfc4efe
7 changed files with 188 additions and 19 deletions
+66 -4
View File
@@ -111,7 +111,7 @@ const docTemplate = `{
}
}
},
"/dokter/": {
"/reference/dokter/": {
"get": {
"tags": [
"Dokter"
@@ -158,7 +158,7 @@ const docTemplate = `{
}
}
},
"/kategori/": {
"/reference/kategori/": {
"get": {
"tags": [
"Kategori Operasi"
@@ -191,7 +191,40 @@ const docTemplate = `{
}
}
},
"/spesialis/": {
"/reference/pasien/": {
"get": {
"tags": [
"Pasien"
],
"summary": "Get List Pasien",
"parameters": [
{
"type": "string",
"description": "Search keyword",
"name": "search",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/pasien.PasienModel"
}
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/shared.BaseErrorResponse"
}
}
}
}
},
"/reference/spesialis/": {
"get": {
"tags": [
"Spesialis"
@@ -224,7 +257,7 @@ const docTemplate = `{
}
}
},
"/sub-spesialis/": {
"/reference/sub-spesialis/": {
"get": {
"tags": [
"Spesialis"
@@ -505,6 +538,35 @@ const docTemplate = `{
}
}
},
"pasien.PasienModel": {
"type": "object",
"properties": {
"alamat": {
"type": "string"
},
"alamatKtp": {
"type": "string"
},
"id": {
"type": "integer"
},
"jenisKelamin": {
"type": "string"
},
"nama": {
"type": "string"
},
"nik": {
"type": "string"
},
"noMr": {
"type": "string"
},
"tglLahir": {
"type": "string"
}
}
},
"shared.BaseErrorResponse": {
"type": "object",
"properties": {
+66 -4
View File
@@ -105,7 +105,7 @@
}
}
},
"/dokter/": {
"/reference/dokter/": {
"get": {
"tags": [
"Dokter"
@@ -152,7 +152,7 @@
}
}
},
"/kategori/": {
"/reference/kategori/": {
"get": {
"tags": [
"Kategori Operasi"
@@ -185,7 +185,40 @@
}
}
},
"/spesialis/": {
"/reference/pasien/": {
"get": {
"tags": [
"Pasien"
],
"summary": "Get List Pasien",
"parameters": [
{
"type": "string",
"description": "Search keyword",
"name": "search",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/pasien.PasienModel"
}
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/shared.BaseErrorResponse"
}
}
}
}
},
"/reference/spesialis/": {
"get": {
"tags": [
"Spesialis"
@@ -218,7 +251,7 @@
}
}
},
"/sub-spesialis/": {
"/reference/sub-spesialis/": {
"get": {
"tags": [
"Spesialis"
@@ -499,6 +532,35 @@
}
}
},
"pasien.PasienModel": {
"type": "object",
"properties": {
"alamat": {
"type": "string"
},
"alamatKtp": {
"type": "string"
},
"id": {
"type": "integer"
},
"jenisKelamin": {
"type": "string"
},
"nama": {
"type": "string"
},
"nik": {
"type": "string"
},
"noMr": {
"type": "string"
},
"tglLahir": {
"type": "string"
}
}
},
"shared.BaseErrorResponse": {
"type": "object",
"properties": {
+44 -4
View File
@@ -157,6 +157,25 @@ definitions:
- published
type: string
type: object
pasien.PasienModel:
properties:
alamat:
type: string
alamatKtp:
type: string
id:
type: integer
jenisKelamin:
type: string
nama:
type: string
nik:
type: string
noMr:
type: string
tglLahir:
type: string
type: object
shared.BaseErrorResponse:
properties:
code:
@@ -275,7 +294,7 @@ paths:
summary: Create Antrian Operasi
tags:
- Antrian Operasi
/dokter/:
/reference/dokter/:
get:
parameters:
- description: Search keyword
@@ -306,7 +325,7 @@ paths:
summary: Get List Dokter
tags:
- Dokter
/kategori/:
/reference/kategori/:
get:
parameters:
- description: Search keyword
@@ -327,7 +346,28 @@ paths:
summary: Get List Kategori Operasi
tags:
- Kategori Operasi
/spesialis/:
/reference/pasien/:
get:
parameters:
- description: Search keyword
in: query
name: search
type: string
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/pasien.PasienModel'
type: array
"500":
description: Internal Server Error
schema:
$ref: '#/definitions/shared.BaseErrorResponse'
summary: Get List Pasien
tags:
- Pasien
/reference/spesialis/:
get:
parameters:
- description: Search keyword
@@ -348,7 +388,7 @@ paths:
summary: Get List Spesialis
tags:
- Spesialis
/sub-spesialis/:
/reference/sub-spesialis/:
get:
parameters:
- description: Search keyword
+1 -1
View File
@@ -25,7 +25,7 @@ func NewDokterHandler(repo IDokterRepository) DokterHandler {
// @Param offset query string false "Offset" default(0)
// @Success 200 {object} []DokterResponse
// @Failure 500 {object} shared.BaseErrorResponse
// @Router /dokter/ [get]
// @Router /reference/dokter/ [get]
func (h DokterHandler) ListDokter(c *gin.Context) {
result, err := h.repo.SearchableListDokter(c)
if err != nil {
@@ -22,7 +22,7 @@ func NewKategoriHandler(repo IKategoriRepository) KategoriHandler {
// @Param search query string false "Search keyword"
// @Success 200 {object} []KategoriOperasiModel
// @Failure 500 {object} shared.BaseErrorResponse
// @Router /kategori/ [get]
// @Router /reference/kategori/ [get]
func (h KategoriHandler) ListKategoriOperasi(c *gin.Context) {
list, err := h.repo.SearchableListKategori(c)
if err != nil {
@@ -22,7 +22,7 @@ func NewSpesialisHandler(repo ISpesialisRepository) SpesialisHandler {
// @Param search query string false "Search keyword"
// @Success 200 {object} []SpesialisModel
// @Failure 500 {object} shared.BaseErrorResponse
// @Router /spesialis/ [get]
// @Router /reference/spesialis/ [get]
func (h SpesialisHandler) ListSpesialis(c *gin.Context) {
list, err := h.repo.SearchableListSpesialis(c)
if err != nil {
@@ -47,7 +47,7 @@ func (h SpesialisHandler) ListSpesialis(c *gin.Context) {
// @Param id_spesialis query int false "Filter by Id Spesialis"
// @Success 200 {object} []SubSpesialisModel
// @Failure 500 {object} shared.BaseErrorResponse
// @Router /sub-spesialis/ [get]
// @Router /reference/sub-spesialis/ [get]
func (h SpesialisHandler) ListSubSpesialis(c *gin.Context) {
list, err := h.repo.SearchableListSubSpesialis(c)
if err != nil {
+8 -3
View File
@@ -6,6 +6,7 @@ import (
antrianoperasi "antrian-operasi/internal/domain/antrian_operasi"
"antrian-operasi/internal/domain/reference/dokter"
"antrian-operasi/internal/domain/reference/kategori"
"antrian-operasi/internal/domain/reference/pasien"
"antrian-operasi/internal/domain/reference/spesialis"
"antrian-operasi/internal/middleware"
"net/http"
@@ -32,11 +33,15 @@ func RegisterRoutes(cfg *config.Config, dbService database.Service) *gin.Engine
api := router.Group("/api")
{
kategori.RegisterRoutes(api, dbService)
spesialis.RegisterRoutes(api, dbService)
dokter.RegisterRoutes(api, dbService)
antrianoperasi.RegisterRoutes(api, dbService)
}
reference := api.Group("/reference")
{
kategori.RegisterRoutes(reference, dbService)
spesialis.RegisterRoutes(reference, dbService)
dokter.RegisterRoutes(reference, dbService)
pasien.RegisterRoutes(reference, dbService)
}
return router
}