Globální záznam - verisoftCZ/verisoft-framework GitHub Wiki
#Globální hodnota
- Tato hodnota (Record) může být přístupná pro všechny tenanty, pokud se tak nastaví.
- Aby byla hodnota vyhodnocena jako globální musí v POST metodě přijít hodnota "defaultAdditionalProperties", i kdyby měla být prázdná {}
- V tenant values lze pro konkrétního tenanta hodnotu vyloučit nebo pro ni nastavit jiné additional properties, než jsou default
- Pokud je tenant value pro tenanta nastavena, je k tenantovi přistupováno jako k odchylce od defaultu bez ohledu na to, zda se hodnota additional properties liší
- Pro číselník, který nemá additional properties nelze založit tenant value jinou, než takovou, která má isForbidden = true
Příklady V našem prostředí existují 4 tenanti 1. Česko 2. Slovensko 3. Polsko 4. Indie
a 4 jazyky
1. Default 2. Čeština 3. Němčina 4. Angličtina
Číselník Country - komplexní
{
"stringValue": "Czechia",
"description": "Czech Republic",
"defaultAdditionalProperties": {
"isoAlpha2": "CZ",
"isoAlpha3": "CZE",
"isoNumeric3": "204"
"visaRequired": false
},
"tenantValues": [
{
"isoAlpha2": "CZ",
"isoAlpha3": "CZE",
"isoNumeric3": "204",
"visaRequired": true,
"isForbidden": false,
"tenantId": 4, // Indie
},
{
"isoAlpha2": "CZ",
"isoAlpha3": "CZE",
"isoNumeric3": "204",
"visaRequired": false,
"isForbidden": true,
"tenantId": 3, // Polsko
}
],
"translations": [
{
"languageId": 1,
"translationValue": "Czech Republic",
},
{
"languageId": 2,
"translationValue": "Česko",
},
{
"languageId": 3,
"translationValue": "Tschechische Republik",
}
],
}
Výše popsaný request by založil takovýto záznam:
Pro tenanty 1 a 2 by byl záznam Czechia povolený a additional properties by měly nastavenou hodnotu dle default (bezvízový styk). Tenant 3 by neměl záznam povolený (např. Polsko přestalo uznávat ČR jako svrchovaný stát). Tenant 4 by měl záznam povolený, ale měl by pro tuto zemi evidováno, že s ní vede vízový styk.
Bez ohledu jaký tenant se na záznam ptá, překlady se vrací dle StringValue "Czechia" na základě požadovaného jazyka, pokud překlad neexistuje, vrací se Default language, tedy v tomto případě Czech Republic.
Číselník ComunicationType - jednoduchý
{
"stringValue": "Fax",
"description": "Fax",
"defaultAdditionalProperties": {},
"tenantValues": [
{
"isForbidden": true,
"tenantId": 1,
}
],
"translations": [
{
"languageId": 1,
"translationValue": "Fax",
}
],
}
{
"stringValue": "Email",
"description": "E-Mail",
"defaultAdditionalProperties": {},
"tenantValues": []
"translations": [
{
"languageId": 1,
"translationValue": "E-Mail",
}
],
}
{
"stringValue": "Phone",
"description": "Phone",
"defaultAdditionalProperties": {},
"tenantValues": []
"translations": [
{
"languageId": 1,
"translationValue": "Phone",
}
{
"languageId": 2,
"translationValue": "Telefon",
}
],
}
Výše popsané requesty by založily takovéto záznamy:
Je založen jeden defaultní záznam pro Fax, který je povolen všude s výjimkou ČR. Má jediný překlad. Je založen jeden defaultní záznam pro Email, který je povolen všude. Má jediný překlad. Je založen jeden defaultní záznam pro Phone, který je povolen všude. Má defaultní a český překlad.
#Bulk
- Je možné přidávat záznamy hromadně, přes endpoint /AddBulk
- Tyto záznamy jsou založeny jako globální s hodnotou forbidden = false pro všechny tenanty
- Přes tento endpoint lze nastavit překlad pouze pro Default language
{
"stringValues": [
{
"stringValue": "Male",
"defaultTranslation": "Male"
},
{
"stringValue": "Female",
"defaultTranslation": "Female"
}
]
}
Šlo by rozšířit o
- podporu více překladů
- podporu zakazování záznamů pro tenanty