Merge branch 'expiredPr' into 'main'
Expired pr See merge request backend/quiz/common!21
This commit is contained in:
commit
cff3083d9c
@ -266,11 +266,19 @@ DELETE FROM privileges WHERE id = $1;
|
|||||||
-- name: GetQuizConfig :one
|
-- name: GetQuizConfig :one
|
||||||
SELECT config, accountid FROM quiz WHERE id = $1 AND deleted = false;
|
SELECT config, accountid FROM quiz WHERE id = $1 AND deleted = false;
|
||||||
|
|
||||||
-- name: GetExpiredPrivilege :many
|
-- name: GetExpiredDayPrivilege :many
|
||||||
SELECT id, privilegeID, privilege_name, amount, created_at
|
SELECT p.id, p.privilegeID, p.privilege_name, p.amount, p.created_at, a.user_id
|
||||||
FROM privileges
|
FROM privileges p
|
||||||
WHERE created_at + amount * interval '1 day' < NOW()
|
JOIN account a ON p.account_id = a.id
|
||||||
AND privilegeid = $1;
|
WHERE p.created_at + p.amount * interval '1 day' < NOW()
|
||||||
|
AND p.privilegeID = $1;
|
||||||
|
|
||||||
|
-- name: GetExpiredCountPrivilege :many
|
||||||
|
SELECT p.id, p.privilegeID, p.privilege_name, p.amount, p.created_at, a.user_id
|
||||||
|
FROM privileges p
|
||||||
|
JOIN account a ON p.account_id = a.id
|
||||||
|
WHERE p.amount = 0
|
||||||
|
AND p.privilegeID = $1;
|
||||||
|
|
||||||
-- name: CheckAndAddDefault :exec
|
-- name: CheckAndAddDefault :exec
|
||||||
UPDATE privileges
|
UPDATE privileges
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.25.0
|
// sqlc v1.26.0
|
||||||
|
|
||||||
package sqlcgen
|
package sqlcgen
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.25.0
|
// sqlc v1.26.0
|
||||||
|
|
||||||
package sqlcgen
|
package sqlcgen
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.25.0
|
// sqlc v1.26.0
|
||||||
// source: queries.sql
|
// source: queries.sql
|
||||||
|
|
||||||
package sqlcgen
|
package sqlcgen
|
||||||
@ -1477,36 +1477,86 @@ func (q *Queries) GetCurrentAccount(ctx context.Context, accountid string) (User
|
|||||||
return i, err
|
return i, err
|
||||||
}
|
}
|
||||||
|
|
||||||
const getExpiredPrivilege = `-- name: GetExpiredPrivilege :many
|
const getExpiredCountPrivilege = `-- name: GetExpiredCountPrivilege :many
|
||||||
SELECT id, privilegeID, privilege_name, amount, created_at
|
SELECT p.id, p.privilegeID, p.privilege_name, p.amount, p.created_at, a.user_id
|
||||||
FROM privileges
|
FROM privileges p
|
||||||
WHERE created_at + amount * interval '1 day' < NOW()
|
JOIN account a ON p.account_id = a.id
|
||||||
AND privilegeid = $1
|
WHERE p.amount = 0
|
||||||
|
AND p.privilegeID = $1
|
||||||
`
|
`
|
||||||
|
|
||||||
type GetExpiredPrivilegeRow struct {
|
type GetExpiredCountPrivilegeRow struct {
|
||||||
ID int32 `db:"id" json:"id"`
|
ID int32 `db:"id" json:"id"`
|
||||||
Privilegeid sql.NullString `db:"privilegeid" json:"privilegeid"`
|
Privilegeid sql.NullString `db:"privilegeid" json:"privilegeid"`
|
||||||
PrivilegeName sql.NullString `db:"privilege_name" json:"privilege_name"`
|
PrivilegeName sql.NullString `db:"privilege_name" json:"privilege_name"`
|
||||||
Amount sql.NullInt32 `db:"amount" json:"amount"`
|
Amount sql.NullInt32 `db:"amount" json:"amount"`
|
||||||
CreatedAt sql.NullTime `db:"created_at" json:"created_at"`
|
CreatedAt sql.NullTime `db:"created_at" json:"created_at"`
|
||||||
|
UserID sql.NullString `db:"user_id" json:"user_id"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (q *Queries) GetExpiredPrivilege(ctx context.Context, privilegeid sql.NullString) ([]GetExpiredPrivilegeRow, error) {
|
func (q *Queries) GetExpiredCountPrivilege(ctx context.Context, privilegeid sql.NullString) ([]GetExpiredCountPrivilegeRow, error) {
|
||||||
rows, err := q.db.QueryContext(ctx, getExpiredPrivilege, privilegeid)
|
rows, err := q.db.QueryContext(ctx, getExpiredCountPrivilege, privilegeid)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
defer rows.Close()
|
defer rows.Close()
|
||||||
var items []GetExpiredPrivilegeRow
|
var items []GetExpiredCountPrivilegeRow
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
var i GetExpiredPrivilegeRow
|
var i GetExpiredCountPrivilegeRow
|
||||||
if err := rows.Scan(
|
if err := rows.Scan(
|
||||||
&i.ID,
|
&i.ID,
|
||||||
&i.Privilegeid,
|
&i.Privilegeid,
|
||||||
&i.PrivilegeName,
|
&i.PrivilegeName,
|
||||||
&i.Amount,
|
&i.Amount,
|
||||||
&i.CreatedAt,
|
&i.CreatedAt,
|
||||||
|
&i.UserID,
|
||||||
|
); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
items = append(items, i)
|
||||||
|
}
|
||||||
|
if err := rows.Close(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if err := rows.Err(); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return items, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
const getExpiredDayPrivilege = `-- name: GetExpiredDayPrivilege :many
|
||||||
|
SELECT p.id, p.privilegeID, p.privilege_name, p.amount, p.created_at, a.user_id
|
||||||
|
FROM privileges p
|
||||||
|
JOIN account a ON p.account_id = a.id
|
||||||
|
WHERE p.created_at + p.amount * interval '1 day' < NOW()
|
||||||
|
AND p.privilegeID = $1
|
||||||
|
`
|
||||||
|
|
||||||
|
type GetExpiredDayPrivilegeRow struct {
|
||||||
|
ID int32 `db:"id" json:"id"`
|
||||||
|
Privilegeid sql.NullString `db:"privilegeid" json:"privilegeid"`
|
||||||
|
PrivilegeName sql.NullString `db:"privilege_name" json:"privilege_name"`
|
||||||
|
Amount sql.NullInt32 `db:"amount" json:"amount"`
|
||||||
|
CreatedAt sql.NullTime `db:"created_at" json:"created_at"`
|
||||||
|
UserID sql.NullString `db:"user_id" json:"user_id"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (q *Queries) GetExpiredDayPrivilege(ctx context.Context, privilegeid sql.NullString) ([]GetExpiredDayPrivilegeRow, error) {
|
||||||
|
rows, err := q.db.QueryContext(ctx, getExpiredDayPrivilege, privilegeid)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
defer rows.Close()
|
||||||
|
var items []GetExpiredDayPrivilegeRow
|
||||||
|
for rows.Next() {
|
||||||
|
var i GetExpiredDayPrivilegeRow
|
||||||
|
if err := rows.Scan(
|
||||||
|
&i.ID,
|
||||||
|
&i.Privilegeid,
|
||||||
|
&i.PrivilegeName,
|
||||||
|
&i.Amount,
|
||||||
|
&i.CreatedAt,
|
||||||
|
&i.UserID,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -266,6 +266,11 @@ type ShortPrivilege struct {
|
|||||||
CreatedAt time.Time `json:"created_at"`
|
CreatedAt time.Time `json:"created_at"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type ExpiredPrivileges struct {
|
||||||
|
UserID string
|
||||||
|
Privilege ShortPrivilege
|
||||||
|
}
|
||||||
|
|
||||||
type Account struct {
|
type Account struct {
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
UserID string `json:"user_id"`
|
UserID string `json:"user_id"`
|
||||||
|
@ -11,19 +11,19 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type Deps struct {
|
type Deps struct {
|
||||||
Queries *sqlcgen.Queries
|
Queries *sqlcgen.Queries
|
||||||
Pool *sql.DB
|
Pool *sql.DB
|
||||||
}
|
}
|
||||||
|
|
||||||
type AccountRepository struct {
|
type AccountRepository struct {
|
||||||
queries *sqlcgen.Queries
|
queries *sqlcgen.Queries
|
||||||
pool *sql.DB
|
pool *sql.DB
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewAccountRepository(deps Deps) *AccountRepository {
|
func NewAccountRepository(deps Deps) *AccountRepository {
|
||||||
return &AccountRepository{
|
return &AccountRepository{
|
||||||
queries: deps.Queries,
|
queries: deps.Queries,
|
||||||
pool: deps.Pool,
|
pool: deps.Pool,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -206,13 +206,13 @@ func (r *AccountRepository) InsertPrivilege(ctx context.Context, privilege *mode
|
|||||||
}
|
}
|
||||||
|
|
||||||
// test +
|
// test +
|
||||||
func (r *AccountRepository) GetExpired(ctx context.Context, privilegeID string) ([]model.ShortPrivilege, error) {
|
func (r *AccountRepository) GetExpired(ctx context.Context, privilegeID string) ([]model.ExpiredPrivileges, error) {
|
||||||
rows, err := r.queries.GetExpiredPrivilege(ctx, sql.NullString{String: privilegeID, Valid: privilegeID != ""})
|
rows, err := r.queries.GetExpiredDayPrivilege(ctx, sql.NullString{String: privilegeID, Valid: privilegeID != ""})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var expiredRecords []model.ShortPrivilege
|
var expiredRecords []model.ExpiredPrivileges
|
||||||
|
|
||||||
for _, row := range rows {
|
for _, row := range rows {
|
||||||
privilege := model.ShortPrivilege{
|
privilege := model.ShortPrivilege{
|
||||||
@ -222,7 +222,36 @@ func (r *AccountRepository) GetExpired(ctx context.Context, privilegeID string)
|
|||||||
Amount: uint64(row.Amount.Int32),
|
Amount: uint64(row.Amount.Int32),
|
||||||
CreatedAt: row.CreatedAt.Time,
|
CreatedAt: row.CreatedAt.Time,
|
||||||
}
|
}
|
||||||
expiredRecords = append(expiredRecords, privilege)
|
expiredRecords = append(expiredRecords, model.ExpiredPrivileges{
|
||||||
|
UserID: row.UserID.String,
|
||||||
|
Privilege: privilege,
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return expiredRecords, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (r *AccountRepository) GetExpiredCount(ctx context.Context, privilegeID string) ([]model.ExpiredPrivileges, error) {
|
||||||
|
rows, err := r.queries.GetExpiredCountPrivilege(ctx, sql.NullString{String: privilegeID, Valid: privilegeID != ""})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var expiredRecords []model.ExpiredPrivileges
|
||||||
|
|
||||||
|
for _, row := range rows {
|
||||||
|
privilege := model.ShortPrivilege{
|
||||||
|
ID: fmt.Sprintf("%d", row.ID),
|
||||||
|
PrivilegeID: row.Privilegeid.String,
|
||||||
|
PrivilegeName: row.PrivilegeName.String,
|
||||||
|
Amount: uint64(row.Amount.Int32),
|
||||||
|
CreatedAt: row.CreatedAt.Time,
|
||||||
|
}
|
||||||
|
expiredRecords = append(expiredRecords, model.ExpiredPrivileges{
|
||||||
|
UserID: row.UserID.String,
|
||||||
|
Privilege: privilege,
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user