added IInstallable interface and uninstall implementation for modules. Refactoring module installation to use interface still in progress.

This commit is contained in:
Shaun Walker
2020-04-26 13:15:02 -04:00
parent e4850c4d27
commit 58d3c406cd
15 changed files with 158 additions and 76 deletions

View File

@ -1,17 +1,31 @@
using Oqtane.Models;
using Oqtane.Infrastructure;
using Oqtane.Models;
using Oqtane.Repository;
using Oqtane.Modules.HtmlText.Models;
using Oqtane.Modules.HtmlText.Repository;
using System.Net;
namespace Oqtane.Modules.HtmlText.Manager
{
public class HtmlTextManager : IPortable
public class HtmlTextManager : IInstallable, IPortable
{
private IHtmlTextRepository _htmlTexts;
private ISqlRepository _sql;
public HtmlTextManager(IHtmlTextRepository htmltexts)
public HtmlTextManager(IHtmlTextRepository htmltexts, ISqlRepository sql)
{
_htmlTexts = htmltexts;
_sql = sql;
}
public bool Install(string version)
{
return _sql.ExecuteEmbeddedScript(GetType().Assembly, "HtmlText." + version + ".sql");
}
public bool Uninstall()
{
return _sql.ExecuteEmbeddedScript(GetType().Assembly, "HtmlText.Uninstall.sql");
}
public string ExportModule(Module module)

View File

@ -0,0 +1,19 @@
CREATE TABLE [dbo].[HtmlText](
[HtmlTextId] [int] IDENTITY(1,1) NOT NULL,
[ModuleId] [int] NOT NULL,
[Content] [nvarchar](max) NOT NULL,
[CreatedBy] [nvarchar](256) NOT NULL,
[CreatedOn] [datetime] NOT NULL,
[ModifiedBy] [nvarchar](256) NOT NULL,
[ModifiedOn] [datetime] NOT NULL,
CONSTRAINT [PK_HtmlText] PRIMARY KEY CLUSTERED
(
[HtmlTextId] ASC
)
)
GO
ALTER TABLE [dbo].[HtmlText] WITH CHECK ADD CONSTRAINT [FK_HtmlText_Module] FOREIGN KEY([ModuleId])
REFERENCES [dbo].[Module] ([ModuleId])
ON DELETE CASCADE
GO

View File

@ -0,0 +1,2 @@
DROP TABLE [dbo].[HtmlText]
GO