public override async Task <SubmitCustomSpecialistResponse> SubmitCustomSpecialist(SubmitCustomSpecialistRequest request, ServerCallContext context) { DbUserModel user = context.UserState["user"] as DbUserModel; if (user == null) { return new SubmitCustomSpecialistResponse() { Status = ResponseFactory.createResponse(ResponseType.UNAUTHORIZED) } } ; // Set author request.Configuration.Creator = user.AsUser(); SpecialistConfigurationModel configModel = new SpecialistConfigurationModel(request.Configuration); await configModel.saveToRedis(); // Get the generated specialist ID string specialistId = configModel.SpecialistConfig.Id; return(new SubmitCustomSpecialistResponse() { Status = ResponseFactory.createResponse(ResponseType.SUCCESS), SpecialistConfigurationId = specialistId, }); }
public override async Task <GetCustomSpecialistsResponse> GetCustomSpecialists(GetCustomSpecialistsRequest request, ServerCallContext context) { DbUserModel user = context.UserState["user"] as DbUserModel; if (user == null) { return new GetCustomSpecialistsResponse() { Status = ResponseFactory.createResponse(ResponseType.UNAUTHORIZED) } } ; // Search through all specialists for the search term. List <SpecialistConfigurationModel> results = (await SpecialistConfigurationModel.Search(request.SearchTerm)).Skip((int)request.PageNumber * 50).Take(50).ToList(); GetCustomSpecialistsResponse response = new GetCustomSpecialistsResponse() { Status = ResponseFactory.createResponse(ResponseType.SUCCESS), }; foreach (SpecialistConfigurationModel model in results) { response.CustomSpecialists.Add(model.SpecialistConfig); } return(response); }