summaryrefslogtreecommitdiff
path: root/model
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2024-10-11 22:47:16 +0200
committerRené 'Necoro' Neumann <necoro@necoro.eu>2024-10-11 22:47:39 +0200
commitb46012f212a4302b4d1325d8fdf9634e7083e76a (patch)
tree095d00491c385c33674f5a0a11128a543a48c485 /model
parente79d3d7163657f7a540530dddb319f984885e864 (diff)
downloadgosten-b46012f212a4302b4d1325d8fdf9634e7083e76a.tar.gz
gosten-b46012f212a4302b4d1325d8fdf9634e7083e76a.tar.bz2
gosten-b46012f212a4302b4d1325d8fdf9634e7083e76a.zip
First draft of recurrent costs and categories
Diffstat (limited to 'model')
-rw-r--r--model/categories.sql.go46
-rw-r--r--model/models.go2
-rw-r--r--model/rexps.sql.go59
3 files changed, 106 insertions, 1 deletions
diff --git a/model/categories.sql.go b/model/categories.sql.go
new file mode 100644
index 0000000..74eb8a9
--- /dev/null
+++ b/model/categories.sql.go
@@ -0,0 +1,46 @@
+// Code generated by sqlc. DO NOT EDIT.
+// versions:
+// sqlc v1.25.0
+// source: categories.sql
+
+package model
+
+import (
+ "context"
+)
+
+const getCategories = `-- name: GetCategories :many
+SELECT id, name
+ FROM categories
+ WHERE user_id = $1
+`
+
+type GetCategoriesRow struct {
+ ID int32
+ Name string
+}
+
+// GetCategories
+//
+// SELECT id, name
+// FROM categories
+// WHERE user_id = $1
+func (q *Queries) GetCategories(ctx context.Context, userID int32) ([]GetCategoriesRow, error) {
+ rows, err := q.db.Query(ctx, getCategories, userID)
+ if err != nil {
+ return nil, err
+ }
+ defer rows.Close()
+ var items []GetCategoriesRow
+ for rows.Next() {
+ var i GetCategoriesRow
+ if err := rows.Scan(&i.ID, &i.Name); err != nil {
+ return nil, err
+ }
+ items = append(items, i)
+ }
+ if err := rows.Err(); err != nil {
+ return nil, err
+ }
+ return items, nil
+}
diff --git a/model/models.go b/model/models.go
index 2ac5a4b..b2a47dc 100644
--- a/model/models.go
+++ b/model/models.go
@@ -15,7 +15,7 @@ type Category struct {
UserID int32
}
-type ConstExpense struct {
+type RecurExpense struct {
ID int32
Description pgtype.Text
Expense pgtype.Numeric
diff --git a/model/rexps.sql.go b/model/rexps.sql.go
new file mode 100644
index 0000000..9b32c5b
--- /dev/null
+++ b/model/rexps.sql.go
@@ -0,0 +1,59 @@
+// Code generated by sqlc. DO NOT EDIT.
+// versions:
+// sqlc v1.25.0
+// source: rexps.sql
+
+package model
+
+import (
+ "context"
+
+ "github.com/jackc/pgx/v5/pgtype"
+)
+
+const getRecurExpenses = `-- name: GetRecurExpenses :many
+SELECT id, description, expense, duration, start, "end"
+ FROM recur_expenses
+ WHERE user_id = $1
+`
+
+type GetRecurExpensesRow struct {
+ ID int32
+ Description pgtype.Text
+ Expense pgtype.Numeric
+ Duration pgtype.Interval
+ Start pgtype.Date
+ End pgtype.Date
+}
+
+// GetRecurExpenses
+//
+// SELECT id, description, expense, duration, start, "end"
+// FROM recur_expenses
+// WHERE user_id = $1
+func (q *Queries) GetRecurExpenses(ctx context.Context, userID int32) ([]GetRecurExpensesRow, error) {
+ rows, err := q.db.Query(ctx, getRecurExpenses, userID)
+ if err != nil {
+ return nil, err
+ }
+ defer rows.Close()
+ var items []GetRecurExpensesRow
+ for rows.Next() {
+ var i GetRecurExpensesRow
+ if err := rows.Scan(
+ &i.ID,
+ &i.Description,
+ &i.Expense,
+ &i.Duration,
+ &i.Start,
+ &i.End,
+ ); err != nil {
+ return nil, err
+ }
+ items = append(items, i)
+ }
+ if err := rows.Err(); err != nil {
+ return nil, err
+ }
+ return items, nil
+}