Skip to content

Commit

Permalink
add support for BigStringEmbedded
Browse files Browse the repository at this point in the history
  • Loading branch information
olmobrutall committed Aug 31, 2020
1 parent 44c0c36 commit d1bf677
Show file tree
Hide file tree
Showing 9 changed files with 103 additions and 8 deletions.
34 changes: 32 additions & 2 deletions Modules.xml
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,12 @@
</Module>

<Module Name="Files">
<RemoveLine Path="Southwind.Logic\Starter.cs" Line="MixinDeclarations.Register&lt;BigStringEmbedded, BigStringMixin>();"/>
<RemoveLine Path="Southwind.Logic\Starter.cs" Line="ConfigureBigString(sb);"/>
<RemoveLine Path="Southwind.Logic\Starter.cs" Line="FilePathEmbeddedLogic.Start(sb);"/>
<RemoveLine Path="Southwind.Logic\Starter.cs" Line="FileLogic.Start(sb);"/>
<RemoveLine Path="Southwind.Logic\Starter.cs" Line="BigStringLogic.Start(sb);"/>
<RemoveLine Path="Southwind.Logic\Starter.cs" From="public static void ConfigureBigString(SchemaBuilder sb)" To="}//ConfigureBigString"/>
<RemoveLine Path="Southwind.React\App\MainAdmin.tsx" Line="import * as FilesClient from &quot;@extensions/Files/FilesClient&quot;"/>
<RemoveLine Path="Southwind.React\App\MainAdmin.tsx" Line="FilesClient.start({ routes });"/>
<RemoveLine Path="Southwind.React\Startup.cs" Line="FilesServer.Start(app);"/>
Expand All @@ -127,6 +131,31 @@
<RemoveLine DependsOn="ExampleEntities" Path="Southwind.React\App\Southwind\Templates\Category.tsx" Line="&lt;FileLine ctx={ctx.subCtx(c => c.picture)} onChange={() => forceUpdate()} />"/>
<RemoveLine DependsOn="ExampleEntities" Path="Southwind.React\App\Southwind\Templates\Category.tsx" From="&lt;div className=&quot;col-sm-3&quot;>{/*photo*/}" To="&lt;/div>{/*photo*/}"/>
<RemoveLine DependsOn="ExampleEntities" Path="Southwind.React\App\Southwind\Templates\Employee.tsx" From="{/*photo*/}" To="{/*photo*/}"/>

<RemoveLine Path="Southwind.Entities\ApplicationConfiguration.cs" From="/*Exceptions*/" To="public string ExceptionsFolder { get; set; }"/>
<RemoveLine Path="Southwind.Entities\ApplicationConfiguration.cs" Line="public static FileTypeSymbol Exceptions;"/>
<RemoveLine Path="Southwind.Terminal\SouthwindMigrations.cs" Line="ExceptionsFolder = @&quot;c:/Southwind/Exceptions&quot;,"/>
<RemoveLine Path="Southwind.Test.Environment\SouthwindEnvironment.cs" Line="ExceptionsFolder = @&quot;c:/Southwind/Exceptions&quot;,"/>

<RemoveLine Path="Southwind.Entities\ApplicationConfiguration.cs" From="/*OperationLog*/" To="public string OperationLogFolder { get; set; }"/>
<RemoveLine Path="Southwind.Entities\ApplicationConfiguration.cs" Line="public static FileTypeSymbol OperationLog;"/>
<RemoveLine Path="Southwind.Terminal\SouthwindMigrations.cs" Line="OperationLogFolder = @&quot;c:/Southwind/OperationLog&quot;,"/>
<RemoveLine Path="Southwind.Test.Environment\SouthwindEnvironment.cs" Line="OperationLogFolder = @&quot;c:/Southwind/OperationLog&quot;,"/>

