diff --git a/Notesnook.API/Program.cs b/Notesnook.API/Program.cs
index 47b127a..89bd0ee 100644
--- a/Notesnook.API/Program.cs
+++ b/Notesnook.API/Program.cs
@@ -1,68 +1,64 @@
-/*
-This file is part of the Notesnook Sync Server project (https://notesnook.com/)
-
-Copyright (C) 2023 Streetwriters (Private) Limited
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the Affero GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-Affero GNU General Public License for more details.
-
-You should have received a copy of the Affero GNU General Public License
-along with this program. If not, see .
-*/
-
-#if !DEBUG
-using System.Net;
-#endif
-using System;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.Hosting;
-using Streetwriters.Common;
-using System.Linq;
-using Microsoft.Extensions.Logging;
-using System.Net;
-
-namespace Notesnook.API
-{
- public class Program
- {
- public static async Task Main(string[] args)
- {
-#if DEBUG
- DotNetEnv.Env.TraversePath().Load(".env.local");
-#else
- DotNetEnv.Env.TraversePath().Load(".env");
-#endif
- IHost host = CreateHostBuilder(args).Build();
- await host.RunAsync();
- }
-
- public static IHostBuilder CreateHostBuilder(string[] args) =>
- Host.CreateDefaultBuilder(args)
- .ConfigureWebHostDefaults(webBuilder =>
- {
- webBuilder
- .UseStartup()
- .UseKestrel((options) =>
- {
- options.Limits.MaxRequestBodySize = long.MaxValue;
- options.ListenAnyIP(Servers.NotesnookAPI.Port);
- if (Servers.NotesnookAPI.IsSecure)
- {
- options.ListenAnyIP(443, listenerOptions =>
- {
- listenerOptions.UseHttps(Servers.NotesnookAPI.SSLCertificate);
- });
- }
- options.Listen(IPAddress.Parse("127.0.0.1"), 5067);
- });
- });
- }
-}
+/*
+This file is part of the Notesnook Sync Server project (https://notesnook.com/)
+
+Copyright (C) 2023 Streetwriters (Private) Limited
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the Affero GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+Affero GNU General Public License for more details.
+
+You should have received a copy of the Affero GNU General Public License
+along with this program. If not, see .
+*/
+
+using System;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using Streetwriters.Common;
+using System.Net;
+
+namespace Notesnook.API
+{
+ public class Program
+ {
+ public static async Task Main(string[] args)
+ {
+#if (DEBUG || STAGING)
+ DotNetEnv.Env.TraversePath().Load(".env.local");
+#else
+ DotNetEnv.Env.TraversePath().Load(".env");
+#endif
+ IHost host = CreateHostBuilder(args).Build();
+ await host.RunAsync();
+ }
+
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .ConfigureWebHostDefaults(webBuilder =>
+ {
+ webBuilder
+ .UseStartup()
+ .UseKestrel((options) =>
+ {
+ options.Limits.MaxRequestBodySize = long.MaxValue;
+ options.ListenAnyIP(Servers.NotesnookAPI.Port);
+ if (Servers.NotesnookAPI.IsSecure)
+ {
+ options.ListenAnyIP(443, listenerOptions =>
+ {
+ listenerOptions.UseHttps(Servers.NotesnookAPI.SSLCertificate);
+ });
+ }
+ options.Listen(IPAddress.Parse("127.0.0.1"), 5067);
+ });
+ });
+ }
+}
diff --git a/Notesnook.API/Repositories/SyncItemsRepository.cs b/Notesnook.API/Repositories/SyncItemsRepository.cs
index ecdce27..64746bb 100644
--- a/Notesnook.API/Repositories/SyncItemsRepository.cs
+++ b/Notesnook.API/Repositories/SyncItemsRepository.cs
@@ -44,13 +44,6 @@ namespace Notesnook.API.Repositories
public SyncItemsRepository(IDbContext dbContext, IMongoCollection collection) : base(dbContext, collection)
{
this.collectionName = collection.CollectionNamespace.CollectionName;
-#if DEBUG
- Collection.Indexes.CreateMany([
- new CreateIndexModel(Builders.IndexKeys.Ascending("UserId").Descending("DateSynced")),
- new CreateIndexModel(Builders.IndexKeys.Ascending("UserId").Ascending("ItemId")),
- new CreateIndexModel(Builders.IndexKeys.Ascending("UserId"))
- ]);
-#endif
}
private readonly List ALGORITHMS = [Algorithms.Default];
diff --git a/Notesnook.API/Services/S3Service.cs b/Notesnook.API/Services/S3Service.cs
index 0ada2e9..81262dc 100644
--- a/Notesnook.API/Services/S3Service.cs
+++ b/Notesnook.API/Services/S3Service.cs
@@ -61,7 +61,7 @@ namespace Notesnook.API.Services
{
var config = new AmazonS3Config
{
-#if DEBUG
+#if (DEBUG || STAGING)
ServiceURL = Servers.S3Server.ToString(),
#else
ServiceURL = Constants.S3_SERVICE_URL,
@@ -71,7 +71,7 @@ namespace Notesnook.API.Services
SignatureMethod = SigningAlgorithm.HmacSHA256,
SignatureVersion = "4"
};
-#if DEBUG
+#if (DEBUG || STAGING)
S3Client = new AmazonS3Client("S3RVER", "S3RVER", config);
#else
S3Client = new AmazonS3Client(Constants.S3_ACCESS_KEY_ID, Constants.S3_ACCESS_KEY, config);
@@ -227,7 +227,7 @@ namespace Notesnook.API.Services
Expires = System.DateTime.Now.AddHours(1),
Verb = httpVerb,
Key = objectName,
-#if DEBUG
+#if (DEBUG || STAGING)
Protocol = Protocol.HTTP,
#else
Protocol = client.Config.ServiceURL.StartsWith("http://") ? Protocol.HTTP : Protocol.HTTPS,
@@ -248,7 +248,7 @@ namespace Notesnook.API.Services
Key = objectName,
PartNumber = partNumber,
UploadId = uploadId,
-#if DEBUG
+#if (DEBUG || STAGING)
Protocol = Protocol.HTTP,
#else
Protocol = client.Config.ServiceURL.StartsWith("http://") ? Protocol.HTTP : Protocol.HTTPS,
diff --git a/Streetwriters.Common/Servers.cs b/Streetwriters.Common/Servers.cs
index afd320c..1cdeaba 100644
--- a/Streetwriters.Common/Servers.cs
+++ b/Streetwriters.Common/Servers.cs
@@ -63,7 +63,7 @@ namespace Streetwriters.Common
public class Servers
{
-#if DEBUG
+#if (DEBUG || STAGING)
public static string GetLocalIPv4()
{
var interfaces = NetworkInterface.GetAllNetworkInterfaces();
diff --git a/Streetwriters.Data/DbContexts/MongoDbContext.cs b/Streetwriters.Data/DbContexts/MongoDbContext.cs
index ca9de46..3627d20 100644
--- a/Streetwriters.Data/DbContexts/MongoDbContext.cs
+++ b/Streetwriters.Data/DbContexts/MongoDbContext.cs
@@ -56,7 +56,7 @@ namespace Streetwriters.Data.DbContexts
using (IClientSessionHandle session = await MongoClient.StartSessionAsync())
{
-#if DEBUG
+#if (DEBUG || STAGING)
await Parallel.ForEachAsync(_commands, async (c, ct) => await c(session, ct));
#else
await session.WithTransactionAsync(async (handle, token) =>
diff --git a/Streetwriters.Identity/Controllers/AccountController.cs b/Streetwriters.Identity/Controllers/AccountController.cs
index e6f7ff9..3fdf004 100644
--- a/Streetwriters.Identity/Controllers/AccountController.cs
+++ b/Streetwriters.Identity/Controllers/AccountController.cs
@@ -157,7 +157,7 @@ namespace Streetwriters.Identity.Controllers
var code = await UserManager.GenerateUserTokenAsync(user, TokenOptions.DefaultProvider, "ResetPassword");
var callbackUrl = Url.TokenLink(user.Id.ToString(), code, client.Id, TokenType.RESET_PASSWORD);
-#if DEBUG
+#if (DEBUG || STAGING)
return Ok(callbackUrl);
#else
await Slogger.Info("ResetUserPassword", user.Email, callbackUrl);
diff --git a/Streetwriters.Identity/Extensions/UrlExtensions.cs b/Streetwriters.Identity/Extensions/UrlExtensions.cs
index 3fb085c..9a7216b 100644
--- a/Streetwriters.Identity/Extensions/UrlExtensions.cs
+++ b/Streetwriters.Identity/Extensions/UrlExtensions.cs
@@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Mvc
{
return urlHelper.ActionLink(
-#if DEBUG
+#if (DEBUG || STAGING)
host: $"{Servers.IdentityServer.Hostname}:{Servers.IdentityServer.Port}",
protocol: "http",
#else
diff --git a/Streetwriters.Identity/Program.cs b/Streetwriters.Identity/Program.cs
index e07fc49..236627e 100644
--- a/Streetwriters.Identity/Program.cs
+++ b/Streetwriters.Identity/Program.cs
@@ -33,7 +33,7 @@ namespace Streetwriters.Identity
{
public static async Task Main(string[] args)
{
-#if DEBUG
+#if (DEBUG || STAGING)
DotNetEnv.Env.TraversePath().Load(".env.local");
#else
DotNetEnv.Env.TraversePath().Load(".env");
diff --git a/Streetwriters.Messenger/Program.cs b/Streetwriters.Messenger/Program.cs
index 49a701f..546bad2 100644
--- a/Streetwriters.Messenger/Program.cs
+++ b/Streetwriters.Messenger/Program.cs
@@ -1,64 +1,64 @@
-/*
-This file is part of the Notesnook Sync Server project (https://notesnook.com/)
-
-Copyright (C) 2023 Streetwriters (Private) Limited
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the Affero GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-Affero GNU General Public License for more details.
-
-You should have received a copy of the Affero GNU General Public License
-along with this program. If not, see .
-*/
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Net;
-using System.Threading.Tasks;
-using Microsoft.AspNetCore.Hosting;
-using Microsoft.Extensions.Configuration;
-using Microsoft.Extensions.Hosting;
-using Microsoft.Extensions.Logging;
-using Streetwriters.Common;
-
-namespace Streetwriters.Messenger
-{
- public class Program
- {
- public static void Main(string[] args)
- {
-#if DEBUG
- DotNetEnv.Env.TraversePath().Load(".env.local");
-#else
- DotNetEnv.Env.TraversePath().Load(".env");
-#endif
- CreateHostBuilder(args).Build().Run();
- }
-
- public static IHostBuilder CreateHostBuilder(string[] args) =>
- Host.CreateDefaultBuilder(args)
- .ConfigureWebHostDefaults(webBuilder =>
- {
- webBuilder.UseStartup()
- .UseKestrel((options) =>
- {
- options.Limits.MaxRequestBodySize = long.MaxValue;
- options.ListenAnyIP(Servers.MessengerServer.Port);
- if (Servers.MessengerServer.IsSecure)
- {
- options.ListenAnyIP(443, listenerOptions =>
- {
- listenerOptions.UseHttps(Servers.MessengerServer.SSLCertificate);
- });
- }
- });
- });
- }
-}
+/*
+This file is part of the Notesnook Sync Server project (https://notesnook.com/)
+
+Copyright (C) 2023 Streetwriters (Private) Limited
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the Affero GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+Affero GNU General Public License for more details.
+
+You should have received a copy of the Affero GNU General Public License
+along with this program. If not, see .
+*/
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Net;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using Streetwriters.Common;
+
+namespace Streetwriters.Messenger
+{
+ public class Program
+ {
+ public static void Main(string[] args)
+ {
+#if (DEBUG || STAGING)
+ DotNetEnv.Env.TraversePath().Load(".env.local");
+#else
+ DotNetEnv.Env.TraversePath().Load(".env");
+#endif
+ CreateHostBuilder(args).Build().Run();
+ }
+
+ public static IHostBuilder CreateHostBuilder(string[] args) =>
+ Host.CreateDefaultBuilder(args)
+ .ConfigureWebHostDefaults(webBuilder =>
+ {
+ webBuilder.UseStartup()
+ .UseKestrel((options) =>
+ {
+ options.Limits.MaxRequestBodySize = long.MaxValue;
+ options.ListenAnyIP(Servers.MessengerServer.Port);
+ if (Servers.MessengerServer.IsSecure)
+ {
+ options.ListenAnyIP(443, listenerOptions =>
+ {
+ listenerOptions.UseHttps(Servers.MessengerServer.SSLCertificate);
+ });
+ }
+ });
+ });
+ }
+}