Files
PrivateCaptcha/pkg/db/generated/org_users.sql.go
2025-12-06 14:04:04 +01:00

109 lines
2.9 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: org_users.sql
package generated
import (
"context"
)
const getOrganizationUsers = `-- name: GetOrganizationUsers :many
SELECT u.id, u.name, u.email, u.subscription_id, u.created_at, u.updated_at, u.deleted_at, ou.level
FROM backend.organization_users ou
JOIN backend.users u ON ou.user_id = u.id
WHERE ou.org_id = $1 AND u.deleted_at IS NULL
`
type GetOrganizationUsersRow struct {
User User `db:"user" json:"user"`
Level AccessLevel `db:"level" json:"level"`
}
func (q *Queries) GetOrganizationUsers(ctx context.Context, orgID int32) ([]*GetOrganizationUsersRow, error) {
rows, err := q.db.Query(ctx, getOrganizationUsers, orgID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []*GetOrganizationUsersRow
for rows.Next() {
var i GetOrganizationUsersRow
if err := rows.Scan(
&i.User.ID,
&i.User.Name,
&i.User.Email,
&i.User.SubscriptionID,
&i.User.CreatedAt,
&i.User.UpdatedAt,
&i.User.DeletedAt,
&i.Level,
); err != nil {
return nil, err
}
items = append(items, &i)
}
if err := rows.Err(); err != nil {
return nil, err
}
return items, nil
}
const inviteUserToOrg = `-- name: InviteUserToOrg :one
INSERT INTO backend.organization_users (org_id, user_id, level) VALUES ($1, $2, 'invited') RETURNING org_id, user_id, level, created_at, updated_at
`
type InviteUserToOrgParams struct {
OrgID int32 `db:"org_id" json:"org_id"`
UserID int32 `db:"user_id" json:"user_id"`
}
func (q *Queries) InviteUserToOrg(ctx context.Context, arg *InviteUserToOrgParams) (*OrganizationUser, error) {
row := q.db.QueryRow(ctx, inviteUserToOrg, arg.OrgID, arg.UserID)
var i OrganizationUser
err := row.Scan(
&i.OrgID,
&i.UserID,
&i.Level,
&i.CreatedAt,
&i.UpdatedAt,
)
return &i, err
}
const removeUserFromOrg = `-- name: RemoveUserFromOrg :exec
DELETE FROM backend.organization_users WHERE org_id = $1 AND user_id = $2
`
type RemoveUserFromOrgParams struct {
OrgID int32 `db:"org_id" json:"org_id"`
UserID int32 `db:"user_id" json:"user_id"`
}
func (q *Queries) RemoveUserFromOrg(ctx context.Context, arg *RemoveUserFromOrgParams) error {
_, err := q.db.Exec(ctx, removeUserFromOrg, arg.OrgID, arg.UserID)
return err
}
const updateOrgMembershipLevel = `-- name: UpdateOrgMembershipLevel :exec
UPDATE backend.organization_users SET level = $1, updated_at = NOW() WHERE org_id = $2 AND user_id = $3 AND level = $4
`
type UpdateOrgMembershipLevelParams struct {
Level AccessLevel `db:"level" json:"level"`
OrgID int32 `db:"org_id" json:"org_id"`
UserID int32 `db:"user_id" json:"user_id"`
Level_2 AccessLevel `db:"level_2" json:"level_2"`
}
func (q *Queries) UpdateOrgMembershipLevel(ctx context.Context, arg *UpdateOrgMembershipLevelParams) error {
_, err := q.db.Exec(ctx, updateOrgMembershipLevel,
arg.Level,
arg.OrgID,
arg.UserID,
arg.Level_2,
)
return err
}