@open-mercato/core 0.7.1-develop.7175.1.d49ab48ee2 → 0.7.1-develop.7176.1.d229567a50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +2 -2
- package/dist/generated/entities/phone_call/index.js +53 -0
- package/dist/generated/entities/phone_call/index.js.map +7 -0
- package/dist/generated/entities/phone_call_participant/index.js +27 -0
- package/dist/generated/entities/phone_call_participant/index.js.map +7 -0
- package/dist/generated/entities.ids.generated.js +5 -0
- package/dist/generated/entities.ids.generated.js.map +2 -2
- package/dist/generated/entity-fields-registry.js +41 -0
- package/dist/generated/entity-fields-registry.js.map +2 -2
- package/dist/modules/configs/lib/upgrade-actions.js +20 -0
- package/dist/modules/configs/lib/upgrade-actions.js.map +2 -2
- package/dist/modules/entities/migrations/Migration20260822120000.js +44 -0
- package/dist/modules/entities/migrations/Migration20260822120000.js.map +7 -0
- package/dist/modules/phone_calls/acl.js +15 -0
- package/dist/modules/phone_calls/acl.js.map +7 -0
- package/dist/modules/phone_calls/api/calls/route.js +132 -0
- package/dist/modules/phone_calls/api/calls/route.js.map +7 -0
- package/dist/modules/phone_calls/api/openapi.js +23 -0
- package/dist/modules/phone_calls/api/openapi.js.map +7 -0
- package/dist/modules/phone_calls/backend/page.js +261 -0
- package/dist/modules/phone_calls/backend/page.js.map +7 -0
- package/dist/modules/phone_calls/backend/page.meta.js +16 -0
- package/dist/modules/phone_calls/backend/page.meta.js.map +7 -0
- package/dist/modules/phone_calls/commands/calls.js +125 -0
- package/dist/modules/phone_calls/commands/calls.js.map +7 -0
- package/dist/modules/phone_calls/commands/index.js +2 -0
- package/dist/modules/phone_calls/commands/index.js.map +7 -0
- package/dist/modules/phone_calls/data/entities.js +162 -0
- package/dist/modules/phone_calls/data/entities.js.map +7 -0
- package/dist/modules/phone_calls/data/validators.js +68 -0
- package/dist/modules/phone_calls/data/validators.js.map +7 -0
- package/dist/modules/phone_calls/di.js +12 -0
- package/dist/modules/phone_calls/di.js.map +7 -0
- package/dist/modules/phone_calls/encryption.js +28 -0
- package/dist/modules/phone_calls/encryption.js.map +7 -0
- package/dist/modules/phone_calls/events.js +18 -0
- package/dist/modules/phone_calls/events.js.map +7 -0
- package/dist/modules/phone_calls/index.js +15 -0
- package/dist/modules/phone_calls/index.js.map +7 -0
- package/dist/modules/phone_calls/migrations/Migration20260706124120_phone_calls.js +22 -0
- package/dist/modules/phone_calls/migrations/Migration20260706124120_phone_calls.js.map +7 -0
- package/dist/modules/phone_calls/migrations/Migration20260814124333_phone_calls.js +13 -0
- package/dist/modules/phone_calls/migrations/Migration20260814124333_phone_calls.js.map +7 -0
- package/dist/modules/phone_calls/setup.js +16 -0
- package/dist/modules/phone_calls/setup.js.map +7 -0
- package/generated/entities/phone_call/index.ts +25 -0
- package/generated/entities/phone_call_participant/index.ts +12 -0
- package/generated/entities.ids.generated.ts +5 -0
- package/generated/entity-fields-registry.ts +41 -0
- package/package.json +7 -7
- package/src/modules/auth/i18n/de.json +3 -0
- package/src/modules/auth/i18n/en.json +3 -0
- package/src/modules/auth/i18n/es.json +3 -0
- package/src/modules/auth/i18n/ko.json +3 -0
- package/src/modules/auth/i18n/pl.json +3 -0
- package/src/modules/configs/lib/upgrade-actions.ts +20 -0
- package/src/modules/entities/migrations/Migration20260822120000.ts +56 -0
- package/src/modules/phone_calls/acl.ts +11 -0
- package/src/modules/phone_calls/api/calls/route.ts +150 -0
- package/src/modules/phone_calls/api/openapi.ts +25 -0
- package/src/modules/phone_calls/backend/page.meta.ts +12 -0
- package/src/modules/phone_calls/backend/page.tsx +303 -0
- package/src/modules/phone_calls/commands/calls.ts +156 -0
- package/src/modules/phone_calls/commands/index.ts +1 -0
- package/src/modules/phone_calls/data/entities.ts +144 -0
- package/src/modules/phone_calls/data/validators.ts +69 -0
- package/src/modules/phone_calls/di.ts +10 -0
- package/src/modules/phone_calls/encryption.ts +26 -0
- package/src/modules/phone_calls/events.ts +25 -0
- package/src/modules/phone_calls/i18n/de.json +42 -0
- package/src/modules/phone_calls/i18n/en.json +42 -0
- package/src/modules/phone_calls/i18n/es.json +42 -0
- package/src/modules/phone_calls/i18n/ko.json +42 -0
- package/src/modules/phone_calls/i18n/pl.json +42 -0
- package/src/modules/phone_calls/index.ts +13 -0
- package/src/modules/phone_calls/migrations/.snapshot-open-mercato.json +772 -0
- package/src/modules/phone_calls/migrations/Migration20260706124120_phone_calls.ts +23 -0
- package/src/modules/phone_calls/migrations/Migration20260814124333_phone_calls.ts +13 -0
- package/src/modules/phone_calls/setup.ts +14 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ModuleEncryptionMap } from '@open-mercato/shared/modules/encryption'
|
|
2
|
+
|
|
3
|
+
export const defaultEncryptionMaps: ModuleEncryptionMap[] = [
|
|
4
|
+
{
|
|
5
|
+
entityId: 'phone_calls:phone_call',
|
|
6
|
+
fields: [
|
|
7
|
+
// raw_snapshot and provider_facts hold the untouched Tillio payload, which
|
|
8
|
+
// carries caller/destination numbers (PII) that we already encrypt on the
|
|
9
|
+
// participant. recording_url points at the call recording. QueryEngine
|
|
10
|
+
// decrypts these transparently on read.
|
|
11
|
+
{ field: 'raw_snapshot' },
|
|
12
|
+
{ field: 'provider_facts' },
|
|
13
|
+
{ field: 'recording_url' },
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
entityId: 'phone_calls:phone_call_participant',
|
|
18
|
+
fields: [
|
|
19
|
+
{ field: 'phone_number' },
|
|
20
|
+
{ field: 'display_name' },
|
|
21
|
+
{ field: 'email' },
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
export default defaultEncryptionMaps
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { createModuleEvents } from '@open-mercato/shared/modules/events'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Phone Calls Module Events
|
|
5
|
+
*
|
|
6
|
+
* Declares all events that can be emitted by the phone_calls module.
|
|
7
|
+
*/
|
|
8
|
+
const events = [
|
|
9
|
+
{ id: 'phone_calls.call.ingested', label: 'Phone Call Ingested', entity: 'call', category: 'crud' },
|
|
10
|
+
{ id: 'phone_calls.call.updated', label: 'Phone Call Updated', entity: 'call', category: 'crud' },
|
|
11
|
+
{ id: 'phone_calls.call.ingest_failed', label: 'Phone Call Ingest Failed', entity: 'call', category: 'crud' },
|
|
12
|
+
] as const
|
|
13
|
+
|
|
14
|
+
export const eventsConfig = createModuleEvents({
|
|
15
|
+
moduleId: 'phone_calls',
|
|
16
|
+
events,
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
/** Type-safe event emitter for phone_calls module */
|
|
20
|
+
export const emitPhoneCallsEvent = eventsConfig.emit
|
|
21
|
+
|
|
22
|
+
/** Event IDs that can be emitted by the phone_calls module */
|
|
23
|
+
export type PhoneCallsEventId = typeof events[number]['id']
|
|
24
|
+
|
|
25
|
+
export default eventsConfig
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"phone_calls.acl.manage": "Anrufe verwalten",
|
|
3
|
+
"phone_calls.acl.view": "Anrufe anzeigen",
|
|
4
|
+
"phone_calls.audit.calls.ingested": "Anruf importieren",
|
|
5
|
+
"phone_calls.audit.calls.updated": "Importierten Anruf aktualisieren",
|
|
6
|
+
"phone_calls.calls.columns.callId": "Anruf-ID",
|
|
7
|
+
"phone_calls.calls.columns.direction": "Richtung",
|
|
8
|
+
"phone_calls.calls.columns.duration": "Dauer",
|
|
9
|
+
"phone_calls.calls.columns.ingestStatus": "Import",
|
|
10
|
+
"phone_calls.calls.columns.provider": "Anbieter",
|
|
11
|
+
"phone_calls.calls.columns.started": "Begonnen",
|
|
12
|
+
"phone_calls.calls.columns.status": "Status",
|
|
13
|
+
"phone_calls.calls.direction.inbound": "Eingehend",
|
|
14
|
+
"phone_calls.calls.direction.internal": "Intern",
|
|
15
|
+
"phone_calls.calls.direction.outbound": "Ausgehend",
|
|
16
|
+
"phone_calls.calls.direction.unknown": "Unbekannt",
|
|
17
|
+
"phone_calls.calls.filters.direction": "Richtung",
|
|
18
|
+
"phone_calls.calls.filters.provider": "Anbieter",
|
|
19
|
+
"phone_calls.calls.filters.providerPlaceholder": "Anbieterschlüssel",
|
|
20
|
+
"phone_calls.calls.filters.started": "Begonnen",
|
|
21
|
+
"phone_calls.calls.filters.status": "Status",
|
|
22
|
+
"phone_calls.calls.ingestStatus.complete": "Abgeschlossen",
|
|
23
|
+
"phone_calls.calls.ingestStatus.failed": "Fehlgeschlagen",
|
|
24
|
+
"phone_calls.calls.ingestStatus.pending": "Ausstehend",
|
|
25
|
+
"phone_calls.calls.list.empty": "Noch keine Anrufe. Anrufe erscheinen hier, sobald sie von einem Anbieter importiert wurden.",
|
|
26
|
+
"phone_calls.calls.list.error": "Anrufe konnten nicht geladen werden",
|
|
27
|
+
"phone_calls.calls.list.searchPlaceholder": "Nach Anruf, Konversation oder Anbieter suchen",
|
|
28
|
+
"phone_calls.calls.list.title": "Anrufe",
|
|
29
|
+
"phone_calls.calls.status.answered": "Angenommen",
|
|
30
|
+
"phone_calls.calls.status.completed": "Abgeschlossen",
|
|
31
|
+
"phone_calls.calls.status.failed": "Fehlgeschlagen",
|
|
32
|
+
"phone_calls.calls.status.missed": "Verpasst",
|
|
33
|
+
"phone_calls.calls.status.new": "Neu",
|
|
34
|
+
"phone_calls.calls.status.ringing": "Klingelt",
|
|
35
|
+
"phone_calls.calls.status.unknown": "Unbekannt",
|
|
36
|
+
"phone_calls.config.upgradeActions.encryptionMaps.cta": "Anrufdaten verschlüsseln",
|
|
37
|
+
"phone_calls.config.upgradeActions.encryptionMaps.loading": "Verschlüsselungszuordnungen für Anrufe werden angelegt…",
|
|
38
|
+
"phone_calls.config.upgradeActions.encryptionMaps.message": "Version {{version}} speichert Telefonanrufe und verschlüsselt deren Anruferdaten im Ruhezustand. Ein Mandant, der mit deaktivierter Verschlüsselung aktualisiert hat, besitzt keine Verschlüsselungszuordnung für die beiden Anruf-Entitäten, sodass nach dem Aktivieren der Verschlüsselung erfasste Anrufe unverschlüsselt gespeichert würden. Führen Sie dies aus, um beide Zuordnungen anzulegen.",
|
|
39
|
+
"phone_calls.config.upgradeActions.encryptionMaps.success": "Verschlüsselungszuordnungen für Anrufe angelegt.",
|
|
40
|
+
"phone_calls.nav.calls": "Anrufe",
|
|
41
|
+
"phone_calls.nav.group": "Kommunikation"
|
|
42
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"phone_calls.acl.manage": "Manage phone calls",
|
|
3
|
+
"phone_calls.acl.view": "View phone calls",
|
|
4
|
+
"phone_calls.audit.calls.ingested": "Ingest phone call",
|
|
5
|
+
"phone_calls.audit.calls.updated": "Update ingested phone call",
|
|
6
|
+
"phone_calls.calls.columns.callId": "Call ID",
|
|
7
|
+
"phone_calls.calls.columns.direction": "Direction",
|
|
8
|
+
"phone_calls.calls.columns.duration": "Duration",
|
|
9
|
+
"phone_calls.calls.columns.ingestStatus": "Ingest",
|
|
10
|
+
"phone_calls.calls.columns.provider": "Provider",
|
|
11
|
+
"phone_calls.calls.columns.started": "Started",
|
|
12
|
+
"phone_calls.calls.columns.status": "Status",
|
|
13
|
+
"phone_calls.calls.direction.inbound": "Inbound",
|
|
14
|
+
"phone_calls.calls.direction.internal": "Internal",
|
|
15
|
+
"phone_calls.calls.direction.outbound": "Outbound",
|
|
16
|
+
"phone_calls.calls.direction.unknown": "Unknown",
|
|
17
|
+
"phone_calls.calls.filters.direction": "Direction",
|
|
18
|
+
"phone_calls.calls.filters.provider": "Provider",
|
|
19
|
+
"phone_calls.calls.filters.providerPlaceholder": "Provider key",
|
|
20
|
+
"phone_calls.calls.filters.started": "Started",
|
|
21
|
+
"phone_calls.calls.filters.status": "Status",
|
|
22
|
+
"phone_calls.calls.ingestStatus.complete": "Complete",
|
|
23
|
+
"phone_calls.calls.ingestStatus.failed": "Failed",
|
|
24
|
+
"phone_calls.calls.ingestStatus.pending": "Pending",
|
|
25
|
+
"phone_calls.calls.list.empty": "No phone calls yet. Calls appear here once they are ingested from a provider.",
|
|
26
|
+
"phone_calls.calls.list.error": "Failed to load phone calls",
|
|
27
|
+
"phone_calls.calls.list.searchPlaceholder": "Search by call, conversation or provider",
|
|
28
|
+
"phone_calls.calls.list.title": "Phone Calls",
|
|
29
|
+
"phone_calls.calls.status.answered": "Answered",
|
|
30
|
+
"phone_calls.calls.status.completed": "Completed",
|
|
31
|
+
"phone_calls.calls.status.failed": "Failed",
|
|
32
|
+
"phone_calls.calls.status.missed": "Missed",
|
|
33
|
+
"phone_calls.calls.status.new": "New",
|
|
34
|
+
"phone_calls.calls.status.ringing": "Ringing",
|
|
35
|
+
"phone_calls.calls.status.unknown": "Unknown",
|
|
36
|
+
"phone_calls.config.upgradeActions.encryptionMaps.cta": "Encrypt phone call data",
|
|
37
|
+
"phone_calls.config.upgradeActions.encryptionMaps.loading": "Seeding phone call encryption maps…",
|
|
38
|
+
"phone_calls.config.upgradeActions.encryptionMaps.message": "Version {{version}} stores phone calls and encrypts their caller data at rest. A tenant that upgraded with encryption switched off has no encryption map for the two call entities, so calls ingested after encryption is enabled would be stored unencrypted. Run this to seed both maps.",
|
|
39
|
+
"phone_calls.config.upgradeActions.encryptionMaps.success": "Phone call encryption maps seeded.",
|
|
40
|
+
"phone_calls.nav.calls": "Phone Calls",
|
|
41
|
+
"phone_calls.nav.group": "Communication"
|
|
42
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"phone_calls.acl.manage": "Gestionar llamadas",
|
|
3
|
+
"phone_calls.acl.view": "Ver llamadas",
|
|
4
|
+
"phone_calls.audit.calls.ingested": "Importar llamada",
|
|
5
|
+
"phone_calls.audit.calls.updated": "Actualizar llamada importada",
|
|
6
|
+
"phone_calls.calls.columns.callId": "ID de llamada",
|
|
7
|
+
"phone_calls.calls.columns.direction": "Dirección",
|
|
8
|
+
"phone_calls.calls.columns.duration": "Duración",
|
|
9
|
+
"phone_calls.calls.columns.ingestStatus": "Importación",
|
|
10
|
+
"phone_calls.calls.columns.provider": "Proveedor",
|
|
11
|
+
"phone_calls.calls.columns.started": "Iniciada",
|
|
12
|
+
"phone_calls.calls.columns.status": "Estado",
|
|
13
|
+
"phone_calls.calls.direction.inbound": "Entrante",
|
|
14
|
+
"phone_calls.calls.direction.internal": "Interna",
|
|
15
|
+
"phone_calls.calls.direction.outbound": "Saliente",
|
|
16
|
+
"phone_calls.calls.direction.unknown": "Desconocida",
|
|
17
|
+
"phone_calls.calls.filters.direction": "Dirección",
|
|
18
|
+
"phone_calls.calls.filters.provider": "Proveedor",
|
|
19
|
+
"phone_calls.calls.filters.providerPlaceholder": "Clave del proveedor",
|
|
20
|
+
"phone_calls.calls.filters.started": "Iniciada",
|
|
21
|
+
"phone_calls.calls.filters.status": "Estado",
|
|
22
|
+
"phone_calls.calls.ingestStatus.complete": "Completada",
|
|
23
|
+
"phone_calls.calls.ingestStatus.failed": "Fallida",
|
|
24
|
+
"phone_calls.calls.ingestStatus.pending": "Pendiente",
|
|
25
|
+
"phone_calls.calls.list.empty": "Aún no hay llamadas. Las llamadas aparecen aquí una vez que se importan desde un proveedor.",
|
|
26
|
+
"phone_calls.calls.list.error": "No se pudieron cargar las llamadas",
|
|
27
|
+
"phone_calls.calls.list.searchPlaceholder": "Buscar por llamada, conversación o proveedor",
|
|
28
|
+
"phone_calls.calls.list.title": "Llamadas",
|
|
29
|
+
"phone_calls.calls.status.answered": "Contestada",
|
|
30
|
+
"phone_calls.calls.status.completed": "Completada",
|
|
31
|
+
"phone_calls.calls.status.failed": "Fallida",
|
|
32
|
+
"phone_calls.calls.status.missed": "Perdida",
|
|
33
|
+
"phone_calls.calls.status.new": "Nueva",
|
|
34
|
+
"phone_calls.calls.status.ringing": "Sonando",
|
|
35
|
+
"phone_calls.calls.status.unknown": "Desconocido",
|
|
36
|
+
"phone_calls.config.upgradeActions.encryptionMaps.cta": "Cifrar datos de llamadas",
|
|
37
|
+
"phone_calls.config.upgradeActions.encryptionMaps.loading": "Creando los mapas de cifrado de llamadas…",
|
|
38
|
+
"phone_calls.config.upgradeActions.encryptionMaps.message": "La versión {{version}} almacena llamadas telefónicas y cifra los datos de quien llama en reposo. Un inquilino que actualizó con el cifrado desactivado no tiene mapa de cifrado para las dos entidades de llamada, por lo que las llamadas registradas tras activar el cifrado se guardarían sin cifrar. Ejecuta esto para crear ambos mapas.",
|
|
39
|
+
"phone_calls.config.upgradeActions.encryptionMaps.success": "Mapas de cifrado de llamadas creados.",
|
|
40
|
+
"phone_calls.nav.calls": "Llamadas",
|
|
41
|
+
"phone_calls.nav.group": "Comunicación"
|
|
42
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"phone_calls.acl.manage": "통화 관리",
|
|
3
|
+
"phone_calls.acl.view": "통화 보기",
|
|
4
|
+
"phone_calls.audit.calls.ingested": "통화 수집",
|
|
5
|
+
"phone_calls.audit.calls.updated": "수집된 통화 업데이트",
|
|
6
|
+
"phone_calls.calls.columns.callId": "통화 ID",
|
|
7
|
+
"phone_calls.calls.columns.direction": "방향",
|
|
8
|
+
"phone_calls.calls.columns.duration": "통화 시간",
|
|
9
|
+
"phone_calls.calls.columns.ingestStatus": "수집",
|
|
10
|
+
"phone_calls.calls.columns.provider": "공급자",
|
|
11
|
+
"phone_calls.calls.columns.started": "시작",
|
|
12
|
+
"phone_calls.calls.columns.status": "상태",
|
|
13
|
+
"phone_calls.calls.direction.inbound": "수신",
|
|
14
|
+
"phone_calls.calls.direction.internal": "내부",
|
|
15
|
+
"phone_calls.calls.direction.outbound": "발신",
|
|
16
|
+
"phone_calls.calls.direction.unknown": "알 수 없음",
|
|
17
|
+
"phone_calls.calls.filters.direction": "방향",
|
|
18
|
+
"phone_calls.calls.filters.provider": "공급자",
|
|
19
|
+
"phone_calls.calls.filters.providerPlaceholder": "공급자 키",
|
|
20
|
+
"phone_calls.calls.filters.started": "시작",
|
|
21
|
+
"phone_calls.calls.filters.status": "상태",
|
|
22
|
+
"phone_calls.calls.ingestStatus.complete": "완료",
|
|
23
|
+
"phone_calls.calls.ingestStatus.failed": "실패",
|
|
24
|
+
"phone_calls.calls.ingestStatus.pending": "대기 중",
|
|
25
|
+
"phone_calls.calls.list.empty": "아직 통화가 없습니다. 공급자에서 통화를 수집하면 여기에 표시됩니다.",
|
|
26
|
+
"phone_calls.calls.list.error": "통화를 불러오지 못했습니다",
|
|
27
|
+
"phone_calls.calls.list.searchPlaceholder": "통화, 대화 또는 공급자로 검색",
|
|
28
|
+
"phone_calls.calls.list.title": "통화",
|
|
29
|
+
"phone_calls.calls.status.answered": "응답됨",
|
|
30
|
+
"phone_calls.calls.status.completed": "완료됨",
|
|
31
|
+
"phone_calls.calls.status.failed": "실패",
|
|
32
|
+
"phone_calls.calls.status.missed": "부재중",
|
|
33
|
+
"phone_calls.calls.status.new": "신규",
|
|
34
|
+
"phone_calls.calls.status.ringing": "벨 울림",
|
|
35
|
+
"phone_calls.calls.status.unknown": "알 수 없음",
|
|
36
|
+
"phone_calls.config.upgradeActions.encryptionMaps.cta": "통화 데이터 암호화",
|
|
37
|
+
"phone_calls.config.upgradeActions.encryptionMaps.loading": "통화 암호화 맵을 생성하는 중…",
|
|
38
|
+
"phone_calls.config.upgradeActions.encryptionMaps.message": "{{version}} 버전은 통화 기록을 저장하고 발신자 데이터를 저장 시 암호화합니다. 암호화를 끈 상태로 업그레이드한 테넌트에는 두 통화 엔티티에 대한 암호화 맵이 없어, 암호화를 켠 뒤 수집되는 통화가 암호화되지 않은 상태로 저장됩니다. 이 작업을 실행해 두 맵을 생성하세요.",
|
|
39
|
+
"phone_calls.config.upgradeActions.encryptionMaps.success": "통화 암호화 맵이 생성되었습니다.",
|
|
40
|
+
"phone_calls.nav.calls": "통화",
|
|
41
|
+
"phone_calls.nav.group": "커뮤니케이션"
|
|
42
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"phone_calls.acl.manage": "Zarządzanie połączeniami",
|
|
3
|
+
"phone_calls.acl.view": "Podgląd połączeń",
|
|
4
|
+
"phone_calls.audit.calls.ingested": "Zaciągnięcie połączenia",
|
|
5
|
+
"phone_calls.audit.calls.updated": "Aktualizacja zaciągniętego połączenia",
|
|
6
|
+
"phone_calls.calls.columns.callId": "ID połączenia",
|
|
7
|
+
"phone_calls.calls.columns.direction": "Kierunek",
|
|
8
|
+
"phone_calls.calls.columns.duration": "Czas trwania",
|
|
9
|
+
"phone_calls.calls.columns.ingestStatus": "Zaciąganie",
|
|
10
|
+
"phone_calls.calls.columns.provider": "Dostawca",
|
|
11
|
+
"phone_calls.calls.columns.started": "Rozpoczęto",
|
|
12
|
+
"phone_calls.calls.columns.status": "Status",
|
|
13
|
+
"phone_calls.calls.direction.inbound": "Przychodzące",
|
|
14
|
+
"phone_calls.calls.direction.internal": "Wewnętrzne",
|
|
15
|
+
"phone_calls.calls.direction.outbound": "Wychodzące",
|
|
16
|
+
"phone_calls.calls.direction.unknown": "Nieznany",
|
|
17
|
+
"phone_calls.calls.filters.direction": "Kierunek",
|
|
18
|
+
"phone_calls.calls.filters.provider": "Dostawca",
|
|
19
|
+
"phone_calls.calls.filters.providerPlaceholder": "Klucz dostawcy",
|
|
20
|
+
"phone_calls.calls.filters.started": "Rozpoczęto",
|
|
21
|
+
"phone_calls.calls.filters.status": "Status",
|
|
22
|
+
"phone_calls.calls.ingestStatus.complete": "Zakończony",
|
|
23
|
+
"phone_calls.calls.ingestStatus.failed": "Nieudany",
|
|
24
|
+
"phone_calls.calls.ingestStatus.pending": "Oczekuje",
|
|
25
|
+
"phone_calls.calls.list.empty": "Brak połączeń. Pojawią się tutaj po zaciągnięciu od dostawcy.",
|
|
26
|
+
"phone_calls.calls.list.error": "Nie udało się wczytać połączeń",
|
|
27
|
+
"phone_calls.calls.list.searchPlaceholder": "Szukaj po połączeniu, konwersacji lub dostawcy",
|
|
28
|
+
"phone_calls.calls.list.title": "Połączenia telefoniczne",
|
|
29
|
+
"phone_calls.calls.status.answered": "Odebrane",
|
|
30
|
+
"phone_calls.calls.status.completed": "Zakończone",
|
|
31
|
+
"phone_calls.calls.status.failed": "Nieudane",
|
|
32
|
+
"phone_calls.calls.status.missed": "Nieodebrane",
|
|
33
|
+
"phone_calls.calls.status.new": "Nowe",
|
|
34
|
+
"phone_calls.calls.status.ringing": "Dzwoni",
|
|
35
|
+
"phone_calls.calls.status.unknown": "Nieznany",
|
|
36
|
+
"phone_calls.config.upgradeActions.encryptionMaps.cta": "Szyfruj dane połączeń telefonicznych",
|
|
37
|
+
"phone_calls.config.upgradeActions.encryptionMaps.loading": "Tworzenie map szyfrowania połączeń telefonicznych…",
|
|
38
|
+
"phone_calls.config.upgradeActions.encryptionMaps.message": "Wersja {{version}} przechowuje połączenia telefoniczne i szyfruje dane dzwoniących w spoczynku. Najemca, który zaktualizował się z wyłączonym szyfrowaniem, nie ma mapy szyfrowania dla dwóch encji połączeń, więc połączenia pobrane po włączeniu szyfrowania byłyby przechowywane bez szyfrowania. Uruchom to, aby utworzyć obie mapy.",
|
|
39
|
+
"phone_calls.config.upgradeActions.encryptionMaps.success": "Utworzono mapy szyfrowania połączeń telefonicznych.",
|
|
40
|
+
"phone_calls.nav.calls": "Połączenia telefoniczne",
|
|
41
|
+
"phone_calls.nav.group": "Komunikacja"
|
|
42
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ModuleInfo } from '@open-mercato/shared/modules/registry'
|
|
2
|
+
|
|
3
|
+
export const metadata: ModuleInfo = {
|
|
4
|
+
name: 'phone_calls',
|
|
5
|
+
title: 'Phone Calls',
|
|
6
|
+
version: '0.1.0',
|
|
7
|
+
description: 'Provider-neutral core hub for ingesting and browsing phone calls.',
|
|
8
|
+
author: 'Open Mercato Team',
|
|
9
|
+
license: 'MIT',
|
|
10
|
+
ejectable: true,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { features } from './acl'
|