Example #1
0
        public async Task <object> Post([FromBody] dynamic model)
        {
            if (model == null)
            {
                throw new ApiArgumentException("model");
            }

            if (model.expires_on == null)
            {
                throw new ApiArgumentException("expires_on");
            }

            string   purpose   = DynamicHelper.Value(model.purpose) ?? string.Empty;
            DateTime?expiresOn = DynamicHelper.Value(model.expires_on) != String.Empty ? DynamicHelper.To <DateTime>(model.expires_on) : null;

            ApiToken token = _keyProvider.GenerateKey(purpose);

            token.Key.ExpiresOn = expiresOn;

            await _keyProvider.SaveKey(token.Key);

            //
            // Create response
            dynamic key = ApiKeyHelper.ToJsonModel(token);

            return(Created(ApiKeyHelper.GetLocation(key.id), key));
        }
Example #2
0
        public async Task <object> Get()
        {
            SetAntiForgeryTokens();

            IEnumerable <ApiKey> keys = await _keyProvider.GetAllKeys();

            // Set HTTP header for total count
            Context.Response.SetItemsCount(keys.Count());

            return(new {
                api_keys = keys.Select(k => ApiKeyHelper.ToJsonModel(k))
            });
        }
Example #3
0
        public object Get(string id)
        {
            ApiKey key = _keyProvider.GetKey(id);

            if (key == null)
            {
                return(NotFound());
            }

            SetAntiForgeryTokens();

            return(ApiKeyHelper.ToJsonModel(key));
        }
Example #4
0
        public async Task <object> Patch(string id, [FromBody] dynamic model)
        {
            ApiKey key = _keyProvider.GetKey(id);

            if (key == null)
            {
                return(NotFound());
            }

            ApiKeyHelper.Update(key, model);

            await _keyProvider.SaveKey(key);

            return(ApiKeyHelper.ToJsonModel(key));
        }