mirror of
https://github.com/donl/gPanel.git
synced 2026-06-30 06:12:06 -06:00
started implimenting domain manager
This commit is contained in:
parent
1ba13fd5d9
commit
aeff7c00c8
13 changed files with 405 additions and 1 deletions
|
|
@ -14,6 +14,7 @@ import (
|
|||
const (
|
||||
DB_MAIN = "datastore.db"
|
||||
DB_SETTINGS = "settings.db"
|
||||
DB_DOMAINS = "domains.db"
|
||||
)
|
||||
|
||||
// Bucket constants
|
||||
|
|
@ -25,6 +26,9 @@ const (
|
|||
|
||||
// DB_SETTINGS BUCKETS
|
||||
BUCKET_GENERAL = "general"
|
||||
|
||||
// DB_DOMAINS BUCKETS
|
||||
BUCKET_DOMAINS = "domains"
|
||||
)
|
||||
|
||||
// Error codes
|
||||
|
|
@ -75,6 +79,13 @@ func Open(filepath string) (*Datastore, error) {
|
|||
}
|
||||
}
|
||||
|
||||
if strings.HasSuffix(filepath, DB_DOMAINS) {
|
||||
_, err = tx.CreateBucketIfNotExists([]byte(BUCKET_DOMAINS))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
|
|
|
|||
32
pkg/database/domains.go
Normal file
32
pkg/database/domains.go
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
package database
|
||||
|
||||
import (
|
||||
"github.com/boltdb/bolt"
|
||||
"encoding/json"
|
||||
)
|
||||
|
||||
type Struct_Domain struct {
|
||||
BundleName string `json:"name"`
|
||||
}
|
||||
|
||||
func (ds *Datastore) ListDomains(bundle string) (map[string]string, error) {
|
||||
filtered := make(map[string]string)
|
||||
var holder Struct_Domain
|
||||
|
||||
ds.handle.View(func(tx *bolt.Tx) error {
|
||||
b := tx.Bucket([]byte(BUCKET_DOMAINS))
|
||||
c := b.Cursor()
|
||||
|
||||
for k, v := c.First(); k != nil; k, v = c.Next() {
|
||||
json.Unmarshal(v, &holder)
|
||||
|
||||
if bundle == "*" || holder.BundleName == bundle {
|
||||
filtered[holder.BundleName] = string(k)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
|
||||
return filtered, nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue