feat: add producer account management
This commit is contained in:
@@ -107,10 +107,19 @@ func registerGasorderRoute(group *gin.RouterGroup) {
|
||||
}
|
||||
|
||||
func registerProductRoute(group *gin.RouterGroup) {
|
||||
producer := group.Group("/producer_account")
|
||||
producer.GET("", product.ListProducerAccount)
|
||||
producer.POST("", product.CreateProducerAccount)
|
||||
producer.GET("/:identity", product.GetProducerAccount)
|
||||
producer.PUT("/:identity", product.UpdateProducerAccount)
|
||||
producer.PATCH("/:identity/status", func(ctx *gin.Context) { common.UpdateRecordStatus(ctx, &models.ProducerAccount{}) })
|
||||
producer.DELETE("/:identity", product.DeleteProducerAccount)
|
||||
|
||||
registerRestrictedNoDeleteResource(group, "/product_type", &models.ProductType{}, []string{"code", "name"})
|
||||
registerRestrictedNoDeleteResource(group, "/product_warehouse", &models.ProductWarehouse{}, []string{"code", "name", "address", "manager", "phone"})
|
||||
|
||||
infoRelations := []common.ResourceRelation{
|
||||
requiredRelation("producer_account_identity", "producer_account_id", &models.ProducerAccount{}),
|
||||
requiredRelation("product_type_identity", "product_type_id", &models.ProductType{}),
|
||||
optionalRelation("warehouse_identity", "warehouse_id", &models.ProductWarehouse{}),
|
||||
optionalRelation("gas_basic_identity", "gas_basic_id", &models.GasBasic{}),
|
||||
|
||||
@@ -166,6 +166,10 @@ func TestPlatformProductCommerceAndDeliveryRoutesFollowTheirContracts(t *testing
|
||||
assertRouteMethods(t, routes, path+"/:identity/status", http.MethodPatch)
|
||||
assertNoRouteMethods(t, routes, path+"/:identity", http.MethodDelete)
|
||||
}
|
||||
producer := "/heqi/platform/v1/producer_account"
|
||||
assertRouteMethods(t, routes, producer, http.MethodGet, http.MethodPost)
|
||||
assertRouteMethods(t, routes, producer+"/:identity", http.MethodGet, http.MethodPut, http.MethodDelete)
|
||||
assertRouteMethods(t, routes, producer+"/:identity/status", http.MethodPatch)
|
||||
owner := "/heqi/platform/v1/product_owner"
|
||||
assertRouteMethods(t, routes, owner, http.MethodGet)
|
||||
assertNoRouteMethods(t, routes, owner, http.MethodPost)
|
||||
|
||||
Reference in New Issue
Block a user