public async Task <AdminModel> CreateAdminAsync([FromBody] AdminCreateModel model) { var(error, admin) = await _adminsService.RegisterAsync( model.Email, model.Password, model.PhoneNumber, model.FirstName, model.LastName, model.Company, model.Department, model.JobTitle); switch (error) { case AdminServiceCreateResponseError.None: return(_mapper.Map <AdminModel>(admin)); case AdminServiceCreateResponseError.AlreadyRegistered: throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.AdminAlreadyRegistered); case AdminServiceCreateResponseError.InvalidEmailOrPasswordFormat: throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.InvalidEmailOrPasswordFormat); default: throw new ArgumentOutOfRangeException(); } }
public async Task <AdminModel> CreateAdminAsync([FromBody] AdminCreateModel model) { var(error, admin) = await _adminsService.RegisterAsync( model.Email, model.Password, model.PhoneNumber, model.FirstName, model.LastName, model.Company, model.Department, model.JobTitle); if (error == AdminServiceCreateResponseError.None) { model.Password = null; model.Email = model.Email.SanitizeEmail(); model.FirstName = model.FirstName.SanitizeName(); model.LastName = model.LastName.SanitizeName(); model.PhoneNumber = model.PhoneNumber.SanitizePhone(); await _auditLogPublisher.PublishAuditLogAsync(_requestContext.UserId, model.ToJson(), ActionType.AdminCreate); return(_mapper.Map <AdminModel>(admin)); } switch (error) { case AdminServiceCreateResponseError.AlreadyRegistered: throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.AdminAlreadyRegistered); case AdminServiceCreateResponseError.InvalidEmailOrPasswordFormat: throw LykkeApiErrorException.BadRequest(ApiErrorCodes.Service.InvalidEmailOrPasswordFormat); default: throw new ArgumentOutOfRangeException(); } }