25 lines
899 B
Go
25 lines
899 B
Go
package native
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/tech/sendico/pkg/auth/internal/native/db"
|
|
"github.com/tech/sendico/pkg/auth/internal/native/nstructures"
|
|
"github.com/tech/sendico/pkg/db/template"
|
|
"github.com/tech/sendico/pkg/mlogger"
|
|
"go.mongodb.org/mongo-driver/bson/primitive"
|
|
"go.mongodb.org/mongo-driver/mongo"
|
|
)
|
|
|
|
type RolesDB interface {
|
|
template.DB[*nstructures.RoleAssignment]
|
|
Roles(ctx context.Context, accountRef, organizationRef primitive.ObjectID) ([]nstructures.RoleAssignment, error)
|
|
RolesForVenue(ctx context.Context, organizationRef primitive.ObjectID) ([]nstructures.RoleAssignment, error)
|
|
RemoveRole(ctx context.Context, roleRef, organizationRef, accountRef primitive.ObjectID) error
|
|
DeleteRole(ctx context.Context, roleRef primitive.ObjectID) error
|
|
}
|
|
|
|
func NewRolesDB(logger mlogger.Logger, conn *mongo.Database) (RolesDB, error) {
|
|
return db.NewRolesDB(logger, conn)
|
|
}
|