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/v2/bson" "go.mongodb.org/mongo-driver/v2/mongo" ) type RolesDB interface { template.DB[*nstructures.RoleAssignment] Roles(ctx context.Context, accountRef, organizationRef bson.ObjectID) ([]nstructures.RoleAssignment, error) RolesForVenue(ctx context.Context, organizationRef bson.ObjectID) ([]nstructures.RoleAssignment, error) RemoveRole(ctx context.Context, roleRef, organizationRef, accountRef bson.ObjectID) error DeleteRole(ctx context.Context, roleRef bson.ObjectID) error } func NewRolesDB(logger mlogger.Logger, conn *mongo.Database) (RolesDB, error) { return db.NewRolesDB(logger, conn) }