diff --git a/.github/instructions/ai.instructions.md b/.github/instructions/ai.instructions.md index d230501f..3313614f 100644 --- a/.github/instructions/ai.instructions.md +++ b/.github/instructions/ai.instructions.md @@ -660,7 +660,6 @@ Platform-owned screens, menus, permissions and language texts. Changing them req a deploy. AI must learn and teach implementation flow primarily from these assets: - ListFormSeeder_Saas.cs / ListFormSeeder_Administration.cs / ListFormSeeder_{Modul}.cs -- HostData.json - LanguagesData.json - WizardDataSeeder.cs / CrudDataSeeder.cs — the seeders that read surface B below @@ -753,7 +752,7 @@ AI must never propose menu/route without permission contract. ### 31.5 Step 5 - Add settings/integration dependencies -From `HostData.json` patterns, AI must define required settings when feature depends on external services: +From the `configs/seeds/host/data/App.SettingDefinitions.json` / `App.Definitions.AiBot.json` patterns, AI must define required settings when feature depends on external services: - Sender credentials and endpoints (sms/mail/whatsapp/rocket) - AiBot integration endpoint and activation state diff --git a/.github/instructions/lowcode.instructions.md b/.github/instructions/lowcode.instructions.md index 6d3b73a4..961ca119 100644 --- a/.github/instructions/lowcode.instructions.md +++ b/.github/instructions/lowcode.instructions.md @@ -3525,9 +3525,10 @@ kullanılacağı** `lowcode-reference.instructions.md` §12'dedir. > > 1. `sql/execute/{Ad}.sql` altında, kaydı **varsa güncelleyen/yoksa ekleyen** bir prosedür yaz > (§8.4 sözleşmesi) — proje kapsamındaki doğru yol budur. -> 2. Platformun kendi varsayılanıysa `api/src/Sozsoft.Platform.DbMigrator/Migrations/HostData.json` -> (`AiBots`, `Settings`, `NotificationTypes`, `NotificationRules`, `BackgroundWorkers`, -> `Currencies`, `ContactTitles`) — bu dosya çekirdek koda aittir, proje talebi için tercih edilmez. +> 2. Platformun kendi varsayılanıysa ilgili ekranın `configs/seeds/host/data/{ListFormCode}.json` +> dosyası (`App.Definitions.AiBot`, `App.SettingDefinitions`, `App.Notifications.NotificationTypes`, +> `App.Notifications.NotificationRules`, `App.BackgroundWorkers.RecurringJobs`, `App.Definitions.Currency`, +> `App.Definitions.ContactTitle`) — bunlar platformun kendi verisidir, proje talebi için tercih edilmez. > > "Ekranı ürettim ama numaratörü/zamanlanmış işi de kurdum" diyorsan, o kayıtların seed karşılığını > da yazmadıysan teslim eksiktir. diff --git a/README.md b/README.md index b48d62c7..d271f329 100644 --- a/README.md +++ b/README.md @@ -291,8 +291,7 @@ güncellenmelidir. ### 5.5. İlk giriş Seed edilen host yöneticisi ile `/login` üzerinden giriş yapılır (kullanıcı bilgileri -`PlatformIdentityDataSeeder` ve `HostData.json` ile belirlenir; ortam bazlı değerler -`HostData.Dev.json` / `HostData.Production.json` dosyalarındadır). Giriş sonrası +`PlatformIdentityDataSeeder` ile belirlenir). Giriş sonrası `/admin/dashboard` açılır. --- @@ -1595,7 +1594,6 @@ Platformun kendi ekranları, menüleri, yetkileri ve dil metinleri buradadır; d derlenip yayınlanır. Yeni bir modülün nasıl kurulacağını öğrenmek için başvurulacak dosyalar: - `ListFormSeeder_Saas.cs`, `ListFormSeeder_Administration.cs` — ListForm + alan tanımları -- `HostData.json` — ayar/entegrasyon değerleri - `LanguagesData.json` — dil anahtarları (EN/TR) - `WizardDataSeeder.cs`, `CrudDataSeeder.cs` — aşağıdaki runtime seed dosyalarını okuyup uygulayan seeder'lar @@ -1618,6 +1616,7 @@ configs/seeds/ │ │ # App.Definitions.{CountryGroup,Country,City,District}.json — adres zinciri │ │ # App.Definitions.{Currency,ContactTitle,AiBot}.json — para birimi, hitap, AI bot │ │ # App.Notifications.Notification{Types,Rules}.json — bildirim tipi → kuralı +│ │ # App.SettingDefinitions.json, App.BackgroundWorkers.RecurringJobs.json — ayar tanımları, zamanlanmış işler │ ├── sql/{object,execute}/ # .sql (SQL Server) │ └── postgres/{object,execute}/ ├── tenants/{tenantId}/… # aynı düzen, tenant kapsamı diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostData.Dev.json b/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostData.Dev.json deleted file mode 100644 index 0f530c14..00000000 --- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostData.Dev.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostData.Production.json b/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostData.Production.json deleted file mode 100644 index 0f530c14..00000000 --- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostData.Production.json +++ /dev/null @@ -1,2 +0,0 @@ -{ -} diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostData.json b/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostData.json deleted file mode 100644 index d10fc6eb..00000000 --- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostData.json +++ /dev/null @@ -1,1185 +0,0 @@ -{ - "Settings": [ - { - "code": "App.SiteManagement.General.NewMemberNotificationEmails", - "nameKey": "App.SiteManagement.General.NewMemberNotificationEmails", - "descriptionKey": "App.GeneralNewMemberNotificationEmails.NewMemberNotificationEmailsDescription", - "defaultValue": "destek@sozsoft.com", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.SiteManagement", - "subGroupKey": "App.SiteManagement.General", - "requiredPermissionName": "App.SiteManagement.General", - "dataType": "Text", - "selectOptions": {}, - "order": 1 - }, - { - "code": "App.SiteManagement.General.TimedLoginEmails", - "nameKey": "App.SiteManagement.General.TimedLoginEmails", - "descriptionKey": "App.GeneralTimedLoginEmails.TimedLoginEmailsDescription", - "defaultValue": "destek@sozsoft.com", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.SiteManagement", - "subGroupKey": "App.SiteManagement.General", - "requiredPermissionName": "App.SiteManagement.General", - "dataType": "Text", - "selectOptions": {}, - "order": 2 - }, - { - "code": "App.SiteManagement.General.NewTenantNotificationEmails", - "nameKey": "App.SiteManagement.General.NewTenantNotificationEmails", - "descriptionKey": "App.GeneralNewTenantNotificationEmails.NewTenantNotificationEmailsDescription", - "defaultValue": "destek@sozsoft.com", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.SiteManagement", - "subGroupKey": "App.SiteManagement.General", - "requiredPermissionName": "App.SiteManagement.General", - "dataType": "Text", - "selectOptions": {}, - "order": 3 - }, - { - "code": "App.SiteManagement.Theme.Style", - "nameKey": "App.SiteManagement.Theme.Style", - "descriptionKey": "App.ThemeStyle.StyleDescription", - "defaultValue": "dx.material.blue.dark.compact", - "isVisibleToClients": true, - "providers": "U|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.SiteManagement", - "subGroupKey": "App.SiteManagement.Theme", - "requiredPermissionName": "App.SiteManagement.Theme", - "dataType": "List", - "selectOptions": { - "dx.light": "App.Setting.light", - "dx.light.compact": "App.Setting.light.compact", - "dx.dark": "App.Setting.dark", - "dx.dark.compact": "App.Setting.dark.compact", - "dx.contrast": "App.Setting.contrast", - "dx.contrast.compact": "App.Setting.contrast.compact", - "dx.carmine": "App.Setting.carmine", - "dx.darkmoon": "App.Setting.darkmoon", - "dx.softblue": "App.Setting.softblue", - "dx.darkviolet": "App.Setting.darkviolet", - "dx.greenmist": "App.Setting.greenmist", - "dx.material.blue.light": "App.Setting.material.blue.light", - "dx.material.blue.dark": "App.Setting.material.blue.dark", - "dx.material.lime.light": "App.Setting.material.lime.light", - "dx.material.lime.dark": "App.Setting.material.lime.dark", - "dx.material.orange.light": "App.Setting.material.orange.light", - "dx.material.orange.dark": "App.Setting.material.orange.dark", - "dx.material.purple.light": "App.Setting.material.purple.light", - "dx.material.purple.dark": "App.Setting.material.purple.dark", - "dx.material.teal.light": "App.Setting.material.teal.light", - "dx.material.teal.dark": "App.Setting.material.teal.dark", - "dx.material.blue.light.compact": "App.Setting.material.blue.light.compact", - "dx.material.blue.dark.compact": "App.Setting.material.blue.dark.compact", - "dx.material.lime.light.compact": "App.Setting.material.lime.light.compact", - "dx.material.lime.dark.compact": "App.Setting.material.lime.dark.compact", - "dx.material.orange.light.compact": "App.Setting.material.orange.light.compact", - "dx.material.orange.dark.compact": "App.Setting.material.orange.dark.compact", - "dx.material.purple.light.compact": "App.Setting.material.purple.light.compact", - "dx.material.purple.dark.compact": "App.Setting.material.purple.dark.compact", - "dx.material.teal.light.compact": "App.Setting.material.teal.light.compact", - "dx.material.teal.dark.compact": "App.Setting.material.teal.dark.compact", - "dx.fluent.blue.dark.compact": "App.Setting.fluent.blue.dark.compact", - "dx.fluent.blue.dark": "App.Setting.fluent.blue.dark", - "dx.fluent.blue.light.compact": "App.Setting.fluent.blue.light.compact", - "dx.fluent.blue.light": "App.Setting.fluent.blue.light", - "dx.fluent.saas.dark.compact": "App.Setting.fluent.saas.dark.compact", - "dx.fluent.saas.dark": "App.Setting.fluent.saas.dark", - "dx.fluent.saas.light.compact": "App.Setting.fluent.saas.light.compact", - "dx.fluent.saas.light": "App.Setting.fluent.saas.light" - }, - "order": 3 - }, - { - "code": "Abp.Localization.DefaultLanguage", - "nameKey": "Abp.Localization.DefaultLanguage", - "descriptionKey": "Abp.Localization.DefaultLanguage.Description", - "defaultValue": "en", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.SiteManagement", - "subGroupKey": "Abp.Localization", - "requiredPermissionName": "Abp.Localization", - "dataType": "List", - "selectOptions": { - "ar": "العربية", - "cs": "Čeština", - "de-DE": "Deutsch", - "en": "English", - "es": "Español", - "fi": "Finnish", - "fr": "Français", - "hi": "Hindi", - "hr": "Croatian", - "hu": "Magyar", - "it": "Italiano", - "pt-BR": "Português", - "ru": "Русский", - "sk": "Slovak", - "sl": "Slovenščina", - "tr": "Türkçe", - "zh-Hans": "繁體中文" - }, - "order": 4 - }, - { - "code": "Abp.Timing.TimeZone", - "nameKey": "Abp.Timing.TimeZone", - "descriptionKey": "Abp.Timing.TimeZone.Description", - "defaultValue": "Turkey Standard Time", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.SiteManagement", - "subGroupKey": "Abp.Localization", - "requiredPermissionName": "Abp.Localization", - "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": 5 - }, - { - "code": "App.Sender.Sms.PostaGuvercini.Url", - "nameKey": "App.Sender.Sms.PostaGuvercini.Url", - "descriptionKey": "App.SenderUrl.UrlDescription", - "defaultValue": "https://www.postaguvercini.com/api_http", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.Sms.PostaGuvercini", - "requiredPermissionName": "App.Sender.Sms.PostaGuvercini", - "dataType": "Text", - "selectOptions": {}, - "order": 10 - }, - { - "code": "App.Sender.Sms.PostaGuvercini.Username", - "nameKey": "App.Sender.Sms.PostaGuvercini.Username", - "descriptionKey": "App.PostaGuverciniUsername.UsernameDescription", - "defaultValue": "2AIlj4QlCrvlbDDBS/712A==", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": true, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.Sms.PostaGuvercini", - "requiredPermissionName": "App.Sender.Sms.PostaGuvercini", - "dataType": "Text", - "selectOptions": {}, - "order": 11 - }, - { - "code": "App.Sender.Sms.PostaGuvercini.Password", - "nameKey": "App.Sender.Sms.PostaGuvercini.Password", - "descriptionKey": "App.PostaGuverciniPassword.PasswordDescription", - "defaultValue": "oTuwyZM9sxfJI+jDH5wJAw==", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": true, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.Sms.PostaGuvercini", - "requiredPermissionName": "App.Sender.Sms.PostaGuvercini", - "dataType": "Text", - "selectOptions": {}, - "order": 12 - }, - { - "code": "App.Sender.WhatsApp.Url", - "nameKey": "App.Sender.WhatsApp.Url", - "descriptionKey": "App.SenderUrl.UrlDescription", - "defaultValue": "https://graph.facebook.com/v21.0", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.WhatsApp", - "requiredPermissionName": "App.Sender.WhatsApp", - "dataType": "Text", - "selectOptions": {}, - "order": 13 - }, - { - "code": "App.Sender.WhatsApp.PhoneNumberId", - "nameKey": "App.Sender.WhatsApp.PhoneNumberId", - "descriptionKey": "App.WhatsAppPhoneNumberId.PhoneNumberIdDescription", - "defaultValue": "442035112335974", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.WhatsApp", - "requiredPermissionName": "App.Sender.WhatsApp", - "dataType": "Text", - "selectOptions": {}, - "order": 14 - }, - { - "code": "App.Sender.WhatsApp.Token", - "nameKey": "App.Sender.WhatsApp.Token", - "descriptionKey": "App.WhatsAppToken.TokenDescription", - "defaultValue": "EAANoftqZAJ64BO5oPwXPqniUtNGF70u8TKvQVzGZBaYQh5UY8fYrgQkcXP9UbQUqT9PWRah1L7TzcBIiWQMacT8AkmZB33AP1begLoywIZCsQSdBSUz21GQaCowfVosYgBoXSyqH8irSBPQDLIjxxVxrC2n76SD9X6zPXeHgOqIPY92DqJXplstWrlhtZCAZDZD", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.WhatsApp", - "requiredPermissionName": "App.Sender.WhatsApp", - "dataType": "Text", - "selectOptions": {}, - "order": 15 - }, - { - "code": "App.Sender.WhatsApp.TemplateName", - "nameKey": "App.Sender.WhatsApp.TemplateName", - "descriptionKey": "App.WhatsAppTemplateName.TemplateNameDescription", - "defaultValue": "Erp_platform_notification", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.WhatsApp", - "requiredPermissionName": "App.Sender.WhatsApp", - "dataType": "Text", - "selectOptions": {}, - "order": 16 - }, - { - "code": "App.Sender.Telegram.Url", - "nameKey": "App.Sender.Telegram.Url", - "descriptionKey": "App.SenderUrl.UrlDescription", - "defaultValue": "https://api.telegram.org", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.Telegram", - "requiredPermissionName": "App.Sender.Telegram", - "dataType": "Text", - "selectOptions": {}, - "order": 17 - }, - { - "code": "App.Sender.Telegram.BotToken", - "nameKey": "App.Sender.Telegram.BotToken", - "descriptionKey": "App.TelegramBotToken.BotTokenDescription", - "defaultValue": "8783091157:AAHlTHofhUmQtAd3JwPShkGBbL_JwPJjI7c", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": true, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.Telegram", - "requiredPermissionName": "App.Sender.Telegram", - "dataType": "Text", - "selectOptions": {}, - "order": 18 - }, - { - "code": "App.Sender.Telegram.ParseMode", - "nameKey": "App.Sender.Telegram.ParseMode", - "descriptionKey": "App.TelegramParseMode.ParseModeDescription", - "defaultValue": "HTML", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.Telegram", - "requiredPermissionName": "App.Sender.Telegram", - "dataType": "List", - "selectOptions": { - "HTML": "HTML", - "Markdown": "Markdown", - "MarkdownV2": "MarkdownV2" - }, - "order": 19 - }, - { - "code": "App.Sender.Rocket.Url", - "nameKey": "App.Sender.Rocket.Url", - "descriptionKey": "App.SenderUrl.UrlDescription", - "defaultValue": "https://chat.sozsoft.com/api/v1", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.Rocket", - "requiredPermissionName": "App.Sender.Rocket", - "dataType": "Text", - "selectOptions": {}, - "order": 20 - }, - { - "code": "App.Sender.Rocket.UserId", - "nameKey": "App.Sender.Rocket.UserId", - "descriptionKey": "App.RocketUserId.UserIdDescription", - "defaultValue": "LfpzPjzag4QJXm84N", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.Rocket", - "requiredPermissionName": "App.Sender.Rocket", - "dataType": "Text", - "selectOptions": {}, - "order": 21 - }, - { - "code": "App.Sender.Rocket.Token", - "nameKey": "App.Sender.Rocket.Token", - "descriptionKey": "App.RocketToken.TokenDescription", - "defaultValue": "jvqALawvXn0Q7c6FfHJV3h58DCHDfQLgFF5y7oIc7oc", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "App.Sender", - "subGroupKey": "App.Sender.Rocket", - "requiredPermissionName": "App.Sender.Rocket", - "dataType": "Text", - "selectOptions": {}, - "order": 22 - }, - { - "code": "Abp.Mailing.DefaultFromDisplayName", - "nameKey": "Abp.Mailing.DefaultFromDisplayName", - "descriptionKey": "Abp.Mailing.DefaultFromDisplayName.Description", - "defaultValue": "Sözsoft", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.Default", - "requiredPermissionName": "Abp.Mailing", - "dataType": "Text", - "selectOptions": {}, - "order": 23 - }, - { - "code": "Abp.Mailing.DefaultFromAddress", - "nameKey": "Abp.Mailing.DefaultFromAddress", - "descriptionKey": "Abp.Mailing.DefaultFromAddress.Description", - "defaultValue": "system@sozsoft.com", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.Default", - "requiredPermissionName": "Abp.Mailing", - "dataType": "Text", - "selectOptions": {}, - "order": 24 - }, - { - "code": "Abp.Mailing.Smtp.UserName", - "nameKey": "Abp.Mailing.Smtp.UserName", - "descriptionKey": "Abp.Mailing.Smtp.UserName.Description", - "defaultValue": "system@sozsoft.com", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.Smtp", - "requiredPermissionName": "Abp.Mailing.Smtp", - "dataType": "Text", - "selectOptions": {}, - "order": 25 - }, - { - "code": "Abp.Mailing.Smtp.Password", - "nameKey": "Abp.Mailing.Smtp.Password", - "descriptionKey": "Abp.Mailing.Smtp.Password.Description", - "defaultValue": "QT9L7BCl1CT/1Hq19HoSlQ==", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": true, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.Smtp", - "requiredPermissionName": "Abp.Mailing.Smtp", - "dataType": "Text", - "selectOptions": {}, - "order": 26 - }, - { - "code": "Abp.Mailing.Smtp.Host", - "nameKey": "Abp.Mailing.Smtp.Host", - "descriptionKey": "Abp.Mailing.Smtp.Host.Description", - "defaultValue": "127.0.0.1", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.Smtp", - "requiredPermissionName": "Abp.Mailing.Smtp", - "dataType": "Text", - "selectOptions": {}, - "order": 27 - }, - { - "code": "Abp.Mailing.Smtp.Port", - "nameKey": "Abp.Mailing.Smtp.Port", - "descriptionKey": "Abp.Mailing.Smtp.Port.Description", - "defaultValue": "25", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.Smtp", - "requiredPermissionName": "Abp.Mailing.Smtp", - "dataType": "Number", - "selectOptions": {}, - "order": 28 - }, - { - "code": "Abp.Mailing.Smtp.Domain", - "nameKey": "Abp.Mailing.Smtp.Domain", - "descriptionKey": "Abp.Mailing.Smtp.Domain.Description", - "defaultValue": "sozsoft.com", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.Smtp", - "requiredPermissionName": "Abp.Mailing.Smtp", - "dataType": "Text", - "selectOptions": {}, - "order": 29 - }, - { - "code": "Abp.Mailing.Smtp.EnableSsl", - "nameKey": "Abp.Mailing.Smtp.EnableSsl", - "descriptionKey": "Abp.Mailing.Smtp.EnableSsl.Description", - "defaultValue": "True", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.Smtp", - "requiredPermissionName": "Abp.Mailing.Smtp", - "dataType": "Bool", - "selectOptions": {}, - "order": 30 - }, - { - "code": "Abp.Mailing.Smtp.UseDefaultCredentials", - "nameKey": "Abp.Mailing.Smtp.UseDefaultCredentials", - "descriptionKey": "Abp.Mailing.Smtp.UseDefaultCredentials.Description", - "defaultValue": "True", - "isVisibleToClients": true, - "providers": "T|G|D", - "isInherited": true, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.Smtp", - "requiredPermissionName": "Abp.Mailing.Smtp", - "dataType": "Bool", - "selectOptions": {}, - "order": 31 - }, - { - "code": "Abp.Mailing.AWS.Profile", - "nameKey": "Abp.Mailing.AWS.Profile", - "descriptionKey": "Abp.Mailing.AWS.Profile.Description", - "defaultValue": "mail-sdk-user", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.AWS", - "requiredPermissionName": "Abp.Mailing.AWS", - "dataType": "Text", - "selectOptions": {}, - "order": 32 - }, - { - "code": "Abp.Mailing.AWS.Region", - "nameKey": "Abp.Mailing.AWS.Region", - "descriptionKey": "Abp.Mailing.AWS.Region.Description", - "defaultValue": "eu-central-1", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.AWS", - "requiredPermissionName": "Abp.Mailing.AWS", - "dataType": "Text", - "selectOptions": {}, - "order": 33 - }, - { - "code": "Abp.Mailing.AWS.AccessKey", - "nameKey": "Abp.Mailing.AWS.AccessKey", - "descriptionKey": "Abp.Mailing.AWS.AccessKey.Description", - "defaultValue": "SibFBAMiSApvz+NChYmlgZmx25JNbximemIDOFps", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.AWS", - "requiredPermissionName": "Abp.Mailing.AWS", - "dataType": "Text", - "selectOptions": {}, - "order": 34 - }, - { - "code": "Abp.Mailing.AWS.AccessKeyId", - "nameKey": "Abp.Mailing.AWS.AccessKeyId", - "descriptionKey": "Abp.Mailing.AWS.AccessKeyId.Description", - "defaultValue": "AKIA5OCSDJB5KOQY74NV", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Mailing", - "subGroupKey": "Abp.Mailing.AWS", - "requiredPermissionName": "Abp.Mailing.AWS", - "dataType": "Text", - "selectOptions": {}, - "order": 35 - }, - { - "code": "Abp.Account.IsSelfRegistrationEnabled", - "nameKey": "Abp.Account.IsSelfRegistrationEnabled", - "descriptionKey": "Abp.Account.IsSelfRegistrationEnabled.Description", - "defaultValue": "False", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Account", - "subGroupKey": "Abp.Account.General", - "requiredPermissionName": "Abp.Account.General", - "dataType": "Bool", - "selectOptions": {}, - "order": 43 - }, - { - "code": "Abp.Account.EnableLocalLogin", - "nameKey": "Abp.Account.EnableLocalLogin", - "descriptionKey": "Abp.Account.EnableLocalLogin.Description", - "defaultValue": "True", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Account", - "subGroupKey": "Abp.Account.General", - "requiredPermissionName": "Abp.Account.General", - "dataType": "Bool", - "selectOptions": {}, - "order": 44 - }, - { - "code": "Abp.Account.TwoFactor.Enabled", - "nameKey": "Abp.Account.TwoFactor.Enabled", - "descriptionKey": "Abp.Account.TwoFactor.Enabled.Description", - "defaultValue": "False", - "isVisibleToClients": true, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Account", - "subGroupKey": "Abp.Account.TwoFactor", - "requiredPermissionName": "Abp.Account.TwoFactor", - "dataType": "Bool", - "selectOptions": {}, - "order": 45 - }, - { - "code": "Abp.Account.Captcha.MaxFailedAccessAttempts", - "nameKey": "Abp.Account.Captcha.MaxFailedAccessAttempts", - "descriptionKey": "Abp.Account.Captcha.MaxFailedAccessAttempts.Description", - "defaultValue": "3", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Account", - "subGroupKey": "Abp.Account.Captcha", - "requiredPermissionName": "Abp.Account.Captcha", - "dataType": "Number", - "selectOptions": {}, - "order": 46 - }, - { - "code": "Abp.Account.Captcha.EndPoint", - "nameKey": "Abp.Account.Captcha.EndPoint", - "descriptionKey": "Abp.Account.Captcha.EndPoint.Description", - "defaultValue": "https://challenges.cloudflare.com/turnstile/v0/siteverify", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Account", - "subGroupKey": "Abp.Account.Captcha", - "requiredPermissionName": "Abp.Account.Captcha", - "dataType": "Text", - "selectOptions": {}, - "order": 47 - }, - { - "code": "Abp.Account.Captcha.SiteKey", - "nameKey": "Abp.Account.Captcha.SiteKey", - "descriptionKey": "Abp.Account.Captcha.SiteKey.Description", - "defaultValue": "0x4AAAAAABdEjmiXxcl0j7jp", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Account", - "subGroupKey": "Abp.Account.Captcha", - "requiredPermissionName": "Abp.Account.Captcha", - "dataType": "Text", - "selectOptions": {}, - "order": 48 - }, - { - "code": "Abp.Account.Captcha.SecretKey", - "nameKey": "Abp.Account.Captcha.SecretKey", - "descriptionKey": "Abp.Account.Captcha.SecretKey.Description", - "defaultValue": "0x4AAAAAABdEjhw1A8sJZUvQX8-CgqvB3mE", - "isVisibleToClients": false, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Account", - "subGroupKey": "Abp.Account.Captcha", - "requiredPermissionName": "Abp.Account.Captcha", - "dataType": "Text", - "selectOptions": {}, - "order": 49 - }, - { - "code": "Abp.Identity.Profile.General.RequireVerifiedAccount", - "nameKey": "Abp.Identity.Profile.General.RequireVerifiedAccount", - "descriptionKey": "Abp.Identity.Profile.General.RequireVerifiedAccount.Description", - "defaultValue": "False", - "isVisibleToClients": true, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Profile.General", - "requiredPermissionName": "Abp.Identity.Profile", - "dataType": "Bool", - "selectOptions": {}, - "order": 53 - }, - { - "code": "Abp.Identity.Profile.General.BlacklistedEmailProviders", - "nameKey": "Abp.Identity.Profile.General.BlacklistedEmailProviders", - "descriptionKey": "Abp.Identity.Profile.General.BlacklistedEmailProviders.Description", - "defaultValue": "gmail.com\r\nyahoo.com\r\nhotmail.com", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Profile.General", - "requiredPermissionName": "Abp.Identity.Profile", - "dataType": "Memo", - "selectOptions": {}, - "order": 54 - }, - { - "code": "Abp.Identity.SignIn.RequireConfirmedEmail", - "nameKey": "Abp.Identity.SignIn.RequireConfirmedEmail", - "descriptionKey": "Abp.Identity.SignIn.RequireConfirmedEmail.Description", - "defaultValue": "True", - "isVisibleToClients": true, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.SignIn", - "requiredPermissionName": "Abp.Identity.SignIn", - "dataType": "Bool", - "selectOptions": {}, - "order": 63 - }, - { - "code": "Abp.Identity.SignIn.RequireEmailVerificationToRegister", - "nameKey": "Abp.Identity.SignIn.RequireEmailVerificationToRegister", - "descriptionKey": "Abp.Identity.SignIn.RequireEmailVerificationToRegister.Description", - "defaultValue": "False", - "isVisibleToClients": true, - "providers": "G|D", - "isInherited": true, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.SignIn", - "requiredPermissionName": "Abp.Identity.SignIn", - "dataType": "Bool", - "selectOptions": {}, - "order": 64 - }, - { - "code": "Abp.Identity.SignIn.RequireConfirmedPhoneNumber", - "nameKey": "Abp.Identity.SignIn.RequireConfirmedPhoneNumber", - "descriptionKey": "Abp.Identity.SignIn.RequireConfirmedPhoneNumber.Description", - "defaultValue": "False", - "isVisibleToClients": true, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.SignIn", - "requiredPermissionName": "Abp.Identity.SignIn", - "dataType": "Bool", - "selectOptions": {}, - "order": 65 - }, - { - "code": "Abp.Identity.SignIn.EnablePhoneNumberConfirmation", - "nameKey": "Abp.Identity.SignIn.EnablePhoneNumberConfirmation", - "descriptionKey": "Abp.Identity.SignIn.EnablePhoneNumberConfirmation.Description", - "defaultValue": "False", - "isVisibleToClients": true, - "providers": "G|D", - "isInherited": true, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.SignIn", - "requiredPermissionName": "Abp.Identity.SignIn", - "dataType": "Bool", - "selectOptions": {}, - "order": 66 - }, - { - "code": "Abp.Identity.User.IsUserNameUpdateEnabled", - "nameKey": "Abp.Identity.User.IsUserNameUpdateEnabled", - "descriptionKey": "Abp.Identity.User.IsUserNameUpdateEnabled.Description", - "defaultValue": "True", - "isVisibleToClients": true, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.User", - "requiredPermissionName": "Abp.Identity.User", - "dataType": "Bool", - "selectOptions": {}, - "order": 67 - }, - { - "code": "Abp.Identity.User.IsEmailUpdateEnabled", - "nameKey": "Abp.Identity.User.IsEmailUpdateEnabled", - "descriptionKey": "Abp.Identity.User.IsEmailUpdateEnabled.Description", - "defaultValue": "True", - "isVisibleToClients": true, - "providers": "G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.User", - "requiredPermissionName": "Abp.Identity.User", - "dataType": "Bool", - "selectOptions": {}, - "order": 68 - }, - - - { - "code": "Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword", - "nameKey": "Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword", - "descriptionKey": "Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword.Description", - "defaultValue": "True", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Password", - "requiredPermissionName": "Abp.Identity.Password", - "dataType": "Bool", - "selectOptions": {}, - "order": 73 - }, - { - "code": "Abp.Identity.Password.PasswordChangePeriodDays", - "nameKey": "Abp.Identity.Password.PasswordChangePeriodDays", - "descriptionKey": "Abp.Identity.Password.PasswordChangePeriodDays.Description", - "defaultValue": "180", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Password", - "requiredPermissionName": "Abp.Identity.Password", - "dataType": "Number", - "selectOptions": {}, - "order": 74 - }, - { - "code": "Abp.Identity.Password.RequiredLength", - "nameKey": "Abp.Identity.Password.RequiredLength", - "descriptionKey": "Abp.Identity.Password.RequiredLength.Description", - "defaultValue": "6", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Password", - "requiredPermissionName": "Abp.Identity.Password", - "dataType": "Number", - "selectOptions": {}, - "order": 75 - }, - { - "code": "Abp.Identity.Password.RequiredUniqueChars", - "nameKey": "Abp.Identity.Password.RequiredUniqueChars", - "descriptionKey": "Abp.Identity.Password.RequiredUniqueChars.Description", - "defaultValue": "1", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Password", - "requiredPermissionName": "Abp.Identity.Password", - "dataType": "Number", - "selectOptions": {}, - "order": 76 - }, - { - "code": "Abp.Identity.Password.RequireNonAlphanumeric", - "nameKey": "Abp.Identity.Password.RequireNonAlphanumeric", - "descriptionKey": "Abp.Identity.Password.RequireNonAlphanumeric.Description", - "defaultValue": "True", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Password", - "requiredPermissionName": "Abp.Identity.Password", - "dataType": "Bool", - "selectOptions": {}, - "order": 77 - }, - { - "code": "Abp.Identity.Password.RequireLowercase", - "nameKey": "Abp.Identity.Password.RequireLowercase", - "descriptionKey": "Abp.Identity.Password.RequireLowercase.Description", - "defaultValue": "True", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Password", - "requiredPermissionName": "Abp.Identity.Password", - "dataType": "Bool", - "selectOptions": {}, - "order": 78 - }, - { - "code": "Abp.Identity.Password.RequireUppercase", - "nameKey": "Abp.Identity.Password.RequireUppercase", - "descriptionKey": "Abp.Identity.Password.RequireUppercase.Description", - "defaultValue": "True", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Password", - "requiredPermissionName": "Abp.Identity.Password", - "dataType": "Bool", - "selectOptions": {}, - "order": 79 - }, - { - "code": "Abp.Identity.Password.RequireDigit", - "nameKey": "Abp.Identity.Password.RequireDigit", - "descriptionKey": "Abp.Identity.Password.RequireDigit.Description", - "defaultValue": "True", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Password", - "requiredPermissionName": "Abp.Identity.Password", - "dataType": "Bool", - "selectOptions": {}, - "order": 80 - }, - { - "code": "Abp.Identity.Lockout.AllowedForNewUsers", - "nameKey": "Abp.Identity.Lockout.AllowedForNewUsers", - "descriptionKey": "Abp.Identity.Lockout.AllowedForNewUsers.Description", - "defaultValue": "True", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Lockout", - "requiredPermissionName": "Abp.Identity.Lockout", - "dataType": "Bool", - "selectOptions": {}, - "order": 81 - }, - { - "code": "Abp.Identity.Lockout.LockoutDuration", - "nameKey": "Abp.Identity.Lockout.LockoutDuration", - "descriptionKey": "Abp.Identity.Lockout.LockoutDuration.Description", - "defaultValue": "300", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Lockout", - "requiredPermissionName": "Abp.Identity.Lockout", - "dataType": "Number", - "selectOptions": {}, - "order": 82 - }, - { - "code": "Abp.Identity.Lockout.MaxFailedAccessAttempts", - "nameKey": "Abp.Identity.Lockout.MaxFailedAccessAttempts", - "descriptionKey": "Abp.Identity.Lockout.MaxFailedAccessAttempts.Description", - "defaultValue": "5", - "isVisibleToClients": false, - "providers": "T|G|D", - "isInherited": false, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.Lockout", - "requiredPermissionName": "Abp.Identity.Lockout", - "dataType": "Number", - "selectOptions": {}, - "order": 83 - }, - { - "code": "Abp.Identity.OrganizationUnit.MaxUserMembershipCount", - "nameKey": "Abp.Identity.OrganizationUnit.MaxUserMembershipCount", - "descriptionKey": "Abp.Identity.OrganizationUnit.MaxUserMembershipCount.Description", - "defaultValue": "2147483647", - "isVisibleToClients": true, - "providers": "T|G|D", - "isInherited": true, - "isEncrypted": false, - "mainGroupKey": "Abp.Identity", - "subGroupKey": "Abp.Identity.OrganizationUnits", - "requiredPermissionName": "Abp.Identity.OrganizationUnits", - "dataType": "Number", - "selectOptions": {}, - "order": 93 - } - ], - "BackgroundWorkers": [ - { - "name": "Session Cleanup Worker", - "cron": "*/5 * * * *", - "workerType": "SessionCleanupWorker", - "isActive": true, - "dataSourceCode": "Default" - }, - { - "name": "Notification Worker", - "cron": "*/5 * * * *", - "workerType": "NotificationWorker", - "isActive": true, - "dataSourceCode": "Default" - }, - { - "name": "Backup Databases", - "cron": "0 1 * * *", - "workerType": "BackupWorker", - "isActive": true, - "dataSourceCode": "Default", - "beforeSp": "Adm_T_DatabaseBackupAll", - "afterSp": "Adm_T_DatabaseBackupFilesDeleteAll" - }, - { - "name": "AI Save DbTableColumns", - "cron": "0 3 * * *", - "workerType": "SqlWorker", - "isActive": true, - "dataSourceCode": "Default", - "beforeSp": "Sas_H_ListFormFieldsDictionaryJson_SaveDbTableColumns" - } - ] -} diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostDataSeeder.cs b/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostDataSeeder.cs index 2eee40cb..ee835a6a 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostDataSeeder.cs +++ b/api/src/Sozsoft.Platform.DbMigrator/Migrations/HostDataSeeder.cs @@ -1,12 +1,10 @@ using System; -using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Sozsoft.Platform.Entities; using Sozsoft.Platform.Enums; -using Sozsoft.Settings.Entities; using Volo.Abp.Data; using Volo.Abp.DependencyInjection; using Volo.Abp.Domain.Repositories; @@ -14,50 +12,17 @@ using static Sozsoft.Settings.SettingsConsts; namespace Sozsoft.Platform.Data.Seeds; -#region SeedDtos -public class LanguageTextsSeedDto -{ - public string ResourceName { get; set; } - public string Key { get; set; } - public string En { get; set; } - public string Tr { get; set; } -} - -public class BackgroundWorkerSeedDto -{ - public string Name { get; set; } - public string Cron { get; set; } - public string WorkerType { get; set; } - public bool IsActive { get; set; } - public string DataSourceCode { get; set; } - public string BeforeSp { get; set; } - public string AfterSp { get; set; } -} - -public class HostSeederDto -{ - public List DataSources { get; set; } - public List Settings { get; set; } - public List BackgroundWorkers { get; set; } -} -#endregion - +/// +/// Varsayilan veri kaynagini olusturur. Baglanti cumlesi ortamin appsettings dosyasindan gelir; +/// bu yuzden diger host verisi gibi configs/seeds/host/data altina yazilamaz. +/// public class HostDataSeeder : IDataSeedContributor, ITransientDependency { private readonly IRepository _dataSources; - private readonly IRepository _settings; - private readonly IRepository _backgroundWorkerRepository; - public HostDataSeeder( - IRepository dataSource, - IRepository settings, - IRepository backgroundWorkerRepository, - IRepository routeRepository - ) + public HostDataSeeder(IRepository dataSource) { _dataSources = dataSource; - _settings = settings; - _backgroundWorkerRepository = backgroundWorkerRepository; } private static IConfigurationRoot BuildConfiguration() @@ -72,40 +37,8 @@ public class HostDataSeeder : IDataSeedContributor, ITransientDependency public async Task SeedAsync(DataSeedContext context) { - var settings = await _settings.GetListAsync(); var dataSources = await _dataSources.GetListAsync(); - var configuration = new ConfigurationBuilder() - .SetBasePath(Directory.GetCurrentDirectory()) - .AddJsonFile(Path.Combine("Migrations", "HostData.json")) - .AddJsonFile(Path.Combine("Migrations", $"HostData.{Environment.GetEnvironmentVariable("DOTNET_ENVIRONMENT") ?? ""}.json"), true) - .Build(); - var items = configuration.Get(); - - foreach (var item in items.Settings) - { - if (!settings.Any(a => a.Code == item.Code)) - { - await _settings.InsertAsync(new() - { - Code = item.Code, - NameKey = item.NameKey, - DescriptionKey = item.DescriptionKey, - DefaultValue = item.DefaultValue.Replace("\r\n", Environment.NewLine), - IsVisibleToClients = item.IsVisibleToClients, - IsInherited = item.IsInherited, - IsEncrypted = item.IsEncrypted, - MainGroupKey = item.MainGroupKey, - SubGroupKey = item.SubGroupKey, - RequiredPermissionName = item.RequiredPermissionName, - DataType = item.DataType, - Providers = item.Providers, - SelectOptions = item.SelectOptions, - Order = item.Order - }); - } - } - if (!dataSources.Any(a => a.Code == SeedConsts.DataSources.DefaultCode)) { var config = BuildConfiguration(); @@ -116,24 +49,5 @@ public class HostDataSeeder : IDataSeedContributor, ITransientDependency ConnectionString = config.GetConnectionString(DefaultDatabaseProvider) }); } - - foreach (var item in items.BackgroundWorkers) - { - if (!await _backgroundWorkerRepository.AnyAsync(x => x.Name == item.Name)) - { - await _backgroundWorkerRepository.InsertAsync(new BackgroundWorker - { - Name = item.Name, - Cron = item.Cron, - WorkerType = Enum.Parse(item.WorkerType), - IsActive = item.IsActive, - DataSourceCode = item.DataSourceCode, - BeforeSp = item.BeforeSp, - AfterSp = item.AfterSp - }); - } - } } } - - diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/LanguageDataSeeder.cs b/api/src/Sozsoft.Platform.DbMigrator/Migrations/LanguageDataSeeder.cs index 4ed01ac8..bdad650e 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/LanguageDataSeeder.cs +++ b/api/src/Sozsoft.Platform.DbMigrator/Migrations/LanguageDataSeeder.cs @@ -12,6 +12,14 @@ using Volo.Abp.Domain.Repositories; namespace Sozsoft.Platform.Data.Seeds; +public class LanguageTextsSeedDto +{ + public string ResourceName { get; set; } + public string Key { get; set; } + public string En { get; set; } + public string Tr { get; set; } +} + public class LanguageSeederDto { public List Languages { get; set; } diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/LanguagesData.json b/api/src/Sozsoft.Platform.DbMigrator/Migrations/LanguagesData.json index 00ef09a3..02bbe23e 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/LanguagesData.json +++ b/api/src/Sozsoft.Platform.DbMigrator/Migrations/LanguagesData.json @@ -27885,8 +27885,8 @@ { "resourceName": "Platform", "key": "App.SettingDefinitions.Description", - "en": "Setting Definitions — the definition screen of application settings. Table: Sas_H_SettingDefinition · host scope · list screen. This screen defines the setting; the values are entered on Administration › Settings (/admin/settings).\nUsage: every value that must be configurable (url, token, limit, mode, default) is defined here instead of being hard-coded. The settings screen is produced from these rows: the grouping, the editor type and the permission all come from this record.\nFields:\n• Code → unique setting key; read from code with ISettingProvider.GetOrNullAsync(Code). Example: App.Sender.Telegram.BotToken\n• NameKey, DescriptionKey → language keys. The text is not written here but on Languages › Language Text\n• DefaultValue → the value used when no level holds one\n• DataType → the editor type on the settings screen: Text, List …\n• SelectOptions → key-value pairs for the List type; the value is again a language key\n• Providers → which levels may hold a value, pipe separated: D = Default, G = Global, T = Tenant, U = User. T|G|D means the tenant may override the global value\n• IsEncrypted → the value is stored encrypted and decrypted automatically while reading. Turn it on for every secret (token, password, key)\n• IsVisibleToClients → is it sent to the browser. Never turn it on together with IsEncrypted\n• IsInherited → does the tenant inherit the global value when it has none of its own\n• MainGroupKey, SubGroupKey → the heading and sub-heading on the settings screen; both are language keys\n• RequiredPermissionName → who may see and change the setting\n• Order → the ordering of the settings screen\nCaution: a definition added only from this screen is lost on a database reset — the same record is also written into Migrations/HostData.json. Never encrypt or decrypt an encrypted value yourself; ISettingManager encrypts while writing and ISettingProvider decrypts while reading.", - "tr": "Ayar Tanımları — uygulama ayarlarının tanım ekranı. Tablo: Sas_H_SettingDefinition · host kapsamlı · liste ekranı. Bu ekran ayarı tanımlar; değerler Administration › Ayarlar (/admin/settings) ekranından girilir.\nKullanım: ayarlanabilir olması gereken her değer (url, token, limit, mod, varsayılan) koda gömülmez, burada tanımlanır. Ayar ekranı bu satırlardan üretilir: gruplama, editör tipi ve yetki bu kayıttan gelir.\nAlanlar:\n• Code → benzersiz ayar anahtarı; koddan ISettingProvider.GetOrNullAsync(Code) ile okunur. Örnek: App.Sender.Telegram.BotToken\n• NameKey, DescriptionKey → dil anahtarları. Metin buraya değil Languages › Language Text ekranına yazılır\n• DefaultValue → hiçbir seviyede değer yoksa kullanılan değer\n• DataType → ayar ekranındaki editör tipi: Text, List …\n• SelectOptions → List tipi için anahtar-değer çiftleri; değer yine dil anahtarıdır\n• Providers → değerin hangi seviyede tutulabileceği, dikey çizgi ile: D = Default, G = Global, T = Tenant, U = User. T|G|D, kiracının global değeri ezebileceği anlamına gelir\n• IsEncrypted → değer şifreli saklanır ve okunurken otomatik çözülür. Gizli olan her değerde (token, parola, anahtar) açılır\n• IsVisibleToClients → tarayıcıya gönderilir mi. IsEncrypted ile birlikte asla açılmaz\n• IsInherited → kiracının kendi değeri yoksa global değeri devralır mı\n• MainGroupKey, SubGroupKey → ayar ekranındaki başlık ve alt başlık; ikisi de dil anahtarıdır\n• RequiredPermissionName → ayarı kimin görüp değiştirebileceği\n• Order → ayar ekranının sıralaması\nDikkat: yalnızca bu ekrandan eklenen tanım veritabanı sıfırlandığında kaybolur — aynı kayıt Migrations/HostData.json dosyasına da yazılır. Şifreli değeri elle şifreleme/çözme; yazarken ISettingManager şifreler, okurken ISettingProvider çözer." + "en": "Setting Definitions — the definition screen of application settings. Table: Sas_H_SettingDefinition · host scope · list screen. This screen defines the setting; the values are entered on Administration › Settings (/admin/settings).\nUsage: every value that must be configurable (url, token, limit, mode, default) is defined here instead of being hard-coded. The settings screen is produced from these rows: the grouping, the editor type and the permission all come from this record.\nFields:\n• Code → unique setting key; read from code with ISettingProvider.GetOrNullAsync(Code). Example: App.Sender.Telegram.BotToken\n• NameKey, DescriptionKey → language keys. The text is not written here but on Languages › Language Text\n• DefaultValue → the value used when no level holds one\n• DataType → the editor type on the settings screen: Text, List …\n• SelectOptions → key-value pairs for the List type; the value is again a language key\n• Providers → which levels may hold a value, pipe separated: D = Default, G = Global, T = Tenant, U = User. T|G|D means the tenant may override the global value\n• IsEncrypted → the value is stored encrypted and decrypted automatically while reading. Turn it on for every secret (token, password, key)\n• IsVisibleToClients → is it sent to the browser. Never turn it on together with IsEncrypted\n• IsInherited → does the tenant inherit the global value when it has none of its own\n• MainGroupKey, SubGroupKey → the heading and sub-heading on the settings screen; both are language keys\n• RequiredPermissionName → who may see and change the setting\n• Order → the ordering of the settings screen\nCaution: a definition added only from this screen is lost on a database reset — the same record is also written into configs/seeds/host/data/App.SettingDefinitions.json. Never encrypt or decrypt an encrypted value yourself; ISettingManager encrypts while writing and ISettingProvider decrypts while reading.", + "tr": "Ayar Tanımları — uygulama ayarlarının tanım ekranı. Tablo: Sas_H_SettingDefinition · host kapsamlı · liste ekranı. Bu ekran ayarı tanımlar; değerler Administration › Ayarlar (/admin/settings) ekranından girilir.\nKullanım: ayarlanabilir olması gereken her değer (url, token, limit, mod, varsayılan) koda gömülmez, burada tanımlanır. Ayar ekranı bu satırlardan üretilir: gruplama, editör tipi ve yetki bu kayıttan gelir.\nAlanlar:\n• Code → benzersiz ayar anahtarı; koddan ISettingProvider.GetOrNullAsync(Code) ile okunur. Örnek: App.Sender.Telegram.BotToken\n• NameKey, DescriptionKey → dil anahtarları. Metin buraya değil Languages › Language Text ekranına yazılır\n• DefaultValue → hiçbir seviyede değer yoksa kullanılan değer\n• DataType → ayar ekranındaki editör tipi: Text, List …\n• SelectOptions → List tipi için anahtar-değer çiftleri; değer yine dil anahtarıdır\n• Providers → değerin hangi seviyede tutulabileceği, dikey çizgi ile: D = Default, G = Global, T = Tenant, U = User. T|G|D, kiracının global değeri ezebileceği anlamına gelir\n• IsEncrypted → değer şifreli saklanır ve okunurken otomatik çözülür. Gizli olan her değerde (token, parola, anahtar) açılır\n• IsVisibleToClients → tarayıcıya gönderilir mi. IsEncrypted ile birlikte asla açılmaz\n• IsInherited → kiracının kendi değeri yoksa global değeri devralır mı\n• MainGroupKey, SubGroupKey → ayar ekranındaki başlık ve alt başlık; ikisi de dil anahtarıdır\n• RequiredPermissionName → ayarı kimin görüp değiştirebileceği\n• Order → ayar ekranının sıralaması\nDikkat: yalnızca bu ekrandan eklenen tanım veritabanı sıfırlandığında kaybolur — aynı kayıt configs/seeds/host/data/App.SettingDefinitions.json dosyasına da yazılır. Şifreli değeri elle şifreleme/çözme; yazarken ISettingManager şifreler, okurken ISettingProvider çözer." }, { "resourceName": "Platform", diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Saas.cs b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Saas.cs index 769b9c3d..53dbd282 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Saas.cs +++ b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Saas.cs @@ -3575,6 +3575,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SettingDefinition)), KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, + SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName), + SeedSyncInsert = true, + SeedSyncUpdate = true, + SeedSyncDelete = true, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, FilterRowJson = DefaultFilterRowJson(), @@ -5827,6 +5831,10 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.BackgroundWorker)), KeyFieldName = "Id", KeyFieldDbSourceType = DbType.Guid, + SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName), + SeedSyncInsert = true, + SeedSyncUpdate = true, + SeedSyncDelete = true, DefaultFilter = DefaultFilterJson, SortMode = GridOptions.SortModeSingle, FilterRowJson = DefaultFilterRowJson(), @@ -5873,7 +5881,13 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency new() { Order=1, ColCount=2, ColSpan=1, ItemType="group" }, new() { Order=2, ColCount=2, ColSpan=1, ItemType="group" }, }), - InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(), + // Ekranda veri kaynagi alani yok; is varsayilan veri kaynaginda calisir. + InsertFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { FieldName = "CreationTime", FieldDbType = DbType.DateTimeOffset, Value = "@NOW", CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { FieldName = "CreatorId", FieldDbType = DbType.Guid, Value = "@USERID", CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { FieldName = "Id", FieldDbType = DbType.Guid, Value = "@NEWID", CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { FieldName = "DataSourceCode", FieldDbType = DbType.String, Value = SeedConsts.DataSources.DefaultCode, CustomValueType = FieldCustomValueTypeEnum.Value } + }), FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value } }) diff --git a/api/src/Sozsoft.Platform.DbMigrator/Sozsoft.Platform.DbMigrator.csproj b/api/src/Sozsoft.Platform.DbMigrator/Sozsoft.Platform.DbMigrator.csproj index 19f53640..316639f1 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Sozsoft.Platform.DbMigrator.csproj +++ b/api/src/Sozsoft.Platform.DbMigrator/Sozsoft.Platform.DbMigrator.csproj @@ -29,19 +29,6 @@ PreserveNewest Always - - - PreserveNewest - Always - - - PreserveNewest - Always - - - PreserveNewest - Always - PreserveNewest diff --git a/api/src/Sozsoft.Platform.Domain/Data/ListFormSeedDataApplier.cs b/api/src/Sozsoft.Platform.Domain/Data/ListFormSeedDataApplier.cs index dc94f87d..1f815698 100644 --- a/api/src/Sozsoft.Platform.Domain/Data/ListFormSeedDataApplier.cs +++ b/api/src/Sozsoft.Platform.Domain/Data/ListFormSeedDataApplier.cs @@ -9,7 +9,6 @@ using Microsoft.Extensions.Logging; using Sozsoft.Platform.DynamicData; using Sozsoft.Platform.Entities; using Sozsoft.Platform.Enums; -using Sozsoft.Platform.ListForms; using Sozsoft.Platform.Queries; using Volo.Abp.DependencyInjection; using Volo.Abp.Domain.Repositories; diff --git a/claude.md b/claude.md index 8d07d069..d30b0902 100644 --- a/claude.md +++ b/claude.md @@ -264,9 +264,11 @@ Bir çelişki varsa sıra: `ai.instructions.md` → `dotnet.instructions.md` → `Abp.Identity.Permission{Groups,s}.json`; platformun kendi menü/yetki kayıtları da diğer liste verisiyle aynı mekanizmadan (`ListFormSeedDataApplier`) geçer, ayrı bir seeder yoktur. `Order` alanı bağımlılık sırasını kurar: route → modül → menü, yetki grubu → yetki, ülke grubu → ülke → - şehir → ilçe (`App.Definitions.{CountryGroup,Country,City,District}.json`); para birimi ve hitap - (`App.Definitions.{Currency,ContactTitle,AiBot}.json`) ile bildirim tipi → kuralı - (`App.Notifications.Notification{Types,Rules}.json`) da `HostData.json` yerine buradadır. Dosyalar ekranın + şehir → ilçe (`App.Definitions.{CountryGroup,Country,City,District}.json`), bildirim tipi → kuralı + (`App.Notifications.Notification{Types,Rules}.json`). Para birimi, hitap, AI bot + (`App.Definitions.{Currency,ContactTitle,AiBot}.json`), ayar tanımları (`App.SettingDefinitions.json`) + ve zamanlanmış işler (`App.BackgroundWorkers.RecurringJobs.json`) da buradadır; `HostData.json` + kaldırıldı, `HostDataSeeder` yalnızca bağlantı cümlesi appsettings'ten gelen varsayılan veri kaynağını kurar. Dosyalar ekranın anahtarını (`KeyFieldName`) kullanır; `Guid` anahtarlı satırın `Id`'si iş anahtarından türetilmiş sabit bir GUID'dir, satır eklerken aynı kuralla üret. `App.Menus.Routes.json` dosyasına dokunma. - **Public site** → menü `Menu` tablosunda `ModuleId = "Pub"` altında (`PlatformConsts.PublicSite`); diff --git a/configs/seeds/host/data/App.BackgroundWorkers.RecurringJobs.json b/configs/seeds/host/data/App.BackgroundWorkers.RecurringJobs.json new file mode 100644 index 00000000..f36bac67 --- /dev/null +++ b/configs/seeds/host/data/App.BackgroundWorkers.RecurringJobs.json @@ -0,0 +1,43 @@ +{ + "ListFormCode": "App.BackgroundWorkers.RecurringJobs", + "KeyFieldName": "Id", + "GeneratedAt": "2026-09-18T06:18:50.444370Z", + "Rows": [ + { + "Id": "2f4d1fac-313c-53a6-8f75-60e37c0b8025", + "Name": "Session Cleanup Worker", + "Cron": "*/5 * * * *", + "WorkerType": 4, + "BeforeSp": null, + "AfterSp": null, + "IsActive": true + }, + { + "Id": "205dd86c-df6e-54c9-9aa9-72840ad2d84f", + "Name": "Notification Worker", + "Cron": "*/5 * * * *", + "WorkerType": 3, + "BeforeSp": null, + "AfterSp": null, + "IsActive": true + }, + { + "Id": "7d6778b5-e0bd-5c07-afdf-f22d19c36b43", + "Name": "Backup Databases", + "Cron": "0 1 * * *", + "WorkerType": 5, + "BeforeSp": "Adm_T_DatabaseBackupAll", + "AfterSp": "Adm_T_DatabaseBackupFilesDeleteAll", + "IsActive": true + }, + { + "Id": "70f4d9ef-6b9b-5a91-a0dc-23e6d251754c", + "Name": "AI Save DbTableColumns", + "Cron": "0 3 * * *", + "WorkerType": 2, + "BeforeSp": "Sas_H_ListFormFieldsDictionaryJson_SaveDbTableColumns", + "AfterSp": null, + "IsActive": true + } + ] +} diff --git a/configs/seeds/host/data/App.SettingDefinitions.json b/configs/seeds/host/data/App.SettingDefinitions.json new file mode 100644 index 00000000..805c1ce9 --- /dev/null +++ b/configs/seeds/host/data/App.SettingDefinitions.json @@ -0,0 +1,1010 @@ +{ + "ListFormCode": "App.SettingDefinitions", + "KeyFieldName": "Id", + "GeneratedAt": "2026-09-18T06:18:50.444370Z", + "Rows": [ + { + "Id": "17bd6e88-9f7d-59c9-bba4-081b50d571ad", + "Code": "App.SiteManagement.General.NewMemberNotificationEmails", + "MainGroupKey": "App.SiteManagement", + "SubGroupKey": "App.SiteManagement.General", + "Order": 1, + "NameKey": "App.SiteManagement.General.NewMemberNotificationEmails", + "DescriptionKey": "App.GeneralNewMemberNotificationEmails.NewMemberNotificationEmailsDescription", + "RequiredPermissionName": "App.SiteManagement.General", + "Providers": "T|G|D", + "DefaultValue": "destek@sozsoft.com", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "671bd901-a415-5a0c-a8c3-c9afb17acf7f", + "Code": "App.SiteManagement.General.TimedLoginEmails", + "MainGroupKey": "App.SiteManagement", + "SubGroupKey": "App.SiteManagement.General", + "Order": 2, + "NameKey": "App.SiteManagement.General.TimedLoginEmails", + "DescriptionKey": "App.GeneralTimedLoginEmails.TimedLoginEmailsDescription", + "RequiredPermissionName": "App.SiteManagement.General", + "Providers": "T|G|D", + "DefaultValue": "destek@sozsoft.com", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "3b57d24e-bfe1-5fe0-9a85-2b2fe8b0a0d6", + "Code": "App.SiteManagement.General.NewTenantNotificationEmails", + "MainGroupKey": "App.SiteManagement", + "SubGroupKey": "App.SiteManagement.General", + "Order": 3, + "NameKey": "App.SiteManagement.General.NewTenantNotificationEmails", + "DescriptionKey": "App.GeneralNewTenantNotificationEmails.NewTenantNotificationEmailsDescription", + "RequiredPermissionName": "App.SiteManagement.General", + "Providers": "T|G|D", + "DefaultValue": "destek@sozsoft.com", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "8d2696f9-3951-52e5-a34d-c5d99411b4e1", + "Code": "App.SiteManagement.Theme.Style", + "MainGroupKey": "App.SiteManagement", + "SubGroupKey": "App.SiteManagement.Theme", + "Order": 3, + "NameKey": "App.SiteManagement.Theme.Style", + "DescriptionKey": "App.ThemeStyle.StyleDescription", + "RequiredPermissionName": "App.SiteManagement.Theme", + "Providers": "U|G|D", + "DefaultValue": "dx.material.blue.dark.compact", + "DataType": "List", + "SelectOptions": "{\"dx.light\":\"App.Setting.light\",\"dx.light.compact\":\"App.Setting.light.compact\",\"dx.dark\":\"App.Setting.dark\",\"dx.dark.compact\":\"App.Setting.dark.compact\",\"dx.contrast\":\"App.Setting.contrast\",\"dx.contrast.compact\":\"App.Setting.contrast.compact\",\"dx.carmine\":\"App.Setting.carmine\",\"dx.darkmoon\":\"App.Setting.darkmoon\",\"dx.softblue\":\"App.Setting.softblue\",\"dx.darkviolet\":\"App.Setting.darkviolet\",\"dx.greenmist\":\"App.Setting.greenmist\",\"dx.material.blue.light\":\"App.Setting.material.blue.light\",\"dx.material.blue.dark\":\"App.Setting.material.blue.dark\",\"dx.material.lime.light\":\"App.Setting.material.lime.light\",\"dx.material.lime.dark\":\"App.Setting.material.lime.dark\",\"dx.material.orange.light\":\"App.Setting.material.orange.light\",\"dx.material.orange.dark\":\"App.Setting.material.orange.dark\",\"dx.material.purple.light\":\"App.Setting.material.purple.light\",\"dx.material.purple.dark\":\"App.Setting.material.purple.dark\",\"dx.material.teal.light\":\"App.Setting.material.teal.light\",\"dx.material.teal.dark\":\"App.Setting.material.teal.dark\",\"dx.material.blue.light.compact\":\"App.Setting.material.blue.light.compact\",\"dx.material.blue.dark.compact\":\"App.Setting.material.blue.dark.compact\",\"dx.material.lime.light.compact\":\"App.Setting.material.lime.light.compact\",\"dx.material.lime.dark.compact\":\"App.Setting.material.lime.dark.compact\",\"dx.material.orange.light.compact\":\"App.Setting.material.orange.light.compact\",\"dx.material.orange.dark.compact\":\"App.Setting.material.orange.dark.compact\",\"dx.material.purple.light.compact\":\"App.Setting.material.purple.light.compact\",\"dx.material.purple.dark.compact\":\"App.Setting.material.purple.dark.compact\",\"dx.material.teal.light.compact\":\"App.Setting.material.teal.light.compact\",\"dx.material.teal.dark.compact\":\"App.Setting.material.teal.dark.compact\",\"dx.fluent.blue.dark.compact\":\"App.Setting.fluent.blue.dark.compact\",\"dx.fluent.blue.dark\":\"App.Setting.fluent.blue.dark\",\"dx.fluent.blue.light.compact\":\"App.Setting.fluent.blue.light.compact\",\"dx.fluent.blue.light\":\"App.Setting.fluent.blue.light\",\"dx.fluent.saas.dark.compact\":\"App.Setting.fluent.saas.dark.compact\",\"dx.fluent.saas.dark\":\"App.Setting.fluent.saas.dark\",\"dx.fluent.saas.light.compact\":\"App.Setting.fluent.saas.light.compact\",\"dx.fluent.saas.light\":\"App.Setting.fluent.saas.light\"}", + "IsVisibleToClients": true, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "e9344141-2dc5-59db-bf75-36fc8a52b40a", + "Code": "Abp.Localization.DefaultLanguage", + "MainGroupKey": "App.SiteManagement", + "SubGroupKey": "Abp.Localization", + "Order": 4, + "NameKey": "Abp.Localization.DefaultLanguage", + "DescriptionKey": "Abp.Localization.DefaultLanguage.Description", + "RequiredPermissionName": "Abp.Localization", + "Providers": "G|D", + "DefaultValue": "en", + "DataType": "List", + "SelectOptions": "{\"ar\":\"العربية\",\"cs\":\"Čeština\",\"de-DE\":\"Deutsch\",\"en\":\"English\",\"es\":\"Español\",\"fi\":\"Finnish\",\"fr\":\"Français\",\"hi\":\"Hindi\",\"hr\":\"Croatian\",\"hu\":\"Magyar\",\"it\":\"Italiano\",\"pt-BR\":\"Português\",\"ru\":\"Русский\",\"sk\":\"Slovak\",\"sl\":\"Slovenščina\",\"tr\":\"Türkçe\",\"zh-Hans\":\"繁體中文\"}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "ecd8232e-b7db-5b86-b212-4ec76f885d71", + "Code": "Abp.Timing.TimeZone", + "MainGroupKey": "App.SiteManagement", + "SubGroupKey": "Abp.Localization", + "Order": 5, + "NameKey": "Abp.Timing.TimeZone", + "DescriptionKey": "Abp.Timing.TimeZone.Description", + "RequiredPermissionName": "Abp.Localization", + "Providers": "G|D", + "DefaultValue": "Turkey Standard Time", + "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)\"}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "0f33beb7-b336-547a-a9f6-242dc2297612", + "Code": "App.Sender.Sms.PostaGuvercini.Url", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.Sms.PostaGuvercini", + "Order": 10, + "NameKey": "App.Sender.Sms.PostaGuvercini.Url", + "DescriptionKey": "App.SenderUrl.UrlDescription", + "RequiredPermissionName": "App.Sender.Sms.PostaGuvercini", + "Providers": "T|G|D", + "DefaultValue": "https://www.postaguvercini.com/api_http", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "d5607359-3035-5f3e-b578-dfc5d3775934", + "Code": "App.Sender.Sms.PostaGuvercini.Username", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.Sms.PostaGuvercini", + "Order": 11, + "NameKey": "App.Sender.Sms.PostaGuvercini.Username", + "DescriptionKey": "App.PostaGuverciniUsername.UsernameDescription", + "RequiredPermissionName": "App.Sender.Sms.PostaGuvercini", + "Providers": "T|G|D", + "DefaultValue": "2AIlj4QlCrvlbDDBS/712A==", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": true + }, + { + "Id": "7ee7f30e-07fb-56fe-9ff9-07e0d7ef7c66", + "Code": "App.Sender.Sms.PostaGuvercini.Password", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.Sms.PostaGuvercini", + "Order": 12, + "NameKey": "App.Sender.Sms.PostaGuvercini.Password", + "DescriptionKey": "App.PostaGuverciniPassword.PasswordDescription", + "RequiredPermissionName": "App.Sender.Sms.PostaGuvercini", + "Providers": "T|G|D", + "DefaultValue": "oTuwyZM9sxfJI+jDH5wJAw==", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": true + }, + { + "Id": "d4c6e696-8f97-56cc-aba2-57ca6fea7206", + "Code": "App.Sender.WhatsApp.Url", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.WhatsApp", + "Order": 13, + "NameKey": "App.Sender.WhatsApp.Url", + "DescriptionKey": "App.SenderUrl.UrlDescription", + "RequiredPermissionName": "App.Sender.WhatsApp", + "Providers": "T|G|D", + "DefaultValue": "https://graph.facebook.com/v21.0", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "7f91c294-59f4-5006-a1bb-925f18872920", + "Code": "App.Sender.WhatsApp.PhoneNumberId", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.WhatsApp", + "Order": 14, + "NameKey": "App.Sender.WhatsApp.PhoneNumberId", + "DescriptionKey": "App.WhatsAppPhoneNumberId.PhoneNumberIdDescription", + "RequiredPermissionName": "App.Sender.WhatsApp", + "Providers": "T|G|D", + "DefaultValue": "442035112335974", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "5a42a4c1-0da2-5b84-8b41-e1b690a30395", + "Code": "App.Sender.WhatsApp.Token", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.WhatsApp", + "Order": 15, + "NameKey": "App.Sender.WhatsApp.Token", + "DescriptionKey": "App.WhatsAppToken.TokenDescription", + "RequiredPermissionName": "App.Sender.WhatsApp", + "Providers": "T|G|D", + "DefaultValue": "EAANoftqZAJ64BO5oPwXPqniUtNGF70u8TKvQVzGZBaYQh5UY8fYrgQkcXP9UbQUqT9PWRah1L7TzcBIiWQMacT8AkmZB33AP1begLoywIZCsQSdBSUz21GQaCowfVosYgBoXSyqH8irSBPQDLIjxxVxrC2n76SD9X6zPXeHgOqIPY92DqJXplstWrlhtZCAZDZD", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "3dd9238c-7ed8-5faa-997e-6f5d398ba148", + "Code": "App.Sender.WhatsApp.TemplateName", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.WhatsApp", + "Order": 16, + "NameKey": "App.Sender.WhatsApp.TemplateName", + "DescriptionKey": "App.WhatsAppTemplateName.TemplateNameDescription", + "RequiredPermissionName": "App.Sender.WhatsApp", + "Providers": "T|G|D", + "DefaultValue": "Erp_platform_notification", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "131f04fe-9fcc-56a2-8c26-80046e813ee6", + "Code": "App.Sender.Telegram.Url", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.Telegram", + "Order": 17, + "NameKey": "App.Sender.Telegram.Url", + "DescriptionKey": "App.SenderUrl.UrlDescription", + "RequiredPermissionName": "App.Sender.Telegram", + "Providers": "T|G|D", + "DefaultValue": "https://api.telegram.org", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "07acfaf7-9660-55dd-991c-4ac821068a82", + "Code": "App.Sender.Telegram.BotToken", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.Telegram", + "Order": 18, + "NameKey": "App.Sender.Telegram.BotToken", + "DescriptionKey": "App.TelegramBotToken.BotTokenDescription", + "RequiredPermissionName": "App.Sender.Telegram", + "Providers": "T|G|D", + "DefaultValue": "8783091157:AAHlTHofhUmQtAd3JwPShkGBbL_JwPJjI7c", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": true + }, + { + "Id": "81a25360-a113-5dc3-bc42-8629286abdf8", + "Code": "App.Sender.Telegram.ParseMode", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.Telegram", + "Order": 19, + "NameKey": "App.Sender.Telegram.ParseMode", + "DescriptionKey": "App.TelegramParseMode.ParseModeDescription", + "RequiredPermissionName": "App.Sender.Telegram", + "Providers": "T|G|D", + "DefaultValue": "HTML", + "DataType": "List", + "SelectOptions": "{\"HTML\":\"HTML\",\"Markdown\":\"Markdown\",\"MarkdownV2\":\"MarkdownV2\"}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "5f3c5225-cbeb-5d33-b45f-5ba2e0e79418", + "Code": "App.Sender.Rocket.Url", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.Rocket", + "Order": 20, + "NameKey": "App.Sender.Rocket.Url", + "DescriptionKey": "App.SenderUrl.UrlDescription", + "RequiredPermissionName": "App.Sender.Rocket", + "Providers": "G|D", + "DefaultValue": "https://chat.sozsoft.com/api/v1", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "bb34c967-d862-5280-b297-9828e0ace2e5", + "Code": "App.Sender.Rocket.UserId", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.Rocket", + "Order": 21, + "NameKey": "App.Sender.Rocket.UserId", + "DescriptionKey": "App.RocketUserId.UserIdDescription", + "RequiredPermissionName": "App.Sender.Rocket", + "Providers": "G|D", + "DefaultValue": "LfpzPjzag4QJXm84N", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "8f422eda-0770-5efc-baa1-256ac72ee672", + "Code": "App.Sender.Rocket.Token", + "MainGroupKey": "App.Sender", + "SubGroupKey": "App.Sender.Rocket", + "Order": 22, + "NameKey": "App.Sender.Rocket.Token", + "DescriptionKey": "App.RocketToken.TokenDescription", + "RequiredPermissionName": "App.Sender.Rocket", + "Providers": "G|D", + "DefaultValue": "jvqALawvXn0Q7c6FfHJV3h58DCHDfQLgFF5y7oIc7oc", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "12d55635-1c96-5f43-9c47-06cc2312b807", + "Code": "Abp.Mailing.DefaultFromDisplayName", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.Default", + "Order": 23, + "NameKey": "Abp.Mailing.DefaultFromDisplayName", + "DescriptionKey": "Abp.Mailing.DefaultFromDisplayName.Description", + "RequiredPermissionName": "Abp.Mailing", + "Providers": "T|G|D", + "DefaultValue": "Sözsoft", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "b9e22e01-909f-5d8c-922f-85d800a8f66c", + "Code": "Abp.Mailing.DefaultFromAddress", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.Default", + "Order": 24, + "NameKey": "Abp.Mailing.DefaultFromAddress", + "DescriptionKey": "Abp.Mailing.DefaultFromAddress.Description", + "RequiredPermissionName": "Abp.Mailing", + "Providers": "T|G|D", + "DefaultValue": "system@sozsoft.com", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "da59c65c-aae8-5fdc-9a89-f19c126bb34e", + "Code": "Abp.Mailing.Smtp.UserName", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.Smtp", + "Order": 25, + "NameKey": "Abp.Mailing.Smtp.UserName", + "DescriptionKey": "Abp.Mailing.Smtp.UserName.Description", + "RequiredPermissionName": "Abp.Mailing.Smtp", + "Providers": "T|G|D", + "DefaultValue": "system@sozsoft.com", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "316dd7a2-47a8-5d50-83dc-2b8090222dd3", + "Code": "Abp.Mailing.Smtp.Password", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.Smtp", + "Order": 26, + "NameKey": "Abp.Mailing.Smtp.Password", + "DescriptionKey": "Abp.Mailing.Smtp.Password.Description", + "RequiredPermissionName": "Abp.Mailing.Smtp", + "Providers": "T|G|D", + "DefaultValue": "QT9L7BCl1CT/1Hq19HoSlQ==", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": true + }, + { + "Id": "4cb212e4-d159-5bb7-928a-ee54e58751b9", + "Code": "Abp.Mailing.Smtp.Host", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.Smtp", + "Order": 27, + "NameKey": "Abp.Mailing.Smtp.Host", + "DescriptionKey": "Abp.Mailing.Smtp.Host.Description", + "RequiredPermissionName": "Abp.Mailing.Smtp", + "Providers": "T|G|D", + "DefaultValue": "127.0.0.1", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "1252ce9d-0567-57a7-bf8b-d6fe8dec6770", + "Code": "Abp.Mailing.Smtp.Port", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.Smtp", + "Order": 28, + "NameKey": "Abp.Mailing.Smtp.Port", + "DescriptionKey": "Abp.Mailing.Smtp.Port.Description", + "RequiredPermissionName": "Abp.Mailing.Smtp", + "Providers": "T|G|D", + "DefaultValue": "25", + "DataType": "Number", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "f6220755-8d9b-5f27-8543-53407c0e02bc", + "Code": "Abp.Mailing.Smtp.Domain", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.Smtp", + "Order": 29, + "NameKey": "Abp.Mailing.Smtp.Domain", + "DescriptionKey": "Abp.Mailing.Smtp.Domain.Description", + "RequiredPermissionName": "Abp.Mailing.Smtp", + "Providers": "T|G|D", + "DefaultValue": "sozsoft.com", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "a4f6f54f-f378-59d3-a54c-e25fac416bb6", + "Code": "Abp.Mailing.Smtp.EnableSsl", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.Smtp", + "Order": 30, + "NameKey": "Abp.Mailing.Smtp.EnableSsl", + "DescriptionKey": "Abp.Mailing.Smtp.EnableSsl.Description", + "RequiredPermissionName": "Abp.Mailing.Smtp", + "Providers": "T|G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "8d2264ce-032d-50be-ab2d-e8813eb5377d", + "Code": "Abp.Mailing.Smtp.UseDefaultCredentials", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.Smtp", + "Order": 31, + "NameKey": "Abp.Mailing.Smtp.UseDefaultCredentials", + "DescriptionKey": "Abp.Mailing.Smtp.UseDefaultCredentials.Description", + "RequiredPermissionName": "Abp.Mailing.Smtp", + "Providers": "T|G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": true, + "IsInherited": true, + "IsEncrypted": false + }, + { + "Id": "8299196e-396b-5430-8356-34b7eb56b327", + "Code": "Abp.Mailing.AWS.Profile", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.AWS", + "Order": 32, + "NameKey": "Abp.Mailing.AWS.Profile", + "DescriptionKey": "Abp.Mailing.AWS.Profile.Description", + "RequiredPermissionName": "Abp.Mailing.AWS", + "Providers": "T|G|D", + "DefaultValue": "mail-sdk-user", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "a336dacc-48b6-578c-80e0-d36e0a6ad3f1", + "Code": "Abp.Mailing.AWS.Region", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.AWS", + "Order": 33, + "NameKey": "Abp.Mailing.AWS.Region", + "DescriptionKey": "Abp.Mailing.AWS.Region.Description", + "RequiredPermissionName": "Abp.Mailing.AWS", + "Providers": "T|G|D", + "DefaultValue": "eu-central-1", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "25a3cb9d-fe5f-53c0-8382-d4278c3392e9", + "Code": "Abp.Mailing.AWS.AccessKey", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.AWS", + "Order": 34, + "NameKey": "Abp.Mailing.AWS.AccessKey", + "DescriptionKey": "Abp.Mailing.AWS.AccessKey.Description", + "RequiredPermissionName": "Abp.Mailing.AWS", + "Providers": "T|G|D", + "DefaultValue": "SibFBAMiSApvz+NChYmlgZmx25JNbximemIDOFps", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "b58a8d67-61e1-5b99-af92-8e7bcb4d51c5", + "Code": "Abp.Mailing.AWS.AccessKeyId", + "MainGroupKey": "Abp.Mailing", + "SubGroupKey": "Abp.Mailing.AWS", + "Order": 35, + "NameKey": "Abp.Mailing.AWS.AccessKeyId", + "DescriptionKey": "Abp.Mailing.AWS.AccessKeyId.Description", + "RequiredPermissionName": "Abp.Mailing.AWS", + "Providers": "T|G|D", + "DefaultValue": "AKIA5OCSDJB5KOQY74NV", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "3c83accc-c35d-5ba1-88dc-c49a410c3dcc", + "Code": "Abp.Account.IsSelfRegistrationEnabled", + "MainGroupKey": "Abp.Account", + "SubGroupKey": "Abp.Account.General", + "Order": 43, + "NameKey": "Abp.Account.IsSelfRegistrationEnabled", + "DescriptionKey": "Abp.Account.IsSelfRegistrationEnabled.Description", + "RequiredPermissionName": "Abp.Account.General", + "Providers": "G|D", + "DefaultValue": "False", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "43b45681-0158-540f-8c17-a1f7b2cb70e7", + "Code": "Abp.Account.EnableLocalLogin", + "MainGroupKey": "Abp.Account", + "SubGroupKey": "Abp.Account.General", + "Order": 44, + "NameKey": "Abp.Account.EnableLocalLogin", + "DescriptionKey": "Abp.Account.EnableLocalLogin.Description", + "RequiredPermissionName": "Abp.Account.General", + "Providers": "G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "1854c60f-88f9-523d-acfc-d17a6213f6ce", + "Code": "Abp.Account.TwoFactor.Enabled", + "MainGroupKey": "Abp.Account", + "SubGroupKey": "Abp.Account.TwoFactor", + "Order": 45, + "NameKey": "Abp.Account.TwoFactor.Enabled", + "DescriptionKey": "Abp.Account.TwoFactor.Enabled.Description", + "RequiredPermissionName": "Abp.Account.TwoFactor", + "Providers": "T|G|D", + "DefaultValue": "False", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": true, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "9a670a6c-40c0-5a60-a097-080539978d4e", + "Code": "Abp.Account.Captcha.MaxFailedAccessAttempts", + "MainGroupKey": "Abp.Account", + "SubGroupKey": "Abp.Account.Captcha", + "Order": 46, + "NameKey": "Abp.Account.Captcha.MaxFailedAccessAttempts", + "DescriptionKey": "Abp.Account.Captcha.MaxFailedAccessAttempts.Description", + "RequiredPermissionName": "Abp.Account.Captcha", + "Providers": "G|D", + "DefaultValue": "3", + "DataType": "Number", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "62338eba-5b6c-5bab-b421-116f32a2593c", + "Code": "Abp.Account.Captcha.EndPoint", + "MainGroupKey": "Abp.Account", + "SubGroupKey": "Abp.Account.Captcha", + "Order": 47, + "NameKey": "Abp.Account.Captcha.EndPoint", + "DescriptionKey": "Abp.Account.Captcha.EndPoint.Description", + "RequiredPermissionName": "Abp.Account.Captcha", + "Providers": "G|D", + "DefaultValue": "https://challenges.cloudflare.com/turnstile/v0/siteverify", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "b332e555-4ba1-5e14-87a4-cd591b36159d", + "Code": "Abp.Account.Captcha.SiteKey", + "MainGroupKey": "Abp.Account", + "SubGroupKey": "Abp.Account.Captcha", + "Order": 48, + "NameKey": "Abp.Account.Captcha.SiteKey", + "DescriptionKey": "Abp.Account.Captcha.SiteKey.Description", + "RequiredPermissionName": "Abp.Account.Captcha", + "Providers": "G|D", + "DefaultValue": "0x4AAAAAABdEjmiXxcl0j7jp", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "33a39675-a26c-52b8-97f0-87827d3b4321", + "Code": "Abp.Account.Captcha.SecretKey", + "MainGroupKey": "Abp.Account", + "SubGroupKey": "Abp.Account.Captcha", + "Order": 49, + "NameKey": "Abp.Account.Captcha.SecretKey", + "DescriptionKey": "Abp.Account.Captcha.SecretKey.Description", + "RequiredPermissionName": "Abp.Account.Captcha", + "Providers": "G|D", + "DefaultValue": "0x4AAAAAABdEjhw1A8sJZUvQX8-CgqvB3mE", + "DataType": "Text", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "ff0a09fa-cc38-5d78-af74-b68954e28eb0", + "Code": "Abp.Identity.Profile.General.RequireVerifiedAccount", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Profile.General", + "Order": 53, + "NameKey": "Abp.Identity.Profile.General.RequireVerifiedAccount", + "DescriptionKey": "Abp.Identity.Profile.General.RequireVerifiedAccount.Description", + "RequiredPermissionName": "Abp.Identity.Profile", + "Providers": "T|G|D", + "DefaultValue": "False", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": true, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "6bbe2639-4874-5ce9-b5a8-582964491e36", + "Code": "Abp.Identity.Profile.General.BlacklistedEmailProviders", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Profile.General", + "Order": 54, + "NameKey": "Abp.Identity.Profile.General.BlacklistedEmailProviders", + "DescriptionKey": "Abp.Identity.Profile.General.BlacklistedEmailProviders.Description", + "RequiredPermissionName": "Abp.Identity.Profile", + "Providers": "T|G|D", + "DefaultValue": "gmail.com\r\nyahoo.com\r\nhotmail.com", + "DataType": "Memo", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "bb083ded-8007-5a42-851f-2aa917742249", + "Code": "Abp.Identity.SignIn.RequireConfirmedEmail", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.SignIn", + "Order": 63, + "NameKey": "Abp.Identity.SignIn.RequireConfirmedEmail", + "DescriptionKey": "Abp.Identity.SignIn.RequireConfirmedEmail.Description", + "RequiredPermissionName": "Abp.Identity.SignIn", + "Providers": "G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": true, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "3bd1e2f2-59ce-5152-b2a5-cae8c4df1ea9", + "Code": "Abp.Identity.SignIn.RequireEmailVerificationToRegister", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.SignIn", + "Order": 64, + "NameKey": "Abp.Identity.SignIn.RequireEmailVerificationToRegister", + "DescriptionKey": "Abp.Identity.SignIn.RequireEmailVerificationToRegister.Description", + "RequiredPermissionName": "Abp.Identity.SignIn", + "Providers": "G|D", + "DefaultValue": "False", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": true, + "IsInherited": true, + "IsEncrypted": false + }, + { + "Id": "6e782fa8-9156-501d-b6f8-b746f1884c41", + "Code": "Abp.Identity.SignIn.RequireConfirmedPhoneNumber", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.SignIn", + "Order": 65, + "NameKey": "Abp.Identity.SignIn.RequireConfirmedPhoneNumber", + "DescriptionKey": "Abp.Identity.SignIn.RequireConfirmedPhoneNumber.Description", + "RequiredPermissionName": "Abp.Identity.SignIn", + "Providers": "G|D", + "DefaultValue": "False", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": true, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "4ddab15f-02c3-52dd-91c1-2cb0b16167c2", + "Code": "Abp.Identity.SignIn.EnablePhoneNumberConfirmation", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.SignIn", + "Order": 66, + "NameKey": "Abp.Identity.SignIn.EnablePhoneNumberConfirmation", + "DescriptionKey": "Abp.Identity.SignIn.EnablePhoneNumberConfirmation.Description", + "RequiredPermissionName": "Abp.Identity.SignIn", + "Providers": "G|D", + "DefaultValue": "False", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": true, + "IsInherited": true, + "IsEncrypted": false + }, + { + "Id": "7d287e38-dca7-552f-94f8-68c505669840", + "Code": "Abp.Identity.User.IsUserNameUpdateEnabled", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.User", + "Order": 67, + "NameKey": "Abp.Identity.User.IsUserNameUpdateEnabled", + "DescriptionKey": "Abp.Identity.User.IsUserNameUpdateEnabled.Description", + "RequiredPermissionName": "Abp.Identity.User", + "Providers": "G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": true, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "294e8a73-3c41-580b-b09f-4dd51fa43969", + "Code": "Abp.Identity.User.IsEmailUpdateEnabled", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.User", + "Order": 68, + "NameKey": "Abp.Identity.User.IsEmailUpdateEnabled", + "DescriptionKey": "Abp.Identity.User.IsEmailUpdateEnabled.Description", + "RequiredPermissionName": "Abp.Identity.User", + "Providers": "G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": true, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "382c548c-8e4e-555d-a176-018393a22b00", + "Code": "Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Password", + "Order": 73, + "NameKey": "Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword", + "DescriptionKey": "Abp.Identity.Password.ForceUsersToPeriodicallyChangePassword.Description", + "RequiredPermissionName": "Abp.Identity.Password", + "Providers": "T|G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "ece3c6bf-11e4-5d26-8548-949894ef77f1", + "Code": "Abp.Identity.Password.PasswordChangePeriodDays", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Password", + "Order": 74, + "NameKey": "Abp.Identity.Password.PasswordChangePeriodDays", + "DescriptionKey": "Abp.Identity.Password.PasswordChangePeriodDays.Description", + "RequiredPermissionName": "Abp.Identity.Password", + "Providers": "T|G|D", + "DefaultValue": "180", + "DataType": "Number", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "698e0bea-582d-5a81-bc4a-03d288a9f7bc", + "Code": "Abp.Identity.Password.RequiredLength", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Password", + "Order": 75, + "NameKey": "Abp.Identity.Password.RequiredLength", + "DescriptionKey": "Abp.Identity.Password.RequiredLength.Description", + "RequiredPermissionName": "Abp.Identity.Password", + "Providers": "T|G|D", + "DefaultValue": "6", + "DataType": "Number", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "2e49cb06-a8ec-56fc-835a-1a4f3d1817b4", + "Code": "Abp.Identity.Password.RequiredUniqueChars", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Password", + "Order": 76, + "NameKey": "Abp.Identity.Password.RequiredUniqueChars", + "DescriptionKey": "Abp.Identity.Password.RequiredUniqueChars.Description", + "RequiredPermissionName": "Abp.Identity.Password", + "Providers": "T|G|D", + "DefaultValue": "1", + "DataType": "Number", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "79846eac-5049-5dad-9030-66eb08680fee", + "Code": "Abp.Identity.Password.RequireNonAlphanumeric", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Password", + "Order": 77, + "NameKey": "Abp.Identity.Password.RequireNonAlphanumeric", + "DescriptionKey": "Abp.Identity.Password.RequireNonAlphanumeric.Description", + "RequiredPermissionName": "Abp.Identity.Password", + "Providers": "T|G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "e2d38f28-78ed-5e55-9883-f90841626da7", + "Code": "Abp.Identity.Password.RequireLowercase", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Password", + "Order": 78, + "NameKey": "Abp.Identity.Password.RequireLowercase", + "DescriptionKey": "Abp.Identity.Password.RequireLowercase.Description", + "RequiredPermissionName": "Abp.Identity.Password", + "Providers": "T|G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "ae056c7f-beb4-52b0-b216-bda45846f5d0", + "Code": "Abp.Identity.Password.RequireUppercase", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Password", + "Order": 79, + "NameKey": "Abp.Identity.Password.RequireUppercase", + "DescriptionKey": "Abp.Identity.Password.RequireUppercase.Description", + "RequiredPermissionName": "Abp.Identity.Password", + "Providers": "T|G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "bdd4b8c2-84be-5cd9-af04-0095840b73be", + "Code": "Abp.Identity.Password.RequireDigit", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Password", + "Order": 80, + "NameKey": "Abp.Identity.Password.RequireDigit", + "DescriptionKey": "Abp.Identity.Password.RequireDigit.Description", + "RequiredPermissionName": "Abp.Identity.Password", + "Providers": "T|G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "95aa78e9-9458-5808-910e-8bfa1126d824", + "Code": "Abp.Identity.Lockout.AllowedForNewUsers", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Lockout", + "Order": 81, + "NameKey": "Abp.Identity.Lockout.AllowedForNewUsers", + "DescriptionKey": "Abp.Identity.Lockout.AllowedForNewUsers.Description", + "RequiredPermissionName": "Abp.Identity.Lockout", + "Providers": "T|G|D", + "DefaultValue": "True", + "DataType": "Bool", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "cf33437f-b7c6-5ebe-91ea-6df7fc620e4e", + "Code": "Abp.Identity.Lockout.LockoutDuration", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Lockout", + "Order": 82, + "NameKey": "Abp.Identity.Lockout.LockoutDuration", + "DescriptionKey": "Abp.Identity.Lockout.LockoutDuration.Description", + "RequiredPermissionName": "Abp.Identity.Lockout", + "Providers": "T|G|D", + "DefaultValue": "300", + "DataType": "Number", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "7a0b296a-4d32-5d74-b2e0-9ad8e4543d68", + "Code": "Abp.Identity.Lockout.MaxFailedAccessAttempts", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.Lockout", + "Order": 83, + "NameKey": "Abp.Identity.Lockout.MaxFailedAccessAttempts", + "DescriptionKey": "Abp.Identity.Lockout.MaxFailedAccessAttempts.Description", + "RequiredPermissionName": "Abp.Identity.Lockout", + "Providers": "T|G|D", + "DefaultValue": "5", + "DataType": "Number", + "SelectOptions": "{}", + "IsVisibleToClients": false, + "IsInherited": false, + "IsEncrypted": false + }, + { + "Id": "5caaf0f4-c6ad-5114-b3a6-961689f16249", + "Code": "Abp.Identity.OrganizationUnit.MaxUserMembershipCount", + "MainGroupKey": "Abp.Identity", + "SubGroupKey": "Abp.Identity.OrganizationUnits", + "Order": 93, + "NameKey": "Abp.Identity.OrganizationUnit.MaxUserMembershipCount", + "DescriptionKey": "Abp.Identity.OrganizationUnit.MaxUserMembershipCount.Description", + "RequiredPermissionName": "Abp.Identity.OrganizationUnits", + "Providers": "T|G|D", + "DefaultValue": "2147483647", + "DataType": "Number", + "SelectOptions": "{}", + "IsVisibleToClients": true, + "IsInherited": true, + "IsEncrypted": false + } + ] +}