コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
        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));
            }
        }
コード例 #5
0
        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));
            }
        }
コード例 #6
0
        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));
            }
        }
コード例 #7
0
 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));
     }
 }
コード例 #8
0
        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));
            }
        }
コード例 #9
0
        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));
            }
        }
コード例 #10
0
        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)));
            }
        }
コード例 #12
0
        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)));
            }
        }
コード例 #17
0
        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)));
     }
 }
コード例 #21
0
 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)));
            }
        }