refactor platform domain states and permissions
This commit is contained in:
@@ -100,7 +100,7 @@ func registerGasorderRoute(group *gin.RouterGroup) {
|
||||
|
||||
func registerProductRoute(group *gin.RouterGroup) {
|
||||
registerRestrictedNoDeleteResource(group, "/product_type", &models.ProductType{}, []string{"code", "name"})
|
||||
registerRestrictedNoDeleteResource(group, "/product_warehouse", &models.ProductWarehouse{}, []string{"code", "name", "address", "manager", "phone", "is_enabled"})
|
||||
registerRestrictedNoDeleteResource(group, "/product_warehouse", &models.ProductWarehouse{}, []string{"code", "name", "address", "manager", "phone"})
|
||||
|
||||
infoRelations := []common.ResourceRelation{
|
||||
requiredRelation("product_type_identity", "product_type_id", &models.ProductType{}),
|
||||
@@ -115,7 +115,8 @@ func registerProductRoute(group *gin.RouterGroup) {
|
||||
info.POST("", infoCreate)
|
||||
info.GET("/:identity", infoGet)
|
||||
info.PUT("/:identity", infoUpdate)
|
||||
info.PATCH("/:identity/status", product.UpdateProductInfoStatus)
|
||||
info.PATCH("/:identity/status", product.UpdateProductInfoRecordStatus)
|
||||
info.PATCH("/:identity/lifecycle", product.UpdateProductInfoLifecycle)
|
||||
|
||||
repairList, repairCreate, repairGet, repairUpdate := product.ProductRepairHandlers(
|
||||
requiredRelation("product_info_identity", "product_info_id", &models.ProductInfo{}),
|
||||
@@ -164,12 +165,10 @@ func registerCommerceRoute(group *gin.RouterGroup) {
|
||||
registerRestrictedWritableResource(group, "/ec_product", &models.EcProduct{}, []string{"product_code", "name", "price_amount", "stock_quantity"}, requiredRelation("ec_category_identity", "ec_category_id", &models.EcCategory{}))
|
||||
registerRestrictedWritableResource(group, "/ec_product_attribute", &models.EcProductAttribute{}, []string{"name", "value", "sort_no"}, requiredRelation("ec_product_identity", "ec_product_id", &models.EcProduct{}))
|
||||
registerRestrictedWritableResource(group, "/ec_product_image", &models.EcProductImage{}, []string{"image_uri", "sort_no", "is_cover"}, requiredRelation("ec_product_identity", "ec_product_id", &models.EcProduct{}))
|
||||
registerRestrictedWritableResource(group, "/ec_cart", &models.EcCart{}, []string{"quantity", "selected"}, requiredRelation("user_account_identity", "user_account_id", &models.UserAccount{}), requiredRelation("ec_product_identity", "ec_product_id", &models.EcProduct{}))
|
||||
orderRelations := []common.ResourceRelation{requiredRelation("user_account_identity", "user_account_id", &models.UserAccount{}), optionalRelation("gas_basic_identity", "gas_station_id", &models.GasBasic{}), optionalRelation("delivery_basic_identity", "delivery_point_id", &models.DeliveryBasic{})}
|
||||
list, create, _, update := common.ResourceHandlers(&models.EcOrder{}, []string{"order_no", "total_amount"}, []string{"total_amount"}, orderRelations...)
|
||||
registerWritableResource(group, "/ec_order", list, create, ec.GetEcOrder, update, &models.EcOrder{})
|
||||
registerRestrictedWritableResource(group, "/ec_order_item", &models.EcOrderItem{}, []string{"product_snapshot", "quantity", "sale_amount"}, requiredRelation("ec_order_identity", "ec_order_id", &models.EcOrder{}), requiredRelation("ec_product_identity", "ec_product_id", &models.EcProduct{}))
|
||||
registerRestrictedWritableResource(group, "/ec_review", &models.EcReview{}, []string{"score", "content"}, requiredRelation("ec_order_identity", "ec_order_id", &models.EcOrder{}), requiredRelation("ec_product_identity", "ec_product_id", &models.EcProduct{}), requiredRelation("user_account_identity", "user_account_id", &models.UserAccount{}))
|
||||
registerReadOnlyResource(group, "/ec_cart", &models.EcCart{})
|
||||
registerReadOnlyHandlers(group, "/ec_order", func(ctx *gin.Context) { common.ListResource(ctx, &models.EcOrder{}) }, ec.GetEcOrder)
|
||||
registerReadOnlyResource(group, "/ec_order_item", &models.EcOrderItem{})
|
||||
registerReadOnlyResource(group, "/ec_review", &models.EcReview{})
|
||||
}
|
||||
|
||||
func registerStaffRoute(group *gin.RouterGroup) {
|
||||
@@ -206,10 +205,10 @@ func registerPlatformRoute(group *gin.RouterGroup) {
|
||||
}
|
||||
|
||||
func registerFinanceRoute(group *gin.RouterGroup) {
|
||||
registerRestrictedWritableResource(group, "/fin_payment", &models.FinPayment{}, []string{"channel", "amount", "paid_at"}, requiredRelation("ec_order_identity", "ec_order_id", &models.EcOrder{}))
|
||||
registerReadOnlyResource(group, "/fin_payment", &models.FinPayment{})
|
||||
settlementList, settlementCreate, settlementGet, settlementUpdate := fin.FinSettlementHandlers()
|
||||
registerWritableResource(group, "/fin_settlement", settlementList, settlementCreate, settlementGet, settlementUpdate, &models.FinSettlement{})
|
||||
registerRestrictedWritableResource(group, "/fin_reconciliation", &models.FinReconciliation{}, []string{"channel", "bill_date", "difference_amount"})
|
||||
registerReadOnlyResource(group, "/fin_reconciliation", &models.FinReconciliation{})
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user