// 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 }