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) }