From db75b0e5157154d461902364ff89db2a96506b46 Mon Sep 17 00:00:00 2001 From: Pavel Date: Fri, 15 Mar 2024 15:31:12 +0300 Subject: [PATCH] init new statistics repo --- dal/dal.go | 44 +++++++++++++++++------------ repository/statistics/statistics.go | 23 +++++++++++++++ 2 files changed, 49 insertions(+), 18 deletions(-) create mode 100644 repository/statistics/statistics.go diff --git a/dal/dal.go b/dal/dal.go index 3adc580..5f9418b 100644 --- a/dal/dal.go +++ b/dal/dal.go @@ -15,6 +15,7 @@ import ( "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/repository/question" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/repository/quiz" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/repository/result" + "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/repository/statistics" "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/repository/workers" "penahub.gitlab.yandexcloud.net/backend/quiz/core.git/clients/auth" "time" @@ -23,15 +24,16 @@ import ( var errNextDeclined = errors.New("next is declined") type DAL struct { - conn *sql.DB - authClient *auth.AuthClient - queries *sqlcgen.Queries - AccountRepo *account.AccountRepository - AnswerRepo *answer.AnswerRepository - QuestionRepo *question.QuestionRepository - QuizRepo *quiz.QuizRepository - ResultRepo *result.ResultRepository - WorkerRepo *workers.WorkerRepository + conn *sql.DB + authClient *auth.AuthClient + queries *sqlcgen.Queries + AccountRepo *account.AccountRepository + AnswerRepo *answer.AnswerRepository + QuestionRepo *question.QuestionRepository + QuizRepo *quiz.QuizRepository + ResultRepo *result.ResultRepository + WorkerRepo *workers.WorkerRepository + StatisticsRepo *statistics.StatisticsRepository } func New(ctx context.Context, cred string, authClient *auth.AuthClient) (*DAL, error) { @@ -79,16 +81,22 @@ func New(ctx context.Context, cred string, authClient *auth.AuthClient) (*DAL, e Queries: queries, }) + statisticsRepo := statistics.NewStatisticsRepo(statistics.Deps{ + Queries: queries, + Pool: pool, + }) + return &DAL{ - conn: pool, - authClient: authClient, - queries: queries, - AccountRepo: accountRepo, - AnswerRepo: answerRepo, - QuestionRepo: questionRepo, - QuizRepo: quizRepo, - ResultRepo: resultRepo, - WorkerRepo: workerRepo, + conn: pool, + authClient: authClient, + queries: queries, + AccountRepo: accountRepo, + AnswerRepo: answerRepo, + QuestionRepo: questionRepo, + QuizRepo: quizRepo, + ResultRepo: resultRepo, + WorkerRepo: workerRepo, + StatisticsRepo: statisticsRepo, }, nil } diff --git a/repository/statistics/statistics.go b/repository/statistics/statistics.go new file mode 100644 index 0000000..a32a446 --- /dev/null +++ b/repository/statistics/statistics.go @@ -0,0 +1,23 @@ +package statistics + +import ( + "database/sql" + "penahub.gitlab.yandexcloud.net/backend/quiz/common.git/dal/sqlcgen" +) + +type Deps struct { + Queries *sqlcgen.Queries + Pool *sql.DB +} + +type StatisticsRepository struct { + queries *sqlcgen.Queries + pool *sql.DB +} + +func NewStatisticsRepo(deps Deps) *StatisticsRepository { + return &StatisticsRepository{ + queries: deps.Queries, + pool: deps.Pool, + } +}