aboutsummaryrefslogtreecommitdiffstats
path: root/src/k8splugin/db/store.go
diff options
context:
space:
mode:
authorVictor Morales <victor.morales@intel.com>2019-01-24 17:46:43 -0800
committerVictor Morales <victor.morales@intel.com>2019-01-25 16:52:38 -0800
commit083465d10c8fdeaffa89aa7daa93def3eca77df1 (patch)
tree23135a724a1628e986f9c6748b82f275763cdf10 /src/k8splugin/db/store.go
parent5c4e91705457dc4bdb5526e6f5210fa879ab659d (diff)
Use a standard Go project layout
This project wasn't following some Standard Go Project Layout guidelines(https://github.com/golang-standards/project-layout). This change pretends to organize the source code and following those guidelines. Change-Id: I61085ac20f28069cede013f83034bed06892d87c Signed-off-by: Victor Morales <victor.morales@intel.com> Issue-ID: MULTICLOUD-301
Diffstat (limited to 'src/k8splugin/db/store.go')
-rw-r--r--src/k8splugin/db/store.go83
1 files changed, 0 insertions, 83 deletions
diff --git a/src/k8splugin/db/store.go b/src/k8splugin/db/store.go
deleted file mode 100644
index a235597a..00000000
--- a/src/k8splugin/db/store.go
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
-Copyright 2018 Intel Corporation.
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-
-package db
-
-import (
- "encoding/json"
- "reflect"
-
- pkgerrors "github.com/pkg/errors"
-)
-
-// DBconn interface used to talk a concrete Database connection
-var DBconn Store
-
-// Store is an interface for accessing a database
-type Store interface {
- // Returns nil if db health is good
- HealthCheck() error
-
- // Unmarshal implements any unmarshaling needed for the database
- Unmarshal(inp []byte, out interface{}) error
-
- // Creates a new master table with key and links data with tag and
- // creates a pointer to the newly added data in the master table
- Create(table, key, tag string, data interface{}) error
-
- // Reads data for a particular key with specific tag.
- Read(table, key, tag string) ([]byte, error)
-
- //TODO: Update(context.Context, string, interface{}) error
-
- // Deletes a specific tag data for key.
- // TODO: If tag is empty, it will delete all tags under key.
- Delete(table, key, tag string) error
-
- // Reads all master tables and data from the specified tag in table
- ReadAll(table, tag string) (map[string][]byte, error)
-}
-
-// CreateDBClient creates the DB client
-func CreateDBClient(dbType string) error {
- var err error
- switch dbType {
- case "mongo":
- // create a mongodb database with k8splugin as the name
- DBconn, err = NewMongoStore("k8splugin", nil)
- case "consul":
- // create a consul kv store
- DBconn, err = NewConsulStore(nil)
- default:
- return pkgerrors.New(dbType + "DB not supported")
- }
- return err
-}
-
-// Serialize converts given data into a JSON string
-func Serialize(v interface{}) (string, error) {
- out, err := json.Marshal(v)
- if err != nil {
- return "", pkgerrors.Wrap(err, "Error serializing "+reflect.TypeOf(v).String())
- }
- return string(out), nil
-}
-
-// DeSerialize converts string to a json object specified by type
-func DeSerialize(str string, v interface{}) error {
- err := json.Unmarshal([]byte(str), &v)
- if err != nil {
- return pkgerrors.Wrap(err, "Error deSerializing "+str)
- }
- return nil
-}