public async Task <AdminModel> UpdateAdminAsync([FromBody] AdminUpdateModel model) { #region Filter var permissionLevel = await _requestContext.GetPermissionLevelAsync(PermissionType.AdminUsers); if (permissionLevel.HasValue && permissionLevel.Value == PermissionLevel.PartnerEdit) { // filter data for current _requestContext.UserId if (model.Id != Guid.Parse(_requestContext.UserId)) { throw LykkeApiErrorException.Forbidden(new LykkeApiErrorCode(nameof(HttpStatusCode.Forbidden))); } } #endregion var(error, admin) = await _adminsService.UpdateAdminAsync( model.Id.ToString(), model.PhoneNumber, model.FirstName, model.LastName, model.Company, model.Department, model.JobTitle, model.IsActive); if (error == AdminServiceResponseError.None) { model.FirstName = model.FirstName.SanitizeName(); model.LastName = model.LastName.SanitizeName(); model.PhoneNumber = model.PhoneNumber.SanitizePhone(); await _auditLogPublisher.PublishAuditLogAsync(_requestContext.UserId, model.ToJson(), ActionType.AdminUpdate); return(_mapper.Map <AdminModel>(admin)); } switch (error) { case AdminServiceResponseError.AdminUserDoesNotExist: throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.AdminNotFound); default: throw new ArgumentOutOfRangeException(); } }
public async Task <AdminModel> UpdateAdminAsync([FromBody] AdminUpdateModel model) { var(error, admin) = await _adminsService.UpdateAdminAsync( model.Id.ToString(), model.PhoneNumber, model.FirstName, model.LastName, model.Company, model.Department, model.JobTitle, model.IsActive); switch (error) { case AdminServiceResponseError.None: return(_mapper.Map <AdminModel>(admin)); case AdminServiceResponseError.AdminUserDoesNotExist: throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.AdminNotFound); default: throw new ArgumentOutOfRangeException(); } }