add privacy fields of db.account to db calls and endpoints (#38)

This commit is contained in:
itsscb 2023-09-27 00:30:29 +02:00 committed by GitHub
parent a07c91e9b9
commit 34889a5fcf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
27 changed files with 608 additions and 446 deletions

View File

@ -11,6 +11,7 @@ import (
type createAccountRequest struct { type createAccountRequest struct {
Passwordhash string `binding:"required" json:"passwordhash"` Passwordhash string `binding:"required" json:"passwordhash"`
PrivacyAccepted bool `json:"privacy_accepted"`
Firstname string `binding:"required" json:"firstname"` Firstname string `binding:"required" json:"firstname"`
Lastname string `binding:"required" json:"lastname"` Lastname string `binding:"required" json:"lastname"`
Birthday time.Time `binding:"required" json:"birthday"` Birthday time.Time `binding:"required" json:"birthday"`
@ -31,6 +32,10 @@ func (server *Server) createAccount(ctx *gin.Context) {
arg := db.CreateAccountTxParams{ arg := db.CreateAccountTxParams{
Passwordhash: req.Passwordhash, Passwordhash: req.Passwordhash,
PrivacyAccepted: sql.NullBool{
Valid: true,
Bool: req.PrivacyAccepted,
},
Firstname: req.Firstname, Firstname: req.Firstname,
Lastname: req.Lastname, Lastname: req.Lastname,
Birthday: req.Birthday, Birthday: req.Birthday,
@ -46,6 +51,13 @@ func (server *Server) createAccount(ctx *gin.Context) {
}, },
} }
// if req.PrivacyAccepted {
// arg.PrivacyAcceptedDate = sql.NullTime{
// Valid: true,
// Time: time.Now(),
// }
// }
account, err := server.store.CreateAccountTx(ctx, arg) account, err := server.store.CreateAccountTx(ctx, arg)
if err != nil { if err != nil {
ctx.JSON(http.StatusInternalServerError, errorResponse(err)) ctx.JSON(http.StatusInternalServerError, errorResponse(err))
@ -111,6 +123,7 @@ func (server *Server) listAccounts(ctx *gin.Context) {
type updateAccountRequest struct { type updateAccountRequest struct {
ID int64 `binding:"required" json:"ID"` ID int64 `binding:"required" json:"ID"`
Changer string `binding:"required" json:"changer"` Changer string `binding:"required" json:"changer"`
PrivacyAccepted bool `json:"privacy_accepted"`
Passwordhash string `json:"passwordhash"` Passwordhash string `json:"passwordhash"`
Firstname string `json:"firstname"` Firstname string `json:"firstname"`
Lastname string `json:"lastname"` Lastname string `json:"lastname"`
@ -130,6 +143,12 @@ func (server *Server) updateAccount(ctx *gin.Context) {
return return
} }
account, err := server.store.GetAccount(ctx, req.ID)
if err != nil {
ctx.JSON(http.StatusNotFound, errorResponse(err))
return
}
arg := db.UpdateAccountTxParams{ arg := db.UpdateAccountTxParams{
ID: req.ID, ID: req.ID,
Changer: req.Changer, Changer: req.Changer,
@ -173,9 +192,13 @@ func (server *Server) updateAccount(ctx *gin.Context) {
String: req.Phone, String: req.Phone,
Valid: req.Phone != "", Valid: req.Phone != "",
}, },
PrivacyAccepted: sql.NullBool{
Valid: account.PrivacyAccepted.Bool != req.PrivacyAccepted,
Bool: req.PrivacyAccepted,
},
} }
account, err := server.store.UpdateAccountTx(ctx, arg) account, err = server.store.UpdateAccountTx(ctx, arg)
if err != nil { if err != nil {
ctx.JSON(http.StatusInternalServerError, errorResponse(err)) ctx.JSON(http.StatusInternalServerError, errorResponse(err))
return return

View File

@ -19,6 +19,8 @@ import (
"go.uber.org/mock/gomock" "go.uber.org/mock/gomock"
) )
var timestamp = time.Now()
func TestCreateAccountAPI(t *testing.T) { func TestCreateAccountAPI(t *testing.T) {
account := randomAccount() account := randomAccount()
@ -32,6 +34,7 @@ func TestCreateAccountAPI(t *testing.T) {
name: "OK", name: "OK",
body: gin.H{ body: gin.H{
"passwordhash": account.Passwordhash, "passwordhash": account.Passwordhash,
"privacy_accepted": account.PrivacyAccepted.Bool,
"firstname": account.Firstname, "firstname": account.Firstname,
"lastname": account.Lastname, "lastname": account.Lastname,
"birthday": account.Birthday, "birthday": account.Birthday,
@ -46,6 +49,7 @@ func TestCreateAccountAPI(t *testing.T) {
buildStubs: func(store *mockdb.MockStore) { buildStubs: func(store *mockdb.MockStore) {
arg := db.CreateAccountTxParams{ arg := db.CreateAccountTxParams{
Passwordhash: account.Passwordhash, Passwordhash: account.Passwordhash,
PrivacyAccepted: account.PrivacyAccepted,
Firstname: account.Firstname, Firstname: account.Firstname,
Lastname: account.Lastname, Lastname: account.Lastname,
Birthday: account.Birthday, Birthday: account.Birthday,
@ -100,6 +104,8 @@ func TestCreateAccountAPI(t *testing.T) {
name: "InternalServerError", name: "InternalServerError",
body: gin.H{ body: gin.H{
"passwordhash": account.Passwordhash, "passwordhash": account.Passwordhash,
"privacy_accepted": account.PrivacyAccepted.Bool,
"privacy_accepted_date": account.PrivacyAcceptedDate.Time,
"firstname": account.Firstname, "firstname": account.Firstname,
"lastname": account.Lastname, "lastname": account.Lastname,
"birthday": account.Birthday, "birthday": account.Birthday,
@ -269,6 +275,7 @@ func TestUpdateAccountTxAPI(t *testing.T) {
changer := util.RandomName() changer := util.RandomName()
newPassword := util.RandomString(30) newPassword := util.RandomString(30)
newEmail := util.RandomEmail() newEmail := util.RandomEmail()
testCases := []struct { testCases := []struct {
name string name string
body gin.H body gin.H
@ -296,6 +303,10 @@ func TestUpdateAccountTxAPI(t *testing.T) {
Changer: changer, Changer: changer,
} }
store.EXPECT().
GetAccount(gomock.Any(), gomock.Eq(account.ID)).
Times(1)
store.EXPECT(). store.EXPECT().
UpdateAccountTx(gomock.Any(), gomock.Eq(arg)). UpdateAccountTx(gomock.Any(), gomock.Eq(arg)).
Times(1). Times(1).
@ -328,6 +339,10 @@ func TestUpdateAccountTxAPI(t *testing.T) {
Changer: changer, Changer: changer,
} }
store.EXPECT().
GetAccount(gomock.Any(), gomock.Eq(account.ID)).
Times(1)
store.EXPECT(). store.EXPECT().
UpdateAccountTx(gomock.Any(), gomock.Eq(arg)). UpdateAccountTx(gomock.Any(), gomock.Eq(arg)).
Times(1). Times(1).
@ -339,6 +354,39 @@ func TestUpdateAccountTxAPI(t *testing.T) {
}, },
}, },
// { // {
// name: "OK_PrivacyAccepted",
// body: gin.H{
// "id": account.ID,
// "privacy_accepted": true,
// "changer": changer,
// },
// buildStubs: func(store *mockdb.MockStore) {
// accountAccepted := account
// accountAccepted.PrivacyAccepted = sql.NullBool{
// Valid: true,
// Bool: true,
// }
// accountAccepted.PrivacyAcceptedDate = sql.NullTime{
// Valid: true,
// Time: timestamp,
// }
// arg := db.UpdateAccountTxParams{
// ID: account.ID,
// PrivacyAccepted: sql.NullBool{
// Valid: true,
// Bool: true,
// },
// Changer: changer,
// }
// store.EXPECT().
// UpdateAccountTx(gomock.Any(), gomock.Eq(arg)).
// Times(1).
// Return(accountAccepted, nil)
// },
// },
// {
// name: "NoAuthorization", // name: "NoAuthorization",
// body: gin.H{ // body: gin.H{
// "currency": account.Currency, // "currency": account.Currency,
@ -367,20 +415,6 @@ func TestUpdateAccountTxAPI(t *testing.T) {
require.Equal(t, http.StatusBadRequest, recorder.Code) require.Equal(t, http.StatusBadRequest, recorder.Code)
}, },
}, },
/* {
name: "InvalidCurrency",
body: gin.H{
"currency": "invalid",
},
buildStubs: func(store *mockdb.MockStore) {
store.EXPECT().
CreateAccount(gomock.Any(), gomock.Any()).
Times(0)
},
checkResponse: func(recorder *httptest.ResponseRecorder) {
require.Equal(t, http.StatusBadRequest, recorder.Code)
},
}, */
} }
for i := range testCases { for i := range testCases {
@ -540,12 +574,20 @@ func TestListAccountsAPI(t *testing.T) {
} }
func randomAccount() db.Account { func randomAccount() db.Account {
return db.Account{ acc := db.Account{
ID: util.RandomInt(1, 1000), ID: util.RandomInt(1, 1000),
Passwordhash: util.RandomString(250), Passwordhash: util.RandomString(250),
Firstname: util.RandomName(), Firstname: util.RandomName(),
Lastname: util.RandomName(), Lastname: util.RandomName(),
Email: util.RandomEmail(), Email: util.RandomEmail(),
PrivacyAccepted: sql.NullBool{
Valid: true,
Bool: true,
},
PrivacyAcceptedDate: sql.NullTime{
Valid: true,
Time: timestamp,
},
Phone: sql.NullString{ Phone: sql.NullString{
String: util.RandomPhone(), String: util.RandomPhone(),
Valid: true, Valid: true,
@ -560,6 +602,8 @@ func randomAccount() db.Account {
Changed: time.Date(1990, 1, 1, 0, 0, 0, 0, time.UTC), Changed: time.Date(1990, 1, 1, 0, 0, 0, 0, time.UTC),
Birthday: time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC), Birthday: time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC),
} }
return acc
} }
func requireBodyMatchAccount(t *testing.T, body *bytes.Buffer, account db.Account) { func requireBodyMatchAccount(t *testing.T, body *bytes.Buffer, account db.Account) {
@ -569,7 +613,18 @@ func requireBodyMatchAccount(t *testing.T, body *bytes.Buffer, account db.Accoun
var getAccount db.Account var getAccount db.Account
err = json.Unmarshal(data, &getAccount) err = json.Unmarshal(data, &getAccount)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, account, getAccount) require.Equal(t, account.Firstname, getAccount.Firstname)
require.Equal(t, account.Lastname, getAccount.Lastname)
require.Equal(t, account.Passwordhash, getAccount.Passwordhash)
require.Equal(t, account.Email, getAccount.Email)
require.Equal(t, account.Phone, getAccount.Phone)
require.Equal(t, account.City, getAccount.City)
require.Equal(t, account.Street, getAccount.Street)
require.Equal(t, account.Country, getAccount.Country)
require.Equal(t, account.Zip, getAccount.Zip)
require.Equal(t, account.Creator, getAccount.Creator)
require.Equal(t, account.PrivacyAccepted, getAccount.PrivacyAccepted)
// require.WithinDuration(t, account.PrivacyAcceptedDate.Time, getAccount.PrivacyAcceptedDate.Time, time.Minute)
} }
func requireBodyMatchAccounts(t *testing.T, body *bytes.Buffer, accounts []db.Account) { func requireBodyMatchAccounts(t *testing.T, body *bytes.Buffer, accounts []db.Account) {
@ -579,5 +634,23 @@ func requireBodyMatchAccounts(t *testing.T, body *bytes.Buffer, accounts []db.Ac
var gotAccounts []db.Account var gotAccounts []db.Account
err = json.Unmarshal(data, &gotAccounts) err = json.Unmarshal(data, &gotAccounts)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, accounts, gotAccounts)
for i := range accounts {
a := accounts[i]
b := gotAccounts[i]
require.Equal(t, a.Firstname, b.Firstname)
require.Equal(t, a.Lastname, b.Lastname)
require.Equal(t, a.Passwordhash, b.Passwordhash)
require.Equal(t, a.Email, b.Email)
require.Equal(t, a.Phone, b.Phone)
require.Equal(t, a.City, b.City)
require.Equal(t, a.Street, b.Street)
require.Equal(t, a.Country, b.Country)
require.Equal(t, a.Zip, b.Zip)
require.Equal(t, a.Creator, b.Creator)
require.Equal(t, a.PrivacyAccepted, b.PrivacyAccepted)
}
// require.Equal(t, accounts, gotAccounts)
} }

View File

@ -1,5 +1,5 @@
CREATE TABLE "mails" ( CREATE TABLE "mails" (
"ID" bigserial UNIQUE PRIMARY KEY NOT NULL, "id" bigserial UNIQUE PRIMARY KEY NOT NULL,
"from" varchar NOT NULL, "from" varchar NOT NULL,
"to" varchar[] NOT NULL, "to" varchar[] NOT NULL,
"cc" varchar[], "cc" varchar[],
@ -13,13 +13,13 @@ CREATE TABLE "mails" (
); );
CREATE TABLE "accounts" ( CREATE TABLE "accounts" (
"ID" bigserial UNIQUE PRIMARY KEY NOT NULL, "id" bigserial UNIQUE PRIMARY KEY NOT NULL,
"passwordhash" varchar NOT NULL, "passwordhash" varchar NOT NULL,
"firstname" varchar NOT NULL, "firstname" varchar NOT NULL,
"lastname" varchar NOT NULL, "lastname" varchar NOT NULL,
"birthday" timestamptz NOT NULL, "birthday" timestamptz NOT NULL,
"privacyAccepted" boolean NOT NULL DEFAULT false, "privacy_accepted" boolean DEFAULT false,
"privacyAcceptedDate" timestamptz, "privacy_accepted_date" timestamptz,
"email" varchar UNIQUE NOT NULL, "email" varchar UNIQUE NOT NULL,
"phone" varchar, "phone" varchar,
"city" varchar NOT NULL, "city" varchar NOT NULL,
@ -27,8 +27,8 @@ CREATE TABLE "accounts" (
"street" varchar NOT NULL, "street" varchar NOT NULL,
"country" varchar NOT NULL, "country" varchar NOT NULL,
"token" varchar, "token" varchar,
"tokenValid" boolean DEFAULT false, "token_valid" boolean DEFAULT false,
"tokenExpiration" timestamptz NOT NULL DEFAULT (now()), "token_expiration" timestamptz NOT NULL DEFAULT (now()),
"creator" varchar NOT NULL, "creator" varchar NOT NULL,
"created" timestamptz NOT NULL DEFAULT (now()), "created" timestamptz NOT NULL DEFAULT (now()),
"changer" varchar NOT NULL, "changer" varchar NOT NULL,
@ -36,8 +36,8 @@ CREATE TABLE "accounts" (
); );
CREATE TABLE "persons" ( CREATE TABLE "persons" (
"ID" bigserial UNIQUE PRIMARY KEY NOT NULL, "id" bigserial UNIQUE PRIMARY KEY NOT NULL,
"accountID" bigint NOT NULL, "account_id" bigint NOT NULL,
"firstname" varchar NOT NULL, "firstname" varchar NOT NULL,
"lastname" varchar NOT NULL, "lastname" varchar NOT NULL,
"birthday" timestamptz NOT NULL, "birthday" timestamptz NOT NULL,
@ -52,16 +52,16 @@ CREATE TABLE "persons" (
); );
CREATE TABLE "documents" ( CREATE TABLE "documents" (
"ID" bigserial UNIQUE PRIMARY KEY NOT NULL, "id" bigserial UNIQUE PRIMARY KEY NOT NULL,
"personID" bigint, "person_id" bigint,
"name" varchar NOT NULL, "name" varchar NOT NULL,
"type" varchar NOT NULL, "type" varchar NOT NULL,
"path" varchar NOT NULL, "path" varchar NOT NULL,
"url" varchar NOT NULL, "url" varchar NOT NULL,
"valid" boolean NOT NULL DEFAULT false, "valid" boolean NOT NULL DEFAULT false,
"validDate" timestamptz, "valid_date" timestamptz,
"validatedBy" varchar, "validated_by" varchar,
"mailID" bigint, "mail_id" bigint,
"creator" varchar NOT NULL, "creator" varchar NOT NULL,
"created" timestamptz NOT NULL DEFAULT (now()), "created" timestamptz NOT NULL DEFAULT (now()),
"changer" varchar NOT NULL, "changer" varchar NOT NULL,
@ -69,15 +69,15 @@ CREATE TABLE "documents" (
); );
CREATE TABLE "payments" ( CREATE TABLE "payments" (
"ID" bigserial UNIQUE PRIMARY KEY NOT NULL, "id" bigserial UNIQUE PRIMARY KEY NOT NULL,
"accountID" bigint NOT NULL, "account_id" bigint NOT NULL,
"paymentCategory" varchar NOT NULL, "payment_category" varchar NOT NULL,
"bankname" varchar, "bankname" varchar,
"IBAN" varchar, "iban" varchar,
"BIC" varchar, "bic" varchar,
"paypalAccount" varchar, "paypal_account" varchar,
"paypalID" varchar, "paypal_id" varchar,
"paymentSystem" varchar, "payment_system" varchar,
"type" varchar NOT NULL, "type" varchar NOT NULL,
"creator" varchar NOT NULL, "creator" varchar NOT NULL,
"created" timestamptz NOT NULL DEFAULT (now()), "created" timestamptz NOT NULL DEFAULT (now()),
@ -86,7 +86,7 @@ CREATE TABLE "payments" (
); );
CREATE TABLE "providers" ( CREATE TABLE "providers" (
"ID" bigserial UNIQUE PRIMARY KEY NOT NULL, "id" bigserial UNIQUE PRIMARY KEY NOT NULL,
"name" varchar NOT NULL, "name" varchar NOT NULL,
"description" text NOT NULL, "description" text NOT NULL,
"category" varchar NOT NULL, "category" varchar NOT NULL,
@ -98,9 +98,9 @@ CREATE TABLE "providers" (
); );
CREATE TABLE "returns" ( CREATE TABLE "returns" (
"ID" bigserial UNIQUE PRIMARY KEY NOT NULL, "id" bigserial UNIQUE PRIMARY KEY NOT NULL,
"personID" bigint NOT NULL, "person_id" bigint NOT NULL,
"providerID" bigint NOT NULL, "provider_id" bigint NOT NULL,
"name" varchar NOT NULL, "name" varchar NOT NULL,
"description" text NOT NULL, "description" text NOT NULL,
"category" varchar NOT NULL, "category" varchar NOT NULL,
@ -113,9 +113,9 @@ CREATE TABLE "returns" (
); );
CREATE TABLE "returnsLog" ( CREATE TABLE "returnsLog" (
"ID" bigserial UNIQUE PRIMARY KEY NOT NULL, "id" bigserial UNIQUE PRIMARY KEY NOT NULL,
"returnID" bigint NOT NULL, "return_id" bigint NOT NULL,
"mailID" bigint NOT NULL, "mail_id" bigint NOT NULL,
"status" varchar, "status" varchar,
"creator" varchar NOT NULL, "creator" varchar NOT NULL,
"created" timestamptz NOT NULL DEFAULT (now()), "created" timestamptz NOT NULL DEFAULT (now()),
@ -123,18 +123,18 @@ CREATE TABLE "returnsLog" (
"changed" timestamptz NOT NULL DEFAULT (now()) "changed" timestamptz NOT NULL DEFAULT (now())
); );
ALTER TABLE "persons" ADD FOREIGN KEY ("accountID") REFERENCES "accounts" ("ID"); ALTER TABLE "persons" ADD FOREIGN KEY ("account_id") REFERENCES "accounts" ("id");
ALTER TABLE "documents" ADD FOREIGN KEY ("personID") REFERENCES "persons" ("ID"); ALTER TABLE "documents" ADD FOREIGN KEY ("person_id") REFERENCES "persons" ("id");
ALTER TABLE "documents" ADD FOREIGN KEY ("mailID") REFERENCES "mails" ("ID"); ALTER TABLE "documents" ADD FOREIGN KEY ("mail_id") REFERENCES "mails" ("id");
ALTER TABLE "payments" ADD FOREIGN KEY ("accountID") REFERENCES "accounts" ("ID"); ALTER TABLE "payments" ADD FOREIGN KEY ("account_id") REFERENCES "accounts" ("id");
ALTER TABLE "returns" ADD FOREIGN KEY ("personID") REFERENCES "persons" ("ID"); ALTER TABLE "returns" ADD FOREIGN KEY ("person_id") REFERENCES "persons" ("id");
ALTER TABLE "returns" ADD FOREIGN KEY ("providerID") REFERENCES "providers" ("ID"); ALTER TABLE "returns" ADD FOREIGN KEY ("provider_id") REFERENCES "providers" ("id");
ALTER TABLE "returnsLog" ADD FOREIGN KEY ("returnID") REFERENCES "returns" ("ID"); ALTER TABLE "returnsLog" ADD FOREIGN KEY ("return_id") REFERENCES "returns" ("id");
ALTER TABLE "returnsLog" ADD FOREIGN KEY ("mailID") REFERENCES "mails" ("ID"); ALTER TABLE "returnsLog" ADD FOREIGN KEY ("mail_id") REFERENCES "mails" ("id");

View File

@ -1,15 +1,17 @@
-- name: GetAccount :one -- name: GetAccount :one
SELECT * FROM accounts SELECT * FROM accounts
WHERE "ID" = $1 LIMIT 1; WHERE "id" = $1 LIMIT 1;
-- name: GetAccountForUpdate :one -- name: GetAccountForUpdate :one
SELECT * FROM accounts SELECT * FROM accounts
WHERE "ID" = $1 LIMIT 1 WHERE "id" = $1 LIMIT 1
FOR NO KEY UPDATE; FOR NO KEY UPDATE;
-- name: CreateAccount :one -- name: CreateAccount :one
INSERT INTO accounts ( INSERT INTO accounts (
"passwordhash", "passwordhash",
"privacy_accepted",
"privacy_accepted_date",
"firstname", "firstname",
"lastname", "lastname",
"birthday", "birthday",
@ -22,7 +24,20 @@ INSERT INTO accounts (
"creator", "creator",
"changer" "changer"
) VALUES ( ) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $11 sqlc.arg(passwordhash),
sqlc.arg(privacy_accepted),
sqlc.arg(privacy_accepted_date),
sqlc.arg(firstname),
sqlc.arg(lastname),
sqlc.arg(birthday),
sqlc.arg(email),
sqlc.arg(phone),
sqlc.arg(city),
sqlc.arg(zip),
sqlc.arg(street),
sqlc.arg(country),
sqlc.arg(creator),
sqlc.arg(creator)
) RETURNING *; ) RETURNING *;
-- name: ListAccounts :many -- name: ListAccounts :many
@ -35,6 +50,8 @@ OFFSET $2;
UPDATE accounts UPDATE accounts
SET SET
"passwordhash" = COALESCE(sqlc.narg(passwordhash), "passwordhash"), "passwordhash" = COALESCE(sqlc.narg(passwordhash), "passwordhash"),
"privacy_accepted" = COALESCE(sqlc.narg(privacy_accepted), "privacy_accepted"),
"privacy_accepted_date" = COALESCE(sqlc.narg(privacy_accepted_date), "privacy_accepted_date"),
"firstname" = COALESCE(sqlc.narg(firstname), "firstname"), "firstname" = COALESCE(sqlc.narg(firstname), "firstname"),
"lastname" = COALESCE(sqlc.narg(lastname), "lastname"), "lastname" = COALESCE(sqlc.narg(lastname), "lastname"),
"birthday" = COALESCE(sqlc.narg(birthday), "birthday"), "birthday" = COALESCE(sqlc.narg(birthday), "birthday"),
@ -46,9 +63,9 @@ SET
"country" = COALESCE(sqlc.narg(country), "country"), "country" = COALESCE(sqlc.narg(country), "country"),
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING *; RETURNING *;
-- name: DeleteAccount :exec -- name: DeleteAccount :exec
DELETE FROM accounts DELETE FROM accounts
WHERE "ID" = $1; WHERE "id" = $1;

View File

@ -1,10 +1,10 @@
-- name: GetDocument :one -- name: GetDocument :one
SELECT * FROM documents SELECT * FROM documents
WHERE "ID" = $1 LIMIT 1; WHERE "id" = $1 LIMIT 1;
-- name: CreateDocumentUpload :one -- name: CreateDocumentUpload :one
INSERT INTO documents ( INSERT INTO documents (
"personID", "person_id",
"name", "name",
"type", "type",
"path", "path",
@ -17,7 +17,7 @@ INSERT INTO documents (
-- name: CreateDocumentMail :one -- name: CreateDocumentMail :one
INSERT INTO documents ( INSERT INTO documents (
"mailID", "mail_id",
"name", "name",
"type", "type",
"path", "path",
@ -37,38 +37,38 @@ OFFSET $2;
-- name: UpdateDocument :one -- name: UpdateDocument :one
UPDATE documents UPDATE documents
SET SET
"personID" = COALESCE(sqlc.narg(personID), "personID"), "person_id" = COALESCE(sqlc.narg(person_id), "person_id"),
"name" = COALESCE(sqlc.narg(name), "name"), "name" = COALESCE(sqlc.narg(name), "name"),
"type" = COALESCE(sqlc.narg(type), "type"), "type" = COALESCE(sqlc.narg(type), "type"),
"path" = COALESCE(sqlc.narg(path), "path"), "path" = COALESCE(sqlc.narg(path), "path"),
"url" = COALESCE(sqlc.narg(url), "url"), "url" = COALESCE(sqlc.narg(url), "url"),
changer = $2, changer = $2,
changed = now() changed = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING *; RETURNING *;
-- name: ValidateDocument :one -- name: ValidateDocument :one
UPDATE documents UPDATE documents
SET SET
"valid" = true, "valid" = true,
"validDate" = now(), "valid_date" = now(),
"validatedBy" = $2, "validated_by" = $2,
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING *; RETURNING *;
-- name: InvalidateDocument :one -- name: InvalidateDocument :one
UPDATE documents UPDATE documents
SET SET
"valid" = false, "valid" = false,
"validDate" = NULL, "valid_date" = NULL,
"validatedBy" = NULL, "validated_by" = NULL,
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING *; RETURNING *;
-- name: DeleteDocument :exec -- name: DeleteDocument :exec
DELETE FROM documents DELETE FROM documents
WHERE "ID" = $1; WHERE "id" = $1;

View File

@ -1,6 +1,6 @@
-- name: GetMail :one -- name: GetMail :one
SELECT * FROM mails SELECT * FROM mails
WHERE "ID" = $1 LIMIT 1; WHERE "id" = $1 LIMIT 1;
-- name: CreateMail :one -- name: CreateMail :one
INSERT INTO mails ( INSERT INTO mails (
@ -35,9 +35,9 @@ OFFSET $2;
-- "timestamp" = COALESCE(sqlc.narg(timestamp), "timestamp"), -- "timestamp" = COALESCE(sqlc.narg(timestamp), "timestamp"),
-- changer = $2, -- changer = $2,
-- changed = now() -- changed = now()
-- WHERE "ID" = $1 -- WHERE "id" = $1
-- RETURNING *; -- RETURNING *;
-- name: DeleteMail :exec -- name: DeleteMail :exec
DELETE FROM mails DELETE FROM mails
WHERE "ID" = $1; WHERE "id" = $1;

View File

@ -1,17 +1,17 @@
-- name: GetPayment :one -- name: GetPayment :one
SELECT * FROM payments SELECT * FROM payments
WHERE "ID" = $1 LIMIT 1; WHERE "id" = $1 LIMIT 1;
-- name: CreatePayment :one -- name: CreatePayment :one
INSERT INTO payments ( INSERT INTO payments (
"accountID", "account_id",
"paymentCategory", "payment_category",
"bankname", "bankname",
"IBAN", "iban",
"BIC", "bic",
"paypalAccount", "paypal_account",
"paypalID", "paypal_id",
"paymentSystem", "payment_system",
"type", "type",
"creator", "creator",
"changer" "changer"
@ -21,27 +21,27 @@ INSERT INTO payments (
-- name: ListPayments :many -- name: ListPayments :many
SELECT * FROM payments SELECT * FROM payments
ORDER BY "paymentCategory" ORDER BY "payment_category"
LIMIT $1 LIMIT $1
OFFSET $2; OFFSET $2;
-- name: UpdatePayment :one -- name: UpdatePayment :one
UPDATE payments UPDATE payments
SET SET
"accountID" = COALESCE(sqlc.narg(accountID), "accountID"), "account_id" = COALESCE(sqlc.narg(account_id), "account_id"),
"paymentCategory" = COALESCE(sqlc.narg(paymentCategory), "paymentCategory"), "payment_category" = COALESCE(sqlc.narg(payment_category), "payment_category"),
"bankname" = COALESCE(sqlc.narg(bankname), "bankname"), "bankname" = COALESCE(sqlc.narg(bankname), "bankname"),
"IBAN" = COALESCE(sqlc.narg(IBAN), "IBAN"), "iban" = COALESCE(sqlc.narg(iban), "iban"),
"BIC" = COALESCE(sqlc.narg(BIC), "BIC"), "bic" = COALESCE(sqlc.narg(bic), "bic"),
"paypalAccount" = COALESCE(sqlc.narg(paypalAccount), "paypalAccount"), "paypal_account" = COALESCE(sqlc.narg(paypal_account), "paypal_account"),
"paypalID" = COALESCE(sqlc.narg(paypalID), "paypalID"), "paypal_id" = COALESCE(sqlc.narg(paypal_id), "paypal_id"),
"paymentSystem" = COALESCE(sqlc.narg(paymentSystem), "paymentSystem"), "payment_system" = COALESCE(sqlc.narg(payment_system), "payment_system"),
"type" = COALESCE(sqlc.narg(type), "type"), "type" = COALESCE(sqlc.narg(type), "type"),
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING *; RETURNING *;
-- name: DeletePayment :exec -- name: DeletePayment :exec
DELETE FROM payments DELETE FROM payments
WHERE "ID" = $1; WHERE "id" = $1;

View File

@ -1,10 +1,10 @@
-- name: GetPerson :one -- name: GetPerson :one
SELECT * FROM persons SELECT * FROM persons
WHERE "ID" = $1 LIMIT 1; WHERE "id" = $1 LIMIT 1;
-- name: CreatePerson :one -- name: CreatePerson :one
INSERT INTO persons ( INSERT INTO persons (
"accountID", "account_id",
"firstname", "firstname",
"lastname", "lastname",
"birthday", "birthday",
@ -27,7 +27,7 @@ OFFSET $2;
-- name: UpdatePerson :one -- name: UpdatePerson :one
UPDATE persons UPDATE persons
SET SET
"accountID" = COALESCE(sqlc.narg(accountID), "accountID"), "account_id" = COALESCE(sqlc.narg(account_id), "account_id"),
"firstname" = COALESCE(sqlc.narg(firstname), "firstname"), "firstname" = COALESCE(sqlc.narg(firstname), "firstname"),
"lastname" = COALESCE(sqlc.narg(lastname), "lastname"), "lastname" = COALESCE(sqlc.narg(lastname), "lastname"),
"birthday" = COALESCE(sqlc.narg(birthday), "birthday"), "birthday" = COALESCE(sqlc.narg(birthday), "birthday"),
@ -37,9 +37,9 @@ SET
"country" = COALESCE(sqlc.narg(country), "country"), "country" = COALESCE(sqlc.narg(country), "country"),
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING *; RETURNING *;
-- name: DeletePerson :exec -- name: DeletePerson :exec
DELETE FROM persons DELETE FROM persons
WHERE "ID" = $1; WHERE "id" = $1;

View File

@ -1,6 +1,6 @@
-- name: GetProvider :one -- name: GetProvider :one
SELECT * FROM providers SELECT * FROM providers
WHERE "ID" = $1 LIMIT 1; WHERE "id" = $1 LIMIT 1;
-- name: CreateProvider :one -- name: CreateProvider :one
INSERT INTO providers ( INSERT INTO providers (
@ -29,9 +29,9 @@ SET
"email" = COALESCE(sqlc.narg(email), "email"), "email" = COALESCE(sqlc.narg(email), "email"),
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING *; RETURNING *;
-- name: DeleteProvider :exec -- name: DeleteProvider :exec
DELETE FROM providers DELETE FROM providers
WHERE "ID" = $1; WHERE "id" = $1;

View File

@ -1,11 +1,11 @@
-- name: GetReturn :one -- name: GetReturn :one
SELECT * FROM returns SELECT * FROM returns
WHERE "ID" = sqlc.arg(ID) LIMIT 1; WHERE "id" = sqlc.arg(id) LIMIT 1;
-- name: CreateReturn :one -- name: CreateReturn :one
INSERT INTO returns ( INSERT INTO returns (
"personID", "person_id",
"providerID", "provider_id",
"name", "name",
"description", "description",
"category", "category",
@ -14,8 +14,8 @@ INSERT INTO returns (
"creator", "creator",
"changer" "changer"
) VALUES ( ) VALUES (
sqlc.arg(personID), sqlc.arg(person_id),
sqlc.arg(providerID), sqlc.arg(provider_id),
sqlc.arg(name), sqlc.arg(name),
sqlc.arg(description), sqlc.arg(description),
sqlc.arg(category), sqlc.arg(category),
@ -34,8 +34,8 @@ OFFSET $2;
-- name: UpdateReturn :one -- name: UpdateReturn :one
UPDATE returns UPDATE returns
SET SET
"personID" = COALESCE(sqlc.narg(personID), "personID"), "person_id" = COALESCE(sqlc.narg(person_id), "person_id"),
"providerID" = COALESCE(sqlc.narg(providerID), "providerID"), "provider_id" = COALESCE(sqlc.narg(provider_id), "provider_id"),
"name" = COALESCE(sqlc.narg(name), "name"), "name" = COALESCE(sqlc.narg(name), "name"),
"description" = COALESCE(sqlc.narg(description), "description"), "description" = COALESCE(sqlc.narg(description), "description"),
"category" = COALESCE(sqlc.narg(category), "category"), "category" = COALESCE(sqlc.narg(category), "category"),
@ -43,9 +43,9 @@ SET
"status" = COALESCE(sqlc.narg(status), "status"), "status" = COALESCE(sqlc.narg(status), "status"),
"changer" = sqlc.arg(changer), "changer" = sqlc.arg(changer),
"changed" = now() "changed" = now()
WHERE "ID" = sqlc.arg(ID) WHERE "id" = sqlc.arg(id)
RETURNING *; RETURNING *;
-- name: DeleteReturn :exec -- name: DeleteReturn :exec
DELETE FROM returns DELETE FROM returns
WHERE "ID" = sqlc.arg(ID); WHERE "id" = sqlc.arg(id);

View File

@ -1,17 +1,17 @@
-- name: GetReturnsLog :one -- name: GetReturnsLog :one
SELECT * FROM "returnsLog" SELECT * FROM "returnsLog"
WHERE "ID" = sqlc.arg(ID) LIMIT 1; WHERE "id" = sqlc.arg(id) LIMIT 1;
-- name: CreateReturnsLog :one -- name: CreateReturnsLog :one
INSERT INTO "returnsLog" ( INSERT INTO "returnsLog" (
"returnID", "return_id",
"mailID", "mail_id",
"status", "status",
"creator", "creator",
"changer" "changer"
) VALUES ( ) VALUES (
sqlc.arg(returnID), sqlc.arg(return_id),
sqlc.arg(mailID), sqlc.arg(mail_id),
sqlc.arg(status), sqlc.arg(status),
sqlc.arg(creator), sqlc.arg(creator),
sqlc.arg(creator) sqlc.arg(creator)
@ -26,14 +26,14 @@ OFFSET $2;
-- name: UpdateReturnsLog :one -- name: UpdateReturnsLog :one
UPDATE "returnsLog" UPDATE "returnsLog"
SET SET
"returnID" = COALESCE(sqlc.narg(returnID), "returnID"), "return_id" = COALESCE(sqlc.narg(return_id), "return_id"),
"mailID" = COALESCE(sqlc.narg(mailID), "mailID"), "mail_id" = COALESCE(sqlc.narg(mail_id), "mail_id"),
"status" = COALESCE(sqlc.narg(status), "status"), "status" = COALESCE(sqlc.narg(status), "status"),
"changer" = $1, "changer" = $1,
"changed" = now() "changed" = now()
WHERE "ID" = sqlc.arg(ID) WHERE "id" = sqlc.arg(id)
RETURNING *; RETURNING *;
-- name: DeleteReturnsLog :exec -- name: DeleteReturnsLog :exec
DELETE FROM "returnsLog" DELETE FROM "returnsLog"
WHERE "ID" = sqlc.arg(ID); WHERE "id" = sqlc.arg(id);

View File

@ -14,6 +14,8 @@ import (
const createAccount = `-- name: CreateAccount :one const createAccount = `-- name: CreateAccount :one
INSERT INTO accounts ( INSERT INTO accounts (
"passwordhash", "passwordhash",
"privacy_accepted",
"privacy_accepted_date",
"firstname", "firstname",
"lastname", "lastname",
"birthday", "birthday",
@ -26,12 +28,27 @@ INSERT INTO accounts (
"creator", "creator",
"changer" "changer"
) VALUES ( ) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $11 $1,
) RETURNING "ID", passwordhash, firstname, lastname, birthday, "privacyAccepted", "privacyAcceptedDate", email, phone, city, zip, street, country, token, "tokenValid", "tokenExpiration", creator, created, changer, changed $2,
$3,
$4,
$5,
$6,
$7,
$8,
$9,
$10,
$11,
$12,
$13,
$13
) RETURNING id, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, phone, city, zip, street, country, token, token_valid, token_expiration, creator, created, changer, changed
` `
type CreateAccountParams struct { type CreateAccountParams struct {
Passwordhash string `json:"passwordhash"` Passwordhash string `json:"passwordhash"`
PrivacyAccepted sql.NullBool `json:"privacy_accepted"`
PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"`
Firstname string `json:"firstname"` Firstname string `json:"firstname"`
Lastname string `json:"lastname"` Lastname string `json:"lastname"`
Birthday time.Time `json:"birthday"` Birthday time.Time `json:"birthday"`
@ -47,6 +64,8 @@ type CreateAccountParams struct {
func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error) { func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (Account, error) {
row := q.db.QueryRowContext(ctx, createAccount, row := q.db.QueryRowContext(ctx, createAccount,
arg.Passwordhash, arg.Passwordhash,
arg.PrivacyAccepted,
arg.PrivacyAcceptedDate,
arg.Firstname, arg.Firstname,
arg.Lastname, arg.Lastname,
arg.Birthday, arg.Birthday,
@ -86,7 +105,7 @@ func (q *Queries) CreateAccount(ctx context.Context, arg CreateAccountParams) (A
const deleteAccount = `-- name: DeleteAccount :exec const deleteAccount = `-- name: DeleteAccount :exec
DELETE FROM accounts DELETE FROM accounts
WHERE "ID" = $1 WHERE "id" = $1
` `
func (q *Queries) DeleteAccount(ctx context.Context, id int64) error { func (q *Queries) DeleteAccount(ctx context.Context, id int64) error {
@ -95,8 +114,8 @@ func (q *Queries) DeleteAccount(ctx context.Context, id int64) error {
} }
const getAccount = `-- name: GetAccount :one const getAccount = `-- name: GetAccount :one
SELECT "ID", passwordhash, firstname, lastname, birthday, "privacyAccepted", "privacyAcceptedDate", email, phone, city, zip, street, country, token, "tokenValid", "tokenExpiration", creator, created, changer, changed FROM accounts SELECT id, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, phone, city, zip, street, country, token, token_valid, token_expiration, creator, created, changer, changed FROM accounts
WHERE "ID" = $1 LIMIT 1 WHERE "id" = $1 LIMIT 1
` `
func (q *Queries) GetAccount(ctx context.Context, id int64) (Account, error) { func (q *Queries) GetAccount(ctx context.Context, id int64) (Account, error) {
@ -128,8 +147,8 @@ func (q *Queries) GetAccount(ctx context.Context, id int64) (Account, error) {
} }
const getAccountForUpdate = `-- name: GetAccountForUpdate :one const getAccountForUpdate = `-- name: GetAccountForUpdate :one
SELECT "ID", passwordhash, firstname, lastname, birthday, "privacyAccepted", "privacyAcceptedDate", email, phone, city, zip, street, country, token, "tokenValid", "tokenExpiration", creator, created, changer, changed FROM accounts SELECT id, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, phone, city, zip, street, country, token, token_valid, token_expiration, creator, created, changer, changed FROM accounts
WHERE "ID" = $1 LIMIT 1 WHERE "id" = $1 LIMIT 1
FOR NO KEY UPDATE FOR NO KEY UPDATE
` `
@ -162,7 +181,7 @@ func (q *Queries) GetAccountForUpdate(ctx context.Context, id int64) (Account, e
} }
const listAccounts = `-- name: ListAccounts :many const listAccounts = `-- name: ListAccounts :many
SELECT "ID", passwordhash, firstname, lastname, birthday, "privacyAccepted", "privacyAcceptedDate", email, phone, city, zip, street, country, token, "tokenValid", "tokenExpiration", creator, created, changer, changed FROM accounts SELECT id, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, phone, city, zip, street, country, token, token_valid, token_expiration, creator, created, changer, changed FROM accounts
ORDER BY "lastname", "firstname" ORDER BY "lastname", "firstname"
LIMIT $1 LIMIT $1
OFFSET $2 OFFSET $2
@ -221,25 +240,29 @@ const updateAccount = `-- name: UpdateAccount :one
UPDATE accounts UPDATE accounts
SET SET
"passwordhash" = COALESCE($3, "passwordhash"), "passwordhash" = COALESCE($3, "passwordhash"),
"firstname" = COALESCE($4, "firstname"), "privacy_accepted" = COALESCE($4, "privacy_accepted"),
"lastname" = COALESCE($5, "lastname"), "privacy_accepted_date" = COALESCE($5, "privacy_accepted_date"),
"birthday" = COALESCE($6, "birthday"), "firstname" = COALESCE($6, "firstname"),
"email" = COALESCE($7, "email"), "lastname" = COALESCE($7, "lastname"),
"phone" = COALESCE($8, "phone"), "birthday" = COALESCE($8, "birthday"),
"city" = COALESCE($9, "city"), "email" = COALESCE($9, "email"),
"zip" = COALESCE($10, "zip"), "phone" = COALESCE($10, "phone"),
"street" = COALESCE($11, "street"), "city" = COALESCE($11, "city"),
"country" = COALESCE($12, "country"), "zip" = COALESCE($12, "zip"),
"street" = COALESCE($13, "street"),
"country" = COALESCE($14, "country"),
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING "ID", passwordhash, firstname, lastname, birthday, "privacyAccepted", "privacyAcceptedDate", email, phone, city, zip, street, country, token, "tokenValid", "tokenExpiration", creator, created, changer, changed RETURNING id, passwordhash, firstname, lastname, birthday, privacy_accepted, privacy_accepted_date, email, phone, city, zip, street, country, token, token_valid, token_expiration, creator, created, changer, changed
` `
type UpdateAccountParams struct { type UpdateAccountParams struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
Changer string `json:"changer"` Changer string `json:"changer"`
Passwordhash sql.NullString `json:"passwordhash"` Passwordhash sql.NullString `json:"passwordhash"`
PrivacyAccepted sql.NullBool `json:"privacy_accepted"`
PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"`
Firstname sql.NullString `json:"firstname"` Firstname sql.NullString `json:"firstname"`
Lastname sql.NullString `json:"lastname"` Lastname sql.NullString `json:"lastname"`
Birthday sql.NullTime `json:"birthday"` Birthday sql.NullTime `json:"birthday"`
@ -256,6 +279,8 @@ func (q *Queries) UpdateAccount(ctx context.Context, arg UpdateAccountParams) (A
arg.ID, arg.ID,
arg.Changer, arg.Changer,
arg.Passwordhash, arg.Passwordhash,
arg.PrivacyAccepted,
arg.PrivacyAcceptedDate,
arg.Firstname, arg.Firstname,
arg.Lastname, arg.Lastname,
arg.Birthday, arg.Birthday,

View File

@ -24,6 +24,10 @@ func createRandomAccount(t *testing.T) Account {
Valid: true, Valid: true,
String: util.RandomPhone(), String: util.RandomPhone(),
}, },
PrivacyAccepted: sql.NullBool{
Valid: true,
Bool: true,
},
City: util.RandomString(15), City: util.RandomString(15),
Zip: util.RandomString(5), Zip: util.RandomString(5),
Street: util.RandomString(20), Street: util.RandomString(20),

View File

@ -12,7 +12,7 @@ import (
const createDocumentMail = `-- name: CreateDocumentMail :one const createDocumentMail = `-- name: CreateDocumentMail :one
INSERT INTO documents ( INSERT INTO documents (
"mailID", "mail_id",
"name", "name",
"type", "type",
"path", "path",
@ -21,11 +21,11 @@ INSERT INTO documents (
"changer" "changer"
) VALUES ( ) VALUES (
$1, $2, $3, $4, $5, $6, $7 $1, $2, $3, $4, $5, $6, $7
) RETURNING "ID", "personID", name, type, path, url, valid, "validDate", "validatedBy", "mailID", creator, created, changer, changed ) RETURNING id, person_id, name, type, path, url, valid, valid_date, validated_by, mail_id, creator, created, changer, changed
` `
type CreateDocumentMailParams struct { type CreateDocumentMailParams struct {
MailID sql.NullInt64 `json:"mailID"` MailID sql.NullInt64 `json:"mail_id"`
Name string `json:"name"` Name string `json:"name"`
Type string `json:"type"` Type string `json:"type"`
Path string `json:"path"` Path string `json:"path"`
@ -66,7 +66,7 @@ func (q *Queries) CreateDocumentMail(ctx context.Context, arg CreateDocumentMail
const createDocumentUpload = `-- name: CreateDocumentUpload :one const createDocumentUpload = `-- name: CreateDocumentUpload :one
INSERT INTO documents ( INSERT INTO documents (
"personID", "person_id",
"name", "name",
"type", "type",
"path", "path",
@ -75,11 +75,11 @@ INSERT INTO documents (
"changer" "changer"
) VALUES ( ) VALUES (
$1, $2, $3, $4, $5, $6, $7 $1, $2, $3, $4, $5, $6, $7
) RETURNING "ID", "personID", name, type, path, url, valid, "validDate", "validatedBy", "mailID", creator, created, changer, changed ) RETURNING id, person_id, name, type, path, url, valid, valid_date, validated_by, mail_id, creator, created, changer, changed
` `
type CreateDocumentUploadParams struct { type CreateDocumentUploadParams struct {
PersonID sql.NullInt64 `json:"personID"` PersonID sql.NullInt64 `json:"person_id"`
Name string `json:"name"` Name string `json:"name"`
Type string `json:"type"` Type string `json:"type"`
Path string `json:"path"` Path string `json:"path"`
@ -120,7 +120,7 @@ func (q *Queries) CreateDocumentUpload(ctx context.Context, arg CreateDocumentUp
const deleteDocument = `-- name: DeleteDocument :exec const deleteDocument = `-- name: DeleteDocument :exec
DELETE FROM documents DELETE FROM documents
WHERE "ID" = $1 WHERE "id" = $1
` `
func (q *Queries) DeleteDocument(ctx context.Context, id int64) error { func (q *Queries) DeleteDocument(ctx context.Context, id int64) error {
@ -129,8 +129,8 @@ func (q *Queries) DeleteDocument(ctx context.Context, id int64) error {
} }
const getDocument = `-- name: GetDocument :one const getDocument = `-- name: GetDocument :one
SELECT "ID", "personID", name, type, path, url, valid, "validDate", "validatedBy", "mailID", creator, created, changer, changed FROM documents SELECT id, person_id, name, type, path, url, valid, valid_date, validated_by, mail_id, creator, created, changer, changed FROM documents
WHERE "ID" = $1 LIMIT 1 WHERE "id" = $1 LIMIT 1
` `
func (q *Queries) GetDocument(ctx context.Context, id int64) (Document, error) { func (q *Queries) GetDocument(ctx context.Context, id int64) (Document, error) {
@ -159,16 +159,16 @@ const invalidateDocument = `-- name: InvalidateDocument :one
UPDATE documents UPDATE documents
SET SET
"valid" = false, "valid" = false,
"validDate" = NULL, "valid_date" = NULL,
"validatedBy" = NULL, "validated_by" = NULL,
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING "ID", "personID", name, type, path, url, valid, "validDate", "validatedBy", "mailID", creator, created, changer, changed RETURNING id, person_id, name, type, path, url, valid, valid_date, validated_by, mail_id, creator, created, changer, changed
` `
type InvalidateDocumentParams struct { type InvalidateDocumentParams struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
Changer string `json:"changer"` Changer string `json:"changer"`
} }
@ -195,7 +195,7 @@ func (q *Queries) InvalidateDocument(ctx context.Context, arg InvalidateDocument
} }
const listDocuments = `-- name: ListDocuments :many const listDocuments = `-- name: ListDocuments :many
SELECT "ID", "personID", name, type, path, url, valid, "validDate", "validatedBy", "mailID", creator, created, changer, changed FROM documents SELECT id, person_id, name, type, path, url, valid, valid_date, validated_by, mail_id, creator, created, changer, changed FROM documents
ORDER BY "valid", "type", "name" ORDER BY "valid", "type", "name"
LIMIT $1 LIMIT $1
OFFSET $2 OFFSET $2
@ -247,21 +247,21 @@ func (q *Queries) ListDocuments(ctx context.Context, arg ListDocumentsParams) ([
const updateDocument = `-- name: UpdateDocument :one const updateDocument = `-- name: UpdateDocument :one
UPDATE documents UPDATE documents
SET SET
"personID" = COALESCE($3, "personID"), "person_id" = COALESCE($3, "person_id"),
"name" = COALESCE($4, "name"), "name" = COALESCE($4, "name"),
"type" = COALESCE($5, "type"), "type" = COALESCE($5, "type"),
"path" = COALESCE($6, "path"), "path" = COALESCE($6, "path"),
"url" = COALESCE($7, "url"), "url" = COALESCE($7, "url"),
changer = $2, changer = $2,
changed = now() changed = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING "ID", "personID", name, type, path, url, valid, "validDate", "validatedBy", "mailID", creator, created, changer, changed RETURNING id, person_id, name, type, path, url, valid, valid_date, validated_by, mail_id, creator, created, changer, changed
` `
type UpdateDocumentParams struct { type UpdateDocumentParams struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
Changer string `json:"changer"` Changer string `json:"changer"`
Personid sql.NullInt64 `json:"personid"` PersonID sql.NullInt64 `json:"person_id"`
Name sql.NullString `json:"name"` Name sql.NullString `json:"name"`
Type sql.NullString `json:"type"` Type sql.NullString `json:"type"`
Path sql.NullString `json:"path"` Path sql.NullString `json:"path"`
@ -272,7 +272,7 @@ func (q *Queries) UpdateDocument(ctx context.Context, arg UpdateDocumentParams)
row := q.db.QueryRowContext(ctx, updateDocument, row := q.db.QueryRowContext(ctx, updateDocument,
arg.ID, arg.ID,
arg.Changer, arg.Changer,
arg.Personid, arg.PersonID,
arg.Name, arg.Name,
arg.Type, arg.Type,
arg.Path, arg.Path,
@ -302,17 +302,17 @@ const validateDocument = `-- name: ValidateDocument :one
UPDATE documents UPDATE documents
SET SET
"valid" = true, "valid" = true,
"validDate" = now(), "valid_date" = now(),
"validatedBy" = $2, "validated_by" = $2,
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING "ID", "personID", name, type, path, url, valid, "validDate", "validatedBy", "mailID", creator, created, changer, changed RETURNING id, person_id, name, type, path, url, valid, valid_date, validated_by, mail_id, creator, created, changer, changed
` `
type ValidateDocumentParams struct { type ValidateDocumentParams struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
ValidatedBy sql.NullString `json:"validatedBy"` ValidatedBy sql.NullString `json:"validated_by"`
} }
func (q *Queries) ValidateDocument(ctx context.Context, arg ValidateDocumentParams) (Document, error) { func (q *Queries) ValidateDocument(ctx context.Context, arg ValidateDocumentParams) (Document, error) {

View File

@ -26,7 +26,7 @@ INSERT INTO mails (
VALUES ( VALUES (
$1, $2, $3, $4, $5, $6, $7, $8 $1, $2, $3, $4, $5, $6, $7, $8
) )
RETURNING "ID", "from", "to", cc, timestamp, subject, body, creator, created, changer, changed RETURNING id, "from", "to", cc, timestamp, subject, body, creator, created, changer, changed
` `
type CreateMailParams struct { type CreateMailParams struct {
@ -71,7 +71,7 @@ func (q *Queries) CreateMail(ctx context.Context, arg CreateMailParams) (Mail, e
const deleteMail = `-- name: DeleteMail :exec const deleteMail = `-- name: DeleteMail :exec
DELETE FROM mails DELETE FROM mails
WHERE "ID" = $1 WHERE "id" = $1
` `
// -- name: UpdateMail :one // -- name: UpdateMail :one
@ -87,7 +87,7 @@ WHERE "ID" = $1
// changer = $2, // changer = $2,
// changed = now() // changed = now()
// //
// WHERE "ID" = $1 // WHERE "id" = $1
// RETURNING *; // RETURNING *;
func (q *Queries) DeleteMail(ctx context.Context, id int64) error { func (q *Queries) DeleteMail(ctx context.Context, id int64) error {
_, err := q.db.ExecContext(ctx, deleteMail, id) _, err := q.db.ExecContext(ctx, deleteMail, id)
@ -95,8 +95,8 @@ func (q *Queries) DeleteMail(ctx context.Context, id int64) error {
} }
const getMail = `-- name: GetMail :one const getMail = `-- name: GetMail :one
SELECT "ID", "from", "to", cc, timestamp, subject, body, creator, created, changer, changed FROM mails SELECT id, "from", "to", cc, timestamp, subject, body, creator, created, changer, changed FROM mails
WHERE "ID" = $1 LIMIT 1 WHERE "id" = $1 LIMIT 1
` `
func (q *Queries) GetMail(ctx context.Context, id int64) (Mail, error) { func (q *Queries) GetMail(ctx context.Context, id int64) (Mail, error) {
@ -119,7 +119,7 @@ func (q *Queries) GetMail(ctx context.Context, id int64) (Mail, error) {
} }
const listMails = `-- name: ListMails :many const listMails = `-- name: ListMails :many
SELECT "ID", "from", "to", cc, timestamp, subject, body, creator, created, changer, changed FROM mails SELECT id, "from", "to", cc, timestamp, subject, body, creator, created, changer, changed FROM mails
ORDER BY "timestamp", "from" ORDER BY "timestamp", "from"
LIMIT $1 LIMIT $1
OFFSET $2 OFFSET $2

View File

@ -10,13 +10,13 @@ import (
) )
type Account struct { type Account struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
Passwordhash string `json:"passwordhash"` Passwordhash string `json:"passwordhash"`
Firstname string `json:"firstname"` Firstname string `json:"firstname"`
Lastname string `json:"lastname"` Lastname string `json:"lastname"`
Birthday time.Time `json:"birthday"` Birthday time.Time `json:"birthday"`
PrivacyAccepted bool `json:"privacyAccepted"` PrivacyAccepted sql.NullBool `json:"privacy_accepted"`
PrivacyAcceptedDate sql.NullTime `json:"privacyAcceptedDate"` PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"`
Email string `json:"email"` Email string `json:"email"`
Phone sql.NullString `json:"phone"` Phone sql.NullString `json:"phone"`
City string `json:"city"` City string `json:"city"`
@ -24,8 +24,8 @@ type Account struct {
Street string `json:"street"` Street string `json:"street"`
Country string `json:"country"` Country string `json:"country"`
Token sql.NullString `json:"token"` Token sql.NullString `json:"token"`
TokenValid sql.NullBool `json:"tokenValid"` TokenValid sql.NullBool `json:"token_valid"`
TokenExpiration time.Time `json:"tokenExpiration"` TokenExpiration time.Time `json:"token_expiration"`
Creator string `json:"creator"` Creator string `json:"creator"`
Created time.Time `json:"created"` Created time.Time `json:"created"`
Changer string `json:"changer"` Changer string `json:"changer"`
@ -33,16 +33,16 @@ type Account struct {
} }
type Document struct { type Document struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
PersonID sql.NullInt64 `json:"personID"` PersonID sql.NullInt64 `json:"person_id"`
Name string `json:"name"` Name string `json:"name"`
Type string `json:"type"` Type string `json:"type"`
Path string `json:"path"` Path string `json:"path"`
Url string `json:"url"` Url string `json:"url"`
Valid bool `json:"valid"` Valid bool `json:"valid"`
ValidDate sql.NullTime `json:"validDate"` ValidDate sql.NullTime `json:"valid_date"`
ValidatedBy sql.NullString `json:"validatedBy"` ValidatedBy sql.NullString `json:"validated_by"`
MailID sql.NullInt64 `json:"mailID"` MailID sql.NullInt64 `json:"mail_id"`
Creator string `json:"creator"` Creator string `json:"creator"`
Created time.Time `json:"created"` Created time.Time `json:"created"`
Changer string `json:"changer"` Changer string `json:"changer"`
@ -50,7 +50,7 @@ type Document struct {
} }
type Mail struct { type Mail struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
From string `json:"from"` From string `json:"from"`
To []string `json:"to"` To []string `json:"to"`
Cc []string `json:"cc"` Cc []string `json:"cc"`
@ -64,15 +64,15 @@ type Mail struct {
} }
type Payment struct { type Payment struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
AccountID int64 `json:"accountID"` AccountID int64 `json:"account_id"`
PaymentCategory string `json:"paymentCategory"` PaymentCategory string `json:"payment_category"`
Bankname sql.NullString `json:"bankname"` Bankname sql.NullString `json:"bankname"`
IBAN sql.NullString `json:"IBAN"` Iban sql.NullString `json:"iban"`
BIC sql.NullString `json:"BIC"` Bic sql.NullString `json:"bic"`
PaypalAccount sql.NullString `json:"paypalAccount"` PaypalAccount sql.NullString `json:"paypal_account"`
PaypalID sql.NullString `json:"paypalID"` PaypalID sql.NullString `json:"paypal_id"`
PaymentSystem sql.NullString `json:"paymentSystem"` PaymentSystem sql.NullString `json:"payment_system"`
Type string `json:"type"` Type string `json:"type"`
Creator string `json:"creator"` Creator string `json:"creator"`
Created time.Time `json:"created"` Created time.Time `json:"created"`
@ -81,8 +81,8 @@ type Payment struct {
} }
type Person struct { type Person struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
AccountID int64 `json:"accountID"` AccountID int64 `json:"account_id"`
Firstname string `json:"firstname"` Firstname string `json:"firstname"`
Lastname string `json:"lastname"` Lastname string `json:"lastname"`
Birthday time.Time `json:"birthday"` Birthday time.Time `json:"birthday"`
@ -97,7 +97,7 @@ type Person struct {
} }
type Provider struct { type Provider struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
Name string `json:"name"` Name string `json:"name"`
Description string `json:"description"` Description string `json:"description"`
Category string `json:"category"` Category string `json:"category"`
@ -109,9 +109,9 @@ type Provider struct {
} }
type Return struct { type Return struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
PersonID int64 `json:"personID"` PersonID int64 `json:"person_id"`
ProviderID int64 `json:"providerID"` ProviderID int64 `json:"provider_id"`
Name string `json:"name"` Name string `json:"name"`
Description string `json:"description"` Description string `json:"description"`
Category string `json:"category"` Category string `json:"category"`
@ -124,9 +124,9 @@ type Return struct {
} }
type ReturnsLog struct { type ReturnsLog struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
ReturnID int64 `json:"returnID"` ReturnID int64 `json:"return_id"`
MailID int64 `json:"mailID"` MailID int64 `json:"mail_id"`
Status sql.NullString `json:"status"` Status sql.NullString `json:"status"`
Creator string `json:"creator"` Creator string `json:"creator"`
Created time.Time `json:"created"` Created time.Time `json:"created"`

View File

@ -12,31 +12,31 @@ import (
const createPayment = `-- name: CreatePayment :one const createPayment = `-- name: CreatePayment :one
INSERT INTO payments ( INSERT INTO payments (
"accountID", "account_id",
"paymentCategory", "payment_category",
"bankname", "bankname",
"IBAN", "iban",
"BIC", "bic",
"paypalAccount", "paypal_account",
"paypalID", "paypal_id",
"paymentSystem", "payment_system",
"type", "type",
"creator", "creator",
"changer" "changer"
) VALUES ( ) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11 $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11
) RETURNING "ID", "accountID", "paymentCategory", bankname, "IBAN", "BIC", "paypalAccount", "paypalID", "paymentSystem", type, creator, created, changer, changed ) RETURNING id, account_id, payment_category, bankname, iban, bic, paypal_account, paypal_id, payment_system, type, creator, created, changer, changed
` `
type CreatePaymentParams struct { type CreatePaymentParams struct {
AccountID int64 `json:"accountID"` AccountID int64 `json:"account_id"`
PaymentCategory string `json:"paymentCategory"` PaymentCategory string `json:"payment_category"`
Bankname sql.NullString `json:"bankname"` Bankname sql.NullString `json:"bankname"`
IBAN sql.NullString `json:"IBAN"` Iban sql.NullString `json:"iban"`
BIC sql.NullString `json:"BIC"` Bic sql.NullString `json:"bic"`
PaypalAccount sql.NullString `json:"paypalAccount"` PaypalAccount sql.NullString `json:"paypal_account"`
PaypalID sql.NullString `json:"paypalID"` PaypalID sql.NullString `json:"paypal_id"`
PaymentSystem sql.NullString `json:"paymentSystem"` PaymentSystem sql.NullString `json:"payment_system"`
Type string `json:"type"` Type string `json:"type"`
Creator string `json:"creator"` Creator string `json:"creator"`
Changer string `json:"changer"` Changer string `json:"changer"`
@ -47,8 +47,8 @@ func (q *Queries) CreatePayment(ctx context.Context, arg CreatePaymentParams) (P
arg.AccountID, arg.AccountID,
arg.PaymentCategory, arg.PaymentCategory,
arg.Bankname, arg.Bankname,
arg.IBAN, arg.Iban,
arg.BIC, arg.Bic,
arg.PaypalAccount, arg.PaypalAccount,
arg.PaypalID, arg.PaypalID,
arg.PaymentSystem, arg.PaymentSystem,
@ -62,8 +62,8 @@ func (q *Queries) CreatePayment(ctx context.Context, arg CreatePaymentParams) (P
&i.AccountID, &i.AccountID,
&i.PaymentCategory, &i.PaymentCategory,
&i.Bankname, &i.Bankname,
&i.IBAN, &i.Iban,
&i.BIC, &i.Bic,
&i.PaypalAccount, &i.PaypalAccount,
&i.PaypalID, &i.PaypalID,
&i.PaymentSystem, &i.PaymentSystem,
@ -78,7 +78,7 @@ func (q *Queries) CreatePayment(ctx context.Context, arg CreatePaymentParams) (P
const deletePayment = `-- name: DeletePayment :exec const deletePayment = `-- name: DeletePayment :exec
DELETE FROM payments DELETE FROM payments
WHERE "ID" = $1 WHERE "id" = $1
` `
func (q *Queries) DeletePayment(ctx context.Context, id int64) error { func (q *Queries) DeletePayment(ctx context.Context, id int64) error {
@ -87,8 +87,8 @@ func (q *Queries) DeletePayment(ctx context.Context, id int64) error {
} }
const getPayment = `-- name: GetPayment :one const getPayment = `-- name: GetPayment :one
SELECT "ID", "accountID", "paymentCategory", bankname, "IBAN", "BIC", "paypalAccount", "paypalID", "paymentSystem", type, creator, created, changer, changed FROM payments SELECT id, account_id, payment_category, bankname, iban, bic, paypal_account, paypal_id, payment_system, type, creator, created, changer, changed FROM payments
WHERE "ID" = $1 LIMIT 1 WHERE "id" = $1 LIMIT 1
` `
func (q *Queries) GetPayment(ctx context.Context, id int64) (Payment, error) { func (q *Queries) GetPayment(ctx context.Context, id int64) (Payment, error) {
@ -99,8 +99,8 @@ func (q *Queries) GetPayment(ctx context.Context, id int64) (Payment, error) {
&i.AccountID, &i.AccountID,
&i.PaymentCategory, &i.PaymentCategory,
&i.Bankname, &i.Bankname,
&i.IBAN, &i.Iban,
&i.BIC, &i.Bic,
&i.PaypalAccount, &i.PaypalAccount,
&i.PaypalID, &i.PaypalID,
&i.PaymentSystem, &i.PaymentSystem,
@ -114,8 +114,8 @@ func (q *Queries) GetPayment(ctx context.Context, id int64) (Payment, error) {
} }
const listPayments = `-- name: ListPayments :many const listPayments = `-- name: ListPayments :many
SELECT "ID", "accountID", "paymentCategory", bankname, "IBAN", "BIC", "paypalAccount", "paypalID", "paymentSystem", type, creator, created, changer, changed FROM payments SELECT id, account_id, payment_category, bankname, iban, bic, paypal_account, paypal_id, payment_system, type, creator, created, changer, changed FROM payments
ORDER BY "paymentCategory" ORDER BY "payment_category"
LIMIT $1 LIMIT $1
OFFSET $2 OFFSET $2
` `
@ -139,8 +139,8 @@ func (q *Queries) ListPayments(ctx context.Context, arg ListPaymentsParams) ([]P
&i.AccountID, &i.AccountID,
&i.PaymentCategory, &i.PaymentCategory,
&i.Bankname, &i.Bankname,
&i.IBAN, &i.Iban,
&i.BIC, &i.Bic,
&i.PaypalAccount, &i.PaypalAccount,
&i.PaypalID, &i.PaypalID,
&i.PaymentSystem, &i.PaymentSystem,
@ -166,32 +166,32 @@ func (q *Queries) ListPayments(ctx context.Context, arg ListPaymentsParams) ([]P
const updatePayment = `-- name: UpdatePayment :one const updatePayment = `-- name: UpdatePayment :one
UPDATE payments UPDATE payments
SET SET
"accountID" = COALESCE($3, "accountID"), "account_id" = COALESCE($3, "account_id"),
"paymentCategory" = COALESCE($4, "paymentCategory"), "payment_category" = COALESCE($4, "payment_category"),
"bankname" = COALESCE($5, "bankname"), "bankname" = COALESCE($5, "bankname"),
"IBAN" = COALESCE($6, "IBAN"), "iban" = COALESCE($6, "iban"),
"BIC" = COALESCE($7, "BIC"), "bic" = COALESCE($7, "bic"),
"paypalAccount" = COALESCE($8, "paypalAccount"), "paypal_account" = COALESCE($8, "paypal_account"),
"paypalID" = COALESCE($9, "paypalID"), "paypal_id" = COALESCE($9, "paypal_id"),
"paymentSystem" = COALESCE($10, "paymentSystem"), "payment_system" = COALESCE($10, "payment_system"),
"type" = COALESCE($11, "type"), "type" = COALESCE($11, "type"),
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING "ID", "accountID", "paymentCategory", bankname, "IBAN", "BIC", "paypalAccount", "paypalID", "paymentSystem", type, creator, created, changer, changed RETURNING id, account_id, payment_category, bankname, iban, bic, paypal_account, paypal_id, payment_system, type, creator, created, changer, changed
` `
type UpdatePaymentParams struct { type UpdatePaymentParams struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
Changer string `json:"changer"` Changer string `json:"changer"`
Accountid sql.NullInt64 `json:"accountid"` AccountID sql.NullInt64 `json:"account_id"`
Paymentcategory sql.NullString `json:"paymentcategory"` PaymentCategory sql.NullString `json:"payment_category"`
Bankname sql.NullString `json:"bankname"` Bankname sql.NullString `json:"bankname"`
Iban sql.NullString `json:"iban"` Iban sql.NullString `json:"iban"`
Bic sql.NullString `json:"bic"` Bic sql.NullString `json:"bic"`
Paypalaccount sql.NullString `json:"paypalaccount"` PaypalAccount sql.NullString `json:"paypal_account"`
Paypalid sql.NullString `json:"paypalid"` PaypalID sql.NullString `json:"paypal_id"`
Paymentsystem sql.NullString `json:"paymentsystem"` PaymentSystem sql.NullString `json:"payment_system"`
Type sql.NullString `json:"type"` Type sql.NullString `json:"type"`
} }
@ -199,14 +199,14 @@ func (q *Queries) UpdatePayment(ctx context.Context, arg UpdatePaymentParams) (P
row := q.db.QueryRowContext(ctx, updatePayment, row := q.db.QueryRowContext(ctx, updatePayment,
arg.ID, arg.ID,
arg.Changer, arg.Changer,
arg.Accountid, arg.AccountID,
arg.Paymentcategory, arg.PaymentCategory,
arg.Bankname, arg.Bankname,
arg.Iban, arg.Iban,
arg.Bic, arg.Bic,
arg.Paypalaccount, arg.PaypalAccount,
arg.Paypalid, arg.PaypalID,
arg.Paymentsystem, arg.PaymentSystem,
arg.Type, arg.Type,
) )
var i Payment var i Payment
@ -215,8 +215,8 @@ func (q *Queries) UpdatePayment(ctx context.Context, arg UpdatePaymentParams) (P
&i.AccountID, &i.AccountID,
&i.PaymentCategory, &i.PaymentCategory,
&i.Bankname, &i.Bankname,
&i.IBAN, &i.Iban,
&i.BIC, &i.Bic,
&i.PaypalAccount, &i.PaypalAccount,
&i.PaypalID, &i.PaypalID,
&i.PaymentSystem, &i.PaymentSystem,

View File

@ -23,11 +23,11 @@ func createRandomPayment(t *testing.T) Payment {
Valid: true, Valid: true,
String: util.RandomName(), String: util.RandomName(),
}, },
IBAN: sql.NullString{ Iban: sql.NullString{
Valid: true, Valid: true,
String: util.RandomName(), String: util.RandomName(),
}, },
BIC: sql.NullString{ Bic: sql.NullString{
Valid: true, Valid: true,
String: util.RandomName(), String: util.RandomName(),
}, },
@ -55,8 +55,8 @@ func createRandomPayment(t *testing.T) Payment {
require.Equal(t, arg.PaymentCategory, person.PaymentCategory) require.Equal(t, arg.PaymentCategory, person.PaymentCategory)
require.Equal(t, arg.Bankname, person.Bankname) require.Equal(t, arg.Bankname, person.Bankname)
require.Equal(t, arg.AccountID, person.AccountID) require.Equal(t, arg.AccountID, person.AccountID)
require.Equal(t, arg.IBAN, person.IBAN) require.Equal(t, arg.Iban, person.Iban)
require.Equal(t, arg.BIC, person.BIC) require.Equal(t, arg.Bic, person.Bic)
require.Equal(t, arg.PaypalAccount, person.PaypalAccount) require.Equal(t, arg.PaypalAccount, person.PaypalAccount)
require.Equal(t, arg.PaymentSystem, person.PaymentSystem) require.Equal(t, arg.PaymentSystem, person.PaymentSystem)
require.Equal(t, arg.PaypalID, person.PaypalID) require.Equal(t, arg.PaypalID, person.PaypalID)
@ -84,8 +84,8 @@ func TestGetPayment(t *testing.T) {
require.Equal(t, newperson.PaymentCategory, person.PaymentCategory) require.Equal(t, newperson.PaymentCategory, person.PaymentCategory)
require.Equal(t, newperson.Bankname, person.Bankname) require.Equal(t, newperson.Bankname, person.Bankname)
require.Equal(t, newperson.AccountID, person.AccountID) require.Equal(t, newperson.AccountID, person.AccountID)
require.Equal(t, newperson.IBAN, person.IBAN) require.Equal(t, newperson.Iban, person.Iban)
require.Equal(t, newperson.BIC, person.BIC) require.Equal(t, newperson.Bic, person.Bic)
require.Equal(t, newperson.PaypalAccount, person.PaypalAccount) require.Equal(t, newperson.PaypalAccount, person.PaypalAccount)
require.Equal(t, newperson.PaymentSystem, person.PaymentSystem) require.Equal(t, newperson.PaymentSystem, person.PaymentSystem)
require.Equal(t, newperson.PaypalID, person.PaypalID) require.Equal(t, newperson.PaypalID, person.PaypalID)

View File

@ -13,7 +13,7 @@ import (
const createPerson = `-- name: CreatePerson :one const createPerson = `-- name: CreatePerson :one
INSERT INTO persons ( INSERT INTO persons (
"accountID", "account_id",
"firstname", "firstname",
"lastname", "lastname",
"birthday", "birthday",
@ -25,11 +25,11 @@ INSERT INTO persons (
"changer" "changer"
) VALUES ( ) VALUES (
$1, $2, $3, $4, $5, $6, $7, $8, $9, $10 $1, $2, $3, $4, $5, $6, $7, $8, $9, $10
) RETURNING "ID", "accountID", firstname, lastname, birthday, city, zip, street, country, creator, created, changer, changed ) RETURNING id, account_id, firstname, lastname, birthday, city, zip, street, country, creator, created, changer, changed
` `
type CreatePersonParams struct { type CreatePersonParams struct {
AccountID int64 `json:"accountID"` AccountID int64 `json:"account_id"`
Firstname string `json:"firstname"` Firstname string `json:"firstname"`
Lastname string `json:"lastname"` Lastname string `json:"lastname"`
Birthday time.Time `json:"birthday"` Birthday time.Time `json:"birthday"`
@ -75,7 +75,7 @@ func (q *Queries) CreatePerson(ctx context.Context, arg CreatePersonParams) (Per
const deletePerson = `-- name: DeletePerson :exec const deletePerson = `-- name: DeletePerson :exec
DELETE FROM persons DELETE FROM persons
WHERE "ID" = $1 WHERE "id" = $1
` `
func (q *Queries) DeletePerson(ctx context.Context, id int64) error { func (q *Queries) DeletePerson(ctx context.Context, id int64) error {
@ -84,8 +84,8 @@ func (q *Queries) DeletePerson(ctx context.Context, id int64) error {
} }
const getPerson = `-- name: GetPerson :one const getPerson = `-- name: GetPerson :one
SELECT "ID", "accountID", 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
WHERE "ID" = $1 LIMIT 1 WHERE "id" = $1 LIMIT 1
` `
func (q *Queries) GetPerson(ctx context.Context, id int64) (Person, error) { func (q *Queries) GetPerson(ctx context.Context, id int64) (Person, error) {
@ -110,7 +110,7 @@ func (q *Queries) GetPerson(ctx context.Context, id int64) (Person, error) {
} }
const listPersons = `-- name: ListPersons :many const listPersons = `-- name: ListPersons :many
SELECT "ID", "accountID", 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"
LIMIT $1 LIMIT $1
OFFSET $2 OFFSET $2
@ -161,7 +161,7 @@ func (q *Queries) ListPersons(ctx context.Context, arg ListPersonsParams) ([]Per
const updatePerson = `-- name: UpdatePerson :one const updatePerson = `-- name: UpdatePerson :one
UPDATE persons UPDATE persons
SET SET
"accountID" = COALESCE($3, "accountID"), "account_id" = COALESCE($3, "account_id"),
"firstname" = COALESCE($4, "firstname"), "firstname" = COALESCE($4, "firstname"),
"lastname" = COALESCE($5, "lastname"), "lastname" = COALESCE($5, "lastname"),
"birthday" = COALESCE($6, "birthday"), "birthday" = COALESCE($6, "birthday"),
@ -171,14 +171,14 @@ SET
"country" = COALESCE($10, "country"), "country" = COALESCE($10, "country"),
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING "ID", "accountID", firstname, lastname, birthday, city, zip, street, country, creator, created, changer, changed RETURNING id, account_id, firstname, lastname, birthday, city, zip, street, country, creator, created, changer, changed
` `
type UpdatePersonParams struct { type UpdatePersonParams struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
Changer string `json:"changer"` Changer string `json:"changer"`
Accountid sql.NullInt64 `json:"accountid"` AccountID sql.NullInt64 `json:"account_id"`
Firstname sql.NullString `json:"firstname"` Firstname sql.NullString `json:"firstname"`
Lastname sql.NullString `json:"lastname"` Lastname sql.NullString `json:"lastname"`
Birthday sql.NullTime `json:"birthday"` Birthday sql.NullTime `json:"birthday"`
@ -192,7 +192,7 @@ func (q *Queries) UpdatePerson(ctx context.Context, arg UpdatePersonParams) (Per
row := q.db.QueryRowContext(ctx, updatePerson, row := q.db.QueryRowContext(ctx, updatePerson,
arg.ID, arg.ID,
arg.Changer, arg.Changer,
arg.Accountid, arg.AccountID,
arg.Firstname, arg.Firstname,
arg.Lastname, arg.Lastname,
arg.Birthday, arg.Birthday,

View File

@ -20,7 +20,7 @@ INSERT INTO providers (
"changer" "changer"
) VALUES ( ) VALUES (
$1, $2, $3, $4, $5, $6 $1, $2, $3, $4, $5, $6
) RETURNING "ID", name, description, category, email, creator, created, changer, changed ) RETURNING id, name, description, category, email, creator, created, changer, changed
` `
type CreateProviderParams struct { type CreateProviderParams struct {
@ -58,7 +58,7 @@ func (q *Queries) CreateProvider(ctx context.Context, arg CreateProviderParams)
const deleteProvider = `-- name: DeleteProvider :exec const deleteProvider = `-- name: DeleteProvider :exec
DELETE FROM providers DELETE FROM providers
WHERE "ID" = $1 WHERE "id" = $1
` `
func (q *Queries) DeleteProvider(ctx context.Context, id int64) error { func (q *Queries) DeleteProvider(ctx context.Context, id int64) error {
@ -67,8 +67,8 @@ func (q *Queries) DeleteProvider(ctx context.Context, id int64) error {
} }
const getProvider = `-- name: GetProvider :one const getProvider = `-- name: GetProvider :one
SELECT "ID", name, description, category, email, creator, created, changer, changed FROM providers SELECT id, name, description, category, email, creator, created, changer, changed FROM providers
WHERE "ID" = $1 LIMIT 1 WHERE "id" = $1 LIMIT 1
` `
func (q *Queries) GetProvider(ctx context.Context, id int64) (Provider, error) { func (q *Queries) GetProvider(ctx context.Context, id int64) (Provider, error) {
@ -89,7 +89,7 @@ func (q *Queries) GetProvider(ctx context.Context, id int64) (Provider, error) {
} }
const listProviders = `-- name: ListProviders :many const listProviders = `-- name: ListProviders :many
SELECT "ID", name, description, category, email, creator, created, changer, changed FROM providers SELECT id, name, description, category, email, creator, created, changer, changed FROM providers
ORDER BY "name" ORDER BY "name"
LIMIT $1 LIMIT $1
OFFSET $2 OFFSET $2
@ -142,12 +142,12 @@ SET
"email" = COALESCE($6, "email"), "email" = COALESCE($6, "email"),
"changer" = $2, "changer" = $2,
"changed" = now() "changed" = now()
WHERE "ID" = $1 WHERE "id" = $1
RETURNING "ID", name, description, category, email, creator, created, changer, changed RETURNING id, name, description, category, email, creator, created, changer, changed
` `
type UpdateProviderParams struct { type UpdateProviderParams struct {
ID int64 `json:"ID"` ID int64 `json:"id"`
Changer string `json:"changer"` Changer string `json:"changer"`
Name sql.NullString `json:"name"` Name sql.NullString `json:"name"`
Description sql.NullString `json:"description"` Description sql.NullString `json:"description"`

View File

@ -31,7 +31,7 @@ type Querier interface {
// "timestamp" = COALESCE(sqlc.narg(timestamp), "timestamp"), // "timestamp" = COALESCE(sqlc.narg(timestamp), "timestamp"),
// changer = $2, // changer = $2,
// changed = now() // changed = now()
// WHERE "ID" = $1 // WHERE "id" = $1
// RETURNING *; // RETURNING *;
DeleteMail(ctx context.Context, id int64) error DeleteMail(ctx context.Context, id int64) error
DeletePayment(ctx context.Context, id int64) error DeletePayment(ctx context.Context, id int64) error

View File

@ -12,8 +12,8 @@ import (
const createReturn = `-- name: CreateReturn :one const createReturn = `-- name: CreateReturn :one
INSERT INTO returns ( INSERT INTO returns (
"personID", "person_id",
"providerID", "provider_id",
"name", "name",
"description", "description",
"category", "category",
@ -31,12 +31,12 @@ INSERT INTO returns (
$7, $7,
$8, $8,
$9 $9
) RETURNING "ID", "personID", "providerID", name, description, category, email, status, creator, created, changer, changed ) RETURNING id, person_id, provider_id, name, description, category, email, status, creator, created, changer, changed
` `
type CreateReturnParams struct { type CreateReturnParams struct {
Personid int64 `json:"personid"` PersonID int64 `json:"person_id"`
Providerid int64 `json:"providerid"` ProviderID int64 `json:"provider_id"`
Name string `json:"name"` Name string `json:"name"`
Description string `json:"description"` Description string `json:"description"`
Category string `json:"category"` Category string `json:"category"`
@ -48,8 +48,8 @@ type CreateReturnParams struct {
func (q *Queries) CreateReturn(ctx context.Context, arg CreateReturnParams) (Return, error) { func (q *Queries) CreateReturn(ctx context.Context, arg CreateReturnParams) (Return, error) {
row := q.db.QueryRowContext(ctx, createReturn, row := q.db.QueryRowContext(ctx, createReturn,
arg.Personid, arg.PersonID,
arg.Providerid, arg.ProviderID,
arg.Name, arg.Name,
arg.Description, arg.Description,
arg.Category, arg.Category,
@ -78,7 +78,7 @@ func (q *Queries) CreateReturn(ctx context.Context, arg CreateReturnParams) (Ret
const deleteReturn = `-- name: DeleteReturn :exec const deleteReturn = `-- name: DeleteReturn :exec
DELETE FROM returns DELETE FROM returns
WHERE "ID" = $1 WHERE "id" = $1
` `
func (q *Queries) DeleteReturn(ctx context.Context, id int64) error { func (q *Queries) DeleteReturn(ctx context.Context, id int64) error {
@ -87,8 +87,8 @@ func (q *Queries) DeleteReturn(ctx context.Context, id int64) error {
} }
const getReturn = `-- name: GetReturn :one const getReturn = `-- name: GetReturn :one
SELECT "ID", "personID", "providerID", name, description, category, email, status, creator, created, changer, changed FROM returns SELECT id, person_id, provider_id, name, description, category, email, status, creator, created, changer, changed FROM returns
WHERE "ID" = $1 LIMIT 1 WHERE "id" = $1 LIMIT 1
` `
func (q *Queries) GetReturn(ctx context.Context, id int64) (Return, error) { func (q *Queries) GetReturn(ctx context.Context, id int64) (Return, error) {
@ -112,7 +112,7 @@ func (q *Queries) GetReturn(ctx context.Context, id int64) (Return, error) {
} }
const listReturns = `-- name: ListReturns :many const listReturns = `-- name: ListReturns :many
SELECT "ID", "personID", "providerID", name, description, category, email, status, creator, created, changer, changed FROM returns SELECT id, person_id, provider_id, name, description, category, email, status, creator, created, changer, changed FROM returns
ORDER BY "name" ORDER BY "name"
LIMIT $1 LIMIT $1
OFFSET $2 OFFSET $2
@ -162,8 +162,8 @@ func (q *Queries) ListReturns(ctx context.Context, arg ListReturnsParams) ([]Ret
const updateReturn = `-- name: UpdateReturn :one const updateReturn = `-- name: UpdateReturn :one
UPDATE returns UPDATE returns
SET SET
"personID" = COALESCE($1, "personID"), "person_id" = COALESCE($1, "person_id"),
"providerID" = COALESCE($2, "providerID"), "provider_id" = COALESCE($2, "provider_id"),
"name" = COALESCE($3, "name"), "name" = COALESCE($3, "name"),
"description" = COALESCE($4, "description"), "description" = COALESCE($4, "description"),
"category" = COALESCE($5, "category"), "category" = COALESCE($5, "category"),
@ -171,13 +171,13 @@ SET
"status" = COALESCE($7, "status"), "status" = COALESCE($7, "status"),
"changer" = $8, "changer" = $8,
"changed" = now() "changed" = now()
WHERE "ID" = $9 WHERE "id" = $9
RETURNING "ID", "personID", "providerID", name, description, category, email, status, creator, created, changer, changed RETURNING id, person_id, provider_id, name, description, category, email, status, creator, created, changer, changed
` `
type UpdateReturnParams struct { type UpdateReturnParams struct {
Personid sql.NullInt64 `json:"personid"` PersonID sql.NullInt64 `json:"person_id"`
Providerid sql.NullInt64 `json:"providerid"` ProviderID sql.NullInt64 `json:"provider_id"`
Name sql.NullString `json:"name"` Name sql.NullString `json:"name"`
Description sql.NullString `json:"description"` Description sql.NullString `json:"description"`
Category sql.NullString `json:"category"` Category sql.NullString `json:"category"`
@ -189,8 +189,8 @@ type UpdateReturnParams struct {
func (q *Queries) UpdateReturn(ctx context.Context, arg UpdateReturnParams) (Return, error) { func (q *Queries) UpdateReturn(ctx context.Context, arg UpdateReturnParams) (Return, error) {
row := q.db.QueryRowContext(ctx, updateReturn, row := q.db.QueryRowContext(ctx, updateReturn,
arg.Personid, arg.PersonID,
arg.Providerid, arg.ProviderID,
arg.Name, arg.Name,
arg.Description, arg.Description,
arg.Category, arg.Category,

View File

@ -18,8 +18,8 @@ func createRandomReturn(t *testing.T) Return {
creator := util.RandomName() creator := util.RandomName()
arg := CreateReturnParams{ arg := CreateReturnParams{
Personid: person.ID, PersonID: person.ID,
Providerid: provider.ID, ProviderID: provider.ID,
Status: util.RandomString(7), Status: util.RandomString(7),
Name: util.RandomName(), Name: util.RandomName(),
Description: util.RandomString(30), Description: util.RandomString(30),
@ -34,8 +34,8 @@ func createRandomReturn(t *testing.T) Return {
require.NotEmpty(t, ret) require.NotEmpty(t, ret)
require.Equal(t, arg.Name, ret.Name) require.Equal(t, arg.Name, ret.Name)
require.Equal(t, arg.Personid, ret.PersonID) require.Equal(t, arg.PersonID, ret.PersonID)
require.Equal(t, arg.Providerid, ret.ProviderID) require.Equal(t, arg.ProviderID, ret.ProviderID)
require.Equal(t, arg.Description, ret.Description) require.Equal(t, arg.Description, ret.Description)
require.Equal(t, arg.Category, ret.Category) require.Equal(t, arg.Category, ret.Category)
require.Equal(t, arg.Status, ret.Status) require.Equal(t, arg.Status, ret.Status)

View File

@ -12,8 +12,8 @@ import (
const createReturnsLog = `-- name: CreateReturnsLog :one const createReturnsLog = `-- name: CreateReturnsLog :one
INSERT INTO "returnsLog" ( INSERT INTO "returnsLog" (
"returnID", "return_id",
"mailID", "mail_id",
"status", "status",
"creator", "creator",
"changer" "changer"
@ -23,20 +23,20 @@ INSERT INTO "returnsLog" (
$3, $3,
$4, $4,
$4 $4
) RETURNING "ID", "returnID", "mailID", status, creator, created, changer, changed ) RETURNING id, return_id, mail_id, status, creator, created, changer, changed
` `
type CreateReturnsLogParams struct { type CreateReturnsLogParams struct {
Returnid int64 `json:"returnid"` ReturnID int64 `json:"return_id"`
Mailid int64 `json:"mailid"` MailID int64 `json:"mail_id"`
Status sql.NullString `json:"status"` Status sql.NullString `json:"status"`
Creator string `json:"creator"` Creator string `json:"creator"`
} }
func (q *Queries) CreateReturnsLog(ctx context.Context, arg CreateReturnsLogParams) (ReturnsLog, error) { func (q *Queries) CreateReturnsLog(ctx context.Context, arg CreateReturnsLogParams) (ReturnsLog, error) {
row := q.db.QueryRowContext(ctx, createReturnsLog, row := q.db.QueryRowContext(ctx, createReturnsLog,
arg.Returnid, arg.ReturnID,
arg.Mailid, arg.MailID,
arg.Status, arg.Status,
arg.Creator, arg.Creator,
) )
@ -56,7 +56,7 @@ func (q *Queries) CreateReturnsLog(ctx context.Context, arg CreateReturnsLogPara
const deleteReturnsLog = `-- name: DeleteReturnsLog :exec const deleteReturnsLog = `-- name: DeleteReturnsLog :exec
DELETE FROM "returnsLog" DELETE FROM "returnsLog"
WHERE "ID" = $1 WHERE "id" = $1
` `
func (q *Queries) DeleteReturnsLog(ctx context.Context, id int64) error { func (q *Queries) DeleteReturnsLog(ctx context.Context, id int64) error {
@ -65,8 +65,8 @@ func (q *Queries) DeleteReturnsLog(ctx context.Context, id int64) error {
} }
const getReturnsLog = `-- name: GetReturnsLog :one const getReturnsLog = `-- name: GetReturnsLog :one
SELECT "ID", "returnID", "mailID", status, creator, created, changer, changed FROM "returnsLog" SELECT id, return_id, mail_id, status, creator, created, changer, changed FROM "returnsLog"
WHERE "ID" = $1 LIMIT 1 WHERE "id" = $1 LIMIT 1
` `
func (q *Queries) GetReturnsLog(ctx context.Context, id int64) (ReturnsLog, error) { func (q *Queries) GetReturnsLog(ctx context.Context, id int64) (ReturnsLog, error) {
@ -86,7 +86,7 @@ func (q *Queries) GetReturnsLog(ctx context.Context, id int64) (ReturnsLog, erro
} }
const listReturnsLogs = `-- name: ListReturnsLogs :many const listReturnsLogs = `-- name: ListReturnsLogs :many
SELECT "ID", "returnID", "mailID", status, creator, created, changer, changed FROM "returnsLog" SELECT id, return_id, mail_id, status, creator, created, changer, changed FROM "returnsLog"
ORDER BY "status" ORDER BY "status"
LIMIT $1 LIMIT $1
OFFSET $2 OFFSET $2
@ -132,19 +132,19 @@ func (q *Queries) ListReturnsLogs(ctx context.Context, arg ListReturnsLogsParams
const updateReturnsLog = `-- name: UpdateReturnsLog :one const updateReturnsLog = `-- name: UpdateReturnsLog :one
UPDATE "returnsLog" UPDATE "returnsLog"
SET SET
"returnID" = COALESCE($2, "returnID"), "return_id" = COALESCE($2, "return_id"),
"mailID" = COALESCE($3, "mailID"), "mail_id" = COALESCE($3, "mail_id"),
"status" = COALESCE($4, "status"), "status" = COALESCE($4, "status"),
"changer" = $1, "changer" = $1,
"changed" = now() "changed" = now()
WHERE "ID" = $5 WHERE "id" = $5
RETURNING "ID", "returnID", "mailID", status, creator, created, changer, changed RETURNING id, return_id, mail_id, status, creator, created, changer, changed
` `
type UpdateReturnsLogParams struct { type UpdateReturnsLogParams struct {
Changer string `json:"changer"` Changer string `json:"changer"`
Returnid sql.NullInt64 `json:"returnid"` ReturnID sql.NullInt64 `json:"return_id"`
Mailid sql.NullInt64 `json:"mailid"` MailID sql.NullInt64 `json:"mail_id"`
Status sql.NullString `json:"status"` Status sql.NullString `json:"status"`
ID int64 `json:"id"` ID int64 `json:"id"`
} }
@ -152,8 +152,8 @@ type UpdateReturnsLogParams struct {
func (q *Queries) UpdateReturnsLog(ctx context.Context, arg UpdateReturnsLogParams) (ReturnsLog, error) { func (q *Queries) UpdateReturnsLog(ctx context.Context, arg UpdateReturnsLogParams) (ReturnsLog, error) {
row := q.db.QueryRowContext(ctx, updateReturnsLog, row := q.db.QueryRowContext(ctx, updateReturnsLog,
arg.Changer, arg.Changer,
arg.Returnid, arg.ReturnID,
arg.Mailid, arg.MailID,
arg.Status, arg.Status,
arg.ID, arg.ID,
) )

View File

@ -18,8 +18,8 @@ func createRandomReturnsLog(t *testing.T) ReturnsLog {
creator := util.RandomName() creator := util.RandomName()
arg := CreateReturnsLogParams{ arg := CreateReturnsLogParams{
Returnid: ret.ID, ReturnID: ret.ID,
Mailid: mail.ID, MailID: mail.ID,
Status: sql.NullString{ Status: sql.NullString{
Valid: true, Valid: true,
String: util.RandomString(7), String: util.RandomString(7),
@ -31,8 +31,8 @@ func createRandomReturnsLog(t *testing.T) ReturnsLog {
require.NoError(t, err) require.NoError(t, err)
require.NotEmpty(t, returnsLog) require.NotEmpty(t, returnsLog)
require.Equal(t, arg.Returnid, returnsLog.ReturnID) require.Equal(t, arg.ReturnID, returnsLog.ReturnID)
require.Equal(t, arg.Mailid, returnsLog.MailID) require.Equal(t, arg.MailID, returnsLog.MailID)
require.Equal(t, arg.Status, returnsLog.Status) require.Equal(t, arg.Status, returnsLog.Status)
require.Equal(t, arg.Creator, returnsLog.Creator) require.Equal(t, arg.Creator, returnsLog.Creator)

View File

@ -8,6 +8,8 @@ import (
type CreateAccountTxParams struct { type CreateAccountTxParams struct {
Passwordhash string `json:"passwordhash"` Passwordhash string `json:"passwordhash"`
PrivacyAccepted sql.NullBool `json:"privacy_accepted"`
PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"`
Firstname string `json:"firstname"` Firstname string `json:"firstname"`
Lastname string `json:"lastname"` Lastname string `json:"lastname"`
Birthday time.Time `json:"birthday"` Birthday time.Time `json:"birthday"`
@ -27,22 +29,17 @@ type CreateAccountTxResult struct {
func (store *SQLStore) CreateAccountTx(ctx context.Context, arg CreateAccountTxParams) (Account, error) { func (store *SQLStore) CreateAccountTx(ctx context.Context, arg CreateAccountTxParams) (Account, error) {
var result CreateAccountTxResult var result CreateAccountTxResult
if arg.PrivacyAccepted.Bool && arg.PrivacyAccepted.Valid && !arg.PrivacyAcceptedDate.Valid {
arg.PrivacyAcceptedDate = sql.NullTime{
Valid: true,
Time: time.Now(),
}
}
err := store.execTx(ctx, func(q *Queries) error { err := store.execTx(ctx, func(q *Queries) error {
var err error var err error
result.Account, err = q.CreateAccount(ctx, CreateAccountParams(arg)) //{ result.Account, err = q.CreateAccount(ctx, CreateAccountParams(arg))
// Passwordhash: arg.Passwordhash,
// Firstname: arg.Firstname,
// Lastname: arg.Lastname,
// Birthday: arg.Birthday,
// City: arg.City,
// Zip: arg.Zip,
// Street: arg.Street,
// Country: arg.Country,
// Creator: arg.Creator,
// Phone: arg.Phone,
// Email: arg.Email,
// })
return err return err
}) })

View File

@ -3,12 +3,15 @@ package db
import ( import (
"context" "context"
"database/sql" "database/sql"
"time"
) )
type UpdateAccountTxParams struct { type UpdateAccountTxParams struct {
ID int64 `json:"ID"` ID int64 `json:"ID"`
Changer string `json:"changer"` Changer string `json:"changer"`
Passwordhash sql.NullString `json:"passwordhash"` Passwordhash sql.NullString `json:"passwordhash"`
PrivacyAccepted sql.NullBool `json:"privacy_accepted"`
PrivacyAcceptedDate sql.NullTime `json:"privacy_accepted_date"`
Firstname sql.NullString `json:"firstname"` Firstname sql.NullString `json:"firstname"`
Lastname sql.NullString `json:"lastname"` Lastname sql.NullString `json:"lastname"`
Birthday sql.NullTime `json:"birthday"` Birthday sql.NullTime `json:"birthday"`
@ -27,10 +30,30 @@ type UpdateAccountTxResult struct {
func (store *SQLStore) UpdateAccountTx(ctx context.Context, arg UpdateAccountTxParams) (Account, error) { func (store *SQLStore) UpdateAccountTx(ctx context.Context, arg UpdateAccountTxParams) (Account, error) {
var result UpdateAccountTxResult var result UpdateAccountTxResult
err := store.execTx(ctx, func(q *Queries) error { account, err := store.GetAccount(ctx, arg.ID)
if err != nil {
return Account{}, err
}
if arg.PrivacyAccepted.Bool && arg.PrivacyAccepted.Bool != account.PrivacyAccepted.Bool {
arg.PrivacyAcceptedDate = sql.NullTime{
Valid: true,
Time: time.Now(),
}
}
if !account.PrivacyAccepted.Bool && !arg.PrivacyAccepted.Bool {
arg.PrivacyAcceptedDate = sql.NullTime{
Valid: true,
Time: time.Time{},
}
}
err = store.execTx(ctx, func(q *Queries) error {
var err error var err error
result.Account, err = q.UpdateAccount(ctx, UpdateAccountParams(arg)) result.Account, err = q.UpdateAccount(ctx, UpdateAccountParams(arg))
return err return err
}) })
return result.Account, err return result.Account, err
} }