Add junction entities and ACL for CAICollection, CAdvowareAkten, and CPulsTeam

- Introduced new junction entities: CAICollectionCDokumente, CAdvowareAktenCDokumente, and CPulsTeamZuordnung.
- Implemented respective controllers and services for handling CRUD operations.
- Added metadata definitions for new entities, including fields, links, and indexes.
- Created language files for English and German translations for the new entities.
- Developed a script to set ACL permissions for the new junction entities across existing roles.
- Updated existing entity definitions to include new relationships and fields related to Advoware and AI Collections.
This commit is contained in:
2026-03-10 00:10:57 +01:00
parent 0340c59e5c
commit 3470dba301
34 changed files with 920 additions and 18 deletions

View File

@@ -75,6 +75,42 @@
"entity": "Email",
"foreign": "parent",
"layoutRelationshipsDisabled": true
},
"cDokumente": {
"type": "hasMany",
"entity": "CDokumente",
"foreign": "cAICollections",
"relationName": "cAICollectionCDokumente",
"additionalColumns": {
"xaifileid": {
"type": "varchar",
"len": 255
},
"syncStatus": {
"type": "varchar",
"len": 50,
"default": "new"
}
},
"isCustom": true
},
"cAdvowareAkte": {
"type": "belongsTo",
"entity": "CAdvowareAkten",
"foreign": "cAICollection",
"isCustom": true
},
"cmietinkassos": {
"type": "hasMany",
"entity": "CMietinkasso",
"foreign": "cAICollection",
"isCustom": true
},
"cvmhRumungsklages": {
"type": "hasMany",
"entity": "CVmhRumungsklage",
"foreign": "cAICollection",
"isCustom": true
}
},
"collection": {

View File

@@ -0,0 +1,87 @@
{
"fields": {
"id": {
"type": "id",
"dbType": "bigint",
"autoincrement": true
},
"cAICollection": {
"type": "link"
},
"cAICollectionId": {
"type": "varchar",
"len": 17,
"index": true
},
"cDokumente": {
"type": "link"
},
"cDokumenteId": {
"type": "varchar",
"len": 17,
"index": true
},
"xaifileid": {
"type": "varchar",
"len": 255,
"isCustom": true,
"tooltip": true,
"copyToClipboard": true
},
"syncStatus": {
"type": "enum",
"required": false,
"options": [
"new",
"changed",
"synced",
"deleted"
],
"style": {
"new": "info",
"changed": "warning",
"synced": "success",
"deleted": "danger"
},
"default": "new",
"isCustom": true,
"tooltip": true
},
"deleted": {
"type": "bool",
"default": false
}
},
"links": {
"cAICollection": {
"type": "belongsTo",
"entity": "CAICollection"
},
"cDokumente": {
"type": "belongsTo",
"entity": "CDokumente"
}
},
"collection": {
"orderBy": "id",
"order": "desc"
},
"indexes": {
"cAICollectionId": {
"columns": ["cAICollectionId"]
},
"cDokumenteId": {
"columns": ["cDokumenteId"]
},
"xaifileid": {
"columns": ["xaifileid"]
},
"syncStatus": {
"columns": ["syncStatus"]
},
"uniqueRelation": {
"type": "unique",
"columns": ["cAICollectionId", "cDokumenteId", "deleted"]
}
}
}

View File

@@ -75,6 +75,42 @@
"entity": "Email",
"foreign": "parent",
"layoutRelationshipsDisabled": true
},
"cDokumente": {
"type": "hasMany",
"entity": "CDokumente",
"foreign": "cAdvowareAkten",
"relationName": "cAdvowareAktenCDokumente",
"additionalColumns": {
"hnr": {
"type": "varchar",
"len": 255
},
"syncStatus": {
"type": "varchar",
"len": 50,
"default": "new"
}
},
"isCustom": true
},
"cAICollection": {
"type": "hasOne",
"entity": "CAICollection",
"foreign": "cAdvowareAkte",
"isCustom": true
},
"cmietinkassos": {
"type": "hasMany",
"entity": "CMietinkasso",
"foreign": "cAdvowareAkte",
"isCustom": true
},
"cvmhRumungsklages": {
"type": "hasMany",
"entity": "CVmhRumungsklage",
"foreign": "cAdvowareAkte",
"isCustom": true
}
},
"collection": {

View File

@@ -0,0 +1,83 @@
{
"fields": {
"id": {
"type": "id",
"dbType": "bigint",
"autoincrement": true
},
"cAdvowareAkten": {
"type": "link"
},
"cAdvowareAktenId": {
"type": "varchar",
"len": 17,
"index": true
},
"cDokumente": {
"type": "link"
},
"cDokumenteId": {
"type": "varchar",
"len": 17,
"index": true
},
"hnr": {
"type": "varchar",
"len": 255,
"isCustom": true,
"tooltip": true
},
"syncStatus": {
"type": "enum",
"required": false,
"options": [
"new",
"changed",
"synced",
"deleted"
],
"style": {
"new": "info",
"changed": "warning",
"synced": "success",
"deleted": "danger"
},
"default": "new",
"isCustom": true,
"tooltip": true
},
"deleted": {
"type": "bool",
"default": false
}
},
"links": {
"cAdvowareAkten": {
"type": "belongsTo",
"entity": "CAdvowareAkten"
},
"cDokumente": {
"type": "belongsTo",
"entity": "CDokumente"
}
},
"collection": {
"orderBy": "id",
"order": "desc"
},
"indexes": {
"cAdvowareAktenId": {
"columns": ["cAdvowareAktenId"]
},
"cDokumenteId": {
"columns": ["cDokumenteId"]
},
"syncStatus": {
"columns": ["syncStatus"]
},
"uniqueRelation": {
"type": "unique",
"columns": ["cAdvowareAktenId", "cDokumenteId", "deleted"]
}
}
}

View File

@@ -263,6 +263,42 @@
"entity": "CMietobjekt",
"audited": false,
"isCustom": true
},
"cAICollections": {
"type": "hasMany",
"entity": "CAICollection",
"foreign": "cDokumente",
"relationName": "cAICollectionCDokumente",
"additionalColumns": {
"xaifileid": {
"type": "varchar",
"len": 255
},
"syncStatus": {
"type": "varchar",
"len": 50,
"default": "new"
}
},
"isCustom": true
},
"cAdvowareAkten": {
"type": "hasMany",
"entity": "CAdvowareAkten",
"foreign": "cDokumente",
"relationName": "cAdvowareAktenCDokumente",
"additionalColumns": {
"hnr": {
"type": "varchar",
"len": 255
},
"syncStatus": {
"type": "varchar",
"len": 50,
"default": "new"
}
},
"isCustom": true
}
},
"collection": {

View File

@@ -128,6 +128,24 @@
"required": false,
"default": 0,
"isCustom": true
},
"cAdvowareAkteId": {
"type": "varchar",
"len": 17,
"isCustom": true
},
"cAdvowareAkteName": {
"type": "varchar",
"isCustom": true
},
"cAICollectionId": {
"type": "varchar",
"len": 17,
"isCustom": true
},
"cAICollectionName": {
"type": "varchar",
"isCustom": true
}
},
"links": {
@@ -234,7 +252,19 @@
"type": "hasMany",
"entity": "CPuls",
"foreign": "parent",
"isCustom": true }
"isCustom": true },
"cAdvowareAkte": {
"type": "belongsTo",
"entity": "CAdvowareAkten",
"foreign": "cmietinkassos",
"isCustom": true
},
"cAICollection": {
"type": "belongsTo",
"entity": "CAICollection",
"foreign": "cmietinkassos",
"isCustom": true
}
},
"collection": {
"orderBy": "createdAt",

View File

@@ -0,0 +1,68 @@
{
"fields": {
"puls": {
"type": "link"
},
"pulsId": {
"type": "varchar",
"len": 17
},
"team": {
"type": "link"
},
"teamId": {
"type": "varchar",
"len": 17
},
"aktiv": {
"type": "bool",
"default": true
},
"abgeschlossen": {
"type": "bool",
"default": false
},
"prioritaet": {
"type": "enum",
"options": ["Niedrig", "Normal", "Hoch", "Dringend"],
"default": "Normal"
},
"createdAt": {
"type": "datetime",
"readOnly": true
},
"modifiedAt": {
"type": "datetime",
"readOnly": true
}
},
"links": {
"puls": {
"type": "belongsTo",
"entity": "CPuls",
"foreign": "teamZuordnungen"
},
"team": {
"type": "belongsTo",
"entity": "Team"
}
},
"collection": {
"orderBy": "createdAt",
"order": "desc"
},
"indexes": {
"pulsId": {
"columns": ["pulsId"]
},
"teamId": {
"columns": ["teamId"]
},
"aktiv": {
"columns": ["aktiv"]
},
"abgeschlossen": {
"columns": ["abgeschlossen"]
}
}
}

View File

@@ -136,6 +136,24 @@
"required": false,
"default": 0,
"isCustom": true
},
"cAdvowareAkteId": {
"type": "varchar",
"len": 17,
"isCustom": true
},
"cAdvowareAkteName": {
"type": "varchar",
"isCustom": true
},
"cAICollectionId": {
"type": "varchar",
"len": 17,
"isCustom": true
},
"cAICollectionName": {
"type": "varchar",
"isCustom": true
}
},
"links": {
@@ -244,6 +262,18 @@
"entity": "CPuls",
"foreign": "parent",
"isCustom": true
},
"cAdvowareAkte": {
"type": "belongsTo",
"entity": "CAdvowareAkten",
"foreign": "cvmhRumungsklages",
"isCustom": true
},
"cAICollection": {
"type": "belongsTo",
"entity": "CAICollection",
"foreign": "cvmhRumungsklages",
"isCustom": true
}
},
"collection": {

View File

@@ -0,0 +1,10 @@
{
"entity": true,
"type": "Base",
"module": "Custom",
"object": true,
"isCustom": true,
"tab": false,
"acl": true,
"disabled": false
}

View File

@@ -0,0 +1,10 @@
{
"entity": true,
"type": "Base",
"module": "Custom",
"object": true,
"isCustom": true,
"tab": false,
"acl": true,
"disabled": false
}

View File

@@ -0,0 +1,10 @@
{
"entity": true,
"type": "Base",
"module": "Custom",
"object": true,
"isCustom": true,
"tab": false,
"acl": true,
"disabled": false
}