feat: got sqlc to work
This commit is contained in:
32
backend/internal/database/db.go
Normal file
32
backend/internal/database/db.go
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// sqlc v1.29.0
|
||||||
|
|
||||||
|
package database
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
"github.com/jackc/pgx/v5"
|
||||||
|
"github.com/jackc/pgx/v5/pgconn"
|
||||||
|
)
|
||||||
|
|
||||||
|
type DBTX interface {
|
||||||
|
Exec(context.Context, string, ...interface{}) (pgconn.CommandTag, error)
|
||||||
|
Query(context.Context, string, ...interface{}) (pgx.Rows, error)
|
||||||
|
QueryRow(context.Context, string, ...interface{}) pgx.Row
|
||||||
|
}
|
||||||
|
|
||||||
|
func New(db DBTX) *Queries {
|
||||||
|
return &Queries{db: db}
|
||||||
|
}
|
||||||
|
|
||||||
|
type Queries struct {
|
||||||
|
db DBTX
|
||||||
|
}
|
||||||
|
|
||||||
|
func (q *Queries) WithTx(tx pgx.Tx) *Queries {
|
||||||
|
return &Queries{
|
||||||
|
db: tx,
|
||||||
|
}
|
||||||
|
}
|
||||||
57
backend/internal/database/models.go
Normal file
57
backend/internal/database/models.go
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// sqlc v1.29.0
|
||||||
|
|
||||||
|
package database
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/jackc/pgx/v5/pgtype"
|
||||||
|
)
|
||||||
|
|
||||||
|
type ConfirmationCode struct {
|
||||||
|
ID int64
|
||||||
|
UserID int64
|
||||||
|
Type int32
|
||||||
|
Code string
|
||||||
|
ExpiresAt pgtype.Timestamp
|
||||||
|
Used pgtype.Bool
|
||||||
|
Deleted pgtype.Bool
|
||||||
|
}
|
||||||
|
|
||||||
|
type LoginInformation struct {
|
||||||
|
ID int64
|
||||||
|
UserID int64
|
||||||
|
Email pgtype.Text
|
||||||
|
PasswordHash string
|
||||||
|
TotpEncrypted pgtype.Text
|
||||||
|
Email2faEnabled pgtype.Bool
|
||||||
|
PasswordChangeTime pgtype.Timestamp
|
||||||
|
}
|
||||||
|
|
||||||
|
type Profile struct {
|
||||||
|
ID int64
|
||||||
|
UserID int64
|
||||||
|
Name string
|
||||||
|
AvatarUrl pgtype.Text
|
||||||
|
Birthday pgtype.Timestamp
|
||||||
|
}
|
||||||
|
|
||||||
|
type Session struct {
|
||||||
|
ID int64
|
||||||
|
UserID int64
|
||||||
|
Guid string
|
||||||
|
Name pgtype.Text
|
||||||
|
Platform pgtype.Text
|
||||||
|
LatestIp pgtype.Text
|
||||||
|
LoginTime pgtype.Timestamp
|
||||||
|
LastSeenDate pgtype.Timestamp
|
||||||
|
Terminated pgtype.Bool
|
||||||
|
}
|
||||||
|
|
||||||
|
type User struct {
|
||||||
|
ID int64
|
||||||
|
Username string
|
||||||
|
Verified pgtype.Bool
|
||||||
|
Banned pgtype.Bool
|
||||||
|
RegistrationDate pgtype.Timestamp
|
||||||
|
}
|
||||||
27
backend/internal/database/query.sql.go
Normal file
27
backend/internal/database/query.sql.go
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
|
// versions:
|
||||||
|
// sqlc v1.29.0
|
||||||
|
// source: query.sql
|
||||||
|
|
||||||
|
package database
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
)
|
||||||
|
|
||||||
|
const createUser = `-- name: CreateUser :one
|
||||||
|
INSERT INTO users(username, verified, banned, registration_date) VALUES ($1, false, false, NOW()) RETURNING id, username, verified, banned, registration_date
|
||||||
|
`
|
||||||
|
|
||||||
|
func (q *Queries) CreateUser(ctx context.Context, username string) (User, error) {
|
||||||
|
row := q.db.QueryRow(ctx, createUser, username)
|
||||||
|
var i User
|
||||||
|
err := row.Scan(
|
||||||
|
&i.ID,
|
||||||
|
&i.Username,
|
||||||
|
&i.Verified,
|
||||||
|
&i.Banned,
|
||||||
|
&i.RegistrationDate,
|
||||||
|
)
|
||||||
|
return i, err
|
||||||
|
}
|
||||||
@@ -38,6 +38,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- ./postgres_data:/var/lib/postgresql/data
|
- ./postgres_data:/var/lib/postgresql/data
|
||||||
- ./sqlc/schema.sql:/docker-entrypoint-initdb.d/init.sql
|
- ./sqlc/schema.sql:/docker-entrypoint-initdb.d/init.sql
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: eqalpha/keydb
|
image: eqalpha/keydb
|
||||||
command: ["redis-server", "--requirepass", "${REDIS_PASSWORD}"]
|
command: ["redis-server", "--requirepass", "${REDIS_PASSWORD}"]
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
-- name: CreateUser :one
|
-- name: CreateUser :one
|
||||||
INSERT INTO user (username, verified, banned, registration_date) VALUES ($1, false, false, NOW()) RETURNING id, username, verified, banned, registration_date;
|
INSERT INTO users(username, verified, banned, registration_date) VALUES ($1, false, false, NOW()) RETURNING id, username, verified, banned, registration_date;
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
CREATE TABLE IF NOT EXISTS "users" (
|
CREATE TABLE IF NOT EXISTS "users" (
|
||||||
id BIGSERIAL PRIMARY KEY,
|
id BIGSERIAL PRIMARY KEY,
|
||||||
username VARCHAR(20) UNIQUE NOT NULL,
|
username VARCHAR(20) UNIQUE NOT NULL,
|
||||||
banned BOOLEAN NOT NULL,
|
verified BOOLEAN,
|
||||||
|
banned BOOLEAN,
|
||||||
registration_date TIMESTAMP NOT NULL
|
registration_date TIMESTAMP NOT NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
version: "2"
|
version: "2"
|
||||||
sql:
|
sql:
|
||||||
- schema: "../postgresql/schema.sql"
|
- schema: "schema.sql"
|
||||||
queries: "query.sql"
|
queries: "query.sql"
|
||||||
engine: "postgresql"
|
engine: "postgresql"
|
||||||
gen:
|
gen:
|
||||||
|
|||||||
Reference in New Issue
Block a user