update perubahan
This commit is contained in:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user