df/bff/db/sqlc/person.sql.go
itsscb d021f5db51 rf/modifies bff
ft/adds email_address and phone_number tables
ft/adds email and phone endpoints
ft/adds account_level query
2023-11-21 23:32:20 +01:00

402 lines
9.3 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.22.0
// source: person.sql
package db
import (
"context"
"database/sql"
"time"
)
const addEmailAddress = `-- name: AddEmailAddress :one
INSERT INTO email_addresses (
"person_id",
"email"
) VALUES (
$1, $2
) RETURNING id, email, person_id
`
type AddEmailAddressParams struct {
PersonID uint64 `json:"person_id"`
Email string `json:"email"`
}
func (q *Queries) AddEmailAddress(ctx context.Context, arg AddEmailAddressParams) (EmailAddress, error) {
row := q.db.QueryRowContext(ctx, addEmailAddress, arg.PersonID, arg.Email)
var i EmailAddress
err := row.Scan(&i.ID, &i.Email, &i.PersonID)
return i, err
}
const addPhoneNumber = `-- name: AddPhoneNumber :one
INSERT INTO phone_numbers (
"person_id",
"phone"
) VALUES (
$1, $2
) RETURNING id, phone, person_id
`
type AddPhoneNumberParams struct {
PersonID uint64 `json:"person_id"`
Email string `json:"email"`
}
func (q *Queries) AddPhoneNumber(ctx context.Context, arg AddPhoneNumberParams) (PhoneNumber, error) {
row := q.db.QueryRowContext(ctx, addPhoneNumber, arg.PersonID, arg.Email)
var i PhoneNumber
err := row.Scan(&i.ID, &i.Phone, &i.PersonID)
return i, err
}
const createPerson = `-- name: CreatePerson :one
INSERT INTO persons (
"account_id",
"firstname",
"lastname",
"birthday",
"city",
"zip",
"street",
"relationship",
"country",
"creator",
"changer"
) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11
) RETURNING id, account_id, firstname, lastname, birthday, city, zip, street, country, relationship, creator, created, changer, changed
`
type CreatePersonParams struct {
AccountID uint64 `json:"account_id"`
Firstname string `json:"firstname"`
Lastname string `json:"lastname"`
Birthday time.Time `json:"birthday"`
City string `json:"city"`
Zip string `json:"zip"`
Street string `json:"street"`
Relationship sql.NullString `json:"relationship"`
Country string `json:"country"`
Creator string `json:"creator"`
Changer string `json:"changer"`
}
func (q *Queries) CreatePerson(ctx context.Context, arg CreatePersonParams) (Person, error) {
row := q.db.QueryRowContext(ctx, createPerson,
arg.AccountID,
arg.Firstname,
arg.Lastname,
arg.Birthday,
arg.City,
arg.Zip,
arg.Street,
arg.Relationship,
arg.Country,
arg.Creator,
arg.Changer,
)
var i Person
err := row.Scan(
&i.ID,
&i.AccountID,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Relationship,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
)
return i, err
}
const deleteAllEmailAddresses = `-- name: DeleteAllEmailAddresses :exec
DELETE FROM email_addresses
WHERE "person_id" = $1
`
func (q *Queries) DeleteAllEmailAddresses(ctx context.Context, personID uint64) error {
_, err := q.db.ExecContext(ctx, deleteAllEmailAddresses, personID)
return err
}
const deleteAllPhoneNumbers = `-- name: DeleteAllPhoneNumbers :exec
DELETE FROM phone_numbers
WHERE "person_id" = $1
`
func (q *Queries) DeleteAllPhoneNumbers(ctx context.Context, personID uint64) error {
_, err := q.db.ExecContext(ctx, deleteAllPhoneNumbers, personID)
return err
}
const deleteEmailAddress = `-- name: DeleteEmailAddress :exec
DELETE FROM email_addresses
WHERE "id" = $1
`
func (q *Queries) DeleteEmailAddress(ctx context.Context, id uint64) error {
_, err := q.db.ExecContext(ctx, deleteEmailAddress, id)
return err
}
const deletePerson = `-- name: DeletePerson :exec
DELETE FROM persons
WHERE "id" = $1
`
func (q *Queries) DeletePerson(ctx context.Context, id uint64) error {
_, err := q.db.ExecContext(ctx, deletePerson, id)
return err
}
const deletePhoneNumber = `-- name: DeletePhoneNumber :exec
DELETE FROM phone_numbers
WHERE "id" = $1
`
func (q *Queries) DeletePhoneNumber(ctx context.Context, id uint64) error {
_, err := q.db.ExecContext(ctx, deletePhoneNumber, id)
return err
}
const getEmailAddresses = `-- name: GetEmailAddresses :many
SELECT id, email, person_id FROM email_addresses
WHERE "person_id" = $1
`
func (q *Queries) GetEmailAddresses(ctx context.Context, personID uint64) ([]EmailAddress, error) {
rows, err := q.db.QueryContext(ctx, getEmailAddresses, personID)
if err != nil {
return nil, err
}
defer rows.Close()
items := []EmailAddress{}
for rows.Next() {
var i EmailAddress
if err := rows.Scan(&i.ID, &i.Email, &i.PersonID); 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 getPerson = `-- name: GetPerson :one
SELECT id, account_id, firstname, lastname, birthday, city, zip, street, country, relationship, creator, created, changer, changed FROM persons
WHERE "id" = $1 LIMIT 1
`
func (q *Queries) GetPerson(ctx context.Context, id uint64) (Person, error) {
row := q.db.QueryRowContext(ctx, getPerson, id)
var i Person
err := row.Scan(
&i.ID,
&i.AccountID,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Relationship,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
)
return i, err
}
const getPhoneNumbers = `-- name: GetPhoneNumbers :many
SELECT id, phone, person_id FROM phone_numbers
WHERE "person_id" = $1
`
func (q *Queries) GetPhoneNumbers(ctx context.Context, personID uint64) ([]PhoneNumber, error) {
rows, err := q.db.QueryContext(ctx, getPhoneNumbers, personID)
if err != nil {
return nil, err
}
defer rows.Close()
items := []PhoneNumber{}
for rows.Next() {
var i PhoneNumber
if err := rows.Scan(&i.ID, &i.Phone, &i.PersonID); 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 getReturns = `-- name: GetReturns :many
SELECT id, person_id, provider_id, name, description, category, email, status, creator, created, changer, changed FROM returns
WHERE "person_id" = $1
`
func (q *Queries) GetReturns(ctx context.Context, id uint64) ([]Return, error) {
rows, err := q.db.QueryContext(ctx, getReturns, id)
if err != nil {
return nil, err
}
defer rows.Close()
items := []Return{}
for rows.Next() {
var i Return
if err := rows.Scan(
&i.ID,
&i.PersonID,
&i.ProviderID,
&i.Name,
&i.Description,
&i.Category,
&i.Email,
&i.Status,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
); 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 listPersons = `-- name: ListPersons :many
SELECT id, account_id, firstname, lastname, birthday, city, zip, street, country, relationship, creator, created, changer, changed FROM persons
WHERE "account_id" = $1
ORDER BY "lastname", "firstname"
`
func (q *Queries) ListPersons(ctx context.Context, accountID uint64) ([]Person, error) {
rows, err := q.db.QueryContext(ctx, listPersons, accountID)
if err != nil {
return nil, err
}
defer rows.Close()
items := []Person{}
for rows.Next() {
var i Person
if err := rows.Scan(
&i.ID,
&i.AccountID,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Relationship,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
); 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 persons
SET
"firstname" = COALESCE($3, "firstname"),
"lastname" = COALESCE($4, "lastname"),
"birthday" = COALESCE($5, "birthday"),
"city" = COALESCE($6, "city"),
"zip" = COALESCE($7, "zip"),
"street" = COALESCE($8, "street"),
"country" = COALESCE($9, "country"),
"relationship" = COALESCE($10, "relationship"),
"changer" = $2,
"changed" = now()
WHERE "id" = $1
RETURNING id, account_id, firstname, lastname, birthday, city, zip, street, country, relationship, creator, created, changer, changed
`
type UpdatePersonParams struct {
ID uint64 `json:"id"`
Changer string `json:"changer"`
Firstname sql.NullString `json:"firstname"`
Lastname sql.NullString `json:"lastname"`
Birthday sql.NullTime `json:"birthday"`
City sql.NullString `json:"city"`
Zip sql.NullString `json:"zip"`
Street sql.NullString `json:"street"`
Country sql.NullString `json:"country"`
Relationship sql.NullString `json:"relationship"`
}
func (q *Queries) UpdatePerson(ctx context.Context, arg UpdatePersonParams) (Person, error) {
row := q.db.QueryRowContext(ctx, updatePerson,
arg.ID,
arg.Changer,
arg.Firstname,
arg.Lastname,
arg.Birthday,
arg.City,
arg.Zip,
arg.Street,
arg.Country,
arg.Relationship,
)
var i Person
err := row.Scan(
&i.ID,
&i.AccountID,
&i.Firstname,
&i.Lastname,
&i.Birthday,
&i.City,
&i.Zip,
&i.Street,
&i.Country,
&i.Relationship,
&i.Creator,
&i.Created,
&i.Changer,
&i.Changed,
)
return i, err
}