Bootstrap copied BFF and local accounts with public Sendico contracts (#34)
This commit is contained in:
1 parent
67dc5b5b1e
commit
7062672a87
556 files changed
+42291
-777
No files matched your search
@@ -0,0 +1,27 @@
|
||||
package management
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.sendico.io/tech/sxchnge/bff/pkg/model"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
type Permission interface {
|
||||
// Grant a permission to a role with an optional object scope and specified effect.
|
||||
// Use bson.NilObjectID for 'any' objectRef.
|
||||
GrantToRole(ctx context.Context, policy *model.RolePolicy) error
|
||||
|
||||
// Revoke a permission from a role with an optional object scope and specified effect.
|
||||
// Use bson.NilObjectID for 'any' objectRef.
|
||||
RevokeFromRole(ctx context.Context, policy *model.RolePolicy) error
|
||||
|
||||
// Retrieve all policies assigned to a specific role, including scope and effects.
|
||||
GetPolicies(
|
||||
ctx context.Context,
|
||||
roleRef bson.ObjectID,
|
||||
) ([]model.RolePolicy, error)
|
||||
|
||||
// Persist any changes made to permissions.
|
||||
Save() error
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package management
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"git.sendico.io/tech/sxchnge/bff/pkg/model"
|
||||
"go.mongodb.org/mongo-driver/v2/bson"
|
||||
)
|
||||
|
||||
type Role interface {
|
||||
// Create a new role in an organization (returns the created Role with its ID).
|
||||
Create(
|
||||
ctx context.Context,
|
||||
orgRef bson.ObjectID,
|
||||
description *model.Describable,
|
||||
) (*model.RoleDescription, error)
|
||||
|
||||
// Delete a role entirely. This will cascade and remove all associated
|
||||
Delete(
|
||||
ctx context.Context,
|
||||
roleRef bson.ObjectID,
|
||||
) error
|
||||
|
||||
// Assign a role to a user in a specific organization.
|
||||
Assign(
|
||||
ctx context.Context,
|
||||
role *model.Role,
|
||||
) error
|
||||
|
||||
// Revoke a role from a user in a specific organization.
|
||||
Revoke(
|
||||
ctx context.Context,
|
||||
roleRef, accountRef, orgRef bson.ObjectID,
|
||||
) error
|
||||
|
||||
// List all roles in an organization or globally if orgRef is bson.NilObjectID.
|
||||
List(
|
||||
ctx context.Context,
|
||||
orgRef bson.ObjectID,
|
||||
) ([]model.RoleDescription, error)
|
||||
}
|
||||
Reference in new issue
Block a user