Merge remote-tracking branch 'remotes/origin/feature/wizard/migration' into develop
This commit is contained in:
commit
3131c27d26
@ -61,11 +61,13 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Web.Api", "web\ASC.Web.
|
||||
EndProject
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Web.Studio", "web\ASC.Web.Studio\ASC.Web.Studio.csproj", "{9BF17F6E-04A9-4597-9273-21AD09600329}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ASC.Common.Tests", "common\Tests\ASC.Common.Tests\ASC.Common.Tests.csproj", "{E6DEAA28-9A73-470A-8F17-3E72B1E8D208}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Common.Tests", "common\Tests\ASC.Common.Tests\ASC.Common.Tests.csproj", "{E6DEAA28-9A73-470A-8F17-3E72B1E8D208}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ASC.Core.Common.Tests", "common\Tests\ASC.Core.Common.Tests\ASC.Core.Common.Tests.csproj", "{EF613F37-CFA9-4631-AA6E-512262FABC8E}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Core.Common.Tests", "common\Tests\ASC.Core.Common.Tests\ASC.Core.Common.Tests.csproj", "{EF613F37-CFA9-4631-AA6E-512262FABC8E}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ASC.Notify.Textile.Tests", "common\Tests\ASC.Notify.Textile.Tests\ASC.Notify.Textile.Tests.csproj", "{8FAD3D1B-3ADC-470C-9933-CAE1B95A8599}"
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Notify.Textile.Tests", "common\Tests\ASC.Notify.Textile.Tests\ASC.Notify.Textile.Tests.csproj", "{8FAD3D1B-3ADC-470C-9933-CAE1B95A8599}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ASC.Web.Api.Tests", "common\Tests\ASC.Web.Api.Tests\ASC.Web.Api.Tests.csproj", "{14823E93-C749-4069-9E0A-95E63DE0B254}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
@ -201,6 +203,10 @@ Global
|
||||
{8FAD3D1B-3ADC-470C-9933-CAE1B95A8599}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{8FAD3D1B-3ADC-470C-9933-CAE1B95A8599}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{8FAD3D1B-3ADC-470C-9933-CAE1B95A8599}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{14823E93-C749-4069-9E0A-95E63DE0B254}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{14823E93-C749-4069-9E0A-95E63DE0B254}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{14823E93-C749-4069-9E0A-95E63DE0B254}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{14823E93-C749-4069-9E0A-95E63DE0B254}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -23,8 +23,13 @@ namespace ASC.Core.Common.EF.Model
|
||||
.Add(MySqlAddWebstudioSettings, Provider.MySql)
|
||||
.Add(PgSqlAddWebstudioSettings, Provider.Postgre)
|
||||
.HasData(
|
||||
new DbWebstudioSettings { TenantId = 1, Id = Guid.Parse("9a925891-1f92-4ed7-b277-d6f649739f06"), UserId = Guid.Parse("00000000-0000-0000-0000-000000000000"), Data = "{'Completed':false}" }
|
||||
);
|
||||
new DbWebstudioSettings
|
||||
{
|
||||
TenantId = 1,
|
||||
Id = Guid.Parse("9a925891-1f92-4ed7-b277-d6f649739f06"),
|
||||
UserId = Guid.Parse("00000000-0000-0000-0000-000000000000"),
|
||||
Data = "{\"Completed\":false}"
|
||||
});
|
||||
return modelBuilder;
|
||||
}
|
||||
|
||||
|
@ -30,8 +30,19 @@ namespace ASC.Core.Common.EF
|
||||
.Add(MySqlAddDbQuota, Provider.MySql)
|
||||
.Add(PgSqlAddDbQuota, Provider.Postgre)
|
||||
.HasData(
|
||||
new DbQuota { Tenant = -1, Name = "default", Description = null, MaxFileSize = 102400, MaxTotalSize = 10995116277760, ActiveUsers = 10000, Features = "domain,audit,controlpanel,healthcheck,ldap,sso,whitelabel,branding,ssbranding,update,support,portals:10000,discencryption,privacyroom,restore", Price = decimal.Parse("0,00"), Price2 = decimal.Parse("0,00"), AvangateId = "0", Visible = false }
|
||||
);
|
||||
new DbQuota
|
||||
{
|
||||
Tenant = -1,
|
||||
Name = "default",
|
||||
Description = null,
|
||||
MaxFileSize = 102400,
|
||||
MaxTotalSize = 10995116277760,
|
||||
ActiveUsers = 10000,
|
||||
Features = "domain,audit,controlpanel,healthcheck,ldap,sso,whitelabel,branding,ssbranding,update,support,portals:10000,discencryption,privacyroom,restore",
|
||||
Price = decimal.Parse("0,00"),
|
||||
Price2 = decimal.Parse("0,00"),
|
||||
AvangateId = "0", Visible = false
|
||||
});
|
||||
|
||||
return modelBuilder;
|
||||
}
|
||||
|
@ -28,8 +28,7 @@ namespace ASC.Core.Common.EF
|
||||
{
|
||||
Tenant = 1,
|
||||
UserId = Guid.Parse("66faa6e4-f133-11ea-b126-00ffeec8b4ef"),
|
||||
PwdHash = "vLFfghR5tNV3K9DKhmwArV+SbjWAcgZZzIDTnJ0JgCo=",
|
||||
PwdHashSha512 = "USubvPlB+ogq0Q1trcSupg==",
|
||||
PwdHash = "jGl25bVBBBW96Qi9Te4V37Fnqchz/Eu4qB9vKrRIqRg=",
|
||||
LastModified = DateTime.UtcNow
|
||||
});
|
||||
|
||||
|
@ -586,8 +586,7 @@ namespace ASC.Core.Common.Migrations.MySql.TenantDbContextMySql
|
||||
{
|
||||
UserId = "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
|
||||
LastModified = new DateTime(2021, 3, 9, 9, 51, 15, 581, DateTimeKind.Utc).AddTicks(9172),
|
||||
PwdHash = "vLFfghR5tNV3K9DKhmwArV+SbjWAcgZZzIDTnJ0JgCo=",
|
||||
PwdHashSha512 = "USubvPlB+ogq0Q1trcSupg==",
|
||||
PwdHash = "jGl25bVBBBW96Qi9Te4V37Fnqchz/Eu4qB9vKrRIqRg=",
|
||||
Tenant = 1
|
||||
});
|
||||
});
|
||||
|
@ -230,8 +230,8 @@ namespace ASC.Core.Common.Migrations.MySql.TenantDbContextMySql
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "core_usersecurity",
|
||||
columns: new[] { "userid", "pwdhash", "pwdhashsha512", "tenant" },
|
||||
values: new object[] { "66faa6e4-f133-11ea-b126-00ffeec8b4ef", "vLFfghR5tNV3K9DKhmwArV+SbjWAcgZZzIDTnJ0JgCo=", "USubvPlB+ogq0Q1trcSupg==", 1 });
|
||||
columns: new[] { "userid", "pwdhash", "tenant" },
|
||||
values: new object[] { "66faa6e4-f133-11ea-b126-00ffeec8b4ef", "jGl25bVBBBW96Qi9Te4V37Fnqchz/Eu4qB9vKrRIqRg=", 1 });
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "email",
|
||||
|
@ -493,22 +493,6 @@ namespace ASC.Core.Common.Migrations.MySql.TenantDbContextMySql
|
||||
Tenant = 1,
|
||||
UserName = "administrator",
|
||||
WorkFromDate = new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(8614)
|
||||
},
|
||||
new
|
||||
{
|
||||
Id = "005bb3ff-7de3-47d2-9b3d-61b9ec8a76a5",
|
||||
ActivationStatus = 0,
|
||||
CreateOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
|
||||
Email = "test@gmail.com",
|
||||
FirstName = "Test",
|
||||
LastModified = new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(9616),
|
||||
LastName = "User",
|
||||
PhoneActivation = 0,
|
||||
Removed = false,
|
||||
Status = 1,
|
||||
Tenant = 1,
|
||||
UserName = "TestUser",
|
||||
WorkFromDate = new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(9613)
|
||||
});
|
||||
});
|
||||
|
||||
@ -600,16 +584,7 @@ namespace ASC.Core.Common.Migrations.MySql.TenantDbContextMySql
|
||||
{
|
||||
UserId = "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
|
||||
LastModified = new DateTime(2021, 3, 9, 17, 46, 59, 101, DateTimeKind.Utc).AddTicks(8498),
|
||||
PwdHash = "vLFfghR5tNV3K9DKhmwArV+SbjWAcgZZzIDTnJ0JgCo=",
|
||||
PwdHashSha512 = "USubvPlB+ogq0Q1trcSupg==",
|
||||
Tenant = 1
|
||||
},
|
||||
new
|
||||
{
|
||||
UserId = "005bb3ff-7de3-47d2-9b3d-61b9ec8a76a5",
|
||||
LastModified = new DateTime(2021, 3, 9, 17, 46, 59, 101, DateTimeKind.Utc).AddTicks(8834),
|
||||
PwdHash = "vLFfghR5tNV3K9DKhmwArV+SbjWAcgZZzIDTnJ0JgCo=",
|
||||
PwdHashSha512 = "USubvPlB+ogq0Q1trcSupg==",
|
||||
PwdHash = "jGl25bVBBBW96Qi9Te4V37Fnqchz/Eu4qB9vKrRIqRg=",
|
||||
Tenant = 1
|
||||
});
|
||||
});
|
||||
|
@ -1457,8 +1457,7 @@ namespace ASC.Core.Common.Migrations.MySql.UserDbContextMySql
|
||||
{
|
||||
UserId = "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
|
||||
LastModified = new DateTime(2021, 3, 9, 9, 52, 55, 781, DateTimeKind.Utc).AddTicks(9061),
|
||||
PwdHash = "vLFfghR5tNV3K9DKhmwArV+SbjWAcgZZzIDTnJ0JgCo=",
|
||||
PwdHashSha512 = "USubvPlB+ogq0Q1trcSupg==",
|
||||
PwdHash = "jGl25bVBBBW96Qi9Te4V37Fnqchz/Eu4qB9vKrRIqRg=",
|
||||
Tenant = 1
|
||||
});
|
||||
});
|
||||
|
@ -1455,8 +1455,7 @@ namespace ASC.Core.Common.Migrations.MySql.UserDbContextMySql
|
||||
{
|
||||
UserId = "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
|
||||
LastModified = new DateTime(2021, 3, 9, 9, 52, 55, 781, DateTimeKind.Utc).AddTicks(9061),
|
||||
PwdHash = "vLFfghR5tNV3K9DKhmwArV+SbjWAcgZZzIDTnJ0JgCo=",
|
||||
PwdHashSha512 = "USubvPlB+ogq0Q1trcSupg==",
|
||||
PwdHash = "jGl25bVBBBW96Qi9Te4V37Fnqchz/Eu4qB9vKrRIqRg=",
|
||||
Tenant = 1
|
||||
});
|
||||
});
|
||||
|
@ -77,7 +77,7 @@ namespace ASC.Core.Common.Migrations.MySql.WebstudioDbContextMySql
|
||||
TenantId = 1,
|
||||
Id = "9a925891-1f92-4ed7-b277-d6f649739f06",
|
||||
UserId = "00000000-0000-0000-0000-000000000000",
|
||||
Data = "{'Completed':false}"
|
||||
Data = "{\"Completed\":false}"
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -60,7 +60,7 @@ namespace ASC.Core.Common.Migrations.MySql.WebstudioDbContextMySql
|
||||
migrationBuilder.InsertData(
|
||||
table: "webstudio_settings",
|
||||
columns: new[] { "ID", "TenantID", "UserID", "Data" },
|
||||
values: new object[] { "9a925891-1f92-4ed7-b277-d6f649739f06", 1, "00000000-0000-0000-0000-000000000000", "{'Completed':false}" });
|
||||
values: new object[] { "9a925891-1f92-4ed7-b277-d6f649739f06", 1, "00000000-0000-0000-0000-000000000000", "{\"Completed\":false}" });
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "ID",
|
||||
|
@ -75,7 +75,7 @@ namespace ASC.Core.Common.Migrations.MySql.WebstudioDbContextMySql
|
||||
TenantId = 1,
|
||||
Id = "9a925891-1f92-4ed7-b277-d6f649739f06",
|
||||
UserId = "00000000-0000-0000-0000-000000000000",
|
||||
Data = "{'Completed':false}"
|
||||
Data = "{\"Completed\":false}"
|
||||
});
|
||||
});
|
||||
|
||||
|
23
common/Tests/ASC.Web.Api.Tests/ASC.Web.Api.Tests.csproj
Normal file
23
common/Tests/ASC.Web.Api.Tests/ASC.Web.Api.Tests.csproj
Normal file
@ -0,0 +1,23 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net5.0</TargetFramework>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.9.4" />
|
||||
<PackageReference Include="NUnit" Version="3.13.1" />
|
||||
<PackageReference Include="NUnit3TestAdapter" Version="3.17.0" />
|
||||
<PackageReference Include="coverlet.collector" Version="3.0.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\web\ASC.Web.Api\ASC.Web.Api.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="..\..\products\ASC.Files\Tests\TestMigrations\" />
|
||||
</ItemGroup>
|
||||
</Project>
|
107
common/Tests/ASC.Web.Api.Tests/BaseApiTests.cs
Normal file
107
common/Tests/ASC.Web.Api.Tests/BaseApiTests.cs
Normal file
@ -0,0 +1,107 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using ASC.Api.Settings;
|
||||
using ASC.Common.Logging;
|
||||
using ASC.Core;
|
||||
using ASC.Core.Common.EF;
|
||||
using ASC.Core.Common.EF.Context;
|
||||
using ASC.Core.Common.EF.Model;
|
||||
using ASC.Core.Common.Settings;
|
||||
using ASC.Core.Tenants;
|
||||
using ASC.Web.Api.Controllers;
|
||||
using ASC.Web.Core.Utility.Settings;
|
||||
using ASC.Web.Studio.UserControls.FirstTime;
|
||||
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace ASC.Web.Api.Tests
|
||||
{
|
||||
[SetUpFixture]
|
||||
public class MySetUpClass
|
||||
{
|
||||
protected IServiceScope Scope { get; set; }
|
||||
|
||||
[OneTimeSetUp]
|
||||
public void CreateDb()
|
||||
{
|
||||
var host = Program.CreateHostBuilder(new string[] {
|
||||
"--pathToConf", Path.Combine("..", "..", "..", "..","..", "..", "config"),
|
||||
"--ConnectionStrings:default:connectionString", BaseApiTests.TestConnection,
|
||||
"--migration:enabled", "true",
|
||||
"--core:products:folder", Path.Combine("..", "..", "..", "..","..", "..", "products")}).Build();
|
||||
|
||||
Migrate(host.Services);
|
||||
Migrate(host.Services, Assembly.GetExecutingAssembly().GetName().Name);
|
||||
|
||||
Scope = host.Services.CreateScope();
|
||||
}
|
||||
|
||||
[OneTimeTearDown]
|
||||
public void DropDb()
|
||||
{
|
||||
var context = Scope.ServiceProvider.GetService<DbContextManager<TenantDbContext>>();
|
||||
context.Value.Database.EnsureDeleted();
|
||||
}
|
||||
|
||||
|
||||
private void Migrate(IServiceProvider serviceProvider, string testAssembly = null)
|
||||
{
|
||||
using var scope = serviceProvider.CreateScope();
|
||||
|
||||
if (!string.IsNullOrEmpty(testAssembly))
|
||||
{
|
||||
var configuration = scope.ServiceProvider.GetService<IConfiguration>();
|
||||
configuration["testAssembly"] = testAssembly;
|
||||
}
|
||||
|
||||
using var db = scope.ServiceProvider.GetService<DbContextManager<TenantDbContext>>();
|
||||
db.Value.Migrate();
|
||||
}
|
||||
}
|
||||
class BaseApiTests
|
||||
{
|
||||
protected ILog Log { get; set; }
|
||||
protected UserManager UserManager { get; set; }
|
||||
protected Tenant CurrentTenant { get; set; }
|
||||
protected SecurityContext SecurityContext { get; set; }
|
||||
protected UserOptions UserOptions { get; set; }
|
||||
protected IServiceScope scope { get; set; }
|
||||
protected SettingsManager settingsManager { get; set; }
|
||||
protected DbWebstudioSettings dbWebStudioSettings { get; set; }
|
||||
|
||||
protected FirstTimeTenantSettings firstTimeTenantSettings { get; set; }
|
||||
|
||||
public const string TestConnection = "Server=localhost;Database=onlyoffice_test;User ID=root;Password=root;Pooling=true;Character Set=utf8;AutoEnlist=false;SSL Mode=none;AllowPublicKeyRetrieval=True";
|
||||
public virtual void SetUp()
|
||||
{
|
||||
var host = Program.CreateHostBuilder(new string[] {
|
||||
"--pathToConf" , Path.Combine("..", "..", "..", "..","..", "..", "config"),
|
||||
"--ConnectionStrings:default:connectionString", TestConnection,
|
||||
"--migration:enabled", "true" }).Build();
|
||||
|
||||
scope = host.Services.CreateScope();
|
||||
|
||||
var tenantManager = scope.ServiceProvider.GetService<TenantManager>();
|
||||
var tenant = tenantManager.GetTenant(1);
|
||||
tenantManager.SetCurrentTenant(tenant);
|
||||
CurrentTenant = tenant;
|
||||
|
||||
firstTimeTenantSettings = scope.ServiceProvider.GetService<FirstTimeTenantSettings>();
|
||||
settingsManager = scope.ServiceProvider.GetService<SettingsManager>();
|
||||
dbWebStudioSettings = scope.ServiceProvider.GetService<DbWebstudioSettings>();
|
||||
UserManager = scope.ServiceProvider.GetService<UserManager>();
|
||||
SecurityContext = scope.ServiceProvider.GetService<SecurityContext>();
|
||||
UserOptions = scope.ServiceProvider.GetService<IOptions<UserOptions>>().Value;
|
||||
Log = scope.ServiceProvider.GetService<IOptionsMonitor<ILog>>().CurrentValue;
|
||||
SecurityContext.AuthenticateMe(CurrentTenant.OwnerId);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace ASC.Web.Api.Tests.Infrastructure
|
||||
{
|
||||
class ApiTestsData
|
||||
{
|
||||
public static IEnumerable<TestCaseData> UserForWizard()
|
||||
{
|
||||
yield return new TestCaseData("testuser@onlyoffice.com", "00000000", "en-US", "UTC", "", "", false);
|
||||
}
|
||||
|
||||
public static IEnumerable<TestCaseData> WebStudioSettingsData()
|
||||
{
|
||||
yield return new TestCaseData(1, Guid.Parse("00000000-0000-0000-0000-000000000000"), "{\"Completed\":false}");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
656
common/Tests/ASC.Web.Api.Tests/TestMigrations/20210309174659_TestMigration.Designer.cs
generated
Normal file
656
common/Tests/ASC.Web.Api.Tests/TestMigrations/20210309174659_TestMigration.Designer.cs
generated
Normal file
@ -0,0 +1,656 @@
|
||||
// <auto-generated />
|
||||
using System;
|
||||
using ASC.Core.Common.EF.Context;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Infrastructure;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
|
||||
|
||||
namespace ASC.Core.Common.Migrations.MySql.TenantDbContextMySql
|
||||
{
|
||||
[DbContext(typeof(MySqlTenantDbContext))]
|
||||
[Migration("20210309174659_TestMigration")]
|
||||
partial class TestMigration
|
||||
{
|
||||
protected override void BuildTargetModel(ModelBuilder modelBuilder)
|
||||
{
|
||||
#pragma warning disable 612, 618
|
||||
modelBuilder
|
||||
.HasAnnotation("Relational:MaxIdentifierLength", 64)
|
||||
.HasAnnotation("ProductVersion", "5.0.3");
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbCoreSettings", b =>
|
||||
{
|
||||
b.Property<int>("Tenant")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("tenant");
|
||||
|
||||
b.Property<string>("Id")
|
||||
.HasColumnType("varchar(128)")
|
||||
.HasColumnName("id")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<DateTime>("LastModified")
|
||||
.ValueGeneratedOnAddOrUpdate()
|
||||
.HasColumnType("timestamp")
|
||||
.HasColumnName("last_modified")
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
|
||||
b.Property<byte[]>("Value")
|
||||
.IsRequired()
|
||||
.HasColumnType("mediumblob")
|
||||
.HasColumnName("value");
|
||||
|
||||
b.HasKey("Tenant", "Id")
|
||||
.HasName("PRIMARY");
|
||||
|
||||
b.ToTable("core_settings");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
{
|
||||
Tenant = -1,
|
||||
Id = "CompanyWhiteLabelSettings",
|
||||
LastModified = new DateTime(2021, 3, 9, 17, 46, 59, 99, DateTimeKind.Utc).AddTicks(7085),
|
||||
Value = new byte[] { 48, 120, 70, 53, 52, 55, 48, 52, 56, 65, 52, 56, 54, 53, 49, 55, 49, 53, 56, 55, 68, 57, 67, 69, 66, 67, 56, 65, 52, 57, 54, 67, 54, 48, 49, 68, 57, 54, 48, 51, 49, 70, 50, 67, 49, 67, 51, 69, 57, 49, 54, 48, 51, 53, 51, 57, 52, 50, 69, 69, 55, 54, 53, 68, 65, 67, 68, 51, 49, 54, 70, 52, 66, 53, 70, 52, 50, 56, 57, 50, 52, 51, 54, 70, 67, 52, 65, 50, 49, 66, 57, 65, 54, 68, 70, 56, 70, 70, 68, 51, 66, 67, 52, 48, 51, 54, 66, 52, 55, 69, 51, 65, 53, 65, 49, 66, 52, 67, 56, 56, 49, 66, 50, 54, 54, 48, 57, 56, 54, 57, 70, 69, 66, 66, 54, 56, 52, 56, 66, 68, 56, 56, 67, 48, 50, 69, 69, 65, 67, 54, 65, 52, 67, 67, 66, 51, 69, 56, 70, 52, 48, 52, 50, 57, 48, 56, 49, 50, 70, 48, 69, 54, 69, 49, 50, 52, 65, 53, 53, 50, 66, 69, 56, 49, 65, 53, 56, 67, 54, 52, 66, 66, 56, 66, 68, 51, 67, 57, 65, 56, 67, 48, 69, 68, 69, 49, 70, 57, 52, 50, 49, 50, 56, 49, 68, 69, 48, 67, 55, 65, 70, 56, 50, 55, 51, 51, 67, 48, 66, 55, 53, 52, 69, 57, 55, 69, 70, 70, 70, 65, 53, 65, 55, 53, 54, 48, 55, 65, 57, 49, 57, 53, 55, 56, 57, 54, 67, 66, 69, 67, 70, 57, 53, 54, 51, 70, 67, 56, 51, 49, 51, 48, 48, 68, 67, 56, 69, 55, 67, 57, 51, 48, 65, 53, 53, 66, 50, 57, 56, 69, 66, 56, 50, 68, 54, 70, 54, 57, 69, 48, 69, 68, 54, 69, 52, 68, 56, 55, 53, 50, 54, 48, 55, 70, 49, 56, 56, 49, 70, 54, 49, 66, 48, 51, 50, 51, 48, 54, 69, 48, 70, 48, 54, 57, 65, 53, 70, 54, 57, 70, 48, 56, 54, 65, 49, 55, 55, 69, 66, 52, 49, 65, 67, 48, 54, 70, 56, 56, 57, 69, 66, 48, 66, 51, 57, 67, 66, 70, 68, 52, 66, 53, 67, 68, 66, 55, 54, 51, 69, 57, 57, 54, 53, 53, 52, 68, 69, 65, 68, 66, 57, 67, 55, 49, 67, 70, 51, 69, 70, 56, 54, 70, 52, 65, 48, 51, 53, 52, 65, 56, 54, 52, 65, 49, 48, 54, 51, 57, 68, 70, 68, 50, 57, 66, 53, 67, 54, 68, 53, 68, 67, 68, 65, 57, 68, 52, 66, 48, 57, 56, 56, 69, 69, 52, 48, 54, 57, 52, 56, 66, 67, 66, 53, 52, 67, 54, 65, 55, 48, 65, 68, 67, 54, 67, 48, 48, 53, 55, 55, 49, 55, 52, 50, 56, 53, 67, 69, 66, 67, 68, 55, 54 }
|
||||
},
|
||||
new
|
||||
{
|
||||
Tenant = -1,
|
||||
Id = "FullTextSearchSettings",
|
||||
LastModified = new DateTime(2021, 3, 9, 17, 46, 59, 99, DateTimeKind.Utc).AddTicks(7405),
|
||||
Value = new byte[] { 48, 120, 48, 56, 55, 56, 67, 70, 48, 53, 57, 57, 66, 53, 49, 55, 67, 65, 65, 50, 68, 51, 68, 65, 69, 68, 57, 68, 48, 54, 52, 67, 51, 69, 68, 67, 69, 69, 65, 70, 52, 51, 49, 70, 51, 53, 65, 54, 70, 54, 52, 50, 68, 67, 65, 68, 65, 48, 52, 56, 49, 55, 69, 51, 53, 49, 51, 50, 50, 55, 66, 66, 66, 49, 68, 69, 54, 69, 50, 66, 65, 66, 69, 66, 57, 69, 49, 48, 55, 55, 66, 50, 67, 70, 51, 49, 56, 67, 52, 56, 57, 56, 49, 52, 53, 52, 53, 69, 56, 55, 55, 53, 48, 49, 70, 54, 51, 51, 70, 66, 66, 69, 57, 52, 48, 50, 50, 67, 70, 67, 68, 68, 48, 50, 53, 66, 53, 51, 57, 53, 57, 55, 51, 65, 70, 53, 49, 48, 57, 52, 51, 52, 48, 56, 66, 66, 53, 54, 57, 54, 50, 69, 69, 51, 53, 68, 65, 51, 53, 70, 50, 70, 56, 51, 55, 52, 67, 70, 53, 70, 68, 49, 50, 54, 57, 53, 51, 53, 57, 52, 52, 57, 68, 55, 67, 69, 70, 66, 67, 50, 67, 55, 66, 68, 49, 49, 50, 65, 69, 53, 56, 55, 53, 50, 49, 55, 57, 65, 65, 50, 65, 53, 57, 69, 53, 69, 49, 55, 56, 48, 49, 69, 53, 56, 48, 67, 67, 67, 54, 48, 70, 65, 69, 67, 56, 69, 66, 68, 68, 51, 68, 54, 49, 50, 67, 52, 56, 56, 54, 54, 54, 54, 68, 57, 54, 68, 54, 67, 70, 48, 54, 48, 54, 48, 53, 69, 54, 52, 67, 57, 48, 65, 49, 70, 65, 65, 56, 48, 67, 48 }
|
||||
},
|
||||
new
|
||||
{
|
||||
Tenant = -1,
|
||||
Id = "SmtpSettings",
|
||||
LastModified = new DateTime(2021, 3, 9, 17, 46, 59, 99, DateTimeKind.Utc).AddTicks(7411),
|
||||
Value = new byte[] { 48, 120, 70, 48, 53, 50, 69, 48, 57, 48, 65, 49, 65, 51, 55, 53, 48, 68, 65, 68, 67, 68, 52, 69, 57, 57, 54, 49, 68, 65, 48, 52, 65, 65, 53, 49, 69, 70, 48, 49, 57, 55, 69, 50, 67, 48, 54, 50, 51, 67, 70, 49, 50, 67, 53, 56, 51, 56, 66, 70, 65, 52, 48, 65, 57, 66, 52, 56, 66, 65, 69, 70, 67, 66, 69, 51, 55, 49, 53, 56, 55, 55, 51, 49, 68, 55, 69, 51, 68, 67, 57, 69, 55, 67, 54, 48, 48, 57, 55, 52, 50, 70, 57, 69, 52, 49, 53, 68, 53, 54, 68, 66, 48, 70, 48, 65, 69, 48, 56, 69, 51, 50, 70, 56, 57, 48, 52, 66, 50, 67, 52, 52, 49, 67, 67, 54, 53, 55, 67, 54, 52, 53, 52, 51, 69, 65, 69, 69, 50, 54, 50, 48, 52, 52, 65, 50, 56, 66, 52, 51, 51, 53, 68, 67, 66, 48, 70, 48, 67, 52, 69, 57, 52, 48, 49, 68, 56, 57, 49, 70, 65, 48, 54, 51, 54, 57, 70, 57, 56, 52, 67, 65, 50, 68, 52, 55, 53, 67, 56, 54, 67, 50, 51, 55, 57, 49, 55, 57, 54, 49, 67, 53, 56, 50, 55, 55, 54, 57, 56, 51, 49, 53, 56, 53, 50, 51, 48, 65, 54, 54, 65, 67, 55, 55, 56, 55, 69, 54, 70, 66, 53, 54, 70, 68, 51, 69, 51, 55, 51, 56, 57, 50, 54, 55, 65, 52, 54, 65 }
|
||||
});
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenant", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("id");
|
||||
|
||||
b.Property<string>("Alias")
|
||||
.IsRequired()
|
||||
.HasColumnType("varchar(100)")
|
||||
.HasColumnName("alias")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<bool>("Calls")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnName("calls")
|
||||
.HasDefaultValueSql("true");
|
||||
|
||||
b.Property<DateTime>("CreationDateTime")
|
||||
.HasColumnType("datetime")
|
||||
.HasColumnName("creationdatetime");
|
||||
|
||||
b.Property<int?>("Industry")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("industry");
|
||||
|
||||
b.Property<string>("Language")
|
||||
.IsRequired()
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("char(10)")
|
||||
.HasColumnName("language")
|
||||
.HasDefaultValueSql("'en-US'")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<DateTime>("LastModified")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("timestamp")
|
||||
.HasColumnName("last_modified")
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
|
||||
b.Property<string>("MappedDomain")
|
||||
.HasColumnType("varchar(100)")
|
||||
.HasColumnName("mappeddomain")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("Name")
|
||||
.IsRequired()
|
||||
.HasColumnType("varchar(255)")
|
||||
.HasColumnName("name")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("OwnerId")
|
||||
.IsRequired()
|
||||
.HasColumnType("varchar(38)")
|
||||
.HasColumnName("owner_id")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("PaymentId")
|
||||
.HasColumnType("varchar(38)")
|
||||
.HasColumnName("payment_id")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<bool>("Public")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnName("public");
|
||||
|
||||
b.Property<string>("PublicVisibleProducts")
|
||||
.HasColumnType("varchar(1024)")
|
||||
.HasColumnName("publicvisibleproducts")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<bool>("Spam")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnName("spam")
|
||||
.HasDefaultValueSql("true");
|
||||
|
||||
b.Property<int>("Status")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("status");
|
||||
|
||||
b.Property<DateTime?>("StatusChanged")
|
||||
.HasColumnType("datetime")
|
||||
.HasColumnName("statuschanged");
|
||||
|
||||
b.Property<string>("TimeZone")
|
||||
.HasColumnType("varchar(50)")
|
||||
.HasColumnName("timezone")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("TrustedDomains")
|
||||
.HasColumnType("varchar(1024)")
|
||||
.HasColumnName("trusteddomains")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<int>("TrustedDomainsEnabled")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("trusteddomainsenabled")
|
||||
.HasDefaultValueSql("'1'");
|
||||
|
||||
b.Property<int>("Version")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("version")
|
||||
.HasDefaultValueSql("'2'");
|
||||
|
||||
b.Property<DateTime?>("Version_Changed")
|
||||
.HasColumnType("datetime")
|
||||
.HasColumnName("version_changed");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("LastModified")
|
||||
.HasDatabaseName("last_modified");
|
||||
|
||||
b.HasIndex("MappedDomain")
|
||||
.HasDatabaseName("mappeddomain");
|
||||
|
||||
b.HasIndex("Version")
|
||||
.HasDatabaseName("version");
|
||||
|
||||
b.ToTable("tenants_tenants");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
{
|
||||
Id = 1,
|
||||
Alias = "localhost",
|
||||
Calls = false,
|
||||
CreationDateTime = new DateTime(2021, 3, 9, 17, 46, 59, 97, DateTimeKind.Utc).AddTicks(4317),
|
||||
LastModified = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
|
||||
Name = "Web Office",
|
||||
OwnerId = "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
|
||||
Public = false,
|
||||
Spam = false,
|
||||
Status = 0,
|
||||
TrustedDomainsEnabled = 0,
|
||||
Version = 0
|
||||
});
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenantForbiden", b =>
|
||||
{
|
||||
b.Property<string>("Address")
|
||||
.HasColumnType("varchar(50)")
|
||||
.HasColumnName("address")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.HasKey("Address")
|
||||
.HasName("PRIMARY");
|
||||
|
||||
b.ToTable("tenants_forbiden");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
{
|
||||
Address = "controlpanel"
|
||||
},
|
||||
new
|
||||
{
|
||||
Address = "localhost"
|
||||
});
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenantPartner", b =>
|
||||
{
|
||||
b.Property<int>("TenantId")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("tenant_id");
|
||||
|
||||
b.Property<string>("AffiliateId")
|
||||
.HasColumnType("varchar(50)")
|
||||
.HasColumnName("affiliate_id")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("Campaign")
|
||||
.HasColumnType("varchar(50)")
|
||||
.HasColumnName("campaign")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("PartnerId")
|
||||
.HasColumnType("varchar(36)")
|
||||
.HasColumnName("partner_id")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.HasKey("TenantId")
|
||||
.HasName("PRIMARY");
|
||||
|
||||
b.ToTable("tenants_partners");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.Model.DbTenantVersion", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("id");
|
||||
|
||||
b.Property<int>("DefaultVersion")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("default_version");
|
||||
|
||||
b.Property<string>("Url")
|
||||
.IsRequired()
|
||||
.HasColumnType("varchar(64)")
|
||||
.HasColumnName("url")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("Version")
|
||||
.IsRequired()
|
||||
.HasColumnType("varchar(64)")
|
||||
.HasColumnName("version")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<bool>("Visible")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnName("visible");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.ToTable("tenants_version");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.Model.TenantIpRestrictions", b =>
|
||||
{
|
||||
b.Property<int>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("id");
|
||||
|
||||
b.Property<string>("Ip")
|
||||
.IsRequired()
|
||||
.HasColumnType("varchar(50)")
|
||||
.HasColumnName("ip")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<int>("Tenant")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("tenant");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("Tenant")
|
||||
.HasDatabaseName("tenant");
|
||||
|
||||
b.ToTable("tenants_iprestrictions");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.User", b =>
|
||||
{
|
||||
b.Property<string>("Id")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("varchar(38)")
|
||||
.HasColumnName("id")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<int>("ActivationStatus")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("activation_status");
|
||||
|
||||
b.Property<DateTime?>("Birthdate")
|
||||
.HasColumnType("datetime")
|
||||
.HasColumnName("bithdate");
|
||||
|
||||
b.Property<string>("Contacts")
|
||||
.HasColumnType("varchar(1024)")
|
||||
.HasColumnName("contacts")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<DateTime>("CreateOn")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("timestamp")
|
||||
.HasColumnName("create_on")
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
|
||||
b.Property<string>("Culture")
|
||||
.HasColumnType("varchar(20)")
|
||||
.HasColumnName("culture")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("Email")
|
||||
.HasColumnType("varchar(255)")
|
||||
.HasColumnName("email")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("FirstName")
|
||||
.IsRequired()
|
||||
.HasColumnType("varchar(64)")
|
||||
.HasColumnName("firstname")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<DateTime>("LastModified")
|
||||
.HasColumnType("datetime")
|
||||
.HasColumnName("last_modified");
|
||||
|
||||
b.Property<string>("LastName")
|
||||
.IsRequired()
|
||||
.HasColumnType("varchar(64)")
|
||||
.HasColumnName("lastname")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("Location")
|
||||
.HasColumnType("varchar(255)")
|
||||
.HasColumnName("location")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("Notes")
|
||||
.HasColumnType("varchar(512)")
|
||||
.HasColumnName("notes")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("Phone")
|
||||
.HasColumnType("varchar(255)")
|
||||
.HasColumnName("phone")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<int>("PhoneActivation")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("phone_activation");
|
||||
|
||||
b.Property<bool>("Removed")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnName("removed");
|
||||
|
||||
b.Property<bool?>("Sex")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnName("sex");
|
||||
|
||||
b.Property<string>("Sid")
|
||||
.HasColumnType("varchar(512)")
|
||||
.HasColumnName("sid")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("SsoNameId")
|
||||
.HasColumnType("varchar(512)")
|
||||
.HasColumnName("sso_name_id")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("SsoSessionId")
|
||||
.HasColumnType("varchar(512)")
|
||||
.HasColumnName("sso_session_id")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<int>("Status")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("status")
|
||||
.HasDefaultValueSql("'1'");
|
||||
|
||||
b.Property<int>("Tenant")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("tenant");
|
||||
|
||||
b.Property<DateTime?>("TerminatedDate")
|
||||
.HasColumnType("datetime")
|
||||
.HasColumnName("terminateddate");
|
||||
|
||||
b.Property<string>("Title")
|
||||
.HasColumnType("varchar(64)")
|
||||
.HasColumnName("title")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("UserName")
|
||||
.IsRequired()
|
||||
.HasColumnType("varchar(255)")
|
||||
.HasColumnName("username")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<DateTime?>("WorkFromDate")
|
||||
.HasColumnType("datetime")
|
||||
.HasColumnName("workfromdate");
|
||||
|
||||
b.HasKey("Id");
|
||||
|
||||
b.HasIndex("Email")
|
||||
.HasDatabaseName("email");
|
||||
|
||||
b.HasIndex("LastModified")
|
||||
.HasDatabaseName("last_modified");
|
||||
|
||||
b.HasIndex("Tenant", "UserName")
|
||||
.HasDatabaseName("username");
|
||||
|
||||
b.ToTable("core_user");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
{
|
||||
Id = "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
|
||||
ActivationStatus = 0,
|
||||
CreateOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
|
||||
Email = "",
|
||||
FirstName = "Administrator",
|
||||
LastModified = new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(9324),
|
||||
LastName = "",
|
||||
PhoneActivation = 0,
|
||||
Removed = false,
|
||||
Status = 1,
|
||||
Tenant = 1,
|
||||
UserName = "administrator",
|
||||
WorkFromDate = new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(8614)
|
||||
},
|
||||
new
|
||||
{
|
||||
Id = "005bb3ff-7de3-47d2-9b3d-61b9ec8a76a5",
|
||||
ActivationStatus = 0,
|
||||
CreateOn = new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified),
|
||||
Email = "test@gmail.com",
|
||||
FirstName = "Test",
|
||||
LastModified = new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(9616),
|
||||
LastName = "User",
|
||||
PhoneActivation = 0,
|
||||
Removed = false,
|
||||
Status = 1,
|
||||
Tenant = 1,
|
||||
UserName = "TestUser",
|
||||
WorkFromDate = new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(9613)
|
||||
});
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.UserGroup", b =>
|
||||
{
|
||||
b.Property<int>("Tenant")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("tenant");
|
||||
|
||||
b.Property<string>("UserId")
|
||||
.HasColumnType("varchar(38)")
|
||||
.HasColumnName("userid")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("GroupId")
|
||||
.HasColumnType("varchar(38)")
|
||||
.HasColumnName("groupid")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<int>("RefType")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("ref_type");
|
||||
|
||||
b.Property<DateTime>("LastModified")
|
||||
.ValueGeneratedOnAdd()
|
||||
.HasColumnType("timestamp")
|
||||
.HasColumnName("last_modified")
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
|
||||
b.Property<bool>("Removed")
|
||||
.HasColumnType("tinyint(1)")
|
||||
.HasColumnName("removed");
|
||||
|
||||
b.HasKey("Tenant", "UserId", "GroupId", "RefType")
|
||||
.HasName("PRIMARY");
|
||||
|
||||
b.HasIndex("LastModified")
|
||||
.HasDatabaseName("last_modified");
|
||||
|
||||
b.HasIndex("UserId");
|
||||
|
||||
b.ToTable("core_usergroup");
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.UserSecurity", b =>
|
||||
{
|
||||
b.Property<string>("UserId")
|
||||
.HasColumnType("varchar(38)")
|
||||
.HasColumnName("userid")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<DateTime?>("LastModified")
|
||||
.ValueGeneratedOnAddOrUpdate()
|
||||
.HasColumnType("timestamp")
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
|
||||
b.Property<string>("PwdHash")
|
||||
.HasColumnType("varchar(512)")
|
||||
.HasColumnName("pwdhash")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<string>("PwdHashSha512")
|
||||
.HasColumnType("varchar(512)")
|
||||
.HasColumnName("pwdhashsha512")
|
||||
.UseCollation("utf8_general_ci")
|
||||
.HasCharSet("utf8");
|
||||
|
||||
b.Property<int>("Tenant")
|
||||
.HasColumnType("int")
|
||||
.HasColumnName("tenant");
|
||||
|
||||
b.HasKey("UserId")
|
||||
.HasName("PRIMARY");
|
||||
|
||||
b.HasIndex("PwdHash")
|
||||
.HasDatabaseName("pwdhash");
|
||||
|
||||
b.HasIndex("Tenant")
|
||||
.HasDatabaseName("tenant");
|
||||
|
||||
b.ToTable("core_usersecurity");
|
||||
|
||||
b.HasData(
|
||||
new
|
||||
{
|
||||
UserId = "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
|
||||
LastModified = new DateTime(2021, 3, 9, 17, 46, 59, 101, DateTimeKind.Utc).AddTicks(8498),
|
||||
PwdHash = "vLFfghR5tNV3K9DKhmwArV+SbjWAcgZZzIDTnJ0JgCo=",
|
||||
PwdHashSha512 = "USubvPlB+ogq0Q1trcSupg==",
|
||||
Tenant = 1
|
||||
},
|
||||
new
|
||||
{
|
||||
UserId = "005bb3ff-7de3-47d2-9b3d-61b9ec8a76a5",
|
||||
LastModified = new DateTime(2021, 3, 9, 17, 46, 59, 101, DateTimeKind.Utc).AddTicks(8834),
|
||||
PwdHash = "vLFfghR5tNV3K9DKhmwArV+SbjWAcgZZzIDTnJ0JgCo=",
|
||||
PwdHashSha512 = "USubvPlB+ogq0Q1trcSupg==",
|
||||
Tenant = 1
|
||||
});
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.UserGroup", b =>
|
||||
{
|
||||
b.HasOne("ASC.Core.Common.EF.User", null)
|
||||
.WithMany("Groups")
|
||||
.HasForeignKey("UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.UserSecurity", b =>
|
||||
{
|
||||
b.HasOne("ASC.Core.Common.EF.User", null)
|
||||
.WithOne("UserSecurity")
|
||||
.HasForeignKey("ASC.Core.Common.EF.UserSecurity", "UserId")
|
||||
.OnDelete(DeleteBehavior.Cascade)
|
||||
.IsRequired();
|
||||
});
|
||||
|
||||
modelBuilder.Entity("ASC.Core.Common.EF.User", b =>
|
||||
{
|
||||
b.Navigation("Groups");
|
||||
|
||||
b.Navigation("UserSecurity");
|
||||
});
|
||||
#pragma warning restore 612, 618
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using Microsoft.EntityFrameworkCore.Migrations;
|
||||
|
||||
namespace ASC.Core.Common.Migrations.MySql.TenantDbContextMySql
|
||||
{
|
||||
public partial class TestMigration : Microsoft.EntityFrameworkCore.Migrations.Migration
|
||||
{
|
||||
protected override void Up(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "core_user",
|
||||
keyColumn: "id",
|
||||
keyValue: "005bb3ff-7de3-47d2-9b3d-61b9ec8a76a5",
|
||||
columns: new[] { "last_modified", "workfromdate" },
|
||||
values: new object[] { new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(9616), new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(9613) });
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "core_user",
|
||||
columns: new[] { "id", "activation_status", "bithdate", "contacts", "culture", "email", "firstname", "last_modified", "lastname", "location", "notes", "phone", "phone_activation", "removed", "sex", "sid", "sso_name_id", "sso_session_id", "status", "tenant", "terminateddate", "title", "username", "workfromdate" },
|
||||
values: new object[] { "99223c7b-e3c9-11eb-9063-982cbc0ea1e5", 0, null, null, null, "", "Test", new DateTime(2020, 12, 22, 15, 29, 45, 332, DateTimeKind.Utc).AddTicks(3070), "User", null, null, null, 0, false, null, null, null, null, 1, 1, null, null, "TestUser", new DateTime(2020, 12, 22, 15, 29, 45, 332, DateTimeKind.Utc).AddTicks(3053) });
|
||||
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "core_user",
|
||||
keyColumn: "id",
|
||||
keyValue: "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
|
||||
columns: new[] { "last_modified", "workfromdate" },
|
||||
values: new object[] { new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(9324), new DateTime(2021, 3, 9, 17, 46, 59, 90, DateTimeKind.Utc).AddTicks(8614) });
|
||||
|
||||
migrationBuilder.InsertData(
|
||||
table: "core_usersecurity",
|
||||
columns: new[] { "userid", "pwdhash", "pwdhashsha512", "tenant" },
|
||||
values: new object[] { "99223c7b-e3c9-11eb-9063-982cbc0ea1e5", "", "USubvPlB+ogq0Q1trcSupg==", 1 });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "tenants_tenants",
|
||||
keyColumn: "id",
|
||||
keyValue: 1,
|
||||
column: "creationdatetime",
|
||||
value: new DateTime(2021, 3, 9, 17, 46, 59, 97, DateTimeKind.Utc).AddTicks(4317));
|
||||
}
|
||||
|
||||
protected override void Down(MigrationBuilder migrationBuilder)
|
||||
{
|
||||
migrationBuilder.UpdateData(
|
||||
table: "core_user",
|
||||
keyColumn: "id",
|
||||
keyValue: "005bb3ff-7de3-47d2-9b3d-61b9ec8a76a5",
|
||||
columns: new[] { "last_modified", "workfromdate" },
|
||||
values: new object[] { new DateTime(2021, 3, 9, 17, 44, 25, 638, DateTimeKind.Utc).AddTicks(9818), new DateTime(2021, 3, 9, 17, 44, 25, 638, DateTimeKind.Utc).AddTicks(9814) });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "core_user",
|
||||
keyColumn: "id",
|
||||
keyValue: "66faa6e4-f133-11ea-b126-00ffeec8b4ef",
|
||||
columns: new[] { "last_modified", "workfromdate" },
|
||||
values: new object[] { new DateTime(2021, 3, 9, 17, 44, 25, 638, DateTimeKind.Utc).AddTicks(9220), new DateTime(2021, 3, 9, 17, 44, 25, 638, DateTimeKind.Utc).AddTicks(7799) });
|
||||
|
||||
migrationBuilder.UpdateData(
|
||||
table: "tenants_tenants",
|
||||
keyColumn: "id",
|
||||
keyValue: 1,
|
||||
column: "creationdatetime",
|
||||
value: new DateTime(2021, 3, 9, 17, 44, 25, 651, DateTimeKind.Utc).AddTicks(4834));
|
||||
}
|
||||
}
|
||||
}
|
86
common/Tests/ASC.Web.Api.Tests/WizardTest.cs
Normal file
86
common/Tests/ASC.Web.Api.Tests/WizardTest.cs
Normal file
@ -0,0 +1,86 @@
|
||||
using System;
|
||||
using ASC.Core;
|
||||
using ASC.Core.Common.EF.Context;
|
||||
using ASC.Core.Common.EF.Model;
|
||||
using System.Text.Json;
|
||||
using ASC.Core.Data;
|
||||
using ASC.Core.Users;
|
||||
using ASC.Web.Api.Models;
|
||||
using ASC.Web.Api.Tests.Infrastructure;
|
||||
using ASC.Web.Core.Utility.Settings;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace ASC.Web.Api.Tests
|
||||
{
|
||||
[Serializable]
|
||||
public class WizardData
|
||||
{
|
||||
public bool Completed { get; set; }
|
||||
}
|
||||
|
||||
[TestFixture]
|
||||
class WizardTest : BaseApiTests
|
||||
{
|
||||
public UserInfo NewUser { get; set; }
|
||||
public WebstudioDbContext webstudioDbContext { get; set; }
|
||||
public DbSettingsManager dbSettingsManager { get; set; }
|
||||
|
||||
public IServiceProvider ServiceProvider { get; set; }
|
||||
public WizardSettings wizardSettings { get; set; }
|
||||
|
||||
[OneTimeSetUp]
|
||||
public override void SetUp()
|
||||
{
|
||||
base.SetUp();
|
||||
NewUser = UserManager.GetUsers(CurrentTenant.OwnerId);
|
||||
}
|
||||
|
||||
[TestCaseSource(typeof(ApiTestsData), nameof(ApiTestsData.WebStudioSettingsData))]
|
||||
[Category("Wizard")]
|
||||
[Order(1)]
|
||||
public void WizardDataTest(int tenant, Guid userId, string data)
|
||||
{
|
||||
var user = UserManager.GetUsers(Guid.Parse("99223c7b-e3c9-11eb-9063-982cbc0ea1e5"));
|
||||
SecurityContext.AuthenticateMe(user.ID);
|
||||
var WebStudioData = new DbWebstudioSettings
|
||||
{
|
||||
TenantId = tenant,
|
||||
Id = user.ID,
|
||||
UserId = userId,
|
||||
Data = data
|
||||
};
|
||||
|
||||
var wizard = settingsManager.Load<WizardSettings>();
|
||||
var WizardSet = new WizardData
|
||||
{
|
||||
Completed = wizard.Completed
|
||||
};
|
||||
var json = JsonSerializer.Serialize(WizardSet);
|
||||
Assert.AreEqual(WebStudioData.Data, json);
|
||||
}
|
||||
|
||||
|
||||
[TestCaseSource(typeof(ApiTestsData), nameof(ApiTestsData.UserForWizard))]
|
||||
[Category("Wizard")]
|
||||
[Order(2)]
|
||||
public void WizardSaveDataTest(string email, string passwordHash, string lng, string timeZone, string promocode, string amiid, bool subscribeFromSite)
|
||||
{
|
||||
var wizardModel = new WizardModel
|
||||
{
|
||||
Email = email,
|
||||
PasswordHash = passwordHash,
|
||||
Lng = lng,
|
||||
TimeZone = timeZone,
|
||||
Promocode = promocode,
|
||||
AmiId = amiid,
|
||||
SubscribeFromSite = subscribeFromSite
|
||||
};
|
||||
var wizard = firstTimeTenantSettings.SaveData(wizardModel);
|
||||
SecurityContext.AuthenticateMe(CurrentTenant.OwnerId);
|
||||
Assert.IsTrue(wizard.Completed);
|
||||
Assert.Throws<Exception>(() => firstTimeTenantSettings.SaveData(wizardModel));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
using NUnit.Framework;
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace ASC.Files.Tests
|
||||
|
Loading…
Reference in New Issue
Block a user