Add AI Knowledge entity and related localization

- Introduced CAIKnowledge entity with fields for name, description, and relationships to Mietinkasso and Räumungsklage.
- Added localization files for CAIKnowledge in multiple languages including English, German, Spanish, and more.
- Updated existing JSON files to include references to AI Knowledge where applicable.
- Created necessary metadata definitions for client, entity, and record definitions for CAIKnowledge.
- Enhanced existing documents and mietinkasso resources to support new AI Knowledge functionality.
This commit is contained in:
2026-03-11 18:30:21 +01:00
parent f7b1adc015
commit c12577f4f8
62 changed files with 484 additions and 22 deletions

View File

@@ -0,0 +1,7 @@
<?php
namespace Espo\Custom\Controllers;
class CAIKnowledge extends \Espo\Core\Templates\Controllers\Base
{
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "إنشاء {الكيانTypeTranslated}"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Създаване на AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Vytvořit AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Opret AI Knowledge "
}
}

View File

@@ -0,0 +1,15 @@
{
"labels": {
"Create CAIKnowledge": "AI Knowledge erstellen"
},
"fields": {
"dokumentes": "Dokumente",
"vmhRumungsklage": "Räumungsklage",
"mietinkasso": "Mietinkasso"
},
"links": {
"dokumentes": "Dokumente",
"vmhRumungsklage": "Räumungsklage",
"mietinkasso": "Mietinkasso"
}
}

View File

@@ -3,7 +3,8 @@
"calls": "Anrufe", "calls": "Anrufe",
"tasks": "Aufgaben", "tasks": "Aufgaben",
"vmhRumungsklage": "Räumungsklagen", "vmhRumungsklage": "Räumungsklagen",
"mietinkasso": "Mietinkasso" "mietinkasso": "Mietinkasso",
"dokumentes": "Dokumente"
}, },
"labels": { "labels": {
"Create CAdvowareAkten": "Advoware Akten erstellen" "Create CAdvowareAkten": "Advoware Akten erstellen"
@@ -12,6 +13,7 @@
"vmhRumungsklage": "Räumungsklagen", "vmhRumungsklage": "Räumungsklagen",
"mietinkasso": "Mietinkasso", "mietinkasso": "Mietinkasso",
"aktenzeichen": "Aktenzeichen", "aktenzeichen": "Aktenzeichen",
"aktennummer": "Aktennummer" "aktennummer": "Aktennummer",
"dokumentes": "Dokumente"
} }
} }

View File

