Add 'canGrant' flag on chart, module, namespace, page & trigger
Currently, all these flags point to service-level operation 'grant' on 'compose' resource.
This commit is contained in:
parent
3b81f88957
commit
4a629c0ea9
@ -18,6 +18,7 @@ type (
|
||||
chartPayload struct {
|
||||
*types.Chart
|
||||
|
||||
CanGrant bool `json:"canGrant"`
|
||||
CanUpdateChart bool `json:"canUpdateChart"`
|
||||
CanDeleteChart bool `json:"canDeleteChart"`
|
||||
}
|
||||
@ -33,6 +34,8 @@ type (
|
||||
}
|
||||
|
||||
chartAccessController interface {
|
||||
CanGrant(context.Context) bool
|
||||
|
||||
CanUpdateChart(context.Context, *types.Chart) bool
|
||||
CanDeleteChart(context.Context, *types.Chart) bool
|
||||
}
|
||||
@ -109,6 +112,8 @@ func (ctrl Chart) makePayload(ctx context.Context, c *types.Chart, err error) (*
|
||||
return &chartPayload{
|
||||
Chart: c,
|
||||
|
||||
CanGrant: ctrl.ac.CanGrant(ctx),
|
||||
|
||||
CanUpdateChart: ctrl.ac.CanUpdateChart(ctx, c),
|
||||
CanDeleteChart: ctrl.ac.CanDeleteChart(ctx, c),
|
||||
}, nil
|
||||
|
||||
@ -16,6 +16,7 @@ type (
|
||||
|
||||
Fields []*moduleFieldPayload `json:"fields"`
|
||||
|
||||
CanGrant bool `json:"canGrant"`
|
||||
CanUpdateModule bool `json:"canUpdateModule"`
|
||||
CanDeleteModule bool `json:"canDeleteModule"`
|
||||
CanCreateRecord bool `json:"canCreateRecord"`
|
||||
@ -43,6 +44,8 @@ type (
|
||||
}
|
||||
|
||||
moduleAccessController interface {
|
||||
CanGrant(context.Context) bool
|
||||
|
||||
CanUpdateModule(context.Context, *types.Module) bool
|
||||
CanDeleteModule(context.Context, *types.Module) bool
|
||||
CanCreateRecord(context.Context, *types.Module) bool
|
||||
@ -136,6 +139,8 @@ func (ctrl Module) makePayload(ctx context.Context, m *types.Module, err error)
|
||||
|
||||
Fields: mfp,
|
||||
|
||||
CanGrant: ctrl.ac.CanGrant(ctx),
|
||||
|
||||
CanUpdateModule: ctrl.ac.CanUpdateModule(ctx, m),
|
||||
CanDeleteModule: ctrl.ac.CanDeleteModule(ctx, m),
|
||||
CanCreateRecord: ctrl.ac.CanCreateRecord(ctx, m),
|
||||
|
||||
@ -14,6 +14,7 @@ type (
|
||||
namespacePayload struct {
|
||||
*types.Namespace
|
||||
|
||||
CanGrant bool `json:"canGrant"`
|
||||
CanUpdateNamespace bool `json:"canUpdateNamespace"`
|
||||
CanDeleteNamespace bool `json:"canDeleteNamespace"`
|
||||
CanCreateModule bool `json:"canCreateModule"`
|
||||
@ -33,8 +34,11 @@ type (
|
||||
}
|
||||
|
||||
namespaceAccessController interface {
|
||||
CanGrant(context.Context) bool
|
||||
|
||||
CanUpdateNamespace(context.Context, *types.Namespace) bool
|
||||
CanDeleteNamespace(context.Context, *types.Namespace) bool
|
||||
|
||||
CanCreateModule(context.Context, *types.Namespace) bool
|
||||
CanCreateChart(context.Context, *types.Namespace) bool
|
||||
CanCreateTrigger(context.Context, *types.Namespace) bool
|
||||
@ -112,12 +116,14 @@ func (ctrl Namespace) makePayload(ctx context.Context, ns *types.Namespace, err
|
||||
return &namespacePayload{
|
||||
Namespace: ns,
|
||||
|
||||
CanGrant: ctrl.ac.CanGrant(ctx),
|
||||
CanUpdateNamespace: ctrl.ac.CanUpdateNamespace(ctx, ns),
|
||||
CanDeleteNamespace: ctrl.ac.CanDeleteNamespace(ctx, ns),
|
||||
CanCreateModule: ctrl.ac.CanCreateModule(ctx, ns),
|
||||
CanCreateChart: ctrl.ac.CanCreateChart(ctx, ns),
|
||||
CanCreateTrigger: ctrl.ac.CanCreateTrigger(ctx, ns),
|
||||
CanCreatePage: ctrl.ac.CanCreatePage(ctx, ns),
|
||||
|
||||
CanCreateModule: ctrl.ac.CanCreateModule(ctx, ns),
|
||||
CanCreateChart: ctrl.ac.CanCreateChart(ctx, ns),
|
||||
CanCreateTrigger: ctrl.ac.CanCreateTrigger(ctx, ns),
|
||||
CanCreatePage: ctrl.ac.CanCreatePage(ctx, ns),
|
||||
}, nil
|
||||
}
|
||||
|
||||
|
||||
@ -15,6 +15,7 @@ type (
|
||||
pagePayload struct {
|
||||
*types.Page
|
||||
|
||||
CanGrant bool `json:"canGrant"`
|
||||
CanUpdatePage bool `json:"canUpdatePage"`
|
||||
CanDeletePage bool `json:"canDeletePage"`
|
||||
}
|
||||
@ -31,6 +32,8 @@ type (
|
||||
}
|
||||
|
||||
pageAccessController interface {
|
||||
CanGrant(context.Context) bool
|
||||
|
||||
CanUpdatePage(context.Context, *types.Page) bool
|
||||
CanDeletePage(context.Context, *types.Page) bool
|
||||
}
|
||||
@ -139,6 +142,8 @@ func (ctrl Page) makePayload(ctx context.Context, c *types.Page, err error) (*pa
|
||||
return &pagePayload{
|
||||
Page: c,
|
||||
|
||||
CanGrant: ctrl.ac.CanGrant(ctx),
|
||||
|
||||
CanUpdatePage: ctrl.ac.CanUpdatePage(ctx, c),
|
||||
CanDeletePage: ctrl.ac.CanDeletePage(ctx, c),
|
||||
}, nil
|
||||
|
||||
@ -14,6 +14,7 @@ type (
|
||||
triggerPayload struct {
|
||||
*types.Trigger
|
||||
|
||||
CanGrant bool `json:"canGrant"`
|
||||
CanUpdateTrigger bool `json:"canUpdateTrigger"`
|
||||
CanDeleteTrigger bool `json:"canDeleteTrigger"`
|
||||
}
|
||||
@ -29,6 +30,8 @@ type (
|
||||
}
|
||||
|
||||
triggerAccessController interface {
|
||||
CanGrant(context.Context) bool
|
||||
|
||||
CanUpdateTrigger(context.Context, *types.Trigger) bool
|
||||
CanDeleteTrigger(context.Context, *types.Trigger) bool
|
||||
}
|
||||
@ -110,6 +113,8 @@ func (ctrl Trigger) makePayload(ctx context.Context, t *types.Trigger, err error
|
||||
return &triggerPayload{
|
||||
Trigger: t,
|
||||
|
||||
CanGrant: ctrl.ac.CanGrant(ctx),
|
||||
|
||||
CanUpdateTrigger: ctrl.ac.CanUpdateTrigger(ctx, t),
|
||||
CanDeleteTrigger: ctrl.ac.CanDeleteTrigger(ctx, t),
|
||||
}, nil
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user