Esempio n. 1
0
        public override Task CreateSensorKey(SensateApiKey key, Sensor sensor, CancellationToken token = default)
        {
            var asyncio = new Task[2];

            asyncio[0] = base.CreateSensorKey(key, sensor, token);
            asyncio[1] = this.m_cache.RemoveAsync(key.UserId);

            return(Task.WhenAll(asyncio));
        }
        public AbstractApiController(IHttpContextAccessor ctx)
        {
            if (ctx == null)
            {
                return;
            }

            var key = ctx.HttpContext.Items["ApiKey"] as SensateApiKey;

            this.ApiKey      = key;
            this.CurrentUser = key?.User;
        }
        public async Task <IActionResult> Create([FromBody] CreateApiKey request)
        {
            var key = new SensateApiKey {
                Id           = Guid.NewGuid().ToString(),
                UserId       = this.CurrentUser.Id,
                CreatedOn    = DateTime.Now.ToUniversalTime(),
                Revoked      = false,
                Type         = ApiKeyType.ApiKey,
                ReadOnly     = request.ReadOnly,
                Name         = request.Name,
                RequestCount = 0
            };

            await this._keys.CreateAsync(key).AwaitBackground();

            return(this.CreatedAtAction("CreateApiKey", key));
        }
        private async Task <SensateApiKey> CreateSystemApiKeyAsync(SensateUser user)
        {
            SensateApiKey key;

            key = new SensateApiKey {
                Id        = Guid.NewGuid().ToString(),
                User      = user,
                UserId    = user.Id,
                Type      = ApiKeyType.SystemKey,
                Revoked   = false,
                CreatedOn = DateTime.Now.ToUniversalTime(),
                ReadOnly  = false,
                Name      = Guid.NewGuid().ToString()
            };

            await this._keys.CreateAsync(key, CancellationToken.None).AwaitBackground();

            return(key);
        }