@@ -20,7 +20,9 @@
"beteiligte2dokumente": "Beteiligte", "beteiligte2dokumente": "Beteiligte",
"mietobjekt2dokumente": "Mietobjekte", "mietobjekt2dokumente": "Mietobjekte",
"mietinkassosdokumente": "Mietinkasso", "mietinkassosdokumente": "Mietinkasso",
"kndigungensdokumente": "Kündigungen" "kndigungensdokumente": "Kündigungen",
"advowareAktens": "Advoware Akten",
"aIKnowledges": "AI Knowledge"
}, },
"links": { "links": {
"contactsvmhdokumente": "Freigegebene Nutzer", "contactsvmhdokumente": "Freigegebene Nutzer",
@@ -31,7 +33,9 @@
"beteiligte2dokumente": "Beteiligte", "beteiligte2dokumente": "Beteiligte",
"mietobjekt2dokumente": "Mietobjekte", "mietobjekt2dokumente": "Mietobjekte",
"mietinkassosdokumente": "Mietinkasso", "mietinkassosdokumente": "Mietinkasso",
"kndigungensdokumente": "Kündigungen" "kndigungensdokumente": "Kündigungen",
"advowareAktens": "Advoware Akten",
"aIKnowledges": "AI Knowledge"
}, },
"labels": { "labels": {
"Create CDokumente": "Dokument erstellen" "Create CDokumente": "Dokument erstellen"

View File

@@ -13,7 +13,8 @@
"freigeschalteteNutzer": "Freigeschaltete Nutzer (veraltet)", "freigeschalteteNutzer": "Freigeschaltete Nutzer (veraltet)",
"collaborators": "Mitarbeiter", "collaborators": "Mitarbeiter",
"vmhVermietersMIK": "Vermieter", "vmhVermietersMIK": "Vermieter",
"advowareAkten": "Advoware Akten" "advowareAkten": "Advoware Akten",
"aIKnowledge": "AI Knowledge"
}, },
"links": { "links": {
"meetings": "Termine", "meetings": "Termine",
@@ -28,7 +29,8 @@
"collaborators": "Mitarbeiter", "collaborators": "Mitarbeiter",
"vmhVermietersMIK": "Vermieter", "vmhVermietersMIK": "Vermieter",
"pulse": "Pulse", "pulse": "Pulse",
"advowareAkten": "Advoware Akten" "advowareAkten": "Advoware Akten",
"aIKnowledge": "AI Knowledge"
}, },
"labels": { "labels": {
"Create CMietinkasso": "Mietinkasso erstellen" "Create CMietinkasso": "Mietinkasso erstellen"

View File

@@ -15,7 +15,8 @@
"freigeschalteteNutzer": "Freigeschaltete Nutzer (veraltet)", "freigeschalteteNutzer": "Freigeschaltete Nutzer (veraltet)",
"collaborators": "Mitarbeiter", "collaborators": "Mitarbeiter",
"vmhVermietersRKL": "Vermieter", "vmhVermietersRKL": "Vermieter",
"advowareAkten": "Advoware Akten" "advowareAkten": "Advoware Akten",
"aIKnowledge": "AI Knowledge"
}, },
"links": { "links": {
"meetings": "Termine", "meetings": "Termine",
@@ -30,7 +31,8 @@
"collaborators": "Mitarbeiter", "collaborators": "Mitarbeiter",
"vmhVermietersRKL": "Vermieter", "vmhVermietersRKL": "Vermieter",
"pulse": "Pulse", "pulse": "Pulse",
"advowareAkten": "Advoware Akten" "advowareAkten": "Advoware Akten",
"aIKnowledge": "AI Knowledge"
}, },
"labels": { "labels": {
"Create CVmhRumungsklage": "Räumungsklage erstellen" "Create CVmhRumungsklage": "Räumungsklage erstellen"

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Δημιουργία AI Knowledge"
}
}

View File

@@ -0,0 +1 @@
{}

View File

@@ -0,0 +1,15 @@
{
"fields": {
"dokumentes": "Dokumente",
"vmhRumungsklage": "Räumungsklage",
"mietinkasso": "Mietinkasso"
},
"links": {
"dokumentes": "Dokumente",
"vmhRumungsklage": "Räumungsklage",
"mietinkasso": "Mietinkasso"
},
"labels": {
"Create CAIKnowledge": "Create AI Knowledge"
}
}

View File

