feat: add verification levels

This commit is contained in:
2025-06-07 00:11:02 +02:00
parent e2ae03f2a6
commit cc7f7f40c4
4 changed files with 38 additions and 4 deletions

View File

@ -37,4 +37,6 @@ type User struct {
ProfilePicture *string `json:"profile_picture"` ProfilePicture *string `json:"profile_picture"`
CreatedBy *uuid.UUID `json:"created_by"` CreatedBy *uuid.UUID `json:"created_by"`
EmailVerified bool `json:"email_verified"` EmailVerified bool `json:"email_verified"`
AvatarVerified bool `json:"avatar_verified"`
Verified bool `json:"verified"`
} }

View File

@ -12,7 +12,7 @@ import (
) )
const findAdminUsers = `-- name: FindAdminUsers :many const findAdminUsers = `-- name: FindAdminUsers :many
SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login, phone_number, profile_picture, created_by, email_verified FROM users WHERE created_by = $1 SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login, phone_number, profile_picture, created_by, email_verified, avatar_verified, verified FROM users WHERE created_by = $1
` `
func (q *Queries) FindAdminUsers(ctx context.Context, createdBy *uuid.UUID) ([]User, error) { func (q *Queries) FindAdminUsers(ctx context.Context, createdBy *uuid.UUID) ([]User, error) {
@ -37,6 +37,8 @@ func (q *Queries) FindAdminUsers(ctx context.Context, createdBy *uuid.UUID) ([]U
&i.ProfilePicture, &i.ProfilePicture,
&i.CreatedBy, &i.CreatedBy,
&i.EmailVerified, &i.EmailVerified,
&i.AvatarVerified,
&i.Verified,
); err != nil { ); err != nil {
return nil, err return nil, err
} }
@ -49,7 +51,7 @@ func (q *Queries) FindAdminUsers(ctx context.Context, createdBy *uuid.UUID) ([]U
} }
const findAllUsers = `-- name: FindAllUsers :many const findAllUsers = `-- name: FindAllUsers :many
SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login, phone_number, profile_picture, created_by, email_verified FROM users SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login, phone_number, profile_picture, created_by, email_verified, avatar_verified, verified FROM users
` `
func (q *Queries) FindAllUsers(ctx context.Context) ([]User, error) { func (q *Queries) FindAllUsers(ctx context.Context) ([]User, error) {
@ -74,6 +76,8 @@ func (q *Queries) FindAllUsers(ctx context.Context) ([]User, error) {
&i.ProfilePicture, &i.ProfilePicture,
&i.CreatedBy, &i.CreatedBy,
&i.EmailVerified, &i.EmailVerified,
&i.AvatarVerified,
&i.Verified,
); err != nil { ); err != nil {
return nil, err return nil, err
} }
@ -86,7 +90,7 @@ func (q *Queries) FindAllUsers(ctx context.Context) ([]User, error) {
} }
const findUserEmail = `-- name: FindUserEmail :one const findUserEmail = `-- name: FindUserEmail :one
SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login, phone_number, profile_picture, created_by, email_verified FROM users WHERE email = $1 LIMIT 1 SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login, phone_number, profile_picture, created_by, email_verified, avatar_verified, verified FROM users WHERE email = $1 LIMIT 1
` `
func (q *Queries) FindUserEmail(ctx context.Context, email string) (User, error) { func (q *Queries) FindUserEmail(ctx context.Context, email string) (User, error) {
@ -105,12 +109,14 @@ func (q *Queries) FindUserEmail(ctx context.Context, email string) (User, error)
&i.ProfilePicture, &i.ProfilePicture,
&i.CreatedBy, &i.CreatedBy,
&i.EmailVerified, &i.EmailVerified,
&i.AvatarVerified,
&i.Verified,
) )
return i, err return i, err
} }
const findUserId = `-- name: FindUserId :one const findUserId = `-- name: FindUserId :one
SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login, phone_number, profile_picture, created_by, email_verified FROM users WHERE id = $1 LIMIT 1 SELECT id, email, full_name, password_hash, is_admin, created_at, updated_at, last_login, phone_number, profile_picture, created_by, email_verified, avatar_verified, verified FROM users WHERE id = $1 LIMIT 1
` `
func (q *Queries) FindUserId(ctx context.Context, id uuid.UUID) (User, error) { func (q *Queries) FindUserId(ctx context.Context, id uuid.UUID) (User, error) {
@ -129,6 +135,8 @@ func (q *Queries) FindUserId(ctx context.Context, id uuid.UUID) (User, error) {
&i.ProfilePicture, &i.ProfilePicture,
&i.CreatedBy, &i.CreatedBy,
&i.EmailVerified, &i.EmailVerified,
&i.AvatarVerified,
&i.Verified,
) )
return i, err return i, err
} }

View File

@ -0,0 +1,12 @@
-- +goose Up
-- +goose StatementBegin
ALTER TABLE users
ADD COLUMN avatar_verified BOOLEAN NOT NULL DEFAULT FALSE;
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
ALTER TABLE users
DROP COLUMN avatar_verified;
-- +goose StatementEnd

View File

@ -0,0 +1,12 @@
-- +goose Up
-- +goose StatementBegin
ALTER TABLE users
ADD COLUMN verified BOOLEAN NOT NULL DEFAULT FALSE;
-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
ALTER TABLE users
DROP COLUMN verified;
-- +goose StatementEnd