Seeder düzenlemeleri

This commit is contained in:
Sedat ÖZTÜRK 2025-06-11 17:21:51 +03:00
parent f187a2e929
commit 991fd4a3a9
7 changed files with 1187 additions and 61 deletions

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Kurs.Platform.ListForms.DynamicApi;
using Kurs.Platform.Localization;

View file

@ -153,8 +153,8 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
}),
CommandColumnJson = JsonSerializer.Serialize(new CommandColumnDto[] {
new CommandColumnDto() {
Hint = "ConnectionString",
Text = "Connection String",
Hint = "Manage",
Text = "Manage",
AuthName = TenantManagementPermissions.Tenants.ManageConnectionStrings,
DialogName = "TenantsConnectionString",
DialogParameters = JsonSerializer.Serialize(new {
@ -6577,5 +6577,821 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
#endregion
#endregion
#region Security Logs
var listFormSecurityLog = await _listFormRepository.InsertAsync(
new ListForm()
{
CultureName = LanguageCodes.En,
ListFormCode = ListFormCodes.SecurityLog,
Name = AppCodes.IdentityPermissions.Users.SecurityLogs,
Title = AppCodes.IdentityPermissions.Users.SecurityLogs,
DataSourceCode = SeedConsts.DataSources.DefaultCode,
IsTenant = true,
IsOrganizationUnit = false,
Description = AppCodes.IdentityPermissions.Users.SecurityLogs,
SelectCommandType = SelectCommandTypeEnum.Table,
SelectCommand = "AbpSecurityLogs",
KeyFieldName = "Id",
KeyFieldDbSourceType = DbType.Guid,
SortMode = GridOptions.SortModeSingle,
FilterRowJson = JsonSerializer.Serialize(new GridFilterRowDto
{
Visible = true
}),
HeaderFilterJson = JsonSerializer.Serialize(new
{
Visible = true
}),
SearchPanelJson = JsonSerializer.Serialize(new
{
Visible = true
}),
GroupPanelJson = JsonSerializer.Serialize(new
{
Visible = true
}),
SelectionJson = JsonSerializer.Serialize(new SelectionDto
{
Mode = GridOptions.SelectionModeSingle,
AllowSelectAll = false
}),
ColumnOptionJson = JsonSerializer.Serialize(new
{
ColumnFixingEnabled = true,
ColumnChooserEnabled = true
}),
PermissionJson = JsonSerializer.Serialize(new PermissionCrudDto
{
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
D = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Delete",
E = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Export",
}),
PagerOptionJson = JsonSerializer.Serialize(new GridPagerOptionDto
{
Visible = true,
AllowedPageSizes = "10,20,50,100",
ShowPageSizeSelector = true,
ShowNavigationButtons = true,
ShowInfo = false,
InfoText = "Page {0} of {1} ({2} items)",
DisplayMode = GridColumnOptions.PagerDisplayModeAdaptive,
ScrollingMode = GridColumnOptions.ScrollingModeStandard,
LoadPanelEnabled = "auto",
LoadPanelText = "Loading..."
}),
}
);
#region Security Logs Fields
await _listFormFieldRepository.InsertManyAsync(
[
new() {
ListFormCode = listFormSecurityLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "Id",
Width = 100,
ListOrderNo = 1,
Visible = false,
IsActive = true,
IsDeleted = false,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormSecurityLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.DateTime,
FieldName = "CreationTime",
Width = 130,
ListOrderNo = 2,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormSecurityLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "Action",
Width = 100,
ListOrderNo = 3,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormSecurityLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "ClientIpAddress",
Width = 100,
ListOrderNo = 4,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormSecurityLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "BrowserInfo",
Width = 300,
ListOrderNo = 5,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormSecurityLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "ApplicationName",
Width = 200,
ListOrderNo = 6,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormSecurityLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "Identity",
Width = 100,
ListOrderNo = 7,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormSecurityLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "UserName",
Width = 150,
ListOrderNo = 8,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormSecurityLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "ClientId",
Width = 150,
ListOrderNo = 9,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormSecurityLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "CorrelationId",
Width = 150,
ListOrderNo = 10,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Create",
R = AppCodes.IdentityPermissions.Users.SecurityLogs,
U = AppCodes.IdentityPermissions.Users.SecurityLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
]);
#endregion
#endregion
#region Audit Logs
var listFormAuditLog = await _listFormRepository.InsertAsync(
new ListForm()
{
CultureName = LanguageCodes.En,
ListFormCode = ListFormCodes.AuditLog,
Name = AppCodes.AuditLogs,
Title = AppCodes.AuditLogs,
DataSourceCode = SeedConsts.DataSources.DefaultCode,
IsTenant = true,
IsOrganizationUnit = false,
Description = AppCodes.AuditLogs,
SelectCommandType = SelectCommandTypeEnum.Table,
SelectCommand = "AbpAuditLogs",
KeyFieldName = "Id",
KeyFieldDbSourceType = DbType.Guid,
SortMode = GridOptions.SortModeSingle,
FilterRowJson = JsonSerializer.Serialize(new GridFilterRowDto
{
Visible = true
}),
HeaderFilterJson = JsonSerializer.Serialize(new
{
Visible = true
}),
SearchPanelJson = JsonSerializer.Serialize(new
{
Visible = true
}),
GroupPanelJson = JsonSerializer.Serialize(new
{
Visible = true
}),
SelectionJson = JsonSerializer.Serialize(new SelectionDto
{
Mode = GridOptions.SelectionModeSingle,
AllowSelectAll = false
}),
ColumnOptionJson = JsonSerializer.Serialize(new
{
ColumnFixingEnabled = true,
ColumnChooserEnabled = true
}),
PermissionJson = JsonSerializer.Serialize(new PermissionCrudDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
D = AppCodes.AuditLogs + ".Delete",
E = AppCodes.AuditLogs + ".Export",
}),
PagerOptionJson = JsonSerializer.Serialize(new GridPagerOptionDto
{
Visible = true,
AllowedPageSizes = "10,20,50,100",
ShowPageSizeSelector = true,
ShowNavigationButtons = true,
ShowInfo = false,
InfoText = "Page {0} of {1} ({2} items)",
DisplayMode = GridColumnOptions.PagerDisplayModeAdaptive,
ScrollingMode = GridColumnOptions.ScrollingModeStandard,
LoadPanelEnabled = "auto",
LoadPanelText = "Loading..."
}),
}
);
#region Audit Logs Fields
await _listFormFieldRepository.InsertManyAsync(
[
new() {
ListFormCode = listFormAuditLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "Id",
Width = 100,
ListOrderNo = 1,
Visible = false,
IsActive = true,
IsDeleted = false,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormAuditLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "HttpStatusCode",
Width = 100,
ListOrderNo = 2,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormAuditLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "HttpMethod",
Width = 100,
ListOrderNo = 3,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormAuditLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "Url",
Width = 450,
ListOrderNo = 4,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormAuditLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "UserName",
Width = 150,
ListOrderNo = 5,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormAuditLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "ClientIpAddress",
Width = 100,
ListOrderNo = 6,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormAuditLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.DateTime,
FieldName = "ExecutionTime",
Width = 130,
ListOrderNo = 7,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormAuditLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Int32,
FieldName = "ExecutionDuration",
Width = 100,
ListOrderNo = 8,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormAuditLog.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "ApplicationName",
Width = 200,
ListOrderNo = 9,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
]);
#endregion
#endregion
#region Entity Changes
var listFormEntityChange = await _listFormRepository.InsertAsync(
new ListForm()
{
CultureName = LanguageCodes.En,
ListFormCode = ListFormCodes.EntityChange,
Name = AppCodes.EntityChanges,
Title = AppCodes.EntityChanges,
DataSourceCode = SeedConsts.DataSources.DefaultCode,
IsTenant = true,
IsOrganizationUnit = false,
Description = AppCodes.EntityChanges,
SelectCommandType = SelectCommandTypeEnum.Table,
SelectCommand = "AbpEntityChanges",
KeyFieldName = "Id",
KeyFieldDbSourceType = DbType.Guid,
SortMode = GridOptions.SortModeSingle,
FilterRowJson = JsonSerializer.Serialize(new GridFilterRowDto
{
Visible = true
}),
HeaderFilterJson = JsonSerializer.Serialize(new
{
Visible = true
}),
SearchPanelJson = JsonSerializer.Serialize(new
{
Visible = true
}),
GroupPanelJson = JsonSerializer.Serialize(new
{
Visible = true
}),
SelectionJson = JsonSerializer.Serialize(new SelectionDto
{
Mode = GridOptions.SelectionModeSingle,
AllowSelectAll = false
}),
ColumnOptionJson = JsonSerializer.Serialize(new
{
ColumnFixingEnabled = true,
ColumnChooserEnabled = true
}),
PermissionJson = JsonSerializer.Serialize(new PermissionCrudDto
{
C = AppCodes.EntityChanges + ".Create",
R = AppCodes.EntityChanges,
U = AppCodes.EntityChanges + ".Update",
D = AppCodes.EntityChanges + ".Delete",
E = AppCodes.EntityChanges + ".Export",
}),
PagerOptionJson = JsonSerializer.Serialize(new GridPagerOptionDto
{
Visible = true,
AllowedPageSizes = "10,20,50,100",
ShowPageSizeSelector = true,
ShowNavigationButtons = true,
ShowInfo = false,
InfoText = "Page {0} of {1} ({2} items)",
DisplayMode = GridColumnOptions.PagerDisplayModeAdaptive,
ScrollingMode = GridColumnOptions.ScrollingModeStandard,
LoadPanelEnabled = "auto",
LoadPanelText = "Loading..."
}),
}
);
#region Entity Changes Fields
await _listFormFieldRepository.InsertManyAsync(
[
new() {
ListFormCode = listFormEntityChange.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "Id",
Width = 100,
ListOrderNo = 1,
Visible = false,
IsActive = true,
IsDeleted = false,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormEntityChange.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.DateTime,
FieldName = "ChangeTime",
Width = 150,
ListOrderNo = 2,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormEntityChange.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "ChangeType",
Width = 125,
ListOrderNo = 3,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
new() {
ListFormCode = listFormEntityChange.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.String,
FieldName = "EntityTypeFullName",
Width = 300,
ListOrderNo = 4,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.AuditLogs + ".Create",
R = AppCodes.AuditLogs,
U = AppCodes.AuditLogs + ".Update",
E = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
]);
#endregion
#endregion
}
}

View file

@ -287,6 +287,20 @@ public class MenuSeeder : IDataSeedContributor, ITransientDependency
Url = $"/list/{PlatformConsts.ListFormCodes.IpRestriction}",
RequiredPermissionName = AppCodes.IpRestrictions
},
new Menu
{
Code = AppCodes.IdentityPermissions.Users.SecurityLogs,
DisplayName = AppCodes.IdentityPermissions.Users.SecurityLogs,
Order = 6,
IsDisabled = false,
ParentCode = menuIdentity.Code,
Icon = "FcPrivacy",
Target = null,
ElementId = null,
CssClass = null,
Url = $"/list/{PlatformConsts.ListFormCodes.SecurityLog}",
RequiredPermissionName = AppCodes.IdentityPermissions.Users.SecurityLogs
},
]);
//Menu Management
@ -439,7 +453,7 @@ public class MenuSeeder : IDataSeedContributor, ITransientDependency
RequiredPermissionName = AppCodes.BackgroundWorkers
});
//public Apis Management
//Public Apis Management
await _repository.InsertAsync(new Menu
{
Code = AppCodes.PublicApis,
@ -455,6 +469,38 @@ public class MenuSeeder : IDataSeedContributor, ITransientDependency
RequiredPermissionName = AppCodes.PublicApis
});
//Audit Logs
await _repository.InsertAsync(new Menu
{
Code = AppCodes.AuditLogs,
DisplayName = AppCodes.AuditLogs,
Order = 8,
IsDisabled = false,
ParentCode = menuAdministration.Code,
Icon = "FcMultipleInputs",
Target = null,
ElementId = null,
CssClass = null,
Url = $"/list/{PlatformConsts.ListFormCodes.AuditLog}",
RequiredPermissionName = AppCodes.AuditLogs
});
//Entity Changes
await _repository.InsertAsync(new Menu
{
Code = AppCodes.EntityChanges,
DisplayName = AppCodes.EntityChanges,
Order = 9,
IsDisabled = false,
ParentCode = menuAdministration.Code,
Icon = "FcSurvey",
Target = null,
ElementId = null,
CssClass = null,
Url = $"/list/{PlatformConsts.ListFormCodes.EntityChange}",
RequiredPermissionName = AppCodes.EntityChanges
});
#endregion
}
}

