initial ideas
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
data.sqlite
|
1
cmd/api/main.go
Normal file
1
cmd/api/main.go
Normal file
@@ -0,0 +1 @@
|
||||
package main
|
BIN
data.sqlite-journal
Normal file
BIN
data.sqlite-journal
Normal file
Binary file not shown.
9
sqlc.yaml
Normal file
9
sqlc.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
version: "2"
|
||||
sql:
|
||||
- engine: "sqlite"
|
||||
queries: "vm/query.sql"
|
||||
schema: "vm/schema.sql"
|
||||
gen:
|
||||
go:
|
||||
package: "db"
|
||||
out: "vm/db"
|
31
vm/db/db.go
Normal file
31
vm/db/db.go
Normal file
@@ -0,0 +1,31 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.27.0
|
||||
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
)
|
||||
|
||||
type DBTX interface {
|
||||
ExecContext(context.Context, string, ...interface{}) (sql.Result, error)
|
||||
PrepareContext(context.Context, string) (*sql.Stmt, error)
|
||||
QueryContext(context.Context, string, ...interface{}) (*sql.Rows, error)
|
||||
QueryRowContext(context.Context, string, ...interface{}) *sql.Row
|
||||
}
|
||||
|
||||
func New(db DBTX) *Queries {
|
||||
return &Queries{db: db}
|
||||
}
|
||||
|
||||
type Queries struct {
|
||||
db DBTX
|
||||
}
|
||||
|
||||
func (q *Queries) WithTx(tx *sql.Tx) *Queries {
|
||||
return &Queries{
|
||||
db: tx,
|
||||
}
|
||||
}
|
33
vm/db/models.go
Normal file
33
vm/db/models.go
Normal file
@@ -0,0 +1,33 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.27.0
|
||||
|
||||
package db
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
)
|
||||
|
||||
type Vm struct {
|
||||
Id sql.NullInt64
|
||||
Name sql.NullString
|
||||
Vcenter sql.NullString
|
||||
CreationTime sql.NullString
|
||||
DeletionTime sql.NullString
|
||||
TinRpTime sql.NullFloat64
|
||||
BronzeRpTime sql.NullFloat64
|
||||
SilverRpTime sql.NullFloat64
|
||||
GoldRpTime sql.NullFloat64
|
||||
ResourcePool sql.NullString
|
||||
VmType sql.NullString
|
||||
PoweredOnPct sql.NullInt64
|
||||
Datacenter sql.NullString
|
||||
Cluster sql.NullString
|
||||
Folder sql.NullString
|
||||
ProvisionedDisk sql.NullFloat64
|
||||
InitialVcpus sql.NullInt64
|
||||
AvgVcpus sql.NullFloat64
|
||||
InitialRam sql.NullInt64
|
||||
AvgRam sql.NullFloat64
|
||||
SrmPlaceholder sql.NullInt64
|
||||
}
|
109
vm/db/query.sql.go
Normal file
109
vm/db/query.sql.go
Normal file
@@ -0,0 +1,109 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.27.0
|
||||
// source: query.sql
|
||||
|
||||
package db
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
)
|
||||
|
||||
const create = `-- name: Create :execresult
|
||||
insert into "vm" (
|
||||
"Name", "Vcenter"
|
||||
)
|
||||
values(?, ?)
|
||||
`
|
||||
|
||||
type CreateParams struct {
|
||||
Name sql.NullString
|
||||
Vcenter sql.NullString
|
||||
}
|
||||
|
||||
func (q *Queries) Create(ctx context.Context, arg CreateParams) (sql.Result, error) {
|
||||
return q.db.ExecContext(ctx, create, arg.Name, arg.Vcenter)
|
||||
}
|
||||
|
||||
const get = `-- name: Get :one
|
||||
select Id, Name, Vcenter, CreationTime, DeletionTime, TinRpTime, BronzeRpTime, SilverRpTime, GoldRpTime, ResourcePool, VmType, PoweredOnPct, Datacenter, Cluster, Folder, ProvisionedDisk, InitialVcpus, AvgVcpus, InitialRam, AvgRam, SrmPlaceholder from "vm" where "Name" = ?
|
||||
`
|
||||
|
||||
func (q *Queries) Get(ctx context.Context, name sql.NullString) (Vm, error) {
|
||||
row := q.db.QueryRowContext(ctx, get, name)
|
||||
var i Vm
|
||||
err := row.Scan(
|
||||
&i.Id,
|
||||
&i.Name,
|
||||
&i.Vcenter,
|
||||
&i.CreationTime,
|
||||
&i.DeletionTime,
|
||||
&i.TinRpTime,
|
||||
&i.BronzeRpTime,
|
||||
&i.SilverRpTime,
|
||||
&i.GoldRpTime,
|
||||
&i.ResourcePool,
|
||||
&i.VmType,
|
||||
&i.PoweredOnPct,
|
||||
&i.Datacenter,
|
||||
&i.Cluster,
|
||||
&i.Folder,
|
||||
&i.ProvisionedDisk,
|
||||
&i.InitialVcpus,
|
||||
&i.AvgVcpus,
|
||||
&i.InitialRam,
|
||||
&i.AvgRam,
|
||||
&i.SrmPlaceholder,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const list = `-- name: List :many
|
||||
select Id, Name, Vcenter, CreationTime, DeletionTime, TinRpTime, BronzeRpTime, SilverRpTime, GoldRpTime, ResourcePool, VmType, PoweredOnPct, Datacenter, Cluster, Folder, ProvisionedDisk, InitialVcpus, AvgVcpus, InitialRam, AvgRam, SrmPlaceholder from "vm" order by "Name"
|
||||
`
|
||||
|
||||
func (q *Queries) List(ctx context.Context) ([]Vm, error) {
|
||||
rows, err := q.db.QueryContext(ctx, list)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []Vm
|
||||
for rows.Next() {
|
||||
var i Vm
|
||||
if err := rows.Scan(
|
||||
&i.Id,
|
||||
&i.Name,
|
||||
&i.Vcenter,
|
||||
&i.CreationTime,
|
||||
&i.DeletionTime,
|
||||
&i.TinRpTime,
|
||||
&i.BronzeRpTime,
|
||||
&i.SilverRpTime,
|
||||
&i.GoldRpTime,
|
||||
&i.ResourcePool,
|
||||
&i.VmType,
|
||||
&i.PoweredOnPct,
|
||||
&i.Datacenter,
|
||||
&i.Cluster,
|
||||
&i.Folder,
|
||||
&i.ProvisionedDisk,
|
||||
&i.InitialVcpus,
|
||||
&i.AvgVcpus,
|
||||
&i.InitialRam,
|
||||
&i.AvgRam,
|
||||
&i.SrmPlaceholder,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
11
vm/query.sql
Normal file
11
vm/query.sql
Normal file
@@ -0,0 +1,11 @@
|
||||
-- name: Get :one
|
||||
select * from "vm" where "Name" = ?;
|
||||
|
||||
-- name: List :many
|
||||
select * from "vm" order by "Name";
|
||||
|
||||
-- name: Create :execresult
|
||||
insert into "vm" (
|
||||
"Name", "Vcenter"
|
||||
)
|
||||
values(?, ?);
|
23
vm/schema.sql
Normal file
23
vm/schema.sql
Normal file
@@ -0,0 +1,23 @@
|
||||
CREATE TABLE IF NOT EXISTS "vm" (
|
||||
"Id" INTEGER UNIQUE,
|
||||
"Name" TEXT,
|
||||
"Vcenter" TEXT,
|
||||
"CreationTime" TEXT,
|
||||
"DeletionTime" TEXT,
|
||||
"TinRpTime" REAL,
|
||||
"BronzeRpTime" REAL,
|
||||
"SilverRpTime" REAL,
|
||||
"GoldRpTime" REAL,
|
||||
"ResourcePool" TEXT,
|
||||
"VmType" TEXT,
|
||||
"PoweredOnPct" INTEGER,
|
||||
"Datacenter" TEXT,
|
||||
"Cluster" TEXT,
|
||||
"Folder" TEXT,
|
||||
"ProvisionedDisk" REAL,
|
||||
"InitialVcpus" INTEGER,
|
||||
"AvgVcpus" REAL,
|
||||
"InitialRam" INTEGER,
|
||||
"AvgRam" REAL,
|
||||
"SrmPlaceholder" INTEGER
|
||||
);
|
1
vm/service.go
Normal file
1
vm/service.go
Normal file
@@ -0,0 +1 @@
|
||||
package vm
|
Reference in New Issue
Block a user