using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations.Operations; using Microsoft.EntityFrameworkCore.Migrations.Operations.Builders; using Oqtane.Databases.Interfaces; using Oqtane.Models; namespace Oqtane.Migrations.EntityBuilders { public class SearchContentEntityBuilder : AuditableBaseEntityBuilder { private const string _entityTableName = "SearchContent"; private readonly PrimaryKey _primaryKey = new("PK_SearchContent", x => x.SearchContentId); public SearchContentEntityBuilder(MigrationBuilder migrationBuilder, IDatabase database) : base(migrationBuilder, database) { EntityTableName = _entityTableName; PrimaryKey = _primaryKey; } protected override SearchContentEntityBuilder BuildTable(ColumnsBuilder table) { SearchContentId = AddAutoIncrementColumn(table, "SearchContentId"); EntityName = AddStringColumn(table, "EntityName", 50); EntityId = AddIntegerColumn(table, "EntityId"); SiteId = AddIntegerColumn(table, "SiteId"); Title = AddStringColumn(table, "Title", 255); Description = AddMaxStringColumn(table, "Description"); Body = AddMaxStringColumn(table, "Body"); Url = AddStringColumn(table, "Url", 255); ModifiedTime = AddDateTimeColumn(table, "ModifiedTime"); IsActive = AddBooleanColumn(table, "IsActive"); AdditionalContent = AddMaxStringColumn(table, "AdditionalContent"); AddAuditableColumns(table); return this; } public OperationBuilder SearchContentId { get; private set; } public OperationBuilder EntityName { get; private set; } public OperationBuilder EntityId { get; private set; } public OperationBuilder SiteId { get; private set; } public OperationBuilder Title { get; private set; } public OperationBuilder Description { get; private set; } public OperationBuilder Body { get; private set; } public OperationBuilder Url { get; private set; } public OperationBuilder ModifiedTime { get; private set; } public OperationBuilder IsActive { get; private set; } public OperationBuilder AdditionalContent { get; private set; } } }