parent
273b011923
commit
688108fc4f
@ -42,4 +42,8 @@ RETURNING *;
|
||||
|
||||
-- name: DeletePerson :exec
|
||||
DELETE FROM persons
|
||||
WHERE "id" = $1;
|
||||
WHERE "id" = $1;
|
||||
|
||||
-- name: GetReturns :many
|
||||
SELECT * FROM returns
|
||||
WHERE "person_id" = sqlc.arg(id);
|
@ -48,4 +48,28 @@ RETURNING *;
|
||||
|
||||
-- name: DeleteReturn :exec
|
||||
DELETE FROM returns
|
||||
WHERE "id" = sqlc.arg(id);
|
||||
WHERE "id" = sqlc.arg(id);
|
||||
|
||||
-- name: CloneProviders :exec
|
||||
INSERT INTO returns (
|
||||
"provider_id",
|
||||
"name",
|
||||
"description",
|
||||
"category",
|
||||
"email",
|
||||
"status",
|
||||
"creator",
|
||||
"changer",
|
||||
"person_id"
|
||||
)
|
||||
SELECT
|
||||
"id",
|
||||
"name",
|
||||
"description",
|
||||
"category",
|
||||
"email",
|
||||
'new',
|
||||
sqlc.arg(creator),
|
||||
sqlc.arg(creator),
|
||||
sqlc.arg(person_id)
|
||||
FROM providers;
|
@ -109,6 +109,47 @@ func (q *Queries) GetPerson(ctx context.Context, id int64) (Person, error) {
|
||||
return i, err
|
||||
}
|
||||
|
||||
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 int64) ([]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, creator, created, changer, changed FROM persons
|
||||
ORDER BY "lastname", "firstname"
|
||||
|
@ -12,6 +12,7 @@ import (
|
||||
|
||||
type Querier interface {
|
||||
BlockSession(ctx context.Context, id uuid.UUID) error
|
||||
CloneProviders(ctx context.Context, arg CloneProvidersParams) error
|
||||
CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error)
|
||||
CreateDocumentMail(ctx context.Context, arg CreateDocumentMailParams) (Document, error)
|
||||
CreateDocumentUpload(ctx context.Context, arg CreateDocumentUploadParams) (Document, error)
|
||||
@ -52,6 +53,7 @@ type Querier interface {
|
||||
GetPerson(ctx context.Context, id int64) (Person, error)
|
||||
GetProvider(ctx context.Context, id int64) (Provider, error)
|
||||
GetReturn(ctx context.Context, id int64) (Return, error)
|
||||
GetReturns(ctx context.Context, id int64) ([]Return, error)
|
||||
GetReturnsLog(ctx context.Context, id int64) (ReturnsLog, error)
|
||||
GetSession(ctx context.Context, id uuid.UUID) (Session, error)
|
||||
InvalidateDocument(ctx context.Context, arg InvalidateDocumentParams) (Document, error)
|
||||
|
@ -10,6 +10,41 @@ import (
|
||||
"database/sql"
|
||||
)
|
||||
|
||||
const cloneProviders = `-- name: CloneProviders :exec
|
||||
INSERT INTO returns (
|
||||
"provider_id",
|
||||
"name",
|
||||
"description",
|
||||
"category",
|
||||
"email",
|
||||
"status",
|
||||
"creator",
|
||||
"changer",
|
||||
"person_id"
|
||||
)
|
||||
SELECT
|
||||
"id",
|
||||
"name",
|
||||
"description",
|
||||
"category",
|
||||
"email",
|
||||
'new',
|
||||
$1,
|
||||
$1,
|
||||
$2
|
||||
FROM providers
|
||||
`
|
||||
|
||||
type CloneProvidersParams struct {
|
||||
Creator string `json:"creator"`
|
||||
PersonID int64 `json:"person_id"`
|
||||
}
|
||||
|
||||
func (q *Queries) CloneProviders(ctx context.Context, arg CloneProvidersParams) error {
|
||||
_, err := q.db.ExecContext(ctx, cloneProviders, arg.Creator, arg.PersonID)
|
||||
return err
|
||||
}
|
||||
|
||||
const createReturn = `-- name: CreateReturn :one
|
||||
INSERT INTO returns (
|
||||
"person_id",
|
||||
|
@ -29,7 +29,14 @@ func (store *SQLStore) CreatePersonTx(ctx context.Context, arg CreatePersonTxPar
|
||||
var err error
|
||||
|
||||
result.Person, err = q.CreatePerson(ctx, CreatePersonParams(arg))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = q.CloneProviders(ctx, CloneProvidersParams{
|
||||
Creator: arg.Creator,
|
||||
PersonID: result.Person.ID,
|
||||
})
|
||||
return err
|
||||
})
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user