refactor platform domain states and permissions

This commit is contained in:
david
2026-07-29 14:25:38 +08:00
parent d4799cd320
commit 35a52c4b06
42 changed files with 507 additions and 364 deletions

View File

@@ -0,0 +1,31 @@
package common
import (
"git.apinb.com/heqiapp/platforms/backend/api/internal/impl"
"git.apinb.com/heqiapp/platforms/backend/api/internal/models"
)
// ValidateOrganizationIDs verifies that an optional delivery point and staff
// member belong to the requested gas organization.
func ValidateOrganizationIDs(gasID, deliveryID, staffID uint64) bool {
var delivery models.DeliveryBasic
if deliveryID != 0 {
if err := impl.DBService.First(&delivery, deliveryID).Error; err != nil {
return false
}
if gasID != 0 && delivery.GasBasicID != 0 && delivery.GasBasicID != gasID {
return false
}
}
if staffID == 0 {
return true
}
var staff models.StaffAccount
if err := impl.DBService.First(&staff, staffID).Error; err != nil {
return false
}
if deliveryID != 0 && staff.DeliveryBasicID != deliveryID {
return false
}
return gasID == 0 || staff.GasBasicID == 0 || staff.GasBasicID == gasID
}