tariffs/internal/repository/privilege/privilege.go

48 lines
1003 B
Go
Raw Normal View History

package privilege
import (
"context"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/options"
"go.uber.org/zap"
"hub_admin_backend_service/internal/models"
)
type Deps struct {
Mdb *mongo.Collection
Logger *zap.Logger
}
type Privilege struct {
mdb *mongo.Collection
logger *zap.Logger
}
func NewPrivilegeRepo(deps Deps) *Privilege {
return &Privilege{
mdb: deps.Mdb,
logger: deps.Logger,
}
}
func (p *Privilege) GetAllPrivileges(ctx context.Context) ([]models.Privilege, error) {
filter := bson.M{"isDeleted": false}
opts := options.Find()
cursor, err := p.mdb.Find(ctx, filter, opts)
if err != nil {
p.logger.Error("failed to find privileges", zap.Error(err))
return nil, err
}
defer cursor.Close(ctx)
var privileges []models.Privilege
if err = cursor.All(ctx, &privileges); err != nil {
p.logger.Error("failed to decode privileges", zap.Error(err))
return nil, err
}
return privileges, nil
}