Base Project
This commit is contained in:
173
sqlc_gen/user_roles.sql.go
Normal file
173
sqlc_gen/user_roles.sql.go
Normal file
@@ -0,0 +1,173 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.30.0
|
||||
// source: user_roles.sql
|
||||
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/jackc/pgx/v5/pgtype"
|
||||
)
|
||||
|
||||
const assignRoleToUser = `-- name: AssignRoleToUser :one
|
||||
INSERT INTO user_roles (user_id, role_id)
|
||||
VALUES (
|
||||
$1,
|
||||
$2)
|
||||
RETURNING user_id, role_id, assigned_at
|
||||
`
|
||||
|
||||
type AssignRoleToUserParams struct {
|
||||
UserID uuid.UUID `db:"user_id" json:"userId"`
|
||||
RoleID uuid.UUID `db:"role_id" json:"roleId"`
|
||||
}
|
||||
|
||||
func (q *Queries) AssignRoleToUser(ctx context.Context, arg AssignRoleToUserParams) (UserRole, error) {
|
||||
row := q.db.QueryRow(ctx, assignRoleToUser, arg.UserID, arg.RoleID)
|
||||
var i UserRole
|
||||
err := row.Scan(&i.UserID, &i.RoleID, &i.AssignedAt)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const countUsersByRoleID = `-- name: CountUsersByRoleID :one
|
||||
SELECT COUNT(*) FROM user_roles
|
||||
WHERE role_id = $1
|
||||
`
|
||||
|
||||
func (q *Queries) CountUsersByRoleID(ctx context.Context, roleID uuid.UUID) (int64, error) {
|
||||
row := q.db.QueryRow(ctx, countUsersByRoleID, roleID)
|
||||
var count int64
|
||||
err := row.Scan(&count)
|
||||
return count, err
|
||||
}
|
||||
|
||||
const getUserRole = `-- name: GetUserRole :one
|
||||
SELECT user_id, role_id, assigned_at FROM user_roles
|
||||
WHERE user_id = $1 AND role_id = $2
|
||||
`
|
||||
|
||||
type GetUserRoleParams struct {
|
||||
UserID uuid.UUID `db:"user_id" json:"userId"`
|
||||
RoleID uuid.UUID `db:"role_id" json:"roleId"`
|
||||
}
|
||||
|
||||
func (q *Queries) GetUserRole(ctx context.Context, arg GetUserRoleParams) (UserRole, error) {
|
||||
row := q.db.QueryRow(ctx, getUserRole, arg.UserID, arg.RoleID)
|
||||
var i UserRole
|
||||
err := row.Scan(&i.UserID, &i.RoleID, &i.AssignedAt)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getUserRolesByRoleID = `-- name: GetUserRolesByRoleID :many
|
||||
SELECT ur.user_id, ur.role_id, ur.assigned_at, u.username, u.email, u.full_name
|
||||
FROM user_roles ur
|
||||
JOIN users u ON u.id = ur.user_id
|
||||
WHERE ur.role_id = $1
|
||||
ORDER BY ur.assigned_at DESC
|
||||
`
|
||||
|
||||
type GetUserRolesByRoleIDRow struct {
|
||||
UserID uuid.UUID `db:"user_id" json:"userId"`
|
||||
RoleID uuid.UUID `db:"role_id" json:"roleId"`
|
||||
AssignedAt pgtype.Timestamptz `db:"assigned_at" json:"assignedAt"`
|
||||
Username string `db:"username" json:"username"`
|
||||
Email string `db:"email" json:"email"`
|
||||
FullName pgtype.Text `db:"full_name" json:"fullName"`
|
||||
}
|
||||
|
||||
func (q *Queries) GetUserRolesByRoleID(ctx context.Context, roleID uuid.UUID) ([]GetUserRolesByRoleIDRow, error) {
|
||||
rows, err := q.db.Query(ctx, getUserRolesByRoleID, roleID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []GetUserRolesByRoleIDRow
|
||||
for rows.Next() {
|
||||
var i GetUserRolesByRoleIDRow
|
||||
if err := rows.Scan(
|
||||
&i.UserID,
|
||||
&i.RoleID,
|
||||
&i.AssignedAt,
|
||||
&i.Username,
|
||||
&i.Email,
|
||||
&i.FullName,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const getUserRolesByUserID = `-- name: GetUserRolesByUserID :many
|
||||
SELECT ur.user_id, ur.role_id, ur.assigned_at, r.name AS role_name, r.description AS role_description
|
||||
FROM user_roles ur
|
||||
JOIN roles r ON r.id = ur.role_id
|
||||
WHERE ur.user_id = $1
|
||||
ORDER BY ur.assigned_at DESC
|
||||
`
|
||||
|
||||
type GetUserRolesByUserIDRow struct {
|
||||
UserID uuid.UUID `db:"user_id" json:"userId"`
|
||||
RoleID uuid.UUID `db:"role_id" json:"roleId"`
|
||||
AssignedAt pgtype.Timestamptz `db:"assigned_at" json:"assignedAt"`
|
||||
RoleName string `db:"role_name" json:"roleName"`
|
||||
RoleDescription pgtype.Text `db:"role_description" json:"roleDescription"`
|
||||
}
|
||||
|
||||
func (q *Queries) GetUserRolesByUserID(ctx context.Context, userID uuid.UUID) ([]GetUserRolesByUserIDRow, error) {
|
||||
rows, err := q.db.Query(ctx, getUserRolesByUserID, userID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []GetUserRolesByUserIDRow
|
||||
for rows.Next() {
|
||||
var i GetUserRolesByUserIDRow
|
||||
if err := rows.Scan(
|
||||
&i.UserID,
|
||||
&i.RoleID,
|
||||
&i.AssignedAt,
|
||||
&i.RoleName,
|
||||
&i.RoleDescription,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const removeAllRolesFromUser = `-- name: RemoveAllRolesFromUser :exec
|
||||
DELETE FROM user_roles
|
||||
WHERE user_id = $1
|
||||
`
|
||||
|
||||
func (q *Queries) RemoveAllRolesFromUser(ctx context.Context, userID uuid.UUID) error {
|
||||
_, err := q.db.Exec(ctx, removeAllRolesFromUser, userID)
|
||||
return err
|
||||
}
|
||||
|
||||
const removeRoleFromUser = `-- name: RemoveRoleFromUser :exec
|
||||
DELETE FROM user_roles
|
||||
WHERE user_id = $1 AND role_id = $2
|
||||
`
|
||||
|
||||
type RemoveRoleFromUserParams struct {
|
||||
UserID uuid.UUID `db:"user_id" json:"userId"`
|
||||
RoleID uuid.UUID `db:"role_id" json:"roleId"`
|
||||
}
|
||||
|
||||
func (q *Queries) RemoveRoleFromUser(ctx context.Context, arg RemoveRoleFromUserParams) error {
|
||||
_, err := q.db.Exec(ctx, removeRoleFromUser, arg.UserID, arg.RoleID)
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user