update
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
teguh nugroho 2026-09-05 14:48:44 +07:00
parent 39265bfcb1
commit 280d951d3c
9 changed files with 162 additions and 146 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@ _internal/
**/*.json
server/*
storage/log/
api

View File

@ -165,22 +165,24 @@ func (u *CityUsecase) Update(id string, name string, provinceID string, port str
func (u *CityUsecase) Delete(id string) error {
db := u.Helper.GetDB("master")
var city domain.City
q := db
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = db.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&city).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("city", id, city, merchantID)
if err := db.Delete(&domain.City{}, "id = ?", id).Error; err != nil {
return err
}
return nil
return db.Transaction(func(tx *gorm.DB) error {
var city domain.City
q := tx
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = tx.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&city).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("city", id, city, merchantID)
if err := tx.Delete(&domain.City{}, "id = ?", id).Error; err != nil {
return err
}
return nil
})
}

View File

@ -190,24 +190,26 @@ func (u *CostComponentUsecase) Update(id string, name string, code string, value
func (u *CostComponentUsecase) Delete(id string) error {
db := u.Helper.GetDB("master")
var component domain.CostComponent
q := db
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = db.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&component).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("cost_component", id, component, merchantID)
if err := db.Delete(&domain.CostComponent{}, "id = ?", id).Error; err != nil {
return err
}
return nil
return db.Transaction(func(tx *gorm.DB) error {
var component domain.CostComponent
q := tx
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = tx.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&component).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("cost_component", id, component, merchantID)
if err := tx.Delete(&domain.CostComponent{}, "id = ?", id).Error; err != nil {
return err
}
return nil
})
}
func (u *CostComponentUsecase) SortDown(id string) error {

View File

@ -174,22 +174,24 @@ func (u *DistrictUsecase) Update(id string, name string, provinceID string, city
func (u *DistrictUsecase) Delete(id string) error {
db := u.Helper.GetDB("master")
var district domain.District
q := db
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = db.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&district).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("district", id, district, merchantID)
if err := db.Delete(&domain.District{}, "id = ?", id).Error; err != nil {
return err
}
return nil
return db.Transaction(func(tx *gorm.DB) error {
var district domain.District
q := tx
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = tx.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&district).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("district", id, district, merchantID)
if err := tx.Delete(&domain.District{}, "id = ?", id).Error; err != nil {
return err
}
return nil
})
}

View File

@ -154,22 +154,24 @@ func (u *ModaUsecase) Update(id string, name string, updatedBy string) (domain.M
func (u *ModaUsecase) Delete(id string) error {
db := u.Helper.GetDB("master")
var item domain.Moda
q := db
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = db.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&item).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("moda", id, item, merchantID)
if err := db.Delete(&domain.Moda{}, "id = ?", id).Error; err != nil {
return err
}
return nil
return db.Transaction(func(tx *gorm.DB) error {
var item domain.Moda
q := tx
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = tx.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&item).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("moda", id, item, merchantID)
if err := tx.Delete(&domain.Moda{}, "id = ?", id).Error; err != nil {
return err
}
return nil
})
}

View File

@ -154,22 +154,24 @@ func (u *PackageTypeUsecase) Update(id string, name string, updatedBy string) (d
func (u *PackageTypeUsecase) Delete(id string) error {
db := u.Helper.GetDB("master")
var item domain.PackageType
q := db
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = db.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&item).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("package_type", id, item, merchantID)
if err := db.Delete(&domain.PackageType{}, "id = ?", id).Error; err != nil {
return err
}
return nil
return db.Transaction(func(tx *gorm.DB) error {
var item domain.PackageType
q := tx
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = tx.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&item).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("package_type", id, item, merchantID)
if err := tx.Delete(&domain.PackageType{}, "id = ?", id).Error; err != nil {
return err
}
return nil
})
}

View File

@ -196,22 +196,24 @@ func (u *PostalCodeUsecase) Update(id string, postalCode string, provinceID stri
func (u *PostalCodeUsecase) Delete(id string) error {
db := u.Helper.GetDB("master")
var pc domain.PostalCode
q := db
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = db.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&pc).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("postal_code", id, pc, merchantID)
if err := db.Delete(&domain.PostalCode{}, "id = ?", id).Error; err != nil {
return err
}
return nil
return db.Transaction(func(tx *gorm.DB) error {
var pc domain.PostalCode
q := tx
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = tx.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&pc).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("postal_code", id, pc, merchantID)
if err := tx.Delete(&domain.PostalCode{}, "id = ?", id).Error; err != nil {
return err
}
return nil
})
}

View File

@ -159,26 +159,27 @@ func (u *ProvinceUsecase) Update(id string, name string, updatedBy string) (doma
func (u *ProvinceUsecase) Delete(id string) error {
db := u.Helper.GetDB("master")
return db.Transaction(func(tx *gorm.DB) error {
var province domain.Province
q := tx
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = tx.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&province).Error; err != nil {
return err
}
var province domain.Province
q := db
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = db.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&province).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("province", id, province, merchantID)
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("province", id, province, merchantID)
if err := tx.Delete(&domain.Province{}, "id = ?", id).Error; err != nil {
return err
}
if err := db.Delete(&domain.Province{}, "id = ?", id).Error; err != nil {
return err
}
return nil
return nil
})
}

View File

@ -185,22 +185,24 @@ func (u *SubdistrictUsecase) Update(id string, name string, provinceID string, c
func (u *SubdistrictUsecase) Delete(id string) error {
db := u.Helper.GetDB("master")
var subdistrict domain.Subdistrict
q := db
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = db.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&subdistrict).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("subdistrict", id, subdistrict, merchantID)
if err := db.Delete(&domain.Subdistrict{}, "id = ?", id).Error; err != nil {
return err
}
return nil
return db.Transaction(func(tx *gorm.DB) error {
var subdistrict domain.Subdistrict
q := tx
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
q = tx.Where("merchant_id=?", u.AuthUser.MerchantID)
}
if err := q.Where("id = ?", id).First(&subdistrict).Error; err != nil {
return err
}
var merchantID *string
if u.AuthUser.UsersRole_Relation == nil || u.AuthUser.UsersRole_Relation.RoleKey != "SPM" {
merchantID = u.AuthUser.MerchantID
}
logUsecase := NewActivityLogUsecase(u.Helper, u.AuthUser)
logUsecase.LogDelete("subdistrict", id, subdistrict, merchantID)
if err := tx.Delete(&domain.Subdistrict{}, "id = ?", id).Error; err != nil {
return err
}
return nil
})
}