View file

@ -249,6 +249,36 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
));
}
}
//Security Logs
if (!permissions.Any(a => a.GroupName == IdentityPermissions.GroupName && a.Name == AppCodes.IdentityPermissions.Users.SecurityLogs))
{
var permSecurityLogs = await repository.InsertAsync(
GetNewPermission(
IdentityPermissions.GroupName,
AppCodes.IdentityPermissions.Users.SecurityLogs,
AppCodes.IdentityPermissions.Users.SecurityLogs
));
foreach (var item in CUDE)
{
permissionName = AppCodes.IdentityPermissions.Users.SecurityLogs + "." + item;
if (permissions.Any(a => a.GroupName == IdentityPermissions.GroupName && a.Name == permissionName))
{
continue;
}
await repository.InsertAsync(
GetNewPermission(
IdentityPermissions.GroupName,
permissionName,
item,
permSecurityLogs.Name
));
}
}
#endregion
#region Platform
@ -773,6 +803,72 @@ public class PermissionSeeder : IDataSeedContributor, ITransientDependency
));
}
#endregion
#region AuditLogs
await repositoryGroup.InsertAsync(new PermissionGroupDefinitionRecord
{
Name = AppCodes.AuditLogs,
DisplayName = AppCodes.AuditLogs
});
var permAuditLogs = await repository.InsertAsync(
GetNewPermission(
AppCodes.AuditLogs,
AppCodes.AuditLogs,
AppCodes.AuditLogs,
null,
true,
MultiTenancySides.Both
));
foreach (var item in CUDE)
{
permissionName = AppCodes.AuditLogs + "." + item;
await repository.InsertAsync(
GetNewPermission(
AppCodes.AuditLogs,
permissionName,
item,
permAuditLogs.Name,
true,
MultiTenancySides.Both
));
}
#endregion
#region EntityChanges
await repositoryGroup.InsertAsync(new PermissionGroupDefinitionRecord
{
Name = AppCodes.EntityChanges,
DisplayName = AppCodes.EntityChanges
});
var permEntityChanges = await repository.InsertAsync(
GetNewPermission(
AppCodes.EntityChanges,
AppCodes.EntityChanges,
AppCodes.EntityChanges,
null,
true,
MultiTenancySides.Both
));
foreach (var item in CUDE)
{
permissionName = AppCodes.EntityChanges + "." + item;
await repository.InsertAsync(
GetNewPermission(
AppCodes.EntityChanges,
permissionName,
item,
permEntityChanges.Name,
true,
MultiTenancySides.Both
));
}
#endregion
}
public static PermissionDefinitionRecord GetNewPermission(

View file

@ -606,6 +606,24 @@
"en": "Administration",
"tr": "Yönetim"
},
{
"resourceName": "Platform",
"key": "AbpIdentity.Users.SecurityLog",
"en": "Security Logs",
"tr": "Bağlantı Geçmişi"
},
{
"resourceName": "Platform",
"key": "App.AuditLogs",
"en": "Audit Logs",
"tr": "Denetim Geçmişi"
},
{
"resourceName": "Platform",
"key": "App.EntityChanges",
"en": "Entity Changes",
"tr": "Varlık Değişiklikleri"
},
{
"resourceName": "Platform",
"key": "AccessDenied",
@ -627,7 +645,7 @@
{
"resourceName": "Platform",
"key": "AbpTenantManagement.Tenants",
"en": "Companies",
"en": "Tenants",
"tr": "Şirketler"
},
{
@ -2301,7 +2319,7 @@
{
"resourceName": "Platform",
"key": "Sirket",
"en": "Company",
"en": "Tenant",
"tr": "Şirket"
},
{
@ -4508,13 +4526,6 @@
"tr": "Analiz & Değerlendirme"
}
],
"DataSources": [
{
"code": "Default",
"dataSourceType": 2,
"connectionString": "User ID=sa;Password=NvQp8s@l;Host=localhost;Port=5432;Database=KURS;"
}
],
"Settings": [
{
"code": "Abp.Localization.DefaultLanguage",
@ -4562,8 +4573,148 @@
"mainGroupKey": "App.SiteManagement",
"subGroupKey": "Abp.Localization",
"requiredPermissionName": "Abp.Localization",
"dataType": "Text",
"selectOptions": {},
"dataType": "List",
"selectOptions": {
"Afghanistan Standard Time": "Afghanistan Standard Time (+04:30)",
"Alaskan Standard Time": "Alaskan Standard Time (-09:00)",
"Aleutian Standard Time": "Aleutian Standard Time (-10:00)",
"Altai Standard Time": "Altai Standard Time (+07:00)",
"Arab Standard Time": "Arab Standard Time (+03:00)",
"Arabian Standard Time": "Arabian Standard Time (+04:00)",
"Arabic Standard Time": "Arabic Standard Time (+03:00)",
"Argentina Standard Time": "Argentina Standard Time (-03:00)",
"Astrakhan Standard Time": "Astrakhan Standard Time (+04:00)",
"Atlantic Standard Time": "Atlantic Standard Time (-04:00)",
"AUS Central Standard Time": "AUS Central Standard Time (+09:30)",
"Aus Central W. Standard Time": "Aus Central W. Standard Time (+08:45)",
"AUS Eastern Standard Time": "AUS Eastern Standard Time (+10:00)",
"Azerbaijan Standard Time": "Azerbaijan Standard Time (+04:00)",
"Azores Standard Time": "Azores Standard Time (-01:00)",
"Bahia Standard Time": "Bahia Standard Time (-03:00)",
"Bangladesh Standard Time": "Bangladesh Standard Time (+06:00)",
"Belarus Standard Time": "Belarus Standard Time (+03:00)",
"Bougainville Standard Time": "Bougainville Standard Time (+11:00)",
"Canada Central Standard Time": "Canada Central Standard Time (-06:00)",
"Cape Verde Standard Time": "Cape Verde Standard Time (-01:00)",
"Caucasus Standard Time": "Caucasus Standard Time (+04:00)",
"Cen. Australia Standard Time": "Cen. Australia Standard Time (+09:30)",
"Central America Standard Time": "Central America Standard Time (-06:00)",
"Central Asia Standard Time": "Central Asia Standard Time (+05:00)",
"Central Brazilian Standard Time": "Central Brazilian Standard Time (-04:00)",
"Central Europe Standard Time": "Central Europe Standard Time (+01:00)",
"Central European Standard Time": "Central European Standard Time (+01:00)",
"Central Pacific Standard Time": "Central Pacific Standard Time (+11:00)",
"Central Standard Time": "Central Standard Time (-06:00)",
"Central Standard Time (Mexico)": "Central Standard Time (Mexico) (-06:00)",
"Chatham Islands Standard Time": "Chatham Islands Standard Time (+12:45)",
"China Standard Time": "China Standard Time (+08:00)",
"Cuba Standard Time": "Cuba Standard Time (-05:00)",
"Dateline Standard Time": "Dateline Standard Time (-12:00)",
"E. Africa Standard Time": "E. Africa Standard Time (+03:00)",
"E. Australia Standard Time": "E. Australia Standard Time (+10:00)",
"E. Europe Standard Time": "E. Europe Standard Time (+02:00)",
"E. South America Standard Time": "E. South America Standard Time (-03:00)",
"Easter Island Standard Time": "Easter Island Standard Time (-06:00)",
"Eastern Standard Time": "Eastern Standard Time (-05:00)",
"Eastern Standard Time (Mexico)": "Eastern Standard Time (Mexico) (-05:00)",
"Egypt Standard Time": "Egypt Standard Time (+02:00)",
"Ekaterinburg Standard Time": "Ekaterinburg Standard Time (+05:00)",
"Fiji Standard Time": "Fiji Standard Time (+12:00)",
"FLE Standard Time": "FLE Standard Time (+02:00)",
"Georgian Standard Time": "Georgian Standard Time (+04:00)",
"GMT Standard Time": "GMT Standard Time (+00:00)",
"Greenland Standard Time": "Greenland Standard Time (-02:00)",
"Greenwich Standard Time": "Greenwich Standard Time (+00:00)",
"GTB Standard Time": "GTB Standard Time (+02:00)",
"Haiti Standard Time": "Haiti Standard Time (-05:00)",
"Hawaiian Standard Time": "Hawaiian Standard Time (-10:00)",
"India Standard Time": "India Standard Time (+05:30)",
"Iran Standard Time": "Iran Standard Time (+03:30)",
"Israel Standard Time": "Israel Standard Time (+02:00)",
"Jordan Standard Time": "Jordan Standard Time (+03:00)",
"Kaliningrad Standard Time": "Kaliningrad Standard Time (+02:00)",
"Korea Standard Time": "Korea Standard Time (+09:00)",
"Libya Standard Time": "Libya Standard Time (+02:00)",
"Line Islands Standard Time": "Line Islands Standard Time (+14:00)",
"Lord Howe Standard Time": "Lord Howe Standard Time (+10:30)",
"Magadan Standard Time": "Magadan Standard Time (+11:00)",
"Magallanes Standard Time": "Magallanes Standard Time (-03:00)",
"Marquesas Standard Time": "Marquesas Standard Time (-09:30)",
"Mauritius Standard Time": "Mauritius Standard Time (+04:00)",
"Middle East Standard Time": "Middle East Standard Time (+02:00)",
"Montevideo Standard Time": "Montevideo Standard Time (-03:00)",
"Morocco Standard Time": "Morocco Standard Time (+01:00)",
"Mountain Standard Time": "Mountain Standard Time (-07:00)",
"Mountain Standard Time (Mexico)": "Mountain Standard Time (Mexico) (-07:00)",
"Myanmar Standard Time": "Myanmar Standard Time (+06:30)",
"N. Central Asia Standard Time": "N. Central Asia Standard Time (+07:00)",
"Namibia Standard Time": "Namibia Standard Time (+02:00)",
"Nepal Standard Time": "Nepal Standard Time (+05:45)",
"New Zealand Standard Time": "New Zealand Standard Time (+12:00)",
"Newfoundland Standard Time": "Newfoundland Standard Time (-03:30)",
"Norfolk Standard Time": "Norfolk Standard Time (+11:00)",
"North Asia East Standard Time": "North Asia East Standard Time (+08:00)",
"North Asia Standard Time": "North Asia Standard Time (+07:00)",
"North Korea Standard Time": "North Korea Standard Time (+09:00)",
"Omsk Standard Time": "Omsk Standard Time (+06:00)",
"Pacific SA Standard Time": "Pacific SA Standard Time (-04:00)",
"Pacific Standard Time": "Pacific Standard Time (-08:00)",
"Pacific Standard Time (Mexico)": "Pacific Standard Time (Mexico) (-08:00)",
"Pakistan Standard Time": "Pakistan Standard Time (+05:00)",
"Paraguay Standard Time": "Paraguay Standard Time (-03:00)",
"Qyzylorda Standard Time": "Qyzylorda Standard Time (+05:00)",
"Romance Standard Time": "Romance Standard Time (+01:00)",
"Russia Time Zone 10": "Russia Time Zone 10 (+11:00)",
"Russia Time Zone 11": "Russia Time Zone 11 (+12:00)",
"Russia Time Zone 3": "Russia Time Zone 3 (+04:00)",
"Russian Standard Time": "Russian Standard Time (+03:00)",
"SA Eastern Standard Time": "SA Eastern Standard Time (-03:00)",
"SA Pacific Standard Time": "SA Pacific Standard Time (-05:00)",
"SA Western Standard Time": "SA Western Standard Time (-04:00)",
"Saint Pierre Standard Time": "Saint Pierre Standard Time (-03:00)",
"Sakhalin Standard Time": "Sakhalin Standard Time (+11:00)",
"Samoa Standard Time": "Samoa Standard Time (+13:00)",
"Sao Tome Standard Time": "Sao Tome Standard Time (+00:00)",
"Saratov Standard Time": "Saratov Standard Time (+04:00)",
"SE Asia Standard Time": "SE Asia Standard Time (+07:00)",
"Singapore Standard Time": "Singapore Standard Time (+08:00)",
"South Africa Standard Time": "South Africa Standard Time (+02:00)",
"South Sudan Standard Time": "South Sudan Standard Time (+02:00)",
"Sri Lanka Standard Time": "Sri Lanka Standard Time (+05:30)",
"Sudan Standard Time": "Sudan Standard Time (+02:00)",
"Syria Standard Time": "Syria Standard Time (+03:00)",
"Taipei Standard Time": "Taipei Standard Time (+08:00)",
"Tasmania Standard Time": "Tasmania Standard Time (+10:00)",
"Tocantins Standard Time": "Tocantins Standard Time (-03:00)",
"Tokyo Standard Time": "Tokyo Standard Time (+09:00)",
"Tomsk Standard Time": "Tomsk Standard Time (+07:00)",
"Tonga Standard Time": "Tonga Standard Time (+13:00)",
"Transbaikal Standard Time": "Transbaikal Standard Time (+09:00)",
"Turkey Standard Time": "Turkey Standard Time (+03:00)",
"Turks And Caicos Standard Time": "Turks And Caicos Standard Time (-05:00)",
"Ulaanbaatar Standard Time": "Ulaanbaatar Standard Time (+08:00)",
"US Eastern Standard Time": "US Eastern Standard Time (-05:00)",
"US Mountain Standard Time": "US Mountain Standard Time (-07:00)",
"UTC": "UTC (+00:00)",
"UTC-02": "UTC-02 (-02:00)",
"UTC-08": "UTC-08 (-08:00)",
"UTC-09": "UTC-09 (-09:00)",
"UTC-11": "UTC-11 (-11:00)",
"UTC+12": "UTC+12 (+12:00)",
"UTC+13": "UTC+13 (+13:00)",
"Venezuela Standard Time": "Venezuela Standard Time (-04:00)",
"Vladivostok Standard Time": "Vladivostok Standard Time (+10:00)",
"Volgograd Standard Time": "Volgograd Standard Time (+03:00)",
"W. Australia Standard Time": "W. Australia Standard Time (+08:00)",
"W. Central Africa Standard Time": "W. Central Africa Standard Time (+01:00)",
"W. Europe Standard Time": "W. Europe Standard Time (+01:00)",
"W. Mongolia Standard Time": "W. Mongolia Standard Time (+07:00)",
"West Asia Standard Time": "West Asia Standard Time (+05:00)",
"West Bank Standard Time": "West Bank Standard Time (+02:00)",
"West Pacific Standard Time": "West Pacific Standard Time (+10:00)",
"Yakutsk Standard Time": "Yakutsk Standard Time (+09:00)",
"Yukon Standard Time": "Yukon Standard Time (-07:00)"
},
"order": 2
},
{

View file

@ -244,7 +244,6 @@ public static class PlatformConsts
public const string Setting = Prefix.App + ".Setting";
public const string Administration = Prefix.App + ".Administration";
public const string TenantManagement = Prefix.App + ".TenantManagement";
public static class Settings
{
@ -289,6 +288,9 @@ public static class PlatformConsts
public const string Get = Default + ".Get";
public const string Post = Default + ".Post";
}
public const string AuditLogs = Prefix.App + ".AuditLogs";
public const string EntityChanges = Prefix.App + ".EntityChanges";
}
public static class ListFormCodes
@ -311,6 +313,9 @@ public static class PlatformConsts
public const string PublicApi = "List-0016";
public const string PermissionGroup = "List-0017";
public const string GlobalSearch = "List-0018";
public const string SecurityLog = "List-0019";
public const string AuditLog = "List-0020";
public const string EntityChange = "List-0021";
public const string ListformField = "List-1000";
public const string Order = "List-Order";
public const string Complaint = "List-Complaint";

View file

@ -310,7 +310,18 @@ public static class SeedConsts
public const string Setting = Prefix.App + ".Setting";
public const string Administration = Prefix.App + ".Administration";
public const string TenantManagement = Prefix.App + ".TenantManagement";
public static class IdentityPermissions
{
public const string GroupName = "AbpIdentity";
public static class Users
{
public const string Default = GroupName + ".Users";
public const string SecurityLogs = Default + ".SecurityLog";
}
}
public static class Settings
{
@ -350,6 +361,8 @@ public static class SeedConsts
public const string IpRestrictions = Prefix.App + ".IpRestrictions";
public const string PublicApis = Prefix.App + ".PublicApis";
public const string AuditLogs = Prefix.App + ".AuditLogs";
public const string EntityChanges = Prefix.App + ".EntityChanges";
}
public static class DataSources