mirror of
https://gitlab.com/mbugroup/lti-api.git
synced 2026-05-20 13:31:56 +00:00
(BE-58,,59): extend db schema & build stock transfer api
- Extend DB schema for stock transfers - Build stock transfer API (create,)
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
package dto
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
entity "gitlab.com/mbugroup/lti-api.git/internal/entities"
|
||||
)
|
||||
|
||||
// === DTO Structs ===
|
||||
|
||||
type TransferBaseDTO struct {
|
||||
Id uint64 `json:"id"`
|
||||
TransferReason string `json:"transfer_reason"`
|
||||
TransferDate string `json:"transfer_date"`
|
||||
SourceWarehouseId uint64 `json:"source_warehouse_id"`
|
||||
DestinationWarehouseId uint64 `json:"destination_warehouse_id"`
|
||||
}
|
||||
|
||||
type TransferListDTO struct {
|
||||
TransferBaseDTO
|
||||
CreatedBy uint64 `json:"created_by"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
type TransferDetailDTO struct {
|
||||
TransferListDTO
|
||||
// Tambahkan detail produk, deliveries, dsb jika perlu
|
||||
}
|
||||
|
||||
// === Mapper Functions ===
|
||||
|
||||
func ToTransferBaseDTO(e entity.StockTransfer) TransferBaseDTO {
|
||||
return TransferBaseDTO{
|
||||
Id: e.Id,
|
||||
TransferReason: e.Reason, // atau field lain sesuai entity
|
||||
TransferDate: e.CreatedAt.Format("2006-01-02"),
|
||||
SourceWarehouseId: e.FromWarehouseId,
|
||||
DestinationWarehouseId: e.ToWarehouseId,
|
||||
}
|
||||
}
|
||||
|
||||
func ToTransferListDTO(e entity.StockTransfer) TransferListDTO {
|
||||
return TransferListDTO{
|
||||
TransferBaseDTO: ToTransferBaseDTO(e),
|
||||
CreatedBy: e.CreatedBy,
|
||||
CreatedAt: e.CreatedAt,
|
||||
UpdatedAt: e.UpdatedAt,
|
||||
}
|
||||
}
|
||||
|
||||
func ToTransferListDTOs(e []entity.StockTransfer) []TransferListDTO {
|
||||
result := make([]TransferListDTO, len(e))
|
||||
for i, r := range e {
|
||||
result[i] = ToTransferListDTO(r)
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
func ToTransferDetailDTO(e entity.StockTransfer) TransferDetailDTO {
|
||||
return TransferDetailDTO{
|
||||
TransferListDTO: ToTransferListDTO(e),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user