Files
History_Api/internal/gen/sqlc/roles.sql.go
2026-03-25 22:29:43 +07:00

209 lines
4.3 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: roles.sql
package sqlc
import (
"context"
"github.com/jackc/pgx/v5/pgtype"
)
const addUserRole = `-- name: AddUserRole :exec
INSERT INTO user_roles (user_id, role_id)
SELECT $1, r.id
FROM roles r
WHERE r.name = $2
ON CONFLICT DO NOTHING
`
type AddUserRoleParams struct {
UserID pgtype.UUID `json:"user_id"`
Name string `json:"name"`
}
func (q *Queries) AddUserRole(ctx context.Context, arg AddUserRoleParams) error {
_, err := q.db.Exec(ctx, addUserRole, arg.UserID, arg.Name)
return err
}
const createRole = `-- name: CreateRole :one
INSERT INTO roles (name)
VALUES ($1)
RETURNING id, name, is_deleted, created_at, updated_at
`
func (q *Queries) CreateRole(ctx context.Context, name string) (Role, error) {
row := q.db.QueryRow(ctx, createRole, name)
var i Role
err := row.Scan(
&i.ID,
&i.Name,
&i.IsDeleted,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const deleteRole = `-- name: DeleteRole :exec
UPDATE roles
SET
is_deleted = true,
updated_at = now()
WHERE id = $1
`
func (q *Queries) DeleteRole(ctx context.Context, id pgtype.UUID) error {
_, err := q.db.Exec(ctx, deleteRole, id)
return err
}
const getRoleByID = `-- name: GetRoleByID :one
SELECT id, name, is_deleted, created_at, updated_at FROM roles
WHERE id = $1 AND is_deleted = false
`
func (q *Queries) GetRoleByID(ctx context.Context, id pgtype.UUID) (Role, error) {
row := q.db.QueryRow(ctx, getRoleByID, id)
var i Role
err := row.Scan(
&i.ID,
&i.Name,
&i.IsDeleted,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const getRoleByName = `-- name: GetRoleByName :one
SELECT id, name, is_deleted, created_at, updated_at FROM roles
WHERE name = $1 AND is_deleted = false
`
func (q *Queries) GetRoleByName(ctx context.Context, name string) (Role, error) {
row := q.db.QueryRow(ctx, getRoleByName, name)
var i Role
err := row.Scan(
&i.ID,
&i.Name,
&i.IsDeleted,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const getRoles = `-- name: GetRoles :many
SELECT id, name, is_deleted, created_at, updated_at
FROM roles
WHERE is_deleted = false
`
func (q *Queries) GetRoles(ctx context.Context) ([]Role, error) {
rows, err := q.db.Query(ctx, getRoles)
if err != nil {
return nil, err
}
defer rows.Close()
items := []Role{}
for rows.Next() {
var i Role
if err := rows.Scan(
&i.ID,
&i.Name,
&i.IsDeleted,
&i.CreatedAt,
&i.UpdatedAt,
); 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 pgtype.UUID) error {
_, err := q.db.Exec(ctx, removeAllRolesFromUser, userID)
return err
}
const removeAllUsersFromRole = `-- name: RemoveAllUsersFromRole :exec
DELETE FROM user_roles
WHERE role_id = $1
`
func (q *Queries) RemoveAllUsersFromRole(ctx context.Context, roleID pgtype.UUID) error {
_, err := q.db.Exec(ctx, removeAllUsersFromRole, roleID)
return err
}
const removeUserRole = `-- name: RemoveUserRole :exec
DELETE FROM user_roles ur
USING roles r
WHERE ur.role_id = r.id
AND ur.user_id = $1
AND r.name = $2
`
type RemoveUserRoleParams struct {
UserID pgtype.UUID `json:"user_id"`
Name string `json:"name"`
}
func (q *Queries) RemoveUserRole(ctx context.Context, arg RemoveUserRoleParams) error {
_, err := q.db.Exec(ctx, removeUserRole, arg.UserID, arg.Name)
return err
}
const restoreRole = `-- name: RestoreRole :exec
UPDATE roles
SET
is_deleted = false,
updated_at = now()
WHERE id = $1
`
func (q *Queries) RestoreRole(ctx context.Context, id pgtype.UUID) error {
_, err := q.db.Exec(ctx, restoreRole, id)
return err
}
const updateRole = `-- name: UpdateRole :one
UPDATE roles
SET
name = $1,
updated_at = now()
WHERE id = $2 AND is_deleted = false
RETURNING id, name, is_deleted, created_at, updated_at
`
type UpdateRoleParams struct {
Name string `json:"name"`
ID pgtype.UUID `json:"id"`
}
func (q *Queries) UpdateRole(ctx context.Context, arg UpdateRoleParams) (Role, error) {
row := q.db.QueryRow(ctx, updateRole, arg.Name, arg.ID)
var i Role
err := row.Scan(
&i.ID,
&i.Name,
&i.IsDeleted,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}