Introduce operator enrollment partials and handlers that route plan-tier granting and revocation through entitlements.Transition(). Add member-facing tier labels, plan architecture and grant-plan-safety documentation, plus unit and e2e tests. Also add small querier helpers and wire Temporal client hooks for trial expiration scheduling.
159 lines
3.9 KiB
Go
159 lines
3.9 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.29.0
|
|
// source: persons.sql
|
|
|
|
package identity
|
|
|
|
import (
|
|
"context"
|
|
)
|
|
|
|
const createPerson = `-- name: CreatePerson :one
|
|
INSERT INTO identity.persons (user_id, display_name, primary_email, primary_email_verified)
|
|
VALUES ($1, $2, $3, $4)
|
|
RETURNING person_id, user_id, display_name, primary_email, primary_email_verified, status, created_at, updated_at
|
|
`
|
|
|
|
type CreatePersonParams struct {
|
|
UserID string `json:"user_id"`
|
|
DisplayName string `json:"display_name"`
|
|
PrimaryEmail string `json:"primary_email"`
|
|
PrimaryEmailVerified bool `json:"primary_email_verified"`
|
|
}
|
|
|
|
func (q *Queries) CreatePerson(ctx context.Context, arg CreatePersonParams) (Person, error) {
|
|
row := q.db.QueryRowContext(ctx, createPerson,
|
|
arg.UserID,
|
|
arg.DisplayName,
|
|
arg.PrimaryEmail,
|
|
arg.PrimaryEmailVerified,
|
|
)
|
|
var i Person
|
|
err := row.Scan(
|
|
&i.PersonID,
|
|
&i.UserID,
|
|
&i.DisplayName,
|
|
&i.PrimaryEmail,
|
|
&i.PrimaryEmailVerified,
|
|
&i.Status,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getPersonByID = `-- name: GetPersonByID :one
|
|
SELECT person_id, user_id, display_name, primary_email, primary_email_verified, status, created_at, updated_at FROM identity.persons
|
|
WHERE person_id = $1
|
|
`
|
|
|
|
func (q *Queries) GetPersonByID(ctx context.Context, personID string) (Person, error) {
|
|
row := q.db.QueryRowContext(ctx, getPersonByID, personID)
|
|
var i Person
|
|
err := row.Scan(
|
|
&i.PersonID,
|
|
&i.UserID,
|
|
&i.DisplayName,
|
|
&i.PrimaryEmail,
|
|
&i.PrimaryEmailVerified,
|
|
&i.Status,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const getPersonByUserID = `-- name: GetPersonByUserID :one
|
|
SELECT person_id, user_id, display_name, primary_email, primary_email_verified, status, created_at, updated_at FROM identity.persons
|
|
WHERE user_id = $1
|
|
`
|
|
|
|
func (q *Queries) GetPersonByUserID(ctx context.Context, userID string) (Person, error) {
|
|
row := q.db.QueryRowContext(ctx, getPersonByUserID, userID)
|
|
var i Person
|
|
err := row.Scan(
|
|
&i.PersonID,
|
|
&i.UserID,
|
|
&i.DisplayName,
|
|
&i.PrimaryEmail,
|
|
&i.PrimaryEmailVerified,
|
|
&i.Status,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|
|
|
|
const listPersons = `-- name: ListPersons :many
|
|
SELECT person_id, user_id, display_name, primary_email, primary_email_verified, status, created_at, updated_at FROM identity.persons
|
|
ORDER BY display_name
|
|
`
|
|
|
|
func (q *Queries) ListPersons(ctx context.Context) ([]Person, error) {
|
|
rows, err := q.db.QueryContext(ctx, listPersons)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer rows.Close()
|
|
items := []Person{}
|
|
for rows.Next() {
|
|
var i Person
|
|
if err := rows.Scan(
|
|
&i.PersonID,
|
|
&i.UserID,
|
|
&i.DisplayName,
|
|
&i.PrimaryEmail,
|
|
&i.PrimaryEmailVerified,
|
|
&i.Status,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
); 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 updatePerson = `-- name: UpdatePerson :one
|
|
UPDATE identity.persons
|
|
SET display_name = $1, primary_email = $2, primary_email_verified = $3
|
|
WHERE person_id = $4
|
|
RETURNING person_id, user_id, display_name, primary_email, primary_email_verified, status, created_at, updated_at
|
|
`
|
|
|
|
type UpdatePersonParams struct {
|
|
DisplayName string `json:"display_name"`
|
|
PrimaryEmail string `json:"primary_email"`
|
|
PrimaryEmailVerified bool `json:"primary_email_verified"`
|
|
PersonID string `json:"person_id"`
|
|
}
|
|
|
|
func (q *Queries) UpdatePerson(ctx context.Context, arg UpdatePersonParams) (Person, error) {
|
|
row := q.db.QueryRowContext(ctx, updatePerson,
|
|
arg.DisplayName,
|
|
arg.PrimaryEmail,
|
|
arg.PrimaryEmailVerified,
|
|
arg.PersonID,
|
|
)
|
|
var i Person
|
|
err := row.Scan(
|
|
&i.PersonID,
|
|
&i.UserID,
|
|
&i.DisplayName,
|
|
&i.PrimaryEmail,
|
|
&i.PrimaryEmailVerified,
|
|
&i.Status,
|
|
&i.CreatedAt,
|
|
&i.UpdatedAt,
|
|
)
|
|
return i, err
|
|
}
|