Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
128 changes: 64 additions & 64 deletions SquidStd.slnx
Original file line number Diff line number Diff line change
@@ -1,72 +1,72 @@
<Solution>
<Folder Name="/src/">
<Project Path="src/SquidStd.Abstractions/SquidStd.Abstractions.csproj" />
<Project Path="src/SquidStd.Generators/SquidStd.Generators.csproj" />
<Project Path="src/SquidStd.Telemetry.Abstractions/SquidStd.Telemetry.Abstractions.csproj" />
<Project Path="src/SquidStd.Telemetry.OpenTelemetry/SquidStd.Telemetry.OpenTelemetry.csproj" />
<Project Path="src/SquidStd.Aws.Abstractions/SquidStd.Aws.Abstractions.csproj" />
<Project Path="src/SquidStd.Actors/SquidStd.Actors.csproj" />
<Project Path="src/SquidStd.AspNetCore/SquidStd.AspNetCore.csproj" />
<Project Path="src/SquidStd.Caching.Abstractions/SquidStd.Caching.Abstractions.csproj" />
<Project Path="src/SquidStd.Caching.Redis/SquidStd.Caching.Redis.csproj" />
<Project Path="src/SquidStd.Caching/SquidStd.Caching.csproj" />
<Project Path="src/SquidStd.Core/SquidStd.Core.csproj" />
<Project Path="src/SquidStd.Database.Abstractions/SquidStd.Database.Abstractions.csproj" />
<Project Path="src/SquidStd.Database/SquidStd.Database.csproj" />
<Project Path="src/SquidStd.Messaging.Abstractions/SquidStd.Messaging.Abstractions.csproj" />
<Project Path="src/SquidStd.Messaging.RabbitMq/SquidStd.Messaging.RabbitMq.csproj" />
<Project Path="src/SquidStd.Messaging.Sqs/SquidStd.Messaging.Sqs.csproj" />
<Project Path="src/SquidStd.Messaging/SquidStd.Messaging.csproj" />
<Project Path="src/SquidStd.Network/SquidStd.Network.csproj" />
<Project Path="src/SquidStd.Persistence.Abstractions/SquidStd.Persistence.Abstractions.csproj" />
<Project Path="src/SquidStd.Persistence/SquidStd.Persistence.csproj" />
<Project Path="src/SquidStd.Persistence.MessagePack/SquidStd.Persistence.MessagePack.csproj" />
<Project Path="src/SquidStd.Plugin.Abstractions/SquidStd.Plugin.Abstractions.csproj" />
<Project Path="src/SquidStd.Scripting.Lua/SquidStd.Scripting.Lua.csproj" />
<Project Path="src/SquidStd.Services.Core/SquidStd.Services.Core.csproj" />
<Project Path="src/SquidStd.Storage.Abstractions/SquidStd.Storage.Abstractions.csproj" />
<Project Path="src/SquidStd.Storage.S3/SquidStd.Storage.S3.csproj" />
<Project Path="src/SquidStd.Storage/SquidStd.Storage.csproj" />
<Project Path="src/SquidStd.Templating/SquidStd.Templating.csproj" />
<Project Path="src/SquidStd.Workers.Abstractions/SquidStd.Workers.Abstractions.csproj" />
<Project Path="src/SquidStd.Workers/SquidStd.Workers.csproj" />
<Project Path="src/SquidStd.Workers.Manager/SquidStd.Workers.Manager.csproj" />
<Project Path="src/SquidStd.Templates/SquidStd.Templates.csproj" />
<Project Path="src/SquidStd.Search.Abstractions/SquidStd.Search.Abstractions.csproj" />
<Project Path="src/SquidStd.Search.Elasticsearch/SquidStd.Search.Elasticsearch.csproj" />
<Project Path="src/SquidStd.Mail.Abstractions/SquidStd.Mail.Abstractions.csproj" />
<Project Path="src/SquidStd.Mail.MailKit/SquidStd.Mail.MailKit.csproj" />
<Project Path="src/SquidStd.Mail.Queue/SquidStd.Mail.Queue.csproj" />
<Project Path="src/SquidStd.Crypto/SquidStd.Crypto.csproj" />
<Project Path="src/SquidStd.Vfs.Abstractions/SquidStd.Vfs.Abstractions.csproj" />
<Project Path="src/SquidStd.Vfs/SquidStd.Vfs.csproj" />
<Project Path="src/SquidStd.Secrets.Aws/SquidStd.Secrets.Aws.csproj" />
<Project Path="src/SquidStd.Tui/SquidStd.Tui.csproj" />
<Project Path="src/SquidStd.Abstractions/SquidStd.Abstractions.csproj"/>
<Project Path="src/SquidStd.Generators/SquidStd.Generators.csproj"/>
<Project Path="src/SquidStd.Telemetry.Abstractions/SquidStd.Telemetry.Abstractions.csproj"/>
<Project Path="src/SquidStd.Telemetry.OpenTelemetry/SquidStd.Telemetry.OpenTelemetry.csproj"/>
<Project Path="src/SquidStd.Aws.Abstractions/SquidStd.Aws.Abstractions.csproj"/>
<Project Path="src/SquidStd.Actors/SquidStd.Actors.csproj"/>
<Project Path="src/SquidStd.AspNetCore/SquidStd.AspNetCore.csproj"/>
<Project Path="src/SquidStd.Caching.Abstractions/SquidStd.Caching.Abstractions.csproj"/>
<Project Path="src/SquidStd.Caching.Redis/SquidStd.Caching.Redis.csproj"/>
<Project Path="src/SquidStd.Caching/SquidStd.Caching.csproj"/>
<Project Path="src/SquidStd.Core/SquidStd.Core.csproj"/>
<Project Path="src/SquidStd.Database.Abstractions/SquidStd.Database.Abstractions.csproj"/>
<Project Path="src/SquidStd.Database/SquidStd.Database.csproj"/>
<Project Path="src/SquidStd.Messaging.Abstractions/SquidStd.Messaging.Abstractions.csproj"/>
<Project Path="src/SquidStd.Messaging.RabbitMq/SquidStd.Messaging.RabbitMq.csproj"/>
<Project Path="src/SquidStd.Messaging.Sqs/SquidStd.Messaging.Sqs.csproj"/>
<Project Path="src/SquidStd.Messaging/SquidStd.Messaging.csproj"/>
<Project Path="src/SquidStd.Network/SquidStd.Network.csproj"/>
<Project Path="src/SquidStd.Persistence.Abstractions/SquidStd.Persistence.Abstractions.csproj"/>
<Project Path="src/SquidStd.Persistence/SquidStd.Persistence.csproj"/>
<Project Path="src/SquidStd.Persistence.MessagePack/SquidStd.Persistence.MessagePack.csproj"/>
<Project Path="src/SquidStd.Plugin.Abstractions/SquidStd.Plugin.Abstractions.csproj"/>
<Project Path="src/SquidStd.Scripting.Lua/SquidStd.Scripting.Lua.csproj"/>
<Project Path="src/SquidStd.Services.Core/SquidStd.Services.Core.csproj"/>
<Project Path="src/SquidStd.Storage.Abstractions/SquidStd.Storage.Abstractions.csproj"/>
<Project Path="src/SquidStd.Storage.S3/SquidStd.Storage.S3.csproj"/>
<Project Path="src/SquidStd.Storage/SquidStd.Storage.csproj"/>
<Project Path="src/SquidStd.Templating/SquidStd.Templating.csproj"/>
<Project Path="src/SquidStd.Workers.Abstractions/SquidStd.Workers.Abstractions.csproj"/>
<Project Path="src/SquidStd.Workers/SquidStd.Workers.csproj"/>
<Project Path="src/SquidStd.Workers.Manager/SquidStd.Workers.Manager.csproj"/>
<Project Path="src/SquidStd.Templates/SquidStd.Templates.csproj"/>
<Project Path="src/SquidStd.Search.Abstractions/SquidStd.Search.Abstractions.csproj"/>
<Project Path="src/SquidStd.Search.Elasticsearch/SquidStd.Search.Elasticsearch.csproj"/>
<Project Path="src/SquidStd.Mail.Abstractions/SquidStd.Mail.Abstractions.csproj"/>
<Project Path="src/SquidStd.Mail.MailKit/SquidStd.Mail.MailKit.csproj"/>
<Project Path="src/SquidStd.Mail.Queue/SquidStd.Mail.Queue.csproj"/>
<Project Path="src/SquidStd.Crypto/SquidStd.Crypto.csproj"/>
<Project Path="src/SquidStd.Vfs.Abstractions/SquidStd.Vfs.Abstractions.csproj"/>
<Project Path="src/SquidStd.Vfs/SquidStd.Vfs.csproj"/>
<Project Path="src/SquidStd.Secrets.Aws/SquidStd.Secrets.Aws.csproj"/>
<Project Path="src/SquidStd.Tui/SquidStd.Tui.csproj"/>
</Folder>
<Folder Name="/samples/">
<Project Path="samples/SquidStd.Samples.WorkerSystem/SquidStd.Samples.WorkerSystem.csproj" />
<Project Path="samples/SquidStd.Samples.Templating/SquidStd.Samples.Templating.csproj" />
<Project Path="samples/SquidStd.Samples.Storage/SquidStd.Samples.Storage.csproj" />
<Project Path="samples/SquidStd.Samples.Search/SquidStd.Samples.Search.csproj" />
<Project Path="samples/SquidStd.Samples.ScriptingLua/SquidStd.Samples.ScriptingLua.csproj" />
<Project Path="samples/SquidStd.Samples.Plugins/SquidStd.Samples.Plugins.csproj" />
<Project Path="samples/SquidStd.Samples.Networking/SquidStd.Samples.Networking.csproj" />
<Project Path="samples/SquidStd.Samples.Persistence/SquidStd.Samples.Persistence.csproj" />
<Project Path="samples/SquidStd.Samples.Commands/SquidStd.Samples.Commands.csproj" />
<Project Path="samples/SquidStd.Samples.Email/SquidStd.Samples.Email.csproj" />
<Project Path="samples/SquidStd.Samples.Database/SquidStd.Samples.Database.csproj" />
<Project Path="samples/SquidStd.Samples.AspNetCore/SquidStd.Samples.AspNetCore.csproj" />
<Project Path="samples/SquidStd.Samples.Messaging/SquidStd.Samples.Messaging.csproj" />
<Project Path="samples/SquidStd.Samples.Caching/SquidStd.Samples.Caching.csproj" />
<Project Path="samples/SquidStd.Samples.EventsJobsScheduling/SquidStd.Samples.EventsJobsScheduling.csproj" />
<Project Path="samples/SquidStd.Samples.GettingStarted/SquidStd.Samples.GettingStarted.csproj" />
<Project Path="samples/SquidStd.Samples.Crypto/SquidStd.Samples.Crypto.csproj" />
<Project Path="samples/SquidStd.Samples.Vfs/SquidStd.Samples.Vfs.csproj" />
<Project Path="samples/SquidStd.Samples.Secrets/SquidStd.Samples.Secrets.csproj" />
<Project Path="samples/SquidStd.Samples.Actors/SquidStd.Samples.Actors.csproj" />
<Project Path="samples/SquidStd.Samples.Tui/SquidStd.Samples.Tui.csproj" />
<Project Path="samples/SquidStd.Samples.WorkerSystem/SquidStd.Samples.WorkerSystem.csproj"/>
<Project Path="samples/SquidStd.Samples.Templating/SquidStd.Samples.Templating.csproj"/>
<Project Path="samples/SquidStd.Samples.Storage/SquidStd.Samples.Storage.csproj"/>
<Project Path="samples/SquidStd.Samples.Search/SquidStd.Samples.Search.csproj"/>
<Project Path="samples/SquidStd.Samples.ScriptingLua/SquidStd.Samples.ScriptingLua.csproj"/>
<Project Path="samples/SquidStd.Samples.Plugins/SquidStd.Samples.Plugins.csproj"/>
<Project Path="samples/SquidStd.Samples.Networking/SquidStd.Samples.Networking.csproj"/>
<Project Path="samples/SquidStd.Samples.Persistence/SquidStd.Samples.Persistence.csproj"/>
<Project Path="samples/SquidStd.Samples.Commands/SquidStd.Samples.Commands.csproj"/>
<Project Path="samples/SquidStd.Samples.Email/SquidStd.Samples.Email.csproj"/>
<Project Path="samples/SquidStd.Samples.Database/SquidStd.Samples.Database.csproj"/>
<Project Path="samples/SquidStd.Samples.AspNetCore/SquidStd.Samples.AspNetCore.csproj"/>
<Project Path="samples/SquidStd.Samples.Messaging/SquidStd.Samples.Messaging.csproj"/>
<Project Path="samples/SquidStd.Samples.Caching/SquidStd.Samples.Caching.csproj"/>
<Project Path="samples/SquidStd.Samples.EventsJobsScheduling/SquidStd.Samples.EventsJobsScheduling.csproj"/>
<Project Path="samples/SquidStd.Samples.GettingStarted/SquidStd.Samples.GettingStarted.csproj"/>
<Project Path="samples/SquidStd.Samples.Crypto/SquidStd.Samples.Crypto.csproj"/>
<Project Path="samples/SquidStd.Samples.Vfs/SquidStd.Samples.Vfs.csproj"/>
<Project Path="samples/SquidStd.Samples.Secrets/SquidStd.Samples.Secrets.csproj"/>
<Project Path="samples/SquidStd.Samples.Actors/SquidStd.Samples.Actors.csproj"/>
<Project Path="samples/SquidStd.Samples.Tui/SquidStd.Samples.Tui.csproj"/>
</Folder>
<Folder Name="/tests/">
<Project Path="tests/SquidStd.Tests/SquidStd.Tests.csproj" />
<Project Path="tests/SquidStd.Tests/SquidStd.Tests.csproj"/>
</Folder>
</Solution>
5 changes: 3 additions & 2 deletions samples/SquidStd.Samples.Actors/Program.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using SquidStd.Actors;
using SquidStd.Actors.Interfaces;

