db.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package manager
  2. import (
  3. "fmt"
  4. "github.com/boltdb/bolt"
  5. )
  6. type dbAdapter interface {
  7. ListWorkers() ([]worker, error)
  8. GetWorker(workerID string) (worker, error)
  9. CreateWorker(w worker) (worker, error)
  10. UpdateMirrorStatus(workerID, mirrorID string, status mirrorStatus) (mirrorStatus, error)
  11. GetMirrorStatus(workerID, mirrorID string) (mirrorStatus, error)
  12. ListMirrorStatus(workerID string) ([]mirrorStatus, error)
  13. ListAllMirrorStatus() ([]mirrorStatus, error)
  14. Close() error
  15. }
  16. func makeDBAdapter(dbType string, dbFile string) (dbAdapter, error) {
  17. if dbType == "bolt" {
  18. innerDB, err := bolt.Open(dbFile, 0600, nil)
  19. if err != nil {
  20. return nil, err
  21. }
  22. db := boltAdapter{
  23. db: innerDB,
  24. dbFile: dbFile,
  25. }
  26. return &db, nil
  27. }
  28. // unsupported db-type
  29. return nil, fmt.Errorf("unsupported db-type: %s", dbType)
  30. }
  31. type boltAdapter struct {
  32. db *bolt.DB
  33. dbFile string
  34. }
  35. func (b *boltAdapter) ListWorkers() ([]worker, error) {
  36. return []worker{}, nil
  37. }
  38. func (b *boltAdapter) GetWorker(workerID string) (worker, error) {
  39. return worker{}, nil
  40. }
  41. func (b *boltAdapter) CreateWorker(w worker) (worker, error) {
  42. return worker{}, nil
  43. }
  44. func (b *boltAdapter) UpdateMirrorStatus(workerID, mirrorID string, status mirrorStatus) (mirrorStatus, error) {
  45. return mirrorStatus{}, nil
  46. }
  47. func (b *boltAdapter) GetMirrorStatus(workerID, mirrorID string) (mirrorStatus, error) {
  48. return mirrorStatus{}, nil
  49. }
  50. func (b *boltAdapter) ListMirrorStatus(workerID string) ([]mirrorStatus, error) {
  51. return []mirrorStatus{}, nil
  52. }
  53. func (b *boltAdapter) ListAllMirrorStatus() ([]mirrorStatus, error) {
  54. return []mirrorStatus{}, nil
  55. }
  56. func (b *boltAdapter) Close() error {
  57. if b.db != nil {
  58. return b.db.Close()
  59. }
  60. return nil
  61. }