update perubahan
This commit is contained in:
@@ -7,7 +7,6 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
@@ -231,26 +230,26 @@ func cleanResponse(resp string) string {
|
||||
}
|
||||
|
||||
// extractCode extracts the code field from metaData using reflection
|
||||
func extractCode(metaData interface{}) interface{} {
|
||||
v := reflect.ValueOf(metaData)
|
||||
switch v.Kind() {
|
||||
case reflect.Struct:
|
||||
codeField := v.FieldByName("Code")
|
||||
if codeField.IsValid() {
|
||||
return codeField.Interface()
|
||||
}
|
||||
case reflect.Map:
|
||||
if m, ok := metaData.(map[string]interface{}); ok {
|
||||
return m["code"]
|
||||
}
|
||||
case reflect.String:
|
||||
var metaMap map[string]interface{}
|
||||
if err := json.Unmarshal([]byte(metaData.(string)), &metaMap); err == nil {
|
||||
return metaMap["code"]
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
// func extractCode(metaData interface{}) interface{} {
|
||||
// v := reflect.ValueOf(metaData)
|
||||
// switch v.Kind() {
|
||||
// case reflect.Struct:
|
||||
// codeField := v.FieldByName("Code")
|
||||
// if codeField.IsValid() {
|
||||
// return codeField.Interface()
|
||||
// }
|
||||
// case reflect.Map:
|
||||
// if m, ok := metaData.(map[string]interface{}); ok {
|
||||
// return m["code"]
|
||||
// }
|
||||
// case reflect.String:
|
||||
// var metaMap map[string]interface{}
|
||||
// if err := json.Unmarshal([]byte(metaData.(string)), &metaMap); err == nil {
|
||||
// return metaMap["code"]
|
||||
// }
|
||||
// }
|
||||
// return nil
|
||||
// }
|
||||
|
||||
// parseHTTPStatusCode extracts HTTP status code from error message
|
||||
func parseHTTPStatusCode(errMsg string) int {
|
||||
@@ -433,7 +432,7 @@ func (h *PesertaHandler) GetBynik(c *gin.Context) {
|
||||
response.RequestID = requestID
|
||||
// Ambil status code dari metaData.code
|
||||
var statusCode int
|
||||
code := extractCode(response.MetaData)
|
||||
code := models.ExtractCode(response.MetaData)
|
||||
if code != nil {
|
||||
statusCode = models.GetStatusCodeFromMeta(code)
|
||||
} else {
|
||||
@@ -595,7 +594,7 @@ func (h *PesertaHandler) GetBynokartu(c *gin.Context) {
|
||||
response.RequestID = requestID
|
||||
// Ambil status code dari metaData.code
|
||||
var statusCode int
|
||||
code := extractCode(response.MetaData)
|
||||
code := models.ExtractCode(response.MetaData)
|
||||
if code != nil {
|
||||
statusCode = models.GetStatusCodeFromMeta(code)
|
||||
} else {
|
||||
|
||||
@@ -3,7 +3,9 @@ package models
|
||||
import (
|
||||
"database/sql"
|
||||
"database/sql/driver"
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"time"
|
||||
)
|
||||
@@ -199,6 +201,28 @@ func GetStatusCodeFromMeta(metaCode interface{}) int {
|
||||
return statusCode
|
||||
}
|
||||
|
||||
// extractCode extracts the code field from metaData using reflection
|
||||
func ExtractCode(metaData interface{}) interface{} {
|
||||
v := reflect.ValueOf(metaData)
|
||||
switch v.Kind() {
|
||||
case reflect.Struct:
|
||||
codeField := v.FieldByName("Code")
|
||||
if codeField.IsValid() {
|
||||
return codeField.Interface()
|
||||
}
|
||||
case reflect.Map:
|
||||
if m, ok := metaData.(map[string]interface{}); ok {
|
||||
return m["code"]
|
||||
}
|
||||
case reflect.String:
|
||||
var metaMap map[string]interface{}
|
||||
if err := json.Unmarshal([]byte(metaData.(string)), &metaMap); err == nil {
|
||||
return metaMap["code"]
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Validation constants
|
||||
const (
|
||||
StatusDraft = "draft"
|
||||
|
||||
+659
-158
File diff suppressed because it is too large
Load Diff
@@ -40,6 +40,7 @@ services:
|
||||
tags: ["Peserta"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 300
|
||||
|
||||
bynik:
|
||||
@@ -61,6 +62,7 @@ services:
|
||||
tags: ["Peserta"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 300
|
||||
|
||||
rujukan:
|
||||
@@ -88,6 +90,7 @@ services:
|
||||
tags: ["Rujukan"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 180
|
||||
rujukanbalik:
|
||||
methods: ["POST", "PUT", "DELETE"]
|
||||
@@ -108,6 +111,7 @@ services:
|
||||
tags: ["Rujukan"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 180
|
||||
|
||||
search:
|
||||
@@ -135,6 +139,7 @@ services:
|
||||
tags: ["Rujukan"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 300
|
||||
|
||||
bynokartu:
|
||||
@@ -156,5 +161,6 @@ services:
|
||||
tags: ["Rujukan"]
|
||||
require_auth: true
|
||||
cache_enabled: true
|
||||
enable_database: true # jika menggunakan database
|
||||
cache_ttl: 300
|
||||
|
||||
|
||||
Reference in New Issue
Block a user