// Code generated by sqlc. DO NOT EDIT. // source: user_accounts.sql package db import ( "context" "database/sql" "time" "github.com/google/uuid" ) const createConfirmToken = `-- name: CreateConfirmToken :one INSERT INTO user_account_confirm_token (email) VALUES ($1) RETURNING confirm_token_id, email ` func (q *Queries) CreateConfirmToken(ctx context.Context, email string) (UserAccountConfirmToken, error) { row := q.db.QueryRowContext(ctx, createConfirmToken, email) var i UserAccountConfirmToken err := row.Scan(&i.ConfirmTokenID, &i.Email) return i, err } const createInvitedProjectMember = `-- name: CreateInvitedProjectMember :one INSERT INTO project_member_invited (project_id, user_account_invited_id) VALUES ($1, $2) RETURNING project_member_invited_id, project_id, user_account_invited_id ` type CreateInvitedProjectMemberParams struct { ProjectID uuid.UUID `json:"project_id"` UserAccountInvitedID uuid.UUID `json:"user_account_invited_id"` } func (q *Queries) CreateInvitedProjectMember(ctx context.Context, arg CreateInvitedProjectMemberParams) (ProjectMemberInvited, error) { row := q.db.QueryRowContext(ctx, createInvitedProjectMember, arg.ProjectID, arg.UserAccountInvitedID) var i ProjectMemberInvited err := row.Scan(&i.ProjectMemberInvitedID, &i.ProjectID, &i.UserAccountInvitedID) return i, err } const createInvitedUser = `-- name: CreateInvitedUser :one INSERT INTO user_account_invited (email) VALUES ($1) RETURNING user_account_invited_id, email, invited_on, has_joined ` func (q *Queries) CreateInvitedUser(ctx context.Context, email string) (UserAccountInvited, error) { row := q.db.QueryRowContext(ctx, createInvitedUser, email) var i UserAccountInvited err := row.Scan( &i.UserAccountInvitedID, &i.Email, &i.InvitedOn, &i.HasJoined, ) return i, err } const createUserAccount = `-- name: CreateUserAccount :one INSERT INTO user_account(full_name, initials, email, username, created_at, password_hash, role_code, active) VALUES ($1, $2, $3, $4, $5, $6, $7, $8) RETURNING user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active ` type CreateUserAccountParams struct { FullName string `json:"full_name"` Initials string `json:"initials"` Email string `json:"email"` Username string `json:"username"` CreatedAt time.Time `json:"created_at"` PasswordHash string `json:"password_hash"` RoleCode string `json:"role_code"` Active bool `json:"active"` } func (q *Queries) CreateUserAccount(ctx context.Context, arg CreateUserAccountParams) (UserAccount, error) { row := q.db.QueryRowContext(ctx, createUserAccount, arg.FullName, arg.Initials, arg.Email, arg.Username, arg.CreatedAt, arg.PasswordHash, arg.RoleCode, arg.Active, ) var i UserAccount err := row.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ) return i, err } const deleteConfirmTokenForEmail = `-- name: DeleteConfirmTokenForEmail :exec DELETE FROM user_account_confirm_token WHERE email = $1 ` func (q *Queries) DeleteConfirmTokenForEmail(ctx context.Context, email string) error { _, err := q.db.ExecContext(ctx, deleteConfirmTokenForEmail, email) return err } const deleteInvitedUserAccount = `-- name: DeleteInvitedUserAccount :one DELETE FROM user_account_invited WHERE user_account_invited_id = $1 RETURNING user_account_invited_id, email, invited_on, has_joined ` func (q *Queries) DeleteInvitedUserAccount(ctx context.Context, userAccountInvitedID uuid.UUID) (UserAccountInvited, error) { row := q.db.QueryRowContext(ctx, deleteInvitedUserAccount, userAccountInvitedID) var i UserAccountInvited err := row.Scan( &i.UserAccountInvitedID, &i.Email, &i.InvitedOn, &i.HasJoined, ) return i, err } const deleteProjectMemberInvitedForEmail = `-- name: DeleteProjectMemberInvitedForEmail :exec DELETE FROM project_member_invited WHERE project_member_invited_id IN ( SELECT pmi.project_member_invited_id FROM user_account_invited AS uai INNER JOIN project_member_invited AS pmi ON pmi.user_account_invited_id = uai.user_account_invited_id WHERE uai.email = $1 ) ` func (q *Queries) DeleteProjectMemberInvitedForEmail(ctx context.Context, email string) error { _, err := q.db.ExecContext(ctx, deleteProjectMemberInvitedForEmail, email) return err } const deleteUserAccountByID = `-- name: DeleteUserAccountByID :exec DELETE FROM user_account WHERE user_id = $1 ` func (q *Queries) DeleteUserAccountByID(ctx context.Context, userID uuid.UUID) error { _, err := q.db.ExecContext(ctx, deleteUserAccountByID, userID) return err } const deleteUserAccountInvitedForEmail = `-- name: DeleteUserAccountInvitedForEmail :exec DELETE FROM user_account_invited WHERE email = $1 ` func (q *Queries) DeleteUserAccountInvitedForEmail(ctx context.Context, email string) error { _, err := q.db.ExecContext(ctx, deleteUserAccountInvitedForEmail, email) return err } const getAllUserAccounts = `-- name: GetAllUserAccounts :many SELECT user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active FROM user_account WHERE username != 'system' ` func (q *Queries) GetAllUserAccounts(ctx context.Context) ([]UserAccount, error) { rows, err := q.db.QueryContext(ctx, getAllUserAccounts) if err != nil { return nil, err } defer rows.Close() var items []UserAccount for rows.Next() { var i UserAccount if err := rows.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ); 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 getConfirmTokenByEmail = `-- name: GetConfirmTokenByEmail :one SELECT confirm_token_id, email FROM user_account_confirm_token WHERE email = $1 ` func (q *Queries) GetConfirmTokenByEmail(ctx context.Context, email string) (UserAccountConfirmToken, error) { row := q.db.QueryRowContext(ctx, getConfirmTokenByEmail, email) var i UserAccountConfirmToken err := row.Scan(&i.ConfirmTokenID, &i.Email) return i, err } const getConfirmTokenByID = `-- name: GetConfirmTokenByID :one SELECT confirm_token_id, email FROM user_account_confirm_token WHERE confirm_token_id = $1 ` func (q *Queries) GetConfirmTokenByID(ctx context.Context, confirmTokenID uuid.UUID) (UserAccountConfirmToken, error) { row := q.db.QueryRowContext(ctx, getConfirmTokenByID, confirmTokenID) var i UserAccountConfirmToken err := row.Scan(&i.ConfirmTokenID, &i.Email) return i, err } const getInvitedUserAccounts = `-- name: GetInvitedUserAccounts :many SELECT user_account_invited_id, email, invited_on, has_joined FROM user_account_invited ` func (q *Queries) GetInvitedUserAccounts(ctx context.Context) ([]UserAccountInvited, error) { rows, err := q.db.QueryContext(ctx, getInvitedUserAccounts) if err != nil { return nil, err } defer rows.Close() var items []UserAccountInvited for rows.Next() { var i UserAccountInvited if err := rows.Scan( &i.UserAccountInvitedID, &i.Email, &i.InvitedOn, &i.HasJoined, ); 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 getInvitedUserByEmail = `-- name: GetInvitedUserByEmail :one SELECT user_account_invited_id, email, invited_on, has_joined FROM user_account_invited WHERE email = $1 ` func (q *Queries) GetInvitedUserByEmail(ctx context.Context, email string) (UserAccountInvited, error) { row := q.db.QueryRowContext(ctx, getInvitedUserByEmail, email) var i UserAccountInvited err := row.Scan( &i.UserAccountInvitedID, &i.Email, &i.InvitedOn, &i.HasJoined, ) return i, err } const getMemberData = `-- name: GetMemberData :many SELECT user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active FROM user_account WHERE username != 'system' AND user_id NOT IN (SELECT user_id FROM project_member WHERE project_id = $1) ` func (q *Queries) GetMemberData(ctx context.Context, projectID uuid.UUID) ([]UserAccount, error) { rows, err := q.db.QueryContext(ctx, getMemberData, projectID) if err != nil { return nil, err } defer rows.Close() var items []UserAccount for rows.Next() { var i UserAccount if err := rows.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ); 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 getProjectsForInvitedMember = `-- name: GetProjectsForInvitedMember :many SELECT project_id FROM user_account_invited AS uai INNER JOIN project_member_invited AS pmi ON pmi.user_account_invited_id = uai.user_account_invited_id WHERE uai.email = $1 ` func (q *Queries) GetProjectsForInvitedMember(ctx context.Context, email string) ([]uuid.UUID, error) { rows, err := q.db.QueryContext(ctx, getProjectsForInvitedMember, email) if err != nil { return nil, err } defer rows.Close() var items []uuid.UUID for rows.Next() { var project_id uuid.UUID if err := rows.Scan(&project_id); err != nil { return nil, err } items = append(items, project_id) } if err := rows.Close(); err != nil { return nil, err } if err := rows.Err(); err != nil { return nil, err } return items, nil } const getRoleForUserID = `-- name: GetRoleForUserID :one SELECT username, role.code, role.name FROM user_account INNER JOIN role ON role.code = user_account.role_code WHERE user_id = $1 ` type GetRoleForUserIDRow struct { Username string `json:"username"` Code string `json:"code"` Name string `json:"name"` } func (q *Queries) GetRoleForUserID(ctx context.Context, userID uuid.UUID) (GetRoleForUserIDRow, error) { row := q.db.QueryRowContext(ctx, getRoleForUserID, userID) var i GetRoleForUserIDRow err := row.Scan(&i.Username, &i.Code, &i.Name) return i, err } const getUserAccountByEmail = `-- name: GetUserAccountByEmail :one SELECT user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active FROM user_account WHERE email = $1 ` func (q *Queries) GetUserAccountByEmail(ctx context.Context, email string) (UserAccount, error) { row := q.db.QueryRowContext(ctx, getUserAccountByEmail, email) var i UserAccount err := row.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ) return i, err } const getUserAccountByID = `-- name: GetUserAccountByID :one SELECT user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active FROM user_account WHERE user_id = $1 ` func (q *Queries) GetUserAccountByID(ctx context.Context, userID uuid.UUID) (UserAccount, error) { row := q.db.QueryRowContext(ctx, getUserAccountByID, userID) var i UserAccount err := row.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ) return i, err } const getUserAccountByUsername = `-- name: GetUserAccountByUsername :one SELECT user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active FROM user_account WHERE username = $1 ` func (q *Queries) GetUserAccountByUsername(ctx context.Context, username string) (UserAccount, error) { row := q.db.QueryRowContext(ctx, getUserAccountByUsername, username) var i UserAccount err := row.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ) return i, err } const hasActiveUser = `-- name: HasActiveUser :one SELECT EXISTS(SELECT 1 FROM user_account WHERE username != 'system' AND active = true) ` func (q *Queries) HasActiveUser(ctx context.Context) (bool, error) { row := q.db.QueryRowContext(ctx, hasActiveUser) var exists bool err := row.Scan(&exists) return exists, err } const hasAnyUser = `-- name: HasAnyUser :one SELECT EXISTS(SELECT 1 FROM user_account WHERE username != 'system') ` func (q *Queries) HasAnyUser(ctx context.Context) (bool, error) { row := q.db.QueryRowContext(ctx, hasAnyUser) var exists bool err := row.Scan(&exists) return exists, err } const setFirstUserActive = `-- name: SetFirstUserActive :one UPDATE user_account SET active = true WHERE user_id = ( SELECT user_id from user_account WHERE active = false LIMIT 1 ) RETURNING user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active ` func (q *Queries) SetFirstUserActive(ctx context.Context) (UserAccount, error) { row := q.db.QueryRowContext(ctx, setFirstUserActive) var i UserAccount err := row.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ) return i, err } const setUserActiveByEmail = `-- name: SetUserActiveByEmail :one UPDATE user_account SET active = true WHERE email = $1 RETURNING user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active ` func (q *Queries) SetUserActiveByEmail(ctx context.Context, email string) (UserAccount, error) { row := q.db.QueryRowContext(ctx, setUserActiveByEmail, email) var i UserAccount err := row.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ) return i, err } const setUserPassword = `-- name: SetUserPassword :one UPDATE user_account SET password_hash = $2 WHERE user_id = $1 RETURNING user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active ` type SetUserPasswordParams struct { UserID uuid.UUID `json:"user_id"` PasswordHash string `json:"password_hash"` } func (q *Queries) SetUserPassword(ctx context.Context, arg SetUserPasswordParams) (UserAccount, error) { row := q.db.QueryRowContext(ctx, setUserPassword, arg.UserID, arg.PasswordHash) var i UserAccount err := row.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ) return i, err } const updateUserAccountInfo = `-- name: UpdateUserAccountInfo :one UPDATE user_account SET bio = $2, full_name = $3, initials = $4, email = $5 WHERE user_id = $1 RETURNING user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active ` type UpdateUserAccountInfoParams struct { UserID uuid.UUID `json:"user_id"` Bio string `json:"bio"` FullName string `json:"full_name"` Initials string `json:"initials"` Email string `json:"email"` } func (q *Queries) UpdateUserAccountInfo(ctx context.Context, arg UpdateUserAccountInfoParams) (UserAccount, error) { row := q.db.QueryRowContext(ctx, updateUserAccountInfo, arg.UserID, arg.Bio, arg.FullName, arg.Initials, arg.Email, ) var i UserAccount err := row.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ) return i, err } const updateUserAccountProfileAvatarURL = `-- name: UpdateUserAccountProfileAvatarURL :one UPDATE user_account SET profile_avatar_url = $2 WHERE user_id = $1 RETURNING user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active ` type UpdateUserAccountProfileAvatarURLParams struct { UserID uuid.UUID `json:"user_id"` ProfileAvatarUrl sql.NullString `json:"profile_avatar_url"` } func (q *Queries) UpdateUserAccountProfileAvatarURL(ctx context.Context, arg UpdateUserAccountProfileAvatarURLParams) (UserAccount, error) { row := q.db.QueryRowContext(ctx, updateUserAccountProfileAvatarURL, arg.UserID, arg.ProfileAvatarUrl) var i UserAccount err := row.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ) return i, err } const updateUserRole = `-- name: UpdateUserRole :one UPDATE user_account SET role_code = $2 WHERE user_id = $1 RETURNING user_id, created_at, email, username, password_hash, profile_bg_color, full_name, initials, profile_avatar_url, role_code, bio, active ` type UpdateUserRoleParams struct { UserID uuid.UUID `json:"user_id"` RoleCode string `json:"role_code"` } func (q *Queries) UpdateUserRole(ctx context.Context, arg UpdateUserRoleParams) (UserAccount, error) { row := q.db.QueryRowContext(ctx, updateUserRole, arg.UserID, arg.RoleCode) var i UserAccount err := row.Scan( &i.UserID, &i.CreatedAt, &i.Email, &i.Username, &i.PasswordHash, &i.ProfileBgColor, &i.FullName, &i.Initials, &i.ProfileAvatarUrl, &i.RoleCode, &i.Bio, &i.Active, ) return i, err }