|
|
@@ -8,24 +8,24 @@ import (
|
|
|
"net/http"
|
|
|
)
|
|
|
|
|
|
-func CRUD(builder *gateway.Builder, params *CRUDParams, opts ...any) {
|
|
|
- createOptions := new(CRUDCreateOptions)
|
|
|
- deleteOptions := new(CRUDDeleteOptions)
|
|
|
- updateOptions := new(CRUDUpdateOptions)
|
|
|
- queryOptions := new(CRUDQueryOptions)
|
|
|
- getByIDOptions := new(CRUDGetByIDOptions)
|
|
|
+func EntityCRUD(builder *gateway.Builder, params *EntityCRUDParams, opts ...any) {
|
|
|
+ createOptions := new(EntityCRUDCreateOptions)
|
|
|
+ deleteOptions := new(EntityCRUDDeleteOptions)
|
|
|
+ updateOptions := new(EntityCRUDUpdateOptions)
|
|
|
+ queryOptions := new(EntityCRUDQueryOptions)
|
|
|
+ getByIDOptions := new(EntityCRUDGetByIDOptions)
|
|
|
|
|
|
for _, opt := range opts {
|
|
|
switch o := opt.(type) {
|
|
|
- case CRUDCreateOption:
|
|
|
+ case EntityCRUDCreateOption:
|
|
|
o(createOptions)
|
|
|
- case CRUDDeleteOption:
|
|
|
+ case EntityCRUDDeleteOption:
|
|
|
o(deleteOptions)
|
|
|
- case CRUDUpdateOption:
|
|
|
+ case EntityCRUDUpdateOption:
|
|
|
o(updateOptions)
|
|
|
- case CRUDQueryOption:
|
|
|
+ case EntityCRUDQueryOption:
|
|
|
o(queryOptions)
|
|
|
- case CRUDGetByIDOption:
|
|
|
+ case EntityCRUDGetByIDOption:
|
|
|
o(getByIDOptions)
|
|
|
default:
|
|
|
continue
|
|
|
@@ -41,7 +41,7 @@ func CRUD(builder *gateway.Builder, params *CRUDParams, opts ...any) {
|
|
|
params.crud(builder)
|
|
|
}
|
|
|
|
|
|
-type CRUDParams struct {
|
|
|
+type EntityCRUDParams struct {
|
|
|
// 除去后缀的服务URL,如http://localhost:8080/example/api/v1
|
|
|
ServiceVersionedUrl string
|
|
|
|
|
|
@@ -49,14 +49,14 @@ type CRUDParams struct {
|
|
|
DomainCamelName string
|
|
|
|
|
|
// 可选配置项,通过WithXXX配置
|
|
|
- createOptions *CRUDCreateOptions
|
|
|
- deleteOptions *CRUDDeleteOptions
|
|
|
- updateOptions *CRUDUpdateOptions
|
|
|
- queryOptions *CRUDQueryOptions
|
|
|
- getByIDOptions *CRUDGetByIDOptions
|
|
|
+ createOptions *EntityCRUDCreateOptions
|
|
|
+ deleteOptions *EntityCRUDDeleteOptions
|
|
|
+ updateOptions *EntityCRUDUpdateOptions
|
|
|
+ queryOptions *EntityCRUDQueryOptions
|
|
|
+ getByIDOptions *EntityCRUDGetByIDOptions
|
|
|
}
|
|
|
|
|
|
-func (params *CRUDParams) crud(builder *gateway.Builder) {
|
|
|
+func (params *EntityCRUDParams) crud(builder *gateway.Builder) {
|
|
|
createOptions := params.createOptions
|
|
|
deleteOptions := params.deleteOptions
|
|
|
updateOptions := params.updateOptions
|
|
|
@@ -125,7 +125,7 @@ func (params *CRUDParams) crud(builder *gateway.Builder) {
|
|
|
Url: params.ServiceVersionedUrl + domainPath + "/query",
|
|
|
QueryParams: newQueryParams,
|
|
|
}, nil
|
|
|
- }, updateOptions.requestResponseCallback).
|
|
|
+ }, queryOptions.requestResponseCallback).
|
|
|
Build(queryOptions.middlewares...)
|
|
|
}
|
|
|
|
|
|
@@ -140,13 +140,13 @@ func (params *CRUDParams) crud(builder *gateway.Builder) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-type CRUDCreateOption func(options *CRUDCreateOptions)
|
|
|
-type CRUDDeleteOption func(options *CRUDDeleteOptions)
|
|
|
-type CRUDUpdateOption func(options *CRUDUpdateOptions)
|
|
|
-type CRUDQueryOption func(options *CRUDQueryOptions)
|
|
|
-type CRUDGetByIDOption func(options *CRUDGetByIDOptions)
|
|
|
+type EntityCRUDCreateOption func(options *EntityCRUDCreateOptions)
|
|
|
+type EntityCRUDDeleteOption func(options *EntityCRUDDeleteOptions)
|
|
|
+type EntityCRUDUpdateOption func(options *EntityCRUDUpdateOptions)
|
|
|
+type EntityCRUDQueryOption func(options *EntityCRUDQueryOptions)
|
|
|
+type EntityCRUDGetByIDOption func(options *EntityCRUDGetByIDOptions)
|
|
|
|
|
|
-type CRUDCreateOptions struct {
|
|
|
+type EntityCRUDCreateOptions struct {
|
|
|
// 关闭创建
|
|
|
disable bool
|
|
|
|
|
|
@@ -157,7 +157,7 @@ type CRUDCreateOptions struct {
|
|
|
middlewares []api.Handler
|
|
|
}
|
|
|
|
|
|
-type CRUDDeleteOptions struct {
|
|
|
+type EntityCRUDDeleteOptions struct {
|
|
|
// 关闭删除
|
|
|
disable bool
|
|
|
|
|
|
@@ -168,7 +168,7 @@ type CRUDDeleteOptions struct {
|
|
|
middlewares []api.Handler
|
|
|
}
|
|
|
|
|
|
-type CRUDUpdateOptions struct {
|
|
|
+type EntityCRUDUpdateOptions struct {
|
|
|
// 关闭更新
|
|
|
disable bool
|
|
|
|
|
|
@@ -179,7 +179,7 @@ type CRUDUpdateOptions struct {
|
|
|
middlewares []api.Handler
|
|
|
}
|
|
|
|
|
|
-type CRUDQueryOptions struct {
|
|
|
+type EntityCRUDQueryOptions struct {
|
|
|
// 关闭查询
|
|
|
disable bool
|
|
|
|
|
|
@@ -190,7 +190,7 @@ type CRUDQueryOptions struct {
|
|
|
middlewares []api.Handler
|
|
|
}
|
|
|
|
|
|
-type CRUDGetByIDOptions struct {
|
|
|
+type EntityCRUDGetByIDOptions struct {
|
|
|
// 关闭根据ID查询
|
|
|
disable bool
|
|
|
|
|
|
@@ -201,86 +201,86 @@ type CRUDGetByIDOptions struct {
|
|
|
middlewares []api.Handler
|
|
|
}
|
|
|
|
|
|
-func WithCRUDCreateCallbacks(callbacks gateway.RequestResponseCallback) CRUDCreateOption {
|
|
|
- return func(options *CRUDCreateOptions) {
|
|
|
+func WithEntityCRUDCreateCallbacks(callbacks gateway.RequestResponseCallback) EntityCRUDCreateOption {
|
|
|
+ return func(options *EntityCRUDCreateOptions) {
|
|
|
options.requestResponseCallback = callbacks
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDCreateMiddlewares(middlewares []api.Handler) CRUDCreateOption {
|
|
|
- return func(options *CRUDCreateOptions) {
|
|
|
+func WithEntityCRUDCreateMiddlewares(middlewares []api.Handler) EntityCRUDCreateOption {
|
|
|
+ return func(options *EntityCRUDCreateOptions) {
|
|
|
options.middlewares = middlewares
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDDisableDelete() CRUDDeleteOption {
|
|
|
- return func(options *CRUDDeleteOptions) {
|
|
|
+func WithEntityCRUDDisableDelete() EntityCRUDDeleteOption {
|
|
|
+ return func(options *EntityCRUDDeleteOptions) {
|
|
|
options.disable = true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDDeleteCallbacks(callbacks gateway.RequestResponseCallback) CRUDDeleteOption {
|
|
|
- return func(options *CRUDDeleteOptions) {
|
|
|
+func WithEntityCRUDDeleteCallbacks(callbacks gateway.RequestResponseCallback) EntityCRUDDeleteOption {
|
|
|
+ return func(options *EntityCRUDDeleteOptions) {
|
|
|
options.requestResponseCallback = callbacks
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDDeleteMiddlewares(middlewares []api.Handler) CRUDDeleteOption {
|
|
|
- return func(options *CRUDDeleteOptions) {
|
|
|
+func WithEntityCRUDDeleteMiddlewares(middlewares []api.Handler) EntityCRUDDeleteOption {
|
|
|
+ return func(options *EntityCRUDDeleteOptions) {
|
|
|
options.middlewares = middlewares
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDDisableUpdate() CRUDUpdateOption {
|
|
|
- return func(options *CRUDUpdateOptions) {
|
|
|
+func WithEntityCRUDDisableUpdate() EntityCRUDUpdateOption {
|
|
|
+ return func(options *EntityCRUDUpdateOptions) {
|
|
|
options.disable = true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDUpdateCallbacks(callbacks gateway.RequestResponseCallback) CRUDUpdateOption {
|
|
|
- return func(options *CRUDUpdateOptions) {
|
|
|
+func WithEntityCRUDUpdateCallbacks(callbacks gateway.RequestResponseCallback) EntityCRUDUpdateOption {
|
|
|
+ return func(options *EntityCRUDUpdateOptions) {
|
|
|
options.requestResponseCallback = callbacks
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDUpdateMiddlewares(middlewares []api.Handler) CRUDUpdateOption {
|
|
|
- return func(options *CRUDUpdateOptions) {
|
|
|
+func WithEntityCRUDUpdateMiddlewares(middlewares []api.Handler) EntityCRUDUpdateOption {
|
|
|
+ return func(options *EntityCRUDUpdateOptions) {
|
|
|
options.middlewares = middlewares
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDDisableQuery() CRUDQueryOption {
|
|
|
- return func(options *CRUDQueryOptions) {
|
|
|
+func WithEntityCRUDDisableQuery() EntityCRUDQueryOption {
|
|
|
+ return func(options *EntityCRUDQueryOptions) {
|
|
|
options.disable = true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDQueryCallbacks(callbacks gateway.RequestResponseCallback) CRUDQueryOption {
|
|
|
- return func(options *CRUDQueryOptions) {
|
|
|
+func WithEntityCRUDQueryCallbacks(callbacks gateway.RequestResponseCallback) EntityCRUDQueryOption {
|
|
|
+ return func(options *EntityCRUDQueryOptions) {
|
|
|
options.requestResponseCallback = callbacks
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDQueryMiddlewares(middlewares []api.Handler) CRUDQueryOption {
|
|
|
- return func(options *CRUDQueryOptions) {
|
|
|
+func WithEntityCRUDQueryMiddlewares(middlewares []api.Handler) EntityCRUDQueryOption {
|
|
|
+ return func(options *EntityCRUDQueryOptions) {
|
|
|
options.middlewares = middlewares
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDDisableGetByID() CRUDGetByIDOption {
|
|
|
- return func(options *CRUDGetByIDOptions) {
|
|
|
+func WithEntityCRUDDisableGetByID() EntityCRUDGetByIDOption {
|
|
|
+ return func(options *EntityCRUDGetByIDOptions) {
|
|
|
options.disable = true
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDGetByIDCallbacks(callbacks gateway.RequestResponseCallback) CRUDGetByIDOption {
|
|
|
- return func(options *CRUDGetByIDOptions) {
|
|
|
+func WithEntityCRUDGetByIDCallbacks(callbacks gateway.RequestResponseCallback) EntityCRUDGetByIDOption {
|
|
|
+ return func(options *EntityCRUDGetByIDOptions) {
|
|
|
options.requestResponseCallback = callbacks
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func WithCRUDGetByIDMiddlewares(middlewares []api.Handler) CRUDGetByIDOption {
|
|
|
- return func(options *CRUDGetByIDOptions) {
|
|
|
+func WithEntityCRUDGetByIDMiddlewares(middlewares []api.Handler) EntityCRUDGetByIDOption {
|
|
|
+ return func(options *EntityCRUDGetByIDOptions) {
|
|
|
options.middlewares = middlewares
|
|
|
}
|
|
|
}
|