<RemoveLine DependsOn="Dashboard" Path="Southwind.Entities\ApplicationConfiguration.cs" From="/*ViewLog*/" To="public string ViewLogFolder { get; set; }"/>
<RemoveLine DependsOn="Dashboard" Path="Southwind.Entities\ApplicationConfiguration.cs" Line="public static FileTypeSymbol ViewLog;"/>
<RemoveLine DependsOn="Dashboard" Path="Southwind.Terminal\SouthwindMigrations.cs" Line="ViewLogFolder = @&quot;c:/Southwind/ViewLog&quot;,"/>
<RemoveLine DependsOn="Dashboard" Path="Southwind.Test.Environment\SouthwindEnvironment.cs" Line="ViewLogFolder = @&quot;c:/Southwind/ViewLog&quot;,"/>
<RemoveLine DependsOn="Dashboard" Path="Southwind.Logic\Starter.cs" Line="FileTypeLogic.Register(BigStringFileType.ViewLog, new FileTypeAlgorithm(f => new PrefixPair(Starter.Configuration.Value.Folders.ViewLogFolder)));"/>
<RemoveLine DependsOn="Dashboard" Path="Southwind.Logic\Starter.cs" Line="BigStringLogic.RegisterAll&lt;ViewLogEntity>(sb, new BigStringConfiguration(mode, BigStringFileType.ViewLog));"/>


<RemoveLine DependsOn="Mailing" Path="Southwind.Entities\ApplicationConfiguration.cs" From="/*EmailMessage*/" To="public string EmailMessageFolder { get; set; }"/>
<RemoveLine DependsOn="Mailing" Path="Southwind.Entities\ApplicationConfiguration.cs" Line="public static FileTypeSymbol EmailMessage;"/>
<RemoveLine DependsOn="Mailing" Path="Southwind.Terminal\SouthwindMigrations.cs" Line="EmailMessageFolder = @&quot;c:/Southwind/EmailMessage&quot;,"/>
<RemoveLine DependsOn="Mailing" Path="Southwind.Test.Environment\SouthwindEnvironment.cs" Line="EmailMessageFolder = @&quot;c:/Southwind/EmailMessage&quot;,"/>
<RemoveLine DependsOn="Dashboard" Path="Southwind.Logic\Starter.cs" Line="FileTypeLogic.Register(BigStringFileType.EmailMessage, new FileTypeAlgorithm(f => new PrefixPair(Starter.Configuration.Value.Folders.EmailMessageFolder)));"/>
<RemoveLine DependsOn="Dashboard" Path="Southwind.Logic\Starter.cs" Line="BigStringLogic.RegisterAll&lt;EmailMessageEntity>(sb, new BigStringConfiguration(mode, BigStringFileType.EmailMessage));"/>
</Module>

<Module Name="Excel">
Expand Down Expand Up @@ -412,10 +441,11 @@
<RemoveLine Path="Southwind.React\Startup.cs" Line="RestLogServer.Start(app);"/>
</Module>

<Module Name="Predictor">
<Module Name="Predictor" DependsOn="Files">
<RemoveLine Path="Southwind.Entities\ApplicationConfiguration.cs" From="/*Predictor*/" To="public string PredictorModelFolder { get; set; }"/>
<RemoveLine DependsOn="ExampleEntities" Path="Southwind.Terminal\SouthwindMigrations.cs" Line="ImportPredictor,"/>
<RemoveLine Path="Southwind.Terminal\SouthwindMigrations.cs" Line="PredictorModelFolder = @&quot;c:/Southwind/PredictorModels&quot;"/>
<RemoveLine Path="Southwind.Terminal\SouthwindMigrations.cs" Line="PredictorModelFolder = @&quot;c:/Southwind/PredictorModels&quot;,"/>
<RemoveLine Path="Southwind.Test.Environment\SouthwindEnvironment.cs" Line="PredictorModelFolder = @&quot;c:/Southwind/PredictorModels&quot;,"/>
<RemoveLine DependsOn="ExampleEntities" Path="Southwind.Terminal\SouthwindMigrations.cs" From="public static void ImportPredictor()" To="}//ImportPredictor"/>
<RemoveLine DependsOn="ExampleEntities" Path="Southwind.Terminal\Program.cs" Line="{&quot;TP&quot;, TrainPredictor},"/>
<RemoveLine DependsOn="ExampleEntities" Path="Southwind.Terminal\Program.cs" From="static void TrainPredictor()" To="}//TrainPredictor"/>
Expand Down
26 changes: 26 additions & 0 deletions Southwind.Entities/ApplicationConfiguration.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
using System.Linq.Expressions;
using Signum.Entities.Authorization;
using Signum.Entities.Workflow;
using Signum.Entities.Files;

