aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/google.golang.org/appengine/datastore/metadata.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/google.golang.org/appengine/datastore/metadata.go')
-rw-r--r--vendor/google.golang.org/appengine/datastore/metadata.go78
1 files changed, 0 insertions, 78 deletions
diff --git a/vendor/google.golang.org/appengine/datastore/metadata.go b/vendor/google.golang.org/appengine/datastore/metadata.go
deleted file mode 100644
index 6acacc3..0000000
--- a/vendor/google.golang.org/appengine/datastore/metadata.go
+++ /dev/null
@@ -1,78 +0,0 @@
-// Copyright 2016 Google Inc. All rights reserved.
-// Use of this source code is governed by the Apache 2.0
-// license that can be found in the LICENSE file.
-
-package datastore
-
-import "golang.org/x/net/context"
-
-// Datastore kinds for the metadata entities.
-const (
- namespaceKind = "__namespace__"
- kindKind = "__kind__"
- propertyKind = "__property__"
-)
-
-// Namespaces returns all the datastore namespaces.
-func Namespaces(ctx context.Context) ([]string, error) {
- // TODO(djd): Support range queries.
- q := NewQuery(namespaceKind).KeysOnly()
- keys, err := q.GetAll(ctx, nil)
- if err != nil {
- return nil, err
- }
- // The empty namespace key uses a numeric ID (==1), but luckily
- // the string ID defaults to "" for numeric IDs anyway.
- return keyNames(keys), nil
-}
-
-// Kinds returns the names of all the kinds in the current namespace.
-func Kinds(ctx context.Context) ([]string, error) {
- // TODO(djd): Support range queries.
- q := NewQuery(kindKind).KeysOnly()
- keys, err := q.GetAll(ctx, nil)
- if err != nil {
- return nil, err
- }
- return keyNames(keys), nil
-}
-
-// keyNames returns a slice of the provided keys' names (string IDs).
-func keyNames(keys []*Key) []string {
- n := make([]string, 0, len(keys))
- for _, k := range keys {
- n = append(n, k.StringID())
- }
- return n
-}
-
-// KindProperties returns all the indexed properties for the given kind.
-// The properties are returned as a map of property names to a slice of the
-// representation types. The representation types for the supported Go property
-// types are:
-// "INT64": signed integers and time.Time
-// "DOUBLE": float32 and float64
-// "BOOLEAN": bool
-// "STRING": string, []byte and ByteString
-// "POINT": appengine.GeoPoint
-// "REFERENCE": *Key
-// "USER": (not used in the Go runtime)
-func KindProperties(ctx context.Context, kind string) (map[string][]string, error) {
- // TODO(djd): Support range queries.
- kindKey := NewKey(ctx, kindKind, kind, 0, nil)
- q := NewQuery(propertyKind).Ancestor(kindKey)
-
- propMap := map[string][]string{}
- props := []struct {
- Repr []string `datastore:"property_representation"`
- }{}
-
- keys, err := q.GetAll(ctx, &props)
- if err != nil {
- return nil, err
- }
- for i, p := range props {
- propMap[keys[i].StringID()] = p.Repr
- }
- return propMap, nil
-}