initial commit

This commit is contained in:
2025-11-29 00:28:21 +05:00
parent 46229acc82
commit ec3b03a935
76 changed files with 13492 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
package repository
import (
"context"
"git.kirlllll.ru/volontery/backend/internal/database"
)
// RBACRepository предоставляет методы для работы с RBAC
type RBACRepository struct {
queries *database.Queries
}
// NewRBACRepository создает новый RBACRepository
func NewRBACRepository(queries *database.Queries) *RBACRepository {
return &RBACRepository{queries: queries}
}
// GetUserRoles получает роли пользователя
func (r *RBACRepository) GetUserRoles(ctx context.Context, userID int64) ([]database.Role, error) {
return r.queries.GetUserRoles(ctx, userID)
}
// AssignRoleToUser назначает роль пользователю
func (r *RBACRepository) AssignRoleToUser(ctx context.Context, params database.AssignRoleToUserParams) (*database.UserRole, error) {
result, err := r.queries.AssignRoleToUser(ctx, params)
if err != nil {
return nil, err
}
return &result, nil
}
// GetRoleByName получает роль по имени
func (r *RBACRepository) GetRoleByName(ctx context.Context, name string) (*database.Role, error) {
result, err := r.queries.GetRoleByName(ctx, name)
if err != nil {
return nil, err
}
return &result, nil
}
// UserHasRole проверяет наличие роли у пользователя
func (r *RBACRepository) UserHasRole(ctx context.Context, params database.UserHasRoleParams) (bool, error) {
return r.queries.UserHasRole(ctx, params)
}
// UserHasRoleByName проверяет наличие роли по имени
func (r *RBACRepository) UserHasRoleByName(ctx context.Context, params database.UserHasRoleByNameParams) (bool, error) {
return r.queries.UserHasRoleByName(ctx, params)
}
// GetUserPermissions получает все разрешения пользователя
func (r *RBACRepository) GetUserPermissions(ctx context.Context, userID int64) ([]database.GetUserPermissionsRow, error) {
return r.queries.GetUserPermissions(ctx, userID)
}
// UserHasPermission проверяет наличие разрешения у пользователя
func (r *RBACRepository) UserHasPermission(ctx context.Context, params database.UserHasPermissionParams) (bool, error) {
return r.queries.UserHasPermission(ctx, params)
}