@@ -3,14 +3,16 @@
"vmhRumungsklage": "Räumungsklagen", "vmhRumungsklage": "Räumungsklagen",
"mietinkasso": "Mietinkasso", "mietinkasso": "Mietinkasso",
"aktenzeichen": "Aktenzeichen", "aktenzeichen": "Aktenzeichen",
"aktennummer": "Aktennummer" "aktennummer": "Aktennummer",
"dokumentes": "Dokumente"
}, },
"links": { "links": {
"meetings": "Meetings", "meetings": "Meetings",
"calls": "Calls", "calls": "Calls",
"tasks": "Tasks", "tasks": "Tasks",
"vmhRumungsklage": "Räumungsklagen", "vmhRumungsklage": "Räumungsklagen",
"mietinkasso": "Mietinkasso" "mietinkasso": "Mietinkasso",
"dokumentes": "Dokumente"
}, },
"labels": { "labels": {
"Create CAdvowareAkten": "Create Advoware Akten" "Create CAdvowareAkten": "Create Advoware Akten"

View File

@@ -20,7 +20,9 @@
"xaiId": "x.AI ID", "xaiId": "x.AI ID",
"xaiCollections": "x.AI Collections", "xaiCollections": "x.AI Collections",
"xaiSyncStatus": "Sync Status", "xaiSyncStatus": "Sync Status",
"fileStatus": "File Status" "fileStatus": "File Status",
"advowareAktens": "Advoware Akten",
"aIKnowledges": "AI Knowledge"
}, },
"links": { "links": {
"contactsvmhdokumente": "Portal Users", "contactsvmhdokumente": "Portal Users",
@@ -31,7 +33,9 @@
"beteiligte2dokumente": "Parties", "beteiligte2dokumente": "Parties",
"mietobjekt2dokumente": "Properties", "mietobjekt2dokumente": "Properties",
"mietinkassosdokumente": "Rent Collection", "mietinkassosdokumente": "Rent Collection",
"kndigungensdokumente": "Terminations" "kndigungensdokumente": "Terminations",
"advowareAktens": "Advoware Akten",
"aIKnowledges": "AI Knowledge"
}, },
"labels": { "labels": {
"Create CDokumente": "Create Dokument" "Create CDokumente": "Create Dokument"

View File

@@ -13,7 +13,8 @@
"freigeschalteteNutzer": "Activated Users (deprecated)", "freigeschalteteNutzer": "Activated Users (deprecated)",
"collaborators": "Collaborators", "collaborators": "Collaborators",
"vmhVermietersMIK": "Landlord", "vmhVermietersMIK": "Landlord",
"advowareAkten": "Advoware Akten" "advowareAkten": "Advoware Akten",
"aIKnowledge": "AI Knowledge"
}, },
"links": { "links": {
"meetings": "Meetings", "meetings": "Meetings",
@@ -28,7 +29,8 @@
"collaborators": "Collaborators", "collaborators": "Collaborators",
"vmhVermietersMIK": "Landlord", "vmhVermietersMIK": "Landlord",
"pulse": "Pulses", "pulse": "Pulses",
"advowareAkten": "Advoware Akten" "advowareAkten": "Advoware Akten",
"aIKnowledge": "AI Knowledge"
}, },
"labels": { "labels": {
"Create CMietinkasso": "Create Mietinkasso" "Create CMietinkasso": "Create Mietinkasso"

View File

@@ -13,7 +13,8 @@
"aussergerichtlicheGebuehren13": "Out-of-Court Fees 1.3", "aussergerichtlicheGebuehren13": "Out-of-Court Fees 1.3",
"gerichtskosten1Instanz": "Court Costs 1st Instance", "gerichtskosten1Instanz": "Court Costs 1st Instance",
"anwaltskosten1Instanz": "Attorney Fees 1st Instance", "anwaltskosten1Instanz": "Attorney Fees 1st Instance",
"advowareAkten": "Advoware Akten" "advowareAkten": "Advoware Akten",
"aIKnowledge": "AI Knowledge"
}, },
"links": { "links": {
"meetings": "Meetings", "meetings": "Meetings",
@@ -28,7 +29,8 @@
"klaeger": "Plaintiff", "klaeger": "Plaintiff",
"contactsRumungsklage": "Portal Users", "contactsRumungsklage": "Portal Users",
"pulse": "Pulses", "pulse": "Pulses",
"advowareAkten": "Advoware Akten" "advowareAkten": "Advoware Akten",
"aIKnowledge": "AI Knowledge"
}, },
"labels": { "labels": {
"Create CVmhRumungsklage": "Create Räumungsklage" "Create CVmhRumungsklage": "Create Räumungsklage"

View File

@@ -15,7 +15,8 @@
"CMietinkasso": "Mietinkasso", "CMietinkasso": "Mietinkasso",
"CKuendigung": "Kündigung", "CKuendigung": "Kündigung",
"CPuls": "Puls", "CPuls": "Puls",
"CAdvowareAkten": "Advoware Akten" "CAdvowareAkten": "Advoware Akten",
"CAIKnowledge": "AI Knowledge"
}, },
"scopeNamesPlural": { "scopeNamesPlural": {
"CVmhMietverhltnis": "Mietverhältnisse", "CVmhMietverhltnis": "Mietverhältnisse",
@@ -33,6 +34,7 @@
"CMietinkasso": "Mietinkassa", "CMietinkasso": "Mietinkassa",
"CKuendigung": "Kündigungen", "CKuendigung": "Kündigungen",
"CPuls": "Pulse", "CPuls": "Pulse",
"CAdvowareAkten": "Advoware Akten" "CAdvowareAkten": "Advoware Akten",
"CAIKnowledge": "AI Knowledge"
} }
} }

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Crear AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Crear AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "ایجاد AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Créer un AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Napravi AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "{EntityTypeTranslated} létrehozása"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Buat AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Crea AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "AI Knowledge を作成する"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Sukurti AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Izveidot AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Opprett AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Creëer AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Utwórz AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Criar AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Criar AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Creare AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Создать AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Vytvoriť AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Ustvari AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Napravi AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Skapa AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "สร้าง AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "AI Knowledge oluştur"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Створити AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "{entityTypetranslated} بنائیں"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "Tạo AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "创建 AI Knowledge"
}
}

View File

