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)); }
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)) }); }
public object Get(string id) { ApiKey key = _keyProvider.GetKey(id); if (key == null) { return(NotFound()); } SetAntiForgeryTokens(); return(ApiKeyHelper.ToJsonModel(key)); }
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)); }