namespace Southwind.Entities
{
Expand Down Expand Up @@ -59,5 +60,30 @@ public class FoldersConfigurationEmbedded : EmbeddedEntity
/*Predictor*/
[StringLengthValidator(Max = 300), FileNameValidator]
public string PredictorModelFolder { get; set; }

/*Exceptions*/
[StringLengthValidator(Max = 300), FileNameValidator]
public string ExceptionsFolder { get; set; }

/*OperationLog*/
[StringLengthValidator(Max = 300), FileNameValidator]
public string OperationLogFolder { get; set; }

/*ViewLog*/
[StringLengthValidator(Max = 300), FileNameValidator]
public string ViewLogFolder { get; set; }

/*EmailMessage*/
[StringLengthValidator(Max = 300), FileNameValidator]
public string EmailMessageFolder { get; set; }
}

[AutoInit]
public static class BigStringFileType
{
public static FileTypeSymbol Exceptions;
public static FileTypeSymbol OperationLog;
public static FileTypeSymbol ViewLog;
public static FileTypeSymbol EmailMessage;
}
}
4 changes: 2 additions & 2 deletions Southwind.Logic/CustomerLogic.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Expand Down Expand Up @@ -75,7 +75,7 @@ public static void Start(SchemaBuilder sb)

return (await persons).Concat(await companies)
.OrderBy(request.Orders)
.TryPaginate(request.Pagination);
.TryPaginate(request.Pagination, request.SystemTime);

})
.ColumnProperyRoutes(a => a.Id,
Expand Down
20 changes: 20 additions & 0 deletions Southwind.Logic/Starter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,9 @@ public static void Start(string connectionString, bool isPostgres, bool includeD
MixinDeclarations.Register<OperationLogEntity, DiffLogMixin>();
MixinDeclarations.Register<UserEntity, UserEmployeeMixin>();
MixinDeclarations.Register<OrderDetailEmbedded, OrderDetailMixin>();
MixinDeclarations.Register<BigStringEmbedded, BigStringMixin>();

ConfigureBigString(sb);
OverrideAttributes(sb);

if (!isPostgres)
Expand Down Expand Up @@ -129,6 +131,7 @@ public static void Start(string connectionString, bool isPostgres, bool includeD

CultureInfoLogic.Start(sb);
FilePathEmbeddedLogic.Start(sb);
BigStringLogic.Start(sb);
EmailLogic.Start(sb, () => Configuration.Value.Email, (template, target, message) => Configuration.Value.EmailSender);

AuthLogic.Start(sb, "System", "Anonymous"); /* null); anonymous*/
Expand Down Expand Up @@ -214,6 +217,23 @@ public static void Start(string connectionString, bool isPostgres, bool includeD
}
}

public static void ConfigureBigString(SchemaBuilder sb)
{
BigStringMode mode = BigStringMode.FileSystem;

FileTypeLogic.Register(BigStringFileType.Exceptions, new FileTypeAlgorithm(f => new PrefixPair(Starter.Configuration.Value.Folders.ExceptionsFolder)));
BigStringLogic.RegisterAll<ExceptionEntity>(sb, new BigStringConfiguration(mode, BigStringFileType.Exceptions));

FileTypeLogic.Register(BigStringFileType.OperationLog, new FileTypeAlgorithm(f => new PrefixPair(Starter.Configuration.Value.Folders.OperationLogFolder)));
BigStringLogic.RegisterAll<OperationLogEntity>(sb, new BigStringConfiguration(mode, BigStringFileType.OperationLog));

FileTypeLogic.Register(BigStringFileType.ViewLog, new FileTypeAlgorithm(f => new PrefixPair(Starter.Configuration.Value.Folders.ViewLogFolder)));
BigStringLogic.RegisterAll<ViewLogEntity>(sb, new BigStringConfiguration(mode, BigStringFileType.ViewLog));

FileTypeLogic.Register(BigStringFileType.EmailMessage, new FileTypeAlgorithm(f => new PrefixPair(Starter.Configuration.Value.Folders.EmailMessageFolder)));
BigStringLogic.RegisterAll<EmailMessageEntity>(sb, new BigStringConfiguration(mode, BigStringFileType.EmailMessage));
}//ConfigureBigString

public class CustomSchemaBuilder : SchemaBuilder
{
public CustomSchemaBuilder() : base(true)
Expand Down
11 changes: 11 additions & 0 deletions Southwind.React/App/Southwind/Southwind.Entities.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,13 @@ export module ApplicationConfigurationOperation {
export const Save : Entities.ExecuteSymbol<ApplicationConfigurationEntity> = registerSymbol("Operation", "ApplicationConfigurationOperation.Save");
}

export module BigStringFileType {
export const Exceptions : Files.FileTypeSymbol = registerSymbol("FileType", "BigStringFileType.Exceptions");
export const OperationLog : Files.FileTypeSymbol = registerSymbol("FileType", "BigStringFileType.OperationLog");
export const ViewLog : Files.FileTypeSymbol = registerSymbol("FileType", "BigStringFileType.ViewLog");
export const EmailMessage : Files.FileTypeSymbol = registerSymbol("FileType", "BigStringFileType.EmailMessage");
}

export module CatalogMessage {
export const ProductName = new MessageKey("CatalogMessage", "ProductName");
export const UnitPrice = new MessageKey("CatalogMessage", "UnitPrice");
Expand Down Expand Up @@ -128,6 +135,10 @@ export const FoldersConfigurationEmbedded = new Type<FoldersConfigurationEmbedde
export interface FoldersConfigurationEmbedded extends Entities.EmbeddedEntity {
Type: "FoldersConfigurationEmbedded";
predictorModelFolder: string;
exceptionsFolder: string;
operationLogFolder: string;
viewLogFolder: string;
emailMessageFolder: string;
}

export const OrderDetailEmbedded = new Type<OrderDetailEmbedded>("OrderDetailEmbedded");
Expand Down
6 changes: 5 additions & 1 deletion Southwind.Terminal/SouthwindMigrations.cs
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,11 @@ public static void CreateCultureInfo()
}, //Workflow
Folders = new FoldersConfigurationEmbedded
{
PredictorModelFolder = @"c:/Southwind/PredictorModels"
PredictorModelFolder = @"c:/Southwind/PredictorModels",
ExceptionsFolder = @"c:/Southwind/Exceptions",
OperationLogFolder = @"c:/Southwind/OperationLog",
ViewLogFolder = @"c:/Southwind/ViewLog",
EmailMessageFolder = @"c:/Southwind/EmailMessage",
}
}.Save();

Expand Down
6 changes: 5 additions & 1 deletion Southwind.Test.Environment/SouthwindEnvironment.cs
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,11 @@ internal static void LoadBasics()
}, //Workflow
Folders = new FoldersConfigurationEmbedded
{
PredictorModelFolder = @"c:/Southwind/PredictorModels"
PredictorModelFolder = @"c:/Southwind/PredictorModels",
ExceptionsFolder = @"c:/Southwind/Exceptions",
OperationLogFolder = @"c:/Southwind/OperationLog",
ViewLogFolder = @"c:/Southwind/ViewLog",
EmailMessageFolder = @"c:/Southwind/EmailMessage",
}
}.Save();
}
Expand Down

0 comments on commit d1bf677

Please sign in to comment.