@@ -0,0 +1,5 @@
{
"labels": {
"Create CAIKnowledge": "建立AI Knowledge"
}
}

View File

@@ -0,0 +1,20 @@
{
"controller": "controllers/record",
"boolFilterList": [
"onlyMy"
],
"relationshipPanels": {
"dokumentes": {
"layout": null,
"selectPrimaryFilterName": null
},
"vmhRumungsklage": {
"layout": null,
"selectPrimaryFilterName": null
},
"mietinkasso": {
"layout": null,
"selectPrimaryFilterName": null
}
}
}

View File

@@ -41,6 +41,10 @@
"mietinkasso": { "mietinkasso": {
"layout": null, "layout": null,
"selectPrimaryFilterName": null "selectPrimaryFilterName": null
},
"dokumentes": {
"layout": null,
"selectPrimaryFilterName": null
} }
}, },
"kanbanViewMode": false, "kanbanViewMode": false,

View File

@@ -46,6 +46,14 @@
"mietobjekt2dokumente": { "mietobjekt2dokumente": {
"layout": null, "layout": null,
"selectPrimaryFilterName": null "selectPrimaryFilterName": null
},
"advowareAktens": {
"layout": null,
"selectPrimaryFilterName": null
},
"aIKnowledges": {
"layout": null,
"selectPrimaryFilterName": null
} }
}, },
"kanbanViewMode": false, "kanbanViewMode": false,

View File

@@ -44,6 +44,10 @@
"advowareAkten": { "advowareAkten": {
"layout": null, "layout": null,
"selectPrimaryFilterName": null "selectPrimaryFilterName": null
},
"aIKnowledge": {
"layout": null,
"selectPrimaryFilterName": null
} }
} }
} }

View File

@@ -72,6 +72,10 @@
"advowareAkten": { "advowareAkten": {
"layout": null, "layout": null,
"selectPrimaryFilterName": null "selectPrimaryFilterName": null
},
"aIKnowledge": {
"layout": null,
"selectPrimaryFilterName": null
} }
}, },
"kanbanViewMode": false, "kanbanViewMode": false,

View File

@@ -0,0 +1,8 @@
{
"relationshipPanels": {
"advowareAktens": {
"layout": null,
"selectPrimaryFilterName": null
}
}
}

View File

@@ -0,0 +1,115 @@
{
"fields": {
"name": {
"type": "varchar",
"required": true,
"pattern": "$noBadCharacters"
},
"description": {
"type": "text"
},
"createdAt": {
"type": "datetime",
"readOnly": true
},
"modifiedAt": {
"type": "datetime",
"readOnly": true
},
"createdBy": {
"type": "link",
"readOnly": true,
"view": "views/fields/user"
},
"modifiedBy": {
"type": "link",
"readOnly": true,
"view": "views/fields/user"
},
"assignedUser": {
"type": "link",
"required": false,
"view": "views/fields/assigned-user"
},
"teams": {
"type": "linkMultiple",
"view": "views/fields/teams"
},
"vmhRumungsklage": {
"type": "link"
},
"mietinkasso": {
"type": "link"
}
},
"links": {
"createdBy": {
"type": "belongsTo",
"entity": "User"
},
"modifiedBy": {
"type": "belongsTo",
"entity": "User"
},
"assignedUser": {
"type": "belongsTo",
"entity": "User"
},
"teams": {
"type": "hasMany",
"entity": "Team",
"relationName": "entityTeam",
"layoutRelationshipsDisabled": true
},
"dokumentes": {
"type": "hasMany",
"relationName": "cAIKnowledgeDokumente",
"foreign": "aIKnowledges",
"entity": "CDokumente",
"audited": false,
"isCustom": true
},
"vmhRumungsklage": {
"type": "belongsTo",
"foreign": "aIKnowledge",
"entity": "CVmhRumungsklage",
"isCustom": true
},
"mietinkasso": {
"type": "belongsTo",
"foreign": "aIKnowledge",
"entity": "CMietinkasso",
"isCustom": true
}
},
"collection": {
"orderBy": "createdAt",
"order": "desc"
},
"indexes": {
"name": {
"columns": [
"name",
"deleted"
]
},
"assignedUser": {
"columns": [
"assignedUserId",
"deleted"
]
},
"createdAt": {
"columns": [
"createdAt"
]
},
"createdAtId": {
"unique": true,
"columns": [
"createdAt",
"id"
]
}
}
}

