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,73 @@
package repository
import (
"context"
"git.kirlllll.ru/volontery/backend/internal/database"
)
// AuthRepository предоставляет методы для работы с аутентификацией
type AuthRepository struct {
queries *database.Queries
}
// NewAuthRepository создает новый AuthRepository
func NewAuthRepository(queries *database.Queries) *AuthRepository {
return &AuthRepository{queries: queries}
}
// CreateRefreshToken создает новый refresh токен
func (r *AuthRepository) CreateRefreshToken(ctx context.Context, params database.CreateRefreshTokenParams) (*database.RefreshToken, error) {
result, err := r.queries.CreateRefreshToken(ctx, params)
if err != nil {
return nil, err
}
return &result, nil
}
// GetRefreshToken получает refresh токен
func (r *AuthRepository) GetRefreshToken(ctx context.Context, token string) (*database.RefreshToken, error) {
result, err := r.queries.GetRefreshToken(ctx, token)
if err != nil {
return nil, err
}
return &result, nil
}
// RevokeRefreshToken отзывает refresh токен
func (r *AuthRepository) RevokeRefreshToken(ctx context.Context, id int64) error {
return r.queries.RevokeRefreshToken(ctx, id)
}
// RevokeAllUserTokens отзывает все токены пользователя
func (r *AuthRepository) RevokeAllUserTokens(ctx context.Context, userID int64) error {
return r.queries.RevokeAllUserTokens(ctx, userID)
}
// CreateUserSession создает новую сессию
func (r *AuthRepository) CreateUserSession(ctx context.Context, params database.CreateUserSessionParams) (*database.UserSession, error) {
result, err := r.queries.CreateUserSession(ctx, params)
if err != nil {
return nil, err
}
return &result, nil
}
// GetUserSession получает сессию по токену
func (r *AuthRepository) GetUserSession(ctx context.Context, sessionToken string) (*database.UserSession, error) {
result, err := r.queries.GetUserSession(ctx, sessionToken)
if err != nil {
return nil, err
}
return &result, nil
}
// UpdateSessionActivity обновляет время активности сессии
func (r *AuthRepository) UpdateSessionActivity(ctx context.Context, id int64) error {
return r.queries.UpdateSessionActivity(ctx, id)
}
// InvalidateUserSession удаляет сессию
func (r *AuthRepository) InvalidateUserSession(ctx context.Context, id int64) error {
return r.queries.InvalidateUserSession(ctx, id)
}