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