Update users

This commit is contained in:
Aditya Siregar
2025-08-03 22:44:27 +07:00
parent 96743cf50b
commit ebe9999793
60 changed files with 3254 additions and 140 deletions
@@ -0,0 +1,70 @@
package mappers
import (
"apskel-pos-be/internal/entities"
"apskel-pos-be/internal/models"
)
func MapIngredientCompositionEntityToModel(entity *entities.IngredientComposition) *models.IngredientComposition {
if entity == nil {
return nil
}
return &models.IngredientComposition{
ID: entity.ID,
OrganizationID: entity.OrganizationID,
OutletID: entity.OutletID,
ParentIngredientID: entity.ParentIngredientID,
ChildIngredientID: entity.ChildIngredientID,
Quantity: entity.Quantity,
CreatedAt: entity.CreatedAt,
UpdatedAt: entity.UpdatedAt,
ParentIngredient: MapIngredientEntityToModel(entity.ParentIngredient),
ChildIngredient: MapIngredientEntityToModel(entity.ChildIngredient),
}
}
func MapIngredientCompositionModelToEntity(model *models.IngredientComposition) *entities.IngredientComposition {
if model == nil {
return nil
}
return &entities.IngredientComposition{
ID: model.ID,
OrganizationID: model.OrganizationID,
OutletID: model.OutletID,
ParentIngredientID: model.ParentIngredientID,
ChildIngredientID: model.ChildIngredientID,
Quantity: model.Quantity,
CreatedAt: model.CreatedAt,
UpdatedAt: model.UpdatedAt,
ParentIngredient: MapIngredientModelToEntity(model.ParentIngredient),
ChildIngredient: MapIngredientModelToEntity(model.ChildIngredient),
}
}
func MapIngredientCompositionEntitiesToModels(entities []*entities.IngredientComposition) []*models.IngredientComposition {
if entities == nil {
return nil
}
models := make([]*models.IngredientComposition, len(entities))
for i, entity := range entities {
models[i] = MapIngredientCompositionEntityToModel(entity)
}
return models
}
func MapIngredientCompositionModelsToEntities(models []*models.IngredientComposition) []*entities.IngredientComposition {
if models == nil {
return nil
}
entities := make([]*entities.IngredientComposition, len(models))
for i, model := range models {
entities[i] = MapIngredientCompositionModelToEntity(model)
}
return entities
}
+76
View File
@@ -0,0 +1,76 @@
package mappers
import (
"apskel-pos-be/internal/entities"
"apskel-pos-be/internal/models"
)
func MapIngredientEntityToModel(entity *entities.Ingredient) *models.Ingredient {
if entity == nil {
return nil
}
return &models.Ingredient{
ID: entity.ID,
OrganizationID: entity.OrganizationID,
OutletID: entity.OutletID,
Name: entity.Name,
UnitID: entity.UnitID,
Cost: entity.Cost,
Stock: entity.Stock,
IsSemiFinished: entity.IsSemiFinished,
IsActive: entity.IsActive,
Metadata: entity.Metadata,
CreatedAt: entity.CreatedAt,
UpdatedAt: entity.UpdatedAt,
Unit: MapUnitEntityToModel(entity.Unit),
}
}
func MapIngredientModelToEntity(model *models.Ingredient) *entities.Ingredient {
if model == nil {
return nil
}
return &entities.Ingredient{
ID: model.ID,
OrganizationID: model.OrganizationID,
OutletID: model.OutletID,
Name: model.Name,
UnitID: model.UnitID,
Cost: model.Cost,
Stock: model.Stock,
IsSemiFinished: model.IsSemiFinished,
IsActive: model.IsActive,
Metadata: model.Metadata,
CreatedAt: model.CreatedAt,
UpdatedAt: model.UpdatedAt,
Unit: MapUnitModelToEntity(model.Unit),
}
}
func MapIngredientEntitiesToModels(entities []*entities.Ingredient) []*models.Ingredient {
if entities == nil {
return nil
}
models := make([]*models.Ingredient, len(entities))
for i, entity := range entities {
models[i] = MapIngredientEntityToModel(entity)
}
return models
}
func MapIngredientModelsToEntities(models []*models.Ingredient) []*entities.Ingredient {
if models == nil {
return nil
}
entities := make([]*entities.Ingredient, len(models))
for i, model := range models {
entities[i] = MapIngredientModelToEntity(model)
}
return entities
}
+20 -16
View File
@@ -14,11 +14,12 @@ func InventoryMovementEntityToModel(entity *entities.InventoryMovement) *models.
ID: entity.ID,
OrganizationID: entity.OrganizationID,
OutletID: entity.OutletID,
ProductID: entity.ProductID,
ItemID: entity.ItemID,
ItemType: entity.ItemType,
MovementType: models.InventoryMovementType(entity.MovementType),
Quantity: entity.Quantity,
PreviousQuantity: entity.PreviousQuantity,
NewQuantity: entity.NewQuantity,
Quantity: int(entity.Quantity),
PreviousQuantity: int(entity.PreviousQuantity),
NewQuantity: int(entity.NewQuantity),
UnitCost: entity.UnitCost,
TotalCost: entity.TotalCost,
ReferenceType: (*models.InventoryMovementReferenceType)(entity.ReferenceType),
@@ -42,11 +43,12 @@ func InventoryMovementModelToEntity(model *models.InventoryMovement) *entities.I
ID: model.ID,
OrganizationID: model.OrganizationID,
OutletID: model.OutletID,
ProductID: model.ProductID,
ItemID: model.ItemID,
ItemType: model.ItemType,
MovementType: entities.InventoryMovementType(model.MovementType),
Quantity: model.Quantity,
PreviousQuantity: model.PreviousQuantity,
NewQuantity: model.NewQuantity,
Quantity: float64(model.Quantity),
PreviousQuantity: float64(model.PreviousQuantity),
NewQuantity: float64(model.NewQuantity),
UnitCost: model.UnitCost,
TotalCost: model.TotalCost,
ReferenceType: (*entities.InventoryMovementReferenceType)(model.ReferenceType),
@@ -70,11 +72,12 @@ func InventoryMovementEntityToResponse(entity *entities.InventoryMovement) *mode
ID: entity.ID,
OrganizationID: entity.OrganizationID,
OutletID: entity.OutletID,
ProductID: entity.ProductID,
ItemID: entity.ItemID,
ItemType: entity.ItemType,
MovementType: models.InventoryMovementType(entity.MovementType),
Quantity: entity.Quantity,
PreviousQuantity: entity.PreviousQuantity,
NewQuantity: entity.NewQuantity,
Quantity: int(entity.Quantity),
PreviousQuantity: int(entity.PreviousQuantity),
NewQuantity: int(entity.NewQuantity),
UnitCost: entity.UnitCost,
TotalCost: entity.TotalCost,
ReferenceType: (*models.InventoryMovementReferenceType)(entity.ReferenceType),
@@ -116,11 +119,12 @@ func CreateInventoryMovementRequestToEntity(req *models.CreateInventoryMovementR
return &entities.InventoryMovement{
OrganizationID: req.OrganizationID,
OutletID: req.OutletID,
ProductID: req.ProductID,
ItemID: req.ItemID,
ItemType: req.ItemType,
MovementType: entities.InventoryMovementType(req.MovementType),
Quantity: req.Quantity,
PreviousQuantity: previousQuantity,
NewQuantity: newQuantity,
Quantity: float64(req.Quantity),
PreviousQuantity: float64(previousQuantity),
NewQuantity: float64(newQuantity),
UnitCost: req.UnitCost,
TotalCost: float64(req.Quantity) * req.UnitCost,
ReferenceType: (*entities.InventoryMovementReferenceType)(req.ReferenceType),
@@ -0,0 +1,70 @@
package mappers
import (
"apskel-pos-be/internal/entities"
"apskel-pos-be/internal/models"
)
func MapProductIngredientEntityToModel(entity *entities.ProductIngredient) *models.ProductIngredient {
if entity == nil {
return nil
}
return &models.ProductIngredient{
ID: entity.ID,
OrganizationID: entity.OrganizationID,
OutletID: entity.OutletID,
ProductID: entity.ProductID,
IngredientID: entity.IngredientID,
Quantity: entity.Quantity,
CreatedAt: entity.CreatedAt,
UpdatedAt: entity.UpdatedAt,
Product: ProductEntityToModel(entity.Product),
Ingredient: MapIngredientEntityToModel(entity.Ingredient),
}
}
func MapProductIngredientModelToEntity(model *models.ProductIngredient) *entities.ProductIngredient {
if model == nil {
return nil
}
return &entities.ProductIngredient{
ID: model.ID,
OrganizationID: model.OrganizationID,
OutletID: model.OutletID,
ProductID: model.ProductID,
IngredientID: model.IngredientID,
Quantity: model.Quantity,
CreatedAt: model.CreatedAt,
UpdatedAt: model.UpdatedAt,
Product: ProductModelToEntity(model.Product),
Ingredient: MapIngredientModelToEntity(model.Ingredient),
}
}
func MapProductIngredientEntitiesToModels(entities []*entities.ProductIngredient) []*models.ProductIngredient {
if entities == nil {
return nil
}
models := make([]*models.ProductIngredient, len(entities))
for i, entity := range entities {
models[i] = MapProductIngredientEntityToModel(entity)
}
return models
}
func MapProductIngredientModelsToEntities(models []*models.ProductIngredient) []*entities.ProductIngredient {
if models == nil {
return nil
}
entities := make([]*entities.ProductIngredient, len(models))
for i, model := range models {
entities[i] = MapProductIngredientModelToEntity(model)
}
return entities
}
+66
View File
@@ -0,0 +1,66 @@
package mappers
import (
"apskel-pos-be/internal/entities"
"apskel-pos-be/internal/models"
)
func MapUnitEntityToModel(entity *entities.Unit) *models.Unit {
if entity == nil {
return nil
}
return &models.Unit{
ID: entity.ID,
OrganizationID: entity.OrganizationID,
OutletID: entity.OutletID,
Name: entity.Name,
Abbreviation: entity.Abbreviation,
IsActive: entity.IsActive,
CreatedAt: entity.CreatedAt,
UpdatedAt: entity.UpdatedAt,
}
}
func MapUnitModelToEntity(model *models.Unit) *entities.Unit {
if model == nil {
return nil
}
return &entities.Unit{
ID: model.ID,
OrganizationID: model.OrganizationID,
OutletID: model.OutletID,
Name: model.Name,
Abbreviation: model.Abbreviation,
IsActive: model.IsActive,
CreatedAt: model.CreatedAt,
UpdatedAt: model.UpdatedAt,
}
}
func MapUnitEntitiesToModels(entities []*entities.Unit) []*models.Unit {
if entities == nil {
return nil
}
models := make([]*models.Unit, len(entities))
for i, entity := range entities {
models[i] = MapUnitEntityToModel(entity)
}
return models
}
func MapUnitModelsToEntities(models []*models.Unit) []*entities.Unit {
if models == nil {
return nil
}
entities := make([]*entities.Unit, len(models))
for i, model := range models {
entities[i] = MapUnitModelToEntity(model)
}
return entities
}