chore(gonf): add a DECLARED promise status and make it the default instead of PROMISED

This commit is contained in:
Julien Dessaux 2024-09-04 09:11:35 +02:00
parent 48f2e9a2cb
commit 00cb3a2488
Signed by: adyxax
GPG key ID: F92E51B86E07177E
6 changed files with 49 additions and 21 deletions

View file

@ -33,13 +33,18 @@ type BorgClient struct {
status gonf.Status
}
var borgClient *BorgClient = nil
func (b *BorgClient) IfRepaired(p ...gonf.Promise) gonf.Promise {
b.chain = append(b.chain, p...)
return b
}
func (b *BorgClient) Promise() *BorgClient {
gonf.MakeCustomPromise(b).Promise()
if b.status == gonf.DECLARED {
b.status = gonf.PROMISED
gonf.MakeCustomPromise(b).Promise()
}
return b
}
@ -101,12 +106,15 @@ func (b BorgClient) Status() gonf.Status {
}
func Client() *BorgClient {
return &BorgClient{
chain: nil,
jobs: make(map[string]*Job),
path: "/etc/borg/",
status: gonf.PROMISED,
if borgClient == nil {
borgClient = &BorgClient{
chain: nil,
jobs: make(map[string]*Job),
path: "/etc/borg/",
status: gonf.DECLARED,
}
}
return borgClient
}
func (b *BorgClient) Add(name string, path string, privateKey []byte, hostname string) *BorgClient {

View file

@ -15,13 +15,18 @@ type BorgServer struct {
status gonf.Status
}
var borgServer *BorgServer = nil
func (b *BorgServer) IfRepaired(p ...gonf.Promise) gonf.Promise {
b.chain = append(b.chain, p...)
return b
}
func (b *BorgServer) Promise() *BorgServer {
gonf.MakeCustomPromise(b).Promise()
if b.status == gonf.DECLARED {
b.status = gonf.PROMISED
gonf.MakeCustomPromise(b).Promise()
}
return b
}
@ -80,13 +85,16 @@ func (b BorgServer) Status() gonf.Status {
}
func Server() *BorgServer {
return &BorgServer{
chain: nil,
clients: make(map[string][]byte),
path: "/srv/borg/",
user: "borg",
status: gonf.PROMISED,
if borgServer == nil {
borgServer = &BorgServer{
chain: nil,
clients: make(map[string][]byte),
path: "/srv/borg/",
user: "borg",
status: gonf.DECLARED,
}
}
return borgServer
}
func (b *BorgServer) Add(name string, publicKey []byte) *BorgServer {