await using var counter = new CounterActor();

Expand All @@ -14,7 +13,7 @@
#region step-3

// Request/response: AskAsync enqueues a request and awaits its typed reply.
var total = await counter.AskAsync<GetTotal, int>(new GetTotal());
var total = await counter.AskAsync<GetTotal, int>(new());

Console.WriteLine($"Total: {total}");

Expand All @@ -40,9 +39,11 @@ protected override ValueTask ReceiveAsync(ICounterMessage message, CancellationT
{
case Increment increment:
_total += increment.By;

break;
case GetTotal request:
request.Reply(_total);

break;
}

Expand Down
3 changes: 1 addition & 2 deletions samples/SquidStd.Samples.Caching/Program.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
using SquidStd.Caching.Abstractions.Interfaces;
using SquidStd.Caching.Extensions;
using SquidStd.Core.Data.Bootstrap;
using SquidStd.Services.Core.Services.Bootstrap;

var bootstrap = SquidStdBootstrap.Create(
new SquidStdOptions
new()
{
ConfigName = "squidstd",
RootDirectory = AppContext.BaseDirectory
Expand Down
17 changes: 7 additions & 10 deletions samples/SquidStd.Samples.Crypto/Program.cs
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
using System.Text;
using SquidStd.Core.Data.Bootstrap;
using SquidStd.Crypto.Pgp.Extensions;
using SquidStd.Crypto.Pgp.Interfaces;
using SquidStd.Crypto.Pgp.Services;
using SquidStd.Services.Core.Services.Bootstrap;

var bootstrap = SquidStdBootstrap.Create(
new SquidStdOptions
new()
{
ConfigName = "squidstd",
RootDirectory = AppContext.BaseDirectory
Expand Down Expand Up @@ -50,11 +49,11 @@

// Encrypt + sign for the recipient, then decrypt + verify the round-trip.
var armored = await pgp.EncryptAndSignForAsync(
identity,
Encoding.UTF8.GetBytes("attack at dawn"),
identity,
passphrase
);
identity,
Encoding.UTF8.GetBytes("attack at dawn"),
identity,
passphrase
);

var result = await pgp.DecryptAndVerifyAsync(armored, passphrase);

Expand All @@ -70,9 +69,7 @@
var reloaded = new PgpKeyring();
await reloaded.LoadAsync(keyStore);

Console.WriteLine(
$"Reloaded {reloaded.Keys.Count} key(s) from disk; contains '{identity}': {reloaded.Contains(identity)}"
);
Console.WriteLine($"Reloaded {reloaded.Keys.Count} key(s) from disk; contains '{identity}': {reloaded.Contains(identity)}");

#endregion

Expand Down
15 changes: 7 additions & 8 deletions samples/SquidStd.Samples.Database/Program.cs
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
using SquidStd.Core.Data.Bootstrap;
using SquidStd.Database.Abstractions.Data.Entities;
using SquidStd.Database.Abstractions.Interfaces.Data;
using SquidStd.Database.Extensions;
using SquidStd.Services.Core.Services.Bootstrap;

var bootstrap = SquidStdBootstrap.Create(
new SquidStdOptions
new()
{
ConfigName = "squidstd",
RootDirectory = AppContext.BaseDirectory
Expand All @@ -24,14 +23,14 @@

var products = bootstrap.Resolve<IDataAccess<Product>>();

await products.InsertAsync(new Product { Name = "Squid Plushie", Price = 19.99m });
await products.InsertAsync(new Product { Name = "Kraken Mug", Price = 12.50m });
await products.InsertAsync(new() { Name = "Squid Plushie", Price = 19.99m });
await products.InsertAsync(new() { Name = "Kraken Mug", Price = 12.50m });

var page = await products.GetPagedAsync(
1,
10,
orderBy: product => product.Price
);
1,
10,
orderBy: product => product.Price
);

Console.WriteLine($"Found {page.TotalCount} product(s) on page {page.Page}/{page.TotalPages}:");

Expand Down
23 changes: 12 additions & 11 deletions samples/SquidStd.Samples.Email/Program.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
using SquidStd.Core.Data.Bootstrap;
using SquidStd.Core.Interfaces.Events;
using SquidStd.Mail.Abstractions.Data;
using SquidStd.Mail.Abstractions.Data.Config;
using SquidStd.Mail.Abstractions.Data.Events;
using SquidStd.Mail.Abstractions.Interfaces;
using SquidStd.Mail.Abstractions.Types.Mail;
Expand All @@ -12,7 +10,7 @@
using SquidStd.Services.Core.Services.Bootstrap;

var bootstrap = SquidStdBootstrap.Create(
new SquidStdOptions
new()
{
ConfigName = "squidstd",
RootDirectory = AppContext.BaseDirectory
Expand All @@ -21,8 +19,9 @@

#region step-1

bootstrap.ConfigureServices(container => container.AddMail(
new MailOptions
bootstrap.ConfigureServices(
container => container.AddMail(
new()
{
Protocol = MailProtocolType.Imap,
Host = "imap.example.com",
Expand All @@ -37,8 +36,9 @@

#region step-2

bootstrap.ConfigureServices(container => container.AddMailSender(
new SmtpOptions
bootstrap.ConfigureServices(
container => container.AddMailSender(
new()
{
Host = "smtp.example.com",
Port = 587
Expand All @@ -50,9 +50,10 @@

#region step-3

bootstrap.ConfigureServices(container => container
.AddInMemoryMessaging()
.AddMailQueue()
bootstrap.ConfigureServices(
container => container
.AddInMemoryMessaging()
.AddMailQueue()
);

#endregion
Expand All @@ -65,7 +66,7 @@

var outgoing = new OutgoingMailMessage
{
To = [new MailAddress("Bob", "bob@example.com")],
To = [new("Bob", "bob@example.com")],
Subject = "Hi",
HtmlBody = "<p>Hi</p>"
};
Expand Down
10 changes: 5 additions & 5 deletions samples/SquidStd.Samples.EventsJobsScheduling/Program.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using SquidStd.Abstractions.Attributes;
using SquidStd.Core.Data.Bootstrap;
using SquidStd.Core.Interfaces.Events;
using SquidStd.Core.Interfaces.Jobs;
using SquidStd.Core.Interfaces.Scheduling;
Expand All @@ -8,17 +7,18 @@
using SquidStd.Services.Core.Services.Bootstrap;

var bootstrap = SquidStdBootstrap.Create(
new SquidStdOptions
new()
{
ConfigName = "squidstd",
RootDirectory = AppContext.BaseDirectory
}
);

// The cron scheduler and timer wheel are opt-in.
bootstrap.ConfigureServices(container => container
.RegisterSchedulerServices()
.RegisterGeneratedEventListeners()
bootstrap.ConfigureServices(
container => container
.RegisterSchedulerServices()
.RegisterGeneratedEventListeners()
);

await bootstrap.StartAsync();
Expand Down
3 changes: 1 addition & 2 deletions samples/SquidStd.Samples.GettingStarted/Program.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
using SquidStd.Core.Data.Bootstrap;
using SquidStd.Services.Core.Services.Bootstrap;

#region step-1

var bootstrap = SquidStdBootstrap.Create(
new SquidStdOptions
new()
{
ConfigName = "squidstd",
RootDirectory = AppContext.BaseDirectory
Expand Down
3 changes: 1 addition & 2 deletions samples/SquidStd.Samples.Messaging/Program.cs
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
using SquidStd.Core.Data.Bootstrap;
using SquidStd.Messaging.Abstractions.Interfaces;
using SquidStd.Messaging.Extensions;
using SquidStd.Services.Core.Services.Bootstrap;

var bootstrap = SquidStdBootstrap.Create(
new SquidStdOptions
new()
{
ConfigName = "squidstd",
RootDirectory = AppContext.BaseDirectory
Expand Down
8 changes: 4 additions & 4 deletions samples/SquidStd.Samples.Networking/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,12 @@
var server = new SquidTcpServer(endPoint);

server.OnClientConnect += (_, args) =>
Console.WriteLine($"Client connected: session {args.Client.SessionId}");
Console.WriteLine($"Client connected: session {args.Client.SessionId}");

server.OnDataReceived += (_, args) =>
Console.WriteLine(
$"Received {args.Data.Length} byte(s): {Encoding.UTF8.GetString(args.Data.Span)}"
);
Console.WriteLine(
$"Received {args.Data.Length} byte(s): {Encoding.UTF8.GetString(args.Data.Span)}"
);

#endregion

Expand Down
Loading
Loading