View File

@@ -108,6 +108,14 @@
"foreign": "advowareAkten", "foreign": "advowareAkten",
"entity": "CMietinkasso", "entity": "CMietinkasso",
"isCustom": true "isCustom": true
},
"dokumentes": {
"type": "hasMany",
"relationName": "cAdvowareAktenDokumente",
"foreign": "advowareAktens",
"entity": "CDokumente",
"audited": true,
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -263,6 +263,22 @@
"entity": "CMietobjekt", "entity": "CMietobjekt",
"audited": false, "audited": false,
"isCustom": true "isCustom": true
},
"advowareAktens": {
"type": "hasMany",
"relationName": "cAdvowareAktenDokumente",
"foreign": "dokumentes",
"entity": "CAdvowareAkten",
"audited": false,
"isCustom": true
},
"aIKnowledges": {
"type": "hasMany",
"relationName": "cAIKnowledgeDokumente",
"foreign": "dokumentes",
"entity": "CAIKnowledge",
"audited": true,
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -84,6 +84,9 @@
}, },
"advowareAkten": { "advowareAkten": {
"type": "linkOne" "type": "linkOne"
},
"aIKnowledge": {
"type": "linkOne"
} }
}, },
"links": { "links": {
@@ -198,6 +201,12 @@
"foreign": "mietinkasso", "foreign": "mietinkasso",
"entity": "CAdvowareAkten", "entity": "CAdvowareAkten",
"isCustom": true "isCustom": true
},
"aIKnowledge": {
"type": "hasOne",
"foreign": "mietinkasso",
"entity": "CAIKnowledge",
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -89,6 +89,9 @@
}, },
"advowareAkten": { "advowareAkten": {
"type": "linkOne" "type": "linkOne"
},
"aIKnowledge": {
"type": "linkOne"
} }
}, },
"links": { "links": {
@@ -203,6 +206,12 @@
"foreign": "vmhRumungsklage", "foreign": "vmhRumungsklage",
"entity": "CAdvowareAkten", "entity": "CAdvowareAkten",
"isCustom": true "isCustom": true
},
"aIKnowledge": {
"type": "hasOne",
"foreign": "vmhRumungsklage",
"entity": "CAIKnowledge",
"isCustom": true
} }
}, },
"collection": { "collection": {

View File

@@ -0,0 +1,3 @@
{
"duplicateWhereBuilderClassName": "Espo\\Classes\\DuplicateWhereBuilders\\General"
}

View File

@@ -0,0 +1,23 @@
{
"entity": true,
"layouts": true,
"tab": true,
"acl": true,
"aclPortal": true,
"aclPortalLevelList": [
"all",
"account",
"contact",
"own",
"no"
],
"customizable": true,
"importable": true,
"notifications": true,
"stream": true,
"disabled": false,
"type": "Base",
"module": "Custom",
"object": true,
"isCustom": true
}

View File

@@ -129,7 +129,8 @@ return [
34 => 'GlobalStream', 34 => 'GlobalStream',
35 => 'Report', 35 => 'Report',
36 => 'CCallQueues', 36 => 'CCallQueues',
37 => 'CAdvowareAkten' 37 => 'CAdvowareAkten',
38 => 'CAIKnowledge'
], ],
'quickCreateList' => [ 'quickCreateList' => [
0 => 'Account', 0 => 'Account',
@@ -359,7 +360,7 @@ return [
0 => 'youtube.com', 0 => 'youtube.com',
1 => 'google.com' 1 => 'google.com'
], ],
'microtime' => 1773222220.428071, 'microtime' => 1773250203.282224,
'siteUrl' => 'https://crm.bitbylaw.com', 'siteUrl' => 'https://crm.bitbylaw.com',
'fullTextSearchMinLength' => 4, 'fullTextSearchMinLength' => 4,
'webSocketUrl' => 'ws://api.bitbylaw.com:5000/espocrm/ws', 'webSocketUrl' => 'ws://api.bitbylaw.com:5000/espocrm/ws',

View File

@@ -1,7 +1,7 @@
<?php <?php
return [ return [
'cacheTimestamp' => 1773222301, 'cacheTimestamp' => 1773250203,
'microtimeState' => 1773222301.316095, 'microtimeState' => 1773250203.473008,
'currencyRates' => [ 'currencyRates' => [
'EUR' => 1.0 'EUR' => 1.0
], ],