install/upgrade refactoring to consolidate all use cases and implement IInstallable interface for modules, moved tenant creation to site management UI, fixed z-order issues in Blazor theme, enhanced JS Interop methods to support integrity and crossorigin

This commit is contained in:
Shaun Walker
2020-04-30 13:58:04 -04:00
parent 099fddf2b6
commit 34538dd945
44 changed files with 1051 additions and 912 deletions

View File

@ -62,7 +62,8 @@ else
- Repository\I[Module]Repository.cs - interface for defining repository methods<br />
- Repository\[Module]Respository.cs - implements repository interface methods for data access using EF Core<br />
- Repository\[Module]Context.cs - provides a DB Context for data access<br />
- Scripts\01.00.00.sql - database schema definition<br /><br />
- Scripts\[Module].1.0.0.sql - database schema definition script<br /><br />
- Scripts\[Module].Uninstall.sql - database uninstall script<br /><br />
[RootPath]Shared\<br />
- [Owner].[Module]s.Module.Shared.csproj - shared project<br />
- Models\[Module].cs - model definition<br /><br />

View File

@ -11,7 +11,8 @@ namespace [Owner].[Module]s.Modules
Description = "[Module]",
Version = "1.0.0",
Dependencies = "[Owner].[Module]s.Module.Shared",
ServerManagerType = "[ServerManagerType]"
ServerManagerType = "[ServerManagerType]",
ReleaseVersions = "1.0.0"
};
}
}

View File

@ -3,18 +3,32 @@ using System.Linq;
using System.Text.Json;
using Oqtane.Modules;
using Oqtane.Models;
using Oqtane.Infrastructure;
using Oqtane.Repository;
using [Owner].[Module]s.Models;
using [Owner].[Module]s.Repository;
namespace [Owner].[Module]s.Manager
{
public class [Module]Manager : IPortable
public class [Module]Manager : IInstallable, IPortable
{
private I[Module]Repository _[Module]s;
private ISqlRepository _sql;
public [Module]Manager(I[Module]Repository [Module]s)
public [Module]Manager(I[Module]Repository [Module]s, ISqlRepository sql)
{
_[Module]s = [Module]s;
_sql = sql;
}
public bool Install(Tenant tenant, string version)
{
return _sql.ExecuteScript(tenant, GetType().Assembly, "[Owner].[Module]." + version + ".sql");
}
public bool Uninstall(Tenant tenant)
{
return _sql.ExecuteScript(tenant, GetType().Assembly, "[Owner].[Module].Uninstall.sql");
}
public string ExportModule(Module module)

View File

@ -13,13 +13,13 @@
</PropertyGroup>
<ItemGroup>
<None Remove="Scripts\01.00.00.sql" />
<None Remove="Scripts\Uninstall.sql" />
<None Remove="Scripts\[Module].1.0.0.sql" />
<None Remove="Scripts\[Module].Uninstall.sql" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Scripts\01.00.00.sql" />
<EmbeddedResource Include="Scripts\Uninstall.sql" />
<EmbeddedResource Include="Scripts\[Module].1.0.0.sql" />
<EmbeddedResource Include="Scripts\[Module].Uninstall.sql" />
</ItemGroup>
<ItemGroup>