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