Introducing storage_facility

This commit is contained in:
nemunaire 2019-12-08 14:42:49 +01:00
parent 819a31d409
commit 728a3b307c
3 changed files with 25 additions and 18 deletions

View File

@ -92,6 +92,10 @@
placeholder="bar=="
ref="keyblob"
></b-form-input>
<b-form-group label="Storage facility">
<b-form-radio v-model="newForm.storage_facility" name="storage-facility" value="live">Live only</b-form-radio>
<b-form-radio v-model="newForm.storage_facility" name="storage-facility" value="historical">With history</b-form-radio>
</b-form-group>
</b-form-group>
</form>
</b-modal>
@ -106,7 +110,7 @@ export default {
data: function () {
return {
domainNameState: null,
newForm: {},
newForm: { storage_facility: 'live' },
zones: []
}
},
@ -160,6 +164,7 @@ export default {
this.newForm.server = ''
this.newForm.keyname = ''
this.newForm.keyblob = ''
this.newForm.storage_facility = 'live'
this.newForm.domainNameState = null
this.newForm.domainServerState = null
this.newForm.keyNameState = null

View File

@ -86,6 +86,7 @@ CREATE TABLE IF NOT EXISTS zones(
key_name VARCHAR(255) NOT NULL,
key_algo ENUM("hmac-md5.sig-alg.reg.int.", "hmac-sha1.", "hmac-sha224.", "hmac-sha256.", "hmac-sha384.", "hmac-sha512.") NOT NULL DEFAULT "hmac-sha256.",
key_blob BLOB NOT NULL,
storage_facility ENUM("live", "history") NOT NULL DEFAULT "live",
FOREIGN KEY(id_user) REFERENCES users(id_user)
) DEFAULT CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
`); err != nil {

View File

@ -5,24 +5,25 @@ import (
)
type Zone struct {
Id int64 `json:"id"`
idUser int64
DomainName string `json:"domain"`
Server string `json:"server,omitempty"`
KeyName string `json:"keyname,omitempty"`
KeyAlgo string `json:"algorithm,omitempty"`
KeyBlob []byte `json:"keyblob,omitempty"`
Id int64 `json:"id"`
idUser int64
DomainName string `json:"domain"`
Server string `json:"server,omitempty"`
KeyName string `json:"keyname,omitempty"`
KeyAlgo string `json:"algorithm,omitempty"`
KeyBlob []byte `json:"keyblob,omitempty"`
StorageFacility string `json:"storage_facility,omitempty"`
}
func GetZones() (zones []Zone, err error) {
if rows, errr := DBQuery("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob FROM zones"); errr != nil {
if rows, errr := DBQuery("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob, storage_facility FROM zones"); errr != nil {
return nil, errr
} else {
defer rows.Close()
for rows.Next() {
var z Zone
if err = rows.Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob); err != nil {
if err = rows.Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob, &z.StorageFacility); err != nil {
return
}
zones = append(zones, z)
@ -36,14 +37,14 @@ func GetZones() (zones []Zone, err error) {
}
func (u *User) GetZones() (zones []Zone, err error) {
if rows, errr := DBQuery("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob FROM zones WHERE id_user = ?", u.Id); errr != nil {
if rows, errr := DBQuery("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob, storage_facility FROM zones WHERE id_user = ?", u.Id); errr != nil {
return nil, errr
} else {
defer rows.Close()
for rows.Next() {
var z Zone
if err = rows.Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob); err != nil {
if err = rows.Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob, &z.StorageFacility); err != nil {
return
}
zones = append(zones, z)
@ -57,22 +58,22 @@ func (u *User) GetZones() (zones []Zone, err error) {
}
func GetZone(id int) (z Zone, err error) {
err = DBQueryRow("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob FROM zones WHERE id_zone=?", id).Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob)
err = DBQueryRow("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob, storage_facility FROM zones WHERE id_zone=?", id).Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob, &z.StorageFacility)
return
}
func (u *User) GetZone(id int) (z Zone, err error) {
err = DBQueryRow("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob FROM zones WHERE id_zone=? AND id_user=?", id, u.Id).Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob)
err = DBQueryRow("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob, storage_facility FROM zones WHERE id_zone=? AND id_user=?", id, u.Id).Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob, &z.StorageFacility)
return
}
func GetZoneByDN(dn string) (z Zone, err error) {
err = DBQueryRow("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob FROM zones WHERE domain=?", dn).Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob)
err = DBQueryRow("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob, storage_facility FROM zones WHERE domain=?", dn).Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob, &z.StorageFacility)
return
}
func (u *User) GetZoneByDN(dn string) (z Zone, err error) {
err = DBQueryRow("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob FROM zones WHERE domain=? AND id_user=?", dn, u.Id).Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob)
err = DBQueryRow("SELECT id_zone, id_user, domain, server, key_name, key_algo, key_blob, storage_facility FROM zones WHERE domain=? AND id_user=?", dn, u.Id).Scan(&z.Id, &z.idUser, &z.DomainName, &z.Server, &z.KeyName, &z.KeyAlgo, &z.KeyBlob, &z.StorageFacility)
return
}
@ -83,7 +84,7 @@ func ZoneExists(dn string) bool {
}
func (z *Zone) NewZone(u User) (Zone, error) {
if res, err := DBExec("INSERT INTO zones (id_user, domain, server, key_name, key_blob) VALUES (?, ?, ?, ?, ?)", u.Id, z.DomainName, z.Server, z.KeyName, z.KeyBlob); err != nil {
if res, err := DBExec("INSERT INTO zones (id_user, domain, server, key_name, key_blob, storage_facility) VALUES (?, ?, ?, ?, ?, ?)", u.Id, z.DomainName, z.Server, z.KeyName, z.KeyBlob, z.StorageFacility); err != nil {
return *z, err
} else if z.Id, err = res.LastInsertId(); err != nil {
return *z, err
@ -93,7 +94,7 @@ func (z *Zone) NewZone(u User) (Zone, error) {
}
func (z *Zone) Update() (int64, error) {
if res, err := DBExec("UPDATE zones SET domain = ?, key_name = ?, key_algo = ?, key_blob = ? WHERE id_zone = ?", z.DomainName, z.KeyName, z.KeyAlgo, z.KeyBlob, z.Id); err != nil {
if res, err := DBExec("UPDATE zones SET domain = ?, key_name = ?, key_algo = ?, key_blob = ?, storage_facility = ? WHERE id_zone = ?", z.DomainName, z.KeyName, z.KeyAlgo, z.KeyBlob, z.StorageFacility, z.Id); err != nil {
return 0, err
} else if nb, err := res.RowsAffected(); err != nil {
return 0, err