ft/adds email_address and phone_number tables ft/adds email and phone endpoints ft/adds account_level query
402 lines
9.3 KiB
Go
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
|
|
}
|