feat: implement component-item management with CRUD operations and status updates

This commit is contained in:
Tran Anh Tuan
2026-05-11 17:49:18 +07:00
parent 9ea72b4eea
commit 0ff65a18c0
23 changed files with 3870 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
package requests
import "encoding/json"
type CreateComponentItemRequest struct {
ComponentID int64 `json:"componentId" binding:"required"`
ContainerID int64 `json:"containerId" binding:"required"`
Quantity int32 `json:"quantity" binding:"required"`
Status string `json:"status" binding:"required"`
Metadata json.RawMessage `json:"metadata"`
}
type UpdateComponentItemRequest struct {
ComponentID *int64 `json:"componentId"`
ContainerID *int64 `json:"containerId"`
Metadata json.RawMessage `json:"metadata"`
}
// UpdateComponentItemStatusRequest represents the request body for changing the status of a component item.
type UpdateComponentItemStatusRequest struct {
Status string `json:"status" binding:"required,oneof=normal damaged long_unused expired pending_inspection"`
ChangedQuantity *int32 `json:"changedQuantity"`
Note string `json:"note"`
}