Merge remote-tracking branch 'origin/master'

This commit is contained in:
M_Kececi
2026-02-21 12:44:52 +03:00
parent ac55f5a96c
commit f9a6457fca
5 changed files with 75 additions and 15 deletions

View File

@@ -105,7 +105,7 @@ func CreateOrderHandler(pg *sql.DB, mssql *sql.DB) http.HandlerFunc {
w.Header().Set("Content-Type", "application/json; charset=utf-8")
// --------------------------------------------------
// JWT CLAIMS
// JWT CLAIMS (TEK KAYNAK)
// --------------------------------------------------
claims, ok := auth.GetClaimsFromContext(r.Context())
if !ok || claims == nil {
@@ -114,27 +114,43 @@ func CreateOrderHandler(pg *sql.DB, mssql *sql.DB) http.HandlerFunc {
}
user := utils.UserFromClaims(claims)
if !ok || claims == nil {
http.Error(w, "Yetkisiz", http.StatusUnauthorized)
return
}
user = utils.UserFromClaims(claims)
if user == nil {
http.Error(w, "Yetkisiz", http.StatusUnauthorized)
http.Error(w, "Kullanici dogrulanamadi", http.StatusUnauthorized)
return
}
fmt.Printf("[CREATE] hit user=%s role=%s\n", user.Username, user.RoleCode)
var payload struct {
Header models.OrderHeader `json:"header"`
Lines []models.OrderDetail `json:"lines"`
}
if err := json.NewDecoder(r.Body).Decode(&payload); err != nil {
http.Error(w, "Geçersiz JSON", http.StatusBadRequest)
fmt.Printf("[CREATE] decode error: %v\n", err)
http.Error(w, "Gecersiz JSON", http.StatusBadRequest)
return
}
fmt.Printf(
"[CREATE] payload header_id=%s curr_acc=%s office=%s store=%s orderer_office=%s orderer_store=%s lines=%d\n",
payload.Header.OrderHeaderID,
payload.Header.CurrAccCode.String,
payload.Header.OfficeCode.String,
payload.Header.StoreCode.String,
payload.Header.OrdererOfficeCode.String,
payload.Header.OrdererStoreCode.String,
len(payload.Lines),
)
fmt.Printf(
"🧾 CREATE PAYLOAD | header_id=%s curr_acc=%s office=%s store=%s orderer_office=%s orderer_store=%s lines=%d\n",
payload.Header.OrderHeaderID,
payload.Header.CurrAccCode.String,
payload.Header.OfficeCode.String,
payload.Header.StoreCode.String,
payload.Header.OrdererOfficeCode.String,
payload.Header.OrdererStoreCode.String,
len(payload.Lines),
)
// --------------------------------------------------
// INSERT
@@ -142,7 +158,7 @@ func CreateOrderHandler(pg *sql.DB, mssql *sql.DB) http.HandlerFunc {
newID, lineResults, err := queries.InsertOrder(
payload.Header,
payload.Lines,
user, // *models.User
user, // *models.User
)
if err != nil {
@@ -155,7 +171,14 @@ func CreateOrderHandler(pg *sql.DB, mssql *sql.DB) http.HandlerFunc {
return
}
http.Error(w, err.Error(), http.StatusInternalServerError)
// SYSTEM ERROR
utils.LogError("ORDER_CREATE", err)
w.WriteHeader(http.StatusInternalServerError)
_ = json.NewEncoder(w).Encode(map[string]any{
"code": "ORDER_CREATE_FAILED",
"message": "Siparis kaydedilirken beklenmeyen bir hata olustu.",
"detail": err.Error(),
})
return
}