public IActionResult GetIntellisense([FromRoute] string projectid) { try { var requestModel = new GetIntellisenseRequestModel { ProjectId = projectid }; var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } else { requestModel.UserId = userId; } var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } return(Ok(MongoConnector.GetIntellisense(requestModel))); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult VersionLanguageSchema(VersionLanguageSchema requestModel) { try { var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } else { requestModel.UserId = userId; } var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } return(Ok(MongoConnector.VersionLanguageSchema(requestModel))); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult DeleteWebsiteData([FromRoute] string schemaname, [FromBody] DeleteDataObjectRequestModel requestModel) { try { var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } else { requestModel.UserId = userId; } requestModel.SchemaName = schemaname; // requestModel.SchemaName = schemaname.ToUpper(); var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } return(Ok(MongoConnector.DeleteObject(requestModel))); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult MapWebsiteToWebAction([FromBody] MapSchemaToProjectRequestModel requestModel) { try { var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } else { requestModel.UserId = userId; } var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } return(Ok(MongoConnector.MapSchemaToProject(requestModel))); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult UpdateWebsiteData([FromRoute] string schemaname, [FromBody] UpdateWebsiteDataRequestModel requestModel) { ///TODO : Chheck that mongodb driver support long for skip and limit // string userid = Request.Headers.Authorization.ToString(); // command.UserId = userid; try { var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } else { requestModel.UserId = userId; } requestModel.SchemaName = schemaname; // requestModel.SchemaName = schemaname.ToUpper(); var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } return(new CommonActionResult(MongoConnector.UpdateWebsiteData(requestModel))); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult UpdateWebsiteDataById([FromRoute] string schemaid, [FromRoute] string clientid, [FromBody] UpdateWebsiteDataRequestModel requestModel) { ///TODO : Chheck that mongodb driver support long for skip and limit // string userid = Request.Headers.Authorization.ToString(); // command.UserId = userid; try { if (string.IsNullOrEmpty(clientid) || BasePluginConfigGenerator.GetBasePlugin(clientid).GetClientId() != clientid.Trim().ToUpper()) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } requestModel.SchemaId = schemaid; // requestModel.SchemaName = schemaname.ToUpper(); var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } return(new CommonActionResult(MongoConnector.UpdateWebsiteData(requestModel))); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult GetWebsiteDataByPropertyPath([FromRoute] string schemaid, [FromBody] GetWebsiteDataByPropertyPathV2 requestModel, [FromRoute] string clientid = null) { try { var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId) && (string.IsNullOrEmpty(clientid) || BasePluginConfigGenerator.GetBasePlugin(clientid).GetClientId() != clientid.Trim().ToUpper())) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } requestModel.SchemaId = schemaid; var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } var result = new List <GetWebsiteDataByPropertyResponseModel>(); var segmentRequet = new GetWebsiteDataByPropertyPath() { SchemaId = requestModel.SchemaId, UserEmail = requestModel.UserEmail, WebsiteId = requestModel.WebsiteId }; foreach (var segments in requestModel.BulkPropertySegments) { segmentRequet.PropertySegments = segments; result.Add(MongoConnector.GetWebsiteDataByPropertyPath(segmentRequet)); } return(new CommonActionResult(CommonAPIResponse.OK(result))); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult GetWebsiteDataByType([FromRoute] string schemaname, [FromQuery] string website, [FromQuery] string className) { try { var requestModel = new GetWebsiteDataByTypeRequestModel { SchemaName = schemaname, WebsiteId = website, ClassName = className, }; var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } else { requestModel.UserId = userId; } var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } return(Ok(MongoConnector.GetWebsiteDataByType(requestModel))); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult AddOrUpdateWebsite([FromRoute] string schemaname, [FromBody] AddOrUpdateWebsiteRequestModel requestModel, [FromRoute] string clientid = null, [FromRoute] string schemaid = null) { try { var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId) && (string.IsNullOrEmpty(clientid) || BasePluginConfigGenerator.GetBasePlugin(clientid).GetClientId() != clientid.Trim().ToUpper())) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } requestModel.UserId = userId; requestModel.SchemaId = schemaid; requestModel.SchemaName = schemaname; var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } return(Ok(MongoConnector.AddDataForWebsite(requestModel))); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult DeleteFile(string websiteid, [FromQuery] string assetFileName) { if (string.IsNullOrEmpty(websiteid)) { return(BadRequest("Website id can not be empty")); } if (string.IsNullOrEmpty(assetFileName)) { return(BadRequest("File name can not be empty")); } var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } //TODO : Validate the userid with websiteid var bucketName = "kitsune-website-files-cdn"; assetFileName = assetFileName.Trim(); var result = AmazonS3Helper.DeleteAsset($"v1/{websiteid}/{assetFileName}", bucketName); if (result) { return(Ok()); } return(BadRequest("Invalid website id")); }
public IActionResult CheckWebsiteTagAvailability(string websitetag, [FromQuery] string clientId, [FromQuery] string projectId) { var developerId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(developerId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } try { try { if (String.IsNullOrEmpty(clientId) && !String.IsNullOrEmpty(projectId)) { clientId = MongoConnector.GetClientIdFromProjectId(projectId); } } catch { } return(new CommonActionResult(MongoConnector.CheckWebsiteTagAvailability(websitetag, clientId))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult KitsuneUpdateDomain([FromQuery] string websiteid, [FromQuery] string newDomain, [FromQuery] string clientid) { try { if (string.IsNullOrEmpty(clientid) || BasePluginConfigGenerator.GetBasePlugin(clientid).GetClientId() != clientid.Trim().ToUpper()) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } var requestModel = new KitsuneUpdateDomainRequestModel { CustomerId = websiteid, NewDomain = newDomain }; var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(BadRequest(validationResult)); } return(Ok(MongoConnector.UpdateDomainName(requestModel))); } catch (Exception ex) { return(BadRequest(ex)); } }
public IActionResult UpdateCacheInvalidationStatus([FromRoute] string websiteid, [FromQuery] string clientid, [FromQuery] int nextInvalidationInSec) { try { if (string.IsNullOrEmpty(clientid) || BasePluginConfigGenerator.GetBasePlugin(clientid).GetClientId() != clientid.Trim().ToUpper()) { return(Unauthorized()); } if (string.IsNullOrEmpty(websiteid)) { return(new CommonActionResult(CommonAPIResponse.BadRequest(new ValidationResult("Invalid websiteid")))); } if (nextInvalidationInSec == 0) { return(new CommonActionResult(CommonAPIResponse.BadRequest(new ValidationResult("Provide valid next invalidation in secnd paramater")))); } return(new CommonActionResult(MongoConnector.UpdateCacheInvalidationStatus(websiteid, nextInvalidationInSec))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult GenerateKAdminLoginToken([FromQuery] string websiteId, [FromQuery] string source = "IDE") { try { var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } GenerateKAdminLoginTokenRequestModel requestModel = new GenerateKAdminLoginTokenRequestModel { WebsiteId = websiteId, UserId = userId, ExpiryTime = source == "IDE" ? 2 : 30, Source = source }; var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(new CommonActionResult(CommonAPIResponse.BadRequest(validationResult))); } return(new CommonActionResult(MongoConnector.GenerateKAdminLoginToken(requestModel))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult ChangeKitsuneWebsiteUserPassword(string WebsiteId, string WebsiteUserId, [FromBody] UpdateWebsiteUserPasswordRequestModel requestModel) { try { requestModel.WebsiteId = WebsiteId; requestModel.WebsiteUserId = WebsiteUserId; var developerId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(developerId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } requestModel.DeveloperId = developerId; var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(new CommonActionResult(CommonAPIResponse.BadRequest(validationResult))); } return(new CommonActionResult(MongoConnector.ChangeWebsiteUserPassword(requestModel))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult DeactivateWebsites([FromBody] DeActivateWebsitesRequestModel deactivateRequestModel) { try { var userId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(userId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } DeActivateWebsitesRequestModel requestModel = new DeActivateWebsitesRequestModel { WebsiteIds = deactivateRequestModel.WebsiteIds, UserId = userId }; var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(new CommonActionResult(CommonAPIResponse.BadRequest(validationResult))); } return(new CommonActionResult(MongoConnector.DeactivateWebsites(requestModel))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public async Task Invoke(HttpContext context) { await next(context); var response = new CommonAPIResponse(); if (context.Items["exception"] != null) { var errorResponse = ApiErrorResponseFactory.Create((Exception)context.Items["exception"]); errorResponse.CorrelationId = context.Items["correlationId"]?.ToString() ?? string.Empty; context.Response.StatusCode = errorResponse.StatusCode; response.Result = errorResponse; } else { try { response.Result = JsonConvert.DeserializeObject <object>(context.Items["responseMessage"].ToString()); } catch (Exception) { response.Result = new ApiErrorResponse(500, "Invalid response format"); context.Response.StatusCode = 500; } } context.Response.ContentType = "application/json"; await context.Response.WriteAsync(JsonConvert.SerializeObject(response)); }
public IActionResult GetV6RedirectUrl([FromQuery] string fpTag, [FromQuery] string requestUrl) { try { if (!String.IsNullOrEmpty(fpTag)) { var cacheKey = String.Format("GetV6RedirectUrl-{0}-{1}", fpTag, requestUrl); try { var cachedItem = _distributedCache.GetString(cacheKey); if (!String.IsNullOrEmpty(cachedItem) && String.Compare(cachedItem, "null") == 0) { return(null); } else if (!String.IsNullOrEmpty(cachedItem)) { return(Ok(cachedItem)); } } catch { } var website = (WebsiteDetailsResponseModel)MongoConnector.GetKitsuneWebsiteDetailsByTag(fpTag)?.Response; if (website != null) { if (!website.IsSSLEnabled) { requestUrl = requestUrl.Replace("https://", "http://"); } var rootAliasUri = MongoConnector.GetRootAliasUriFromWebsteDomain(website.WebsiteId, website.WebsiteUrl)?.ToLower(); if (!String.IsNullOrEmpty(rootAliasUri)) { var response = V6UrlHandler.GetRedirectionUrlForV6Links(website.ProjectId, requestUrl, rootAliasUri, website.WebsiteTag, website.WebsiteId); try { _distributedCache.SetString(cacheKey, JsonConvert.SerializeObject(response), new DistributedCacheEntryOptions() { AbsoluteExpiration = DateTime.Now.AddDays(7) }); } catch { } return(Ok(response)); } } } return(new CommonActionResult(CommonAPIResponse.BadRequest(ValidationResult.Success))); } catch (Exception ex) { throw ex; } }
public IActionResult CopyS3Weebhook([FromBody] string message_id, [FromBody] string run_time) { try { return(new CommonActionResult(CommonAPIResponse.OK("ok"))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult LoginWebsiteUser([FromBody] VerifyLoginRequestModel requestModel) { try { return(new CommonActionResult(MongoConnector.LoginWebsiteUser(requestModel))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult GetStorageSize([FromQuery] string clientid, [FromQuery] string userid = null) { try { if (string.IsNullOrEmpty(clientid) || BasePluginConfigGenerator.GetBasePlugin(clientid).GetClientId() != clientid.Trim().ToUpper()) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } return(new CommonActionResult(MongoConnector.GetWebsiteDataStorageSize(userid))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult IsCallTrackerEnabled([FromQuery] string WebsiteId) { try { var developerId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(developerId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } return(new CommonActionResult(MongoConnector.IsCallTrackerEnabledForWebsite(WebsiteId))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult GetKitsuneWebsiteDetails(string WebsiteId, [FromQuery] string clientid = null) { try { var developerId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(developerId) && (string.IsNullOrEmpty(clientid) || BasePluginConfigGenerator.GetBasePlugin(clientid).GetClientId() != clientid.Trim().ToUpper())) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } return(new CommonActionResult(MongoConnector.GetKitsuneWebsiteDetails(WebsiteId))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult GetKitsuneWebsiteUser(string WebsiteId, string WebsiteUserId) { try { var developerId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(developerId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } return(new CommonActionResult(MongoConnector.GetWebsiteUserDetails(WebsiteId, WebsiteUserId))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult PushToSitemapQueue([FromQuery] string clientid, [FromQuery] string websiteId) { try { if (string.IsNullOrEmpty(clientid) || string.IsNullOrEmpty(websiteId) || BasePluginConfigGenerator.GetBasePlugin(clientid).GetClientId() != clientid.Trim().ToUpper()) { return(Unauthorized()); } if (websiteId.ToLower() == "all") { var liveWebsites = MongoConnector.GetLiveWebsiteIds(); if (liveWebsites != null && liveWebsites.Any()) { var result = string.Empty; foreach (var website in liveWebsites.Select(x => new KeyValuePair <string, string>(x.Substring(0, x.IndexOf(':')), x.Substring(x.IndexOf(':') + 1)))) { result = CommonHelpers.PushSitemapGenerationTaskToSQS(new SitemapGenerationTaskModel() { WebsiteId = website.Key, ProjectId = website.Value }); } if (!string.IsNullOrEmpty(result)) { return(Ok()); } } } else { var result = CommonHelpers.PushSitemapGenerationTaskToSQS(new SitemapGenerationTaskModel() { WebsiteId = websiteId }); if (!string.IsNullOrEmpty(result)) { return(Ok()); } } return(new CommonActionResult(CommonAPIResponse.BadRequest(new ValidationResult("Invalid sitemap request")))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult CheckDomainAvailability([FromQuery] string domainName) { var developerId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(developerId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } try { return(new CommonActionResult(MongoConnector.CheckKitsuneDomainAvailability(domainName))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult GetLiveWebsites([FromQuery] int limit = 100, [FromQuery] int skip = 0) { var developerId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(developerId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } try { return(new CommonActionResult(MongoConnector.GetKitsuneLiveWebsites(developerId, limit, skip))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult GetKitsuneWebsiteListForProject([FromQuery] string projectId, int limit = 100, int skip = 0, bool includeusers = false) { var developerId = AuthHelper.AuthorizeRequest(Request); if (string.IsNullOrEmpty(developerId)) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } try { return(new CommonActionResult(MongoConnector.GetKitsuneWebsiteListForProject(developerId, projectId, limit, skip, includeusers))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult GetAllLiveWebsites([FromQuery] int limit = 100, [FromQuery] int skip = 0) { var authId = AuthHelper.AuthorizeRequest(Request); if (String.IsNullOrEmpty(authId) || String.Compare(authId, "4C627432590419E9CF79252291B6A3AE25D7E2FF13347C6ACD1587C47C6ACDD") != 0) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } try { return(new CommonActionResult(MongoConnector.GetAllKitsuneLiveWebsites(limit, skip))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }
public IActionResult CreateNewWebsite([FromBody] CreateNewWebsiteRequestModel requestModel, [FromQuery] string clientid = null) { try { var authId = AuthHelper.AuthorizeRequest(Request); try { if (String.IsNullOrEmpty(clientid) && !String.IsNullOrEmpty(requestModel.DeveloperId)) { requestModel.ClientId = MongoConnector.GetClientIdFromProjectId(requestModel.ProjectId); } } catch { } requestModel.ClientId = BasePluginConfigGenerator.GetBasePlugin(clientid).GetClientId(); if (string.IsNullOrEmpty(clientid) || requestModel.ClientId != clientid.Trim().ToUpper()) { return(new CommonActionResult(CommonAPIResponse.UnAuthorized())); } requestModel.ActivateWebsite = false; if (requestModel.ClientId == Constants.ClientIdConstants.NowFloatsClientId) { requestModel.ActivateWebsite = true; } requestModel.DeveloperId = MongoConnector.GetUserIdFromProjectId(requestModel.ProjectId); var validationResult = requestModel.Validate(); if (validationResult.Any()) { return(new CommonActionResult(CommonAPIResponse.BadRequest(validationResult))); } return(new CommonActionResult(MongoConnector.CreateNewWebsite(requestModel))); } catch (Exception ex) { return(new CommonActionResult(CommonAPIResponse.InternalServerError(ex))); } }