Example #1
0
        internal DatastoreObjectMetadata(IDictionary <string, object> dict)
        {
            foreach (string key in dict.Keys)
            {
                object value;
                dict.TryGetValue(key, out value);
                if (value == null)
                {
                    continue;
                }
                string valueString = value.ToString();

                switch (key)
                {
                case "key":
                    Key = valueString;
                    break;

                case "owner":
                    Owner = valueString;
                    break;

                case "schema":
                    IDictionary <string, object> schema = (IDictionary <string, object>)value;
                    schema.TryGetValue("version", out value);
                    SchemaVersion = (long)value;
                    break;

                case "permissions":
                    Permission = DictionaryToPermission((IDictionary <string, object>)value);
                    break;

                case "created_at":
                    CreatedAt = (long)value;
                    break;

                case "updated_at":
                    UpdatedAt = (long)value;
                    break;

                case "ttl":
                    TTL = (long)value;
                    break;
                }
            }
        }
Example #2
0
        internal static IDictionary <string, object> ToDictionary(DatastorePermission permission)
        {
            int read  = 0;
            int write = 0;

            switch (permission)
            {
            case DatastorePermission.Inherit:
                return(null);

            case DatastorePermission.None:
                break;

            case DatastorePermission.ReadOnly:
                read = 1;
                break;

            case DatastorePermission.WriteOnly:
                write = 1;
                break;

            case DatastorePermission.ReadWrite:
                read  = 1;
                write = 1;
                break;

            case DatastorePermission.PublicRead:
                read = 2;
                break;

            case DatastorePermission.PublicReadOwnerWrite:
                read  = 2;
                write = 1;
                break;
            }

            IDictionary <string, object> value = new Dictionary <string, object> ();

            value.Add("read", read);
            value.Add("write", write);
            return(value);
        }