cerman updated
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package database
|
||||
|
||||
import (
|
||||
"context"
|
||||
"path/filepath"
|
||||
|
||||
"certmanager/pkg/logger"
|
||||
@@ -10,18 +11,20 @@ import (
|
||||
)
|
||||
|
||||
const schema = `
|
||||
--- DROP TABLE IF EXISTS issuer;
|
||||
DROP TABLE IF EXISTS issuer;
|
||||
CREATE TABLE IF NOT EXISTS issuer (
|
||||
id INT NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
cert TEXT NOT NULL,
|
||||
key TEXT,
|
||||
revoked BOOL
|
||||
id INT NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
cert TEXT NOT NULL,
|
||||
key TEXT,
|
||||
signer_id INT NOT NULL,
|
||||
signer_name TEXT NOT NULL,
|
||||
revoked BOOL
|
||||
);
|
||||
CREATE INDEX IF NOT EXISTS issuer_index
|
||||
ON issuer(id, name);
|
||||
|
||||
--- DROP TABLE IF EXISTS service;
|
||||
DROP TABLE IF EXISTS service;
|
||||
CREATE TABLE IF NOT EXISTS service (
|
||||
id INT NOT NULL,
|
||||
issuer_id INT NOT NULL,
|
||||
@@ -71,3 +74,16 @@ func (db *Database) InitDatabase() error {
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *Database) CleanDatabase(ctx context.Context) error {
|
||||
var err error
|
||||
request := `
|
||||
DELETE FROM issuer;
|
||||
DELETE FROM service;
|
||||
`
|
||||
_, err = db.db.Exec(request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -4,23 +4,20 @@ import (
|
||||
"context"
|
||||
|
||||
"certmanager/internal/descriptor"
|
||||
"certmanager/pkg/auxid"
|
||||
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
func (db *Database) InsertIssuer(ctx context.Context, issuer *descriptor.Issuer) (int64, error) {
|
||||
func (db *Database) InsertIssuer(ctx context.Context, issuer *descriptor.Issuer) error {
|
||||
var err error
|
||||
var res int64
|
||||
issuer.ID = auxid.GenID()
|
||||
request := `INSERT INTO issuer(id, name, cert, key, revoked)
|
||||
VALUES ($1, $2, $3, $4, $5)`
|
||||
_, err = db.db.Exec(request, issuer.ID, issuer.Name, issuer.Cert, issuer.Key, issuer.Revoked)
|
||||
request := `INSERT INTO issuer(id, name, cert, key, revoked, signer_id, signer_name)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7)`
|
||||
_, err = db.db.Exec(request, issuer.ID, issuer.Name, issuer.Cert, issuer.Key, issuer.Revoked,
|
||||
issuer.SignerID, issuer.SignerName)
|
||||
if err != nil {
|
||||
return res, err
|
||||
return err
|
||||
}
|
||||
res = issuer.ID
|
||||
return res, err
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *Database) UpdateIssuerByID(ctx context.Context, issuerID int64, issuer *descriptor.Issuer) error {
|
||||
@@ -35,7 +32,7 @@ func (db *Database) UpdateIssuerByID(ctx context.Context, issuerID int64, issuer
|
||||
|
||||
func (db *Database) ListIssuers(ctx context.Context) ([]descriptor.Issuer, error) {
|
||||
var err error
|
||||
request := `SELECT id, name, revoked FROM issuer`
|
||||
request := `SELECT id, name, signer_id, signer_name, revoked FROM issuer`
|
||||
res := make([]descriptor.Issuer, 0)
|
||||
err = db.db.Select(&res, request)
|
||||
if err != nil {
|
||||
@@ -48,7 +45,7 @@ func (db *Database) GetIssuerByID(ctx context.Context, issuerID int64) (bool, *d
|
||||
var err error
|
||||
var res *descriptor.Issuer
|
||||
var exists bool
|
||||
request := `SELECT id, name, cert, key, revoked FROM issuer WHERE id = $1 LiMIT 1`
|
||||
request := `SELECT id, name, cert, key, revoked, signer_id, signer_name FROM issuer WHERE id = $1 LiMIT 1`
|
||||
dbRes := make([]descriptor.Issuer, 0)
|
||||
err = db.db.Select(&dbRes, request, issuerID)
|
||||
if err != nil {
|
||||
@@ -66,7 +63,7 @@ func (db *Database) GetIssuerByName(ctx context.Context, issuerName string) (boo
|
||||
var err error
|
||||
var res *descriptor.Issuer
|
||||
var exists bool
|
||||
request := `SELECT id, name, cert, key, revoked FROM issuer WHERE name = $1 LIMIT 1`
|
||||
request := `SELECT id, name, cert, key, revoked, signer_id, signer_name FROM issuer WHERE name = $1 LIMIT 1`
|
||||
dbRes := make([]descriptor.Issuer, 0)
|
||||
err = db.db.Select(&dbRes, request, issuerName)
|
||||
if err != nil {
|
||||
|
||||
@@ -4,24 +4,20 @@ import (
|
||||
"context"
|
||||
|
||||
"certmanager/internal/descriptor"
|
||||
"certmanager/pkg/auxid"
|
||||
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
func (db *Database) InsertService(ctx context.Context, service *descriptor.Service) (int64, error) {
|
||||
func (db *Database) InsertService(ctx context.Context, service *descriptor.Service) error {
|
||||
var err error
|
||||
var res int64
|
||||
service.ID = auxid.GenID()
|
||||
request := `INSERT INTO service(id, issuer_id, name, cert, key, revoked, issuer_name)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7)`
|
||||
_, err = db.db.Exec(request, service.ID, service.IssuerID, service.Name, service.Cert,
|
||||
service.Key, service.Revoked, service.IssuerName)
|
||||
if err != nil {
|
||||
return res, err
|
||||
return err
|
||||
}
|
||||
res = service.ID
|
||||
return res, err
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *Database) UpdateServiceByID(ctx context.Context, serviceID int64, service *descriptor.Service) error {
|
||||
@@ -36,7 +32,7 @@ func (db *Database) UpdateServiceByID(ctx context.Context, serviceID int64, serv
|
||||
|
||||
func (db *Database) ListServices(ctx context.Context) ([]descriptor.Service, error) {
|
||||
var err error
|
||||
request := `SELECT * FROM service`
|
||||
request := `SELECT id, name, issuer_id, issuer_name, revoked FROM service`
|
||||
res := make([]descriptor.Service, 0)
|
||||
err = db.db.Select(&res, request)
|
||||
if err != nil {
|
||||
@@ -81,7 +77,7 @@ func (db *Database) GetServiceByName(ctx context.Context, serviceName string) (b
|
||||
return exists, res, err
|
||||
}
|
||||
|
||||
func (db *Database) XXXDeleteServiceByID(ctx context.Context, serviceID int64) error {
|
||||
func (db *Database) DeleteServiceByID(ctx context.Context, serviceID int64) error {
|
||||
var err error
|
||||
request := `DELETE FROM service WHERE id = $1`
|
||||
_, err = db.db.Exec(request, serviceID)
|
||||
@@ -91,7 +87,7 @@ func (db *Database) XXXDeleteServiceByID(ctx context.Context, serviceID int64) e
|
||||
return err
|
||||
}
|
||||
|
||||
func (db *Database) XXXDeleteServiceByName(ctx context.Context, serviceName string) error {
|
||||
func (db *Database) DeleteServiceByName(ctx context.Context, serviceName string) error {
|
||||
var err error
|
||||
request := `DELETE FROM service WHERE name = $1`
|
||||
_, err = db.db.Exec(request, serviceName)
|
||||
|
||||
Reference in New Issue
Block a user