wip
This commit is contained in:
@@ -5,7 +5,6 @@
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
|
||||
<include file="prepare-database.sql" relativeToChangelogFile="true"/>
|
||||
<include file="changeset/create-user.xml" relativeToChangelogFile="true"/>
|
||||
<include file="changeset/create-server.xml" relativeToChangelogFile="true"/>
|
||||
<include file="changeset/create-game.xml" relativeToChangelogFile="true"/>
|
||||
<include file="changeset/create-cage.xml" relativeToChangelogFile="true"/>
|
||||
<include file="changeset/create-hamster.xml" relativeToChangelogFile="true"/>
|
||||
|
||||
@@ -8,9 +8,6 @@
|
||||
<column name="id" type="uuid" defaultValueComputed="gen_random_uuid()">
|
||||
<constraints nullable="false" unique="true"/>
|
||||
</column>
|
||||
<column name="server_id" type="uuid">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
<column name="user_id" type="uuid">
|
||||
<constraints nullable="false"/>
|
||||
</column>
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<databaseChangeLog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
|
||||
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
|
||||
<changeSet id="add-server-table" author="kratisto">
|
||||
<createTable tableName="server">
|
||||
<column name="id" type="uuid" defaultValueComputed="gen_random_uuid()">
|
||||
<constraints nullable="false" unique="true"/>
|
||||
</column>
|
||||
<column name="name" type="text">
|
||||
<constraints nullable="true"/>
|
||||
</column>
|
||||
</createTable>
|
||||
</changeSet>
|
||||
</databaseChangeLog>
|
||||
@@ -9,7 +9,7 @@ import (
|
||||
|
||||
func (db *DatabasePostgreSQL) GetAllGames() ([]*model.Game, error) {
|
||||
q := `
|
||||
SELECT g.id, g.server_id, g.name, g.user_id, g.created_at, g.updated_at
|
||||
SELECT g.id, g.name, g.user_id, g.created_at, g.updated_at
|
||||
FROM public.game g
|
||||
`
|
||||
rows, err := db.session.Query(q)
|
||||
@@ -20,12 +20,9 @@ func (db *DatabasePostgreSQL) GetAllGames() ([]*model.Game, error) {
|
||||
|
||||
games := make([]*model.Game, 0)
|
||||
for rows.Next() {
|
||||
server := model.Server{}
|
||||
user := model.User{}
|
||||
game := model.Game{
|
||||
Server: server,
|
||||
}
|
||||
err := rows.Scan(&game.ID, &server.ID, &game.Name, &user.ID, &game.CreatedAt, &game.UpdatedAt)
|
||||
game := model.Game{}
|
||||
err := rows.Scan(&game.ID, &game.Name, &user.ID, &game.CreatedAt, &game.UpdatedAt)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -36,18 +33,14 @@ func (db *DatabasePostgreSQL) GetAllGames() ([]*model.Game, error) {
|
||||
|
||||
func (db *DatabasePostgreSQL) GetGameByID(id string) (*model.Game, error) {
|
||||
q := `
|
||||
SELECT g.id, g.server_id, g.name, g.user_id, g.created_at, g.updated_at
|
||||
SELECT g.id, g.name, g.user_id, g.created_at, g.updated_at
|
||||
FROM public.game g
|
||||
WHERE g.id = $1
|
||||
`
|
||||
row := db.session.QueryRow(q, id)
|
||||
|
||||
server := model.Server{}
|
||||
user := model.User{}
|
||||
game := model.Game{
|
||||
Server: server,
|
||||
}
|
||||
err := row.Scan(&game.ID, &server.ID, &game.Name, &user.ID, &game.CreatedAt, &game.UpdatedAt)
|
||||
game := model.Game{}
|
||||
err := row.Scan(&game.ID, &game.Name, &user.ID, &game.CreatedAt, &game.UpdatedAt)
|
||||
if errPq, ok := err.(*pq.Error); ok {
|
||||
return nil, handlePgError(errPq)
|
||||
}
|
||||
@@ -60,14 +53,14 @@ func (db *DatabasePostgreSQL) GetGameByID(id string) (*model.Game, error) {
|
||||
func (db *DatabasePostgreSQL) CreateGame(game *model.Game) error {
|
||||
q := `
|
||||
INSERT INTO public.game
|
||||
(server_id, user_id, name)
|
||||
(user_id, name)
|
||||
VALUES
|
||||
($1, $2, $3)
|
||||
($1, $2)
|
||||
RETURNING id, created_at
|
||||
`
|
||||
|
||||
err := db.session.
|
||||
QueryRow(q, game.Server.ID, game.User.ID, game.Name).
|
||||
QueryRow(q, game.User.ID, game.Name).
|
||||
Scan(&game.ID, &game.CreatedAt)
|
||||
if errPq, ok := err.(*pq.Error); ok {
|
||||
return handlePgError(errPq)
|
||||
|
||||
@@ -5,7 +5,6 @@ import "time"
|
||||
type Game struct {
|
||||
ID string `json:"game_id"`
|
||||
User User `json:"-"`
|
||||
Server Server `json:"server"`
|
||||
Name string `json:"name"`
|
||||
Cages []*Cage `json:"cages"`
|
||||
SoldHamster []*Hamster `json:"sold_hamsters"`
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
package model
|
||||
|
||||
type Server struct {
|
||||
ID string
|
||||
}
|
||||
Reference in New Issue
Block a user