parent
273b011923
commit
688108fc4f
@ -42,4 +42,8 @@ RETURNING *;
|
|||||||
|
|
||||||
-- name: DeletePerson :exec
|
-- name: DeletePerson :exec
|
||||||
DELETE FROM persons
|
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
|
-- name: DeleteReturn :exec
|
||||||
DELETE FROM returns
|
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
|
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
|
const listPersons = `-- name: ListPersons :many
|
||||||
SELECT id, account_id, firstname, lastname, birthday, city, zip, street, country, creator, created, changer, changed FROM persons
|
SELECT id, account_id, firstname, lastname, birthday, city, zip, street, country, creator, created, changer, changed FROM persons
|
||||||
ORDER BY "lastname", "firstname"
|
ORDER BY "lastname", "firstname"
|
||||||
|
@ -12,6 +12,7 @@ import (
|
|||||||
|
|
||||||
type Querier interface {
|
type Querier interface {
|
||||||
BlockSession(ctx context.Context, id uuid.UUID) error
|
BlockSession(ctx context.Context, id uuid.UUID) error
|
||||||
|
CloneProviders(ctx context.Context, arg CloneProvidersParams) error
|
||||||
CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error)
|
CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error)
|
||||||
CreateDocumentMail(ctx context.Context, arg CreateDocumentMailParams) (Document, error)
|
CreateDocumentMail(ctx context.Context, arg CreateDocumentMailParams) (Document, error)
|
||||||
CreateDocumentUpload(ctx context.Context, arg CreateDocumentUploadParams) (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)
|
GetPerson(ctx context.Context, id int64) (Person, error)
|
||||||
GetProvider(ctx context.Context, id int64) (Provider, error)
|
GetProvider(ctx context.Context, id int64) (Provider, error)
|
||||||
GetReturn(ctx context.Context, id int64) (Return, 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)
|
GetReturnsLog(ctx context.Context, id int64) (ReturnsLog, error)
|
||||||
GetSession(ctx context.Context, id uuid.UUID) (Session, error)
|
GetSession(ctx context.Context, id uuid.UUID) (Session, error)
|
||||||
InvalidateDocument(ctx context.Context, arg InvalidateDocumentParams) (Document, error)
|
InvalidateDocument(ctx context.Context, arg InvalidateDocumentParams) (Document, error)
|
||||||
|
@ -10,6 +10,41 @@ import (
|
|||||||
"database/sql"
|
"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
|
const createReturn = `-- name: CreateReturn :one
|
||||||
INSERT INTO returns (
|
INSERT INTO returns (
|
||||||
"person_id",
|
"person_id",
|
||||||
|
@ -29,7 +29,14 @@ func (store *SQLStore) CreatePersonTx(ctx context.Context, arg CreatePersonTxPar
|
|||||||
var err error
|
var err error
|
||||||
|
|
||||||
result.Person, err = q.CreatePerson(ctx, CreatePersonParams(arg))
|
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
|
return err
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user