mirror of
https://github.com/hcengineering/platform.git
synced 2024-11-22 03:14:40 +03:00
Send email notification when mentioned (#1031)
Signed-off-by: Denis Bykhov <80476319+BykhovDenis@users.noreply.github.com>
This commit is contained in:
parent
42a4ecc676
commit
d8de94da59
5
.github/workflows/main.yml
vendored
5
.github/workflows/main.yml
vendored
@ -67,6 +67,7 @@ jobs:
|
|||||||
plugins
|
plugins
|
||||||
pods
|
pods
|
||||||
server
|
server
|
||||||
|
server-plugins
|
||||||
templates
|
templates
|
||||||
tests
|
tests
|
||||||
rush.json
|
rush.json
|
||||||
@ -96,6 +97,7 @@ jobs:
|
|||||||
plugins
|
plugins
|
||||||
pods
|
pods
|
||||||
server
|
server
|
||||||
|
server-plugins
|
||||||
templates
|
templates
|
||||||
tests
|
tests
|
||||||
rush.json
|
rush.json
|
||||||
@ -128,6 +130,7 @@ jobs:
|
|||||||
plugins
|
plugins
|
||||||
pods
|
pods
|
||||||
server
|
server
|
||||||
|
server-plugins
|
||||||
templates
|
templates
|
||||||
tests
|
tests
|
||||||
rush.json
|
rush.json
|
||||||
@ -160,6 +163,7 @@ jobs:
|
|||||||
plugins
|
plugins
|
||||||
pods
|
pods
|
||||||
server
|
server
|
||||||
|
server-plugins
|
||||||
templates
|
templates
|
||||||
tests
|
tests
|
||||||
rush.json
|
rush.json
|
||||||
@ -204,6 +208,7 @@ jobs:
|
|||||||
plugins
|
plugins
|
||||||
pods
|
pods
|
||||||
server
|
server
|
||||||
|
server-plugins
|
||||||
templates
|
templates
|
||||||
tests
|
tests
|
||||||
rush.json
|
rush.json
|
||||||
|
@ -62,9 +62,14 @@ specifiers:
|
|||||||
'@rush-temp/model-recruit': file:./projects/model-recruit.tgz
|
'@rush-temp/model-recruit': file:./projects/model-recruit.tgz
|
||||||
'@rush-temp/model-rig': file:./projects/model-rig.tgz
|
'@rush-temp/model-rig': file:./projects/model-rig.tgz
|
||||||
'@rush-temp/model-server-attachment': file:./projects/model-server-attachment.tgz
|
'@rush-temp/model-server-attachment': file:./projects/model-server-attachment.tgz
|
||||||
|
'@rush-temp/model-server-chunter': file:./projects/model-server-chunter.tgz
|
||||||
'@rush-temp/model-server-contact': file:./projects/model-server-contact.tgz
|
'@rush-temp/model-server-contact': file:./projects/model-server-contact.tgz
|
||||||
'@rush-temp/model-server-core': file:./projects/model-server-core.tgz
|
'@rush-temp/model-server-core': file:./projects/model-server-core.tgz
|
||||||
|
'@rush-temp/model-server-inventory': file:./projects/model-server-inventory.tgz
|
||||||
|
'@rush-temp/model-server-lead': file:./projects/model-server-lead.tgz
|
||||||
'@rush-temp/model-server-notification': file:./projects/model-server-notification.tgz
|
'@rush-temp/model-server-notification': file:./projects/model-server-notification.tgz
|
||||||
|
'@rush-temp/model-server-recruit': file:./projects/model-server-recruit.tgz
|
||||||
|
'@rush-temp/model-server-task': file:./projects/model-server-task.tgz
|
||||||
'@rush-temp/model-setting': file:./projects/model-setting.tgz
|
'@rush-temp/model-setting': file:./projects/model-setting.tgz
|
||||||
'@rush-temp/model-tags': file:./projects/model-tags.tgz
|
'@rush-temp/model-tags': file:./projects/model-tags.tgz
|
||||||
'@rush-temp/model-task': file:./projects/model-task.tgz
|
'@rush-temp/model-task': file:./projects/model-task.tgz
|
||||||
@ -91,11 +96,21 @@ specifiers:
|
|||||||
'@rush-temp/server': file:./projects/server.tgz
|
'@rush-temp/server': file:./projects/server.tgz
|
||||||
'@rush-temp/server-attachment': file:./projects/server-attachment.tgz
|
'@rush-temp/server-attachment': file:./projects/server-attachment.tgz
|
||||||
'@rush-temp/server-attachment-resources': file:./projects/server-attachment-resources.tgz
|
'@rush-temp/server-attachment-resources': file:./projects/server-attachment-resources.tgz
|
||||||
|
'@rush-temp/server-chunter': file:./projects/server-chunter.tgz
|
||||||
|
'@rush-temp/server-chunter-resources': file:./projects/server-chunter-resources.tgz
|
||||||
'@rush-temp/server-contact': file:./projects/server-contact.tgz
|
'@rush-temp/server-contact': file:./projects/server-contact.tgz
|
||||||
'@rush-temp/server-contact-resources': file:./projects/server-contact-resources.tgz
|
'@rush-temp/server-contact-resources': file:./projects/server-contact-resources.tgz
|
||||||
'@rush-temp/server-core': file:./projects/server-core.tgz
|
'@rush-temp/server-core': file:./projects/server-core.tgz
|
||||||
|
'@rush-temp/server-inventory': file:./projects/server-inventory.tgz
|
||||||
|
'@rush-temp/server-inventory-resources': file:./projects/server-inventory-resources.tgz
|
||||||
|
'@rush-temp/server-lead': file:./projects/server-lead.tgz
|
||||||
|
'@rush-temp/server-lead-resources': file:./projects/server-lead-resources.tgz
|
||||||
'@rush-temp/server-notification': file:./projects/server-notification.tgz
|
'@rush-temp/server-notification': file:./projects/server-notification.tgz
|
||||||
'@rush-temp/server-notification-resources': file:./projects/server-notification-resources.tgz
|
'@rush-temp/server-notification-resources': file:./projects/server-notification-resources.tgz
|
||||||
|
'@rush-temp/server-recruit': file:./projects/server-recruit.tgz
|
||||||
|
'@rush-temp/server-recruit-resources': file:./projects/server-recruit-resources.tgz
|
||||||
|
'@rush-temp/server-task': file:./projects/server-task.tgz
|
||||||
|
'@rush-temp/server-task-resources': file:./projects/server-task-resources.tgz
|
||||||
'@rush-temp/server-token': file:./projects/server-token.tgz
|
'@rush-temp/server-token': file:./projects/server-token.tgz
|
||||||
'@rush-temp/server-tool': file:./projects/server-tool.tgz
|
'@rush-temp/server-tool': file:./projects/server-tool.tgz
|
||||||
'@rush-temp/server-ws': file:./projects/server-ws.tgz
|
'@rush-temp/server-ws': file:./projects/server-ws.tgz
|
||||||
@ -272,9 +287,14 @@ dependencies:
|
|||||||
'@rush-temp/model-recruit': file:projects/model-recruit.tgz_typescript@4.5.4
|
'@rush-temp/model-recruit': file:projects/model-recruit.tgz_typescript@4.5.4
|
||||||
'@rush-temp/model-rig': file:projects/model-rig.tgz_37f79b97d0d86442e45d380c86f520c5
|
'@rush-temp/model-rig': file:projects/model-rig.tgz_37f79b97d0d86442e45d380c86f520c5
|
||||||
'@rush-temp/model-server-attachment': file:projects/model-server-attachment.tgz_typescript@4.5.4
|
'@rush-temp/model-server-attachment': file:projects/model-server-attachment.tgz_typescript@4.5.4
|
||||||
|
'@rush-temp/model-server-chunter': file:projects/model-server-chunter.tgz_typescript@4.5.4
|
||||||
'@rush-temp/model-server-contact': file:projects/model-server-contact.tgz_typescript@4.5.4
|
'@rush-temp/model-server-contact': file:projects/model-server-contact.tgz_typescript@4.5.4
|
||||||
'@rush-temp/model-server-core': file:projects/model-server-core.tgz_typescript@4.5.4
|
'@rush-temp/model-server-core': file:projects/model-server-core.tgz_typescript@4.5.4
|
||||||
|
'@rush-temp/model-server-inventory': file:projects/model-server-inventory.tgz_typescript@4.5.4
|
||||||
|
'@rush-temp/model-server-lead': file:projects/model-server-lead.tgz_typescript@4.5.4
|
||||||
'@rush-temp/model-server-notification': file:projects/model-server-notification.tgz_typescript@4.5.4
|
'@rush-temp/model-server-notification': file:projects/model-server-notification.tgz_typescript@4.5.4
|
||||||
|
'@rush-temp/model-server-recruit': file:projects/model-server-recruit.tgz_typescript@4.5.4
|
||||||
|
'@rush-temp/model-server-task': file:projects/model-server-task.tgz_typescript@4.5.4
|
||||||
'@rush-temp/model-setting': file:projects/model-setting.tgz_typescript@4.5.4
|
'@rush-temp/model-setting': file:projects/model-setting.tgz_typescript@4.5.4
|
||||||
'@rush-temp/model-tags': file:projects/model-tags.tgz_typescript@4.5.4
|
'@rush-temp/model-tags': file:projects/model-tags.tgz_typescript@4.5.4
|
||||||
'@rush-temp/model-task': file:projects/model-task.tgz_typescript@4.5.4
|
'@rush-temp/model-task': file:projects/model-task.tgz_typescript@4.5.4
|
||||||
@ -301,11 +321,21 @@ dependencies:
|
|||||||
'@rush-temp/server': file:projects/server.tgz
|
'@rush-temp/server': file:projects/server.tgz
|
||||||
'@rush-temp/server-attachment': file:projects/server-attachment.tgz
|
'@rush-temp/server-attachment': file:projects/server-attachment.tgz
|
||||||
'@rush-temp/server-attachment-resources': file:projects/server-attachment-resources.tgz
|
'@rush-temp/server-attachment-resources': file:projects/server-attachment-resources.tgz
|
||||||
|
'@rush-temp/server-chunter': file:projects/server-chunter.tgz
|
||||||
|
'@rush-temp/server-chunter-resources': file:projects/server-chunter-resources.tgz
|
||||||
'@rush-temp/server-contact': file:projects/server-contact.tgz
|
'@rush-temp/server-contact': file:projects/server-contact.tgz
|
||||||
'@rush-temp/server-contact-resources': file:projects/server-contact-resources.tgz
|
'@rush-temp/server-contact-resources': file:projects/server-contact-resources.tgz
|
||||||
'@rush-temp/server-core': file:projects/server-core.tgz
|
'@rush-temp/server-core': file:projects/server-core.tgz
|
||||||
|
'@rush-temp/server-inventory': file:projects/server-inventory.tgz
|
||||||
|
'@rush-temp/server-inventory-resources': file:projects/server-inventory-resources.tgz
|
||||||
|
'@rush-temp/server-lead': file:projects/server-lead.tgz
|
||||||
|
'@rush-temp/server-lead-resources': file:projects/server-lead-resources.tgz
|
||||||
'@rush-temp/server-notification': file:projects/server-notification.tgz
|
'@rush-temp/server-notification': file:projects/server-notification.tgz
|
||||||
'@rush-temp/server-notification-resources': file:projects/server-notification-resources.tgz
|
'@rush-temp/server-notification-resources': file:projects/server-notification-resources.tgz
|
||||||
|
'@rush-temp/server-recruit': file:projects/server-recruit.tgz
|
||||||
|
'@rush-temp/server-recruit-resources': file:projects/server-recruit-resources.tgz
|
||||||
|
'@rush-temp/server-task': file:projects/server-task.tgz
|
||||||
|
'@rush-temp/server-task-resources': file:projects/server-task-resources.tgz
|
||||||
'@rush-temp/server-token': file:projects/server-token.tgz
|
'@rush-temp/server-token': file:projects/server-token.tgz
|
||||||
'@rush-temp/server-tool': file:projects/server-tool.tgz
|
'@rush-temp/server-tool': file:projects/server-tool.tgz
|
||||||
'@rush-temp/server-ws': file:projects/server-ws.tgz
|
'@rush-temp/server-ws': file:projects/server-ws.tgz
|
||||||
@ -11364,7 +11394,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/chunter-resources.tgz_096c09b0b673a57c275d9767a12070b1:
|
file:projects/chunter-resources.tgz_096c09b0b673a57c275d9767a12070b1:
|
||||||
resolution: {integrity: sha512-Ah0rr5uVXgAWSijLuVIxdtLjpc//rR4gw6AwtdF0adV89ZA70k/B7mKpjHAw2kIRkMjfgS5P30bRhx83Fh2CdQ==, tarball: file:projects/chunter-resources.tgz}
|
resolution: {integrity: sha512-Md1h3nCkA2oUfOAP3oAABH2W8boFJODkrjbPyxccaay48TEkZN7BJLE3UoexttqCxQa4+4PL3zWWjMLlMrJ/Kw==, tarball: file:projects/chunter-resources.tgz}
|
||||||
id: file:projects/chunter-resources.tgz
|
id: file:projects/chunter-resources.tgz
|
||||||
name: '@rush-temp/chunter-resources'
|
name: '@rush-temp/chunter-resources'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -11993,7 +12023,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/inventory-resources.tgz_096c09b0b673a57c275d9767a12070b1:
|
file:projects/inventory-resources.tgz_096c09b0b673a57c275d9767a12070b1:
|
||||||
resolution: {integrity: sha512-QPMUPTMuvahinsVH8OO3BUj9lpAq2cITHPgk/EL8XlZ0xEq497JjXy3N8KW4gHSwrM8kGBPfpwD2bRbXI4V7Vg==, tarball: file:projects/inventory-resources.tgz}
|
resolution: {integrity: sha512-XFicFpfQR9nWoYlVHWCt+gHjwN3MybHXwNrxQ3g03Pir85+ROEF0ArGmxZa5BsIWjHWDfv1xMcLA/ryt3QKcKQ==, tarball: file:projects/inventory-resources.tgz}
|
||||||
id: file:projects/inventory-resources.tgz
|
id: file:projects/inventory-resources.tgz
|
||||||
name: '@rush-temp/inventory-resources'
|
name: '@rush-temp/inventory-resources'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -12070,7 +12100,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/lead-resources.tgz_096c09b0b673a57c275d9767a12070b1:
|
file:projects/lead-resources.tgz_096c09b0b673a57c275d9767a12070b1:
|
||||||
resolution: {integrity: sha512-gd3fCKU/E1ZrIFQBm966XaGVIH/RB0C4XyfWQFueKhy95cUbjiEe88Jf6Xh+4a7hkF96VMKc3z51SH1pLGtnFA==, tarball: file:projects/lead-resources.tgz}
|
resolution: {integrity: sha512-9FpuEornHpauniIpp79200ur4mvE5PmPSLSx5fUDvkVl+jl/HM+GYLodRKtE++YsgYHuS0dncqF8Qe92ltCpUQ==, tarball: file:projects/lead-resources.tgz}
|
||||||
id: file:projects/lead-resources.tgz
|
id: file:projects/lead-resources.tgz
|
||||||
name: '@rush-temp/lead-resources'
|
name: '@rush-temp/lead-resources'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -12223,7 +12253,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/model-all.tgz_typescript@4.5.4:
|
file:projects/model-all.tgz_typescript@4.5.4:
|
||||||
resolution: {integrity: sha512-MnTIVPbt9yvy+dNZaMUPScfjYp12cF1P8GXay1jUizfZyTaeMsb+uN3Z2jnzQPhrAJxW4DDjAoCLO+yK7xGbRA==, tarball: file:projects/model-all.tgz}
|
resolution: {integrity: sha512-eR9zQnuCAirRYMRife5HzyLfg8oDLAz1YZffs2tyK4fb6++U7q9RfNYfaPHEGkcVVscJ8MvWYI6CcHk5khOc4g==, tarball: file:projects/model-all.tgz}
|
||||||
id: file:projects/model-all.tgz
|
id: file:projects/model-all.tgz
|
||||||
name: '@rush-temp/model-all'
|
name: '@rush-temp/model-all'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -12290,7 +12320,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/model-contact.tgz_typescript@4.5.4:
|
file:projects/model-contact.tgz_typescript@4.5.4:
|
||||||
resolution: {integrity: sha512-a2k6USkc9xrm3ba78A0pOps3X4Ox8A+uHm3cdNpfrSA8ihdfU9p6imeFr+ZotWF8YCcnwagz9sVHpT5dtmH4Mg==, tarball: file:projects/model-contact.tgz}
|
resolution: {integrity: sha512-SCSm1wH4jXL45vpA1013yTbU7mE8VsXilHHxF5dMWJT/lyHFiRkn0D0NEqA15tm37KF0bGXuvn9/jTSSG+hFqA==, tarball: file:projects/model-contact.tgz}
|
||||||
id: file:projects/model-contact.tgz
|
id: file:projects/model-contact.tgz
|
||||||
name: '@rush-temp/model-contact'
|
name: '@rush-temp/model-contact'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -12416,7 +12446,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/model-notification.tgz_typescript@4.5.4:
|
file:projects/model-notification.tgz_typescript@4.5.4:
|
||||||
resolution: {integrity: sha512-oXjmLAI4ablTqm5zdk23LYWTRRdqLGxshn164t87FLm4T/6sFK7xlikIuxGNn+XED0/m1T9ShPXEwXcYFJ/YQw==, tarball: file:projects/model-notification.tgz}
|
resolution: {integrity: sha512-WhD1VyRSZ7EB9HYyGawyxHxuKkfogkfdibpRcSXkJ9SPy+MNmnABMhG5Jj2d9Man/3FRqiAwJhSxsHYoKpwkNQ==, tarball: file:projects/model-notification.tgz}
|
||||||
id: file:projects/model-notification.tgz
|
id: file:projects/model-notification.tgz
|
||||||
name: '@rush-temp/model-notification'
|
name: '@rush-temp/model-notification'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -12518,8 +12548,29 @@ packages:
|
|||||||
- typescript
|
- typescript
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
file:projects/model-server-chunter.tgz_typescript@4.5.4:
|
||||||
|
resolution: {integrity: sha512-pZ0hgyMtDyGJopCGoeZXNCazD74U19JDyouKTIb8ATvmQt93TTjtH74urp6EomfuWzoxBRPprSAs8csuE7tBSw==, tarball: file:projects/model-server-chunter.tgz}
|
||||||
|
id: file:projects/model-server-chunter.tgz
|
||||||
|
name: '@rush-temp/model-server-chunter'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
- typescript
|
||||||
|
dev: false
|
||||||
|
|
||||||
file:projects/model-server-contact.tgz_typescript@4.5.4:
|
file:projects/model-server-contact.tgz_typescript@4.5.4:
|
||||||
resolution: {integrity: sha512-cS09KWx82ek8kc0tutF538kEZMRkOMLnY0sQSUScOPEYHb4cLR4M94PrIhsY8DiP6TJctkT0ddnvwXMApAwyGA==, tarball: file:projects/model-server-contact.tgz}
|
resolution: {integrity: sha512-EUI1TgMMuwfrCoZPz63atVRrb+7uNnoqxuWrxHiRNeGvHb7F5/cPOg0MyT/i2juOBTyfkzJbraDZMrRd04Ymwg==, tarball: file:projects/model-server-contact.tgz}
|
||||||
id: file:projects/model-server-contact.tgz
|
id: file:projects/model-server-contact.tgz
|
||||||
name: '@rush-temp/model-server-contact'
|
name: '@rush-temp/model-server-contact'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -12560,6 +12611,48 @@ packages:
|
|||||||
- typescript
|
- typescript
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
file:projects/model-server-inventory.tgz_typescript@4.5.4:
|
||||||
|
resolution: {integrity: sha512-5oAiV68Hl0v9mlQ7wa6/RAG0KazJRdu1BD71w60NBhh97qGhrSi/GDDNs8bdYaqB6uxUE9xNWVC1NulRuL1crA==, tarball: file:projects/model-server-inventory.tgz}
|
||||||
|
id: file:projects/model-server-inventory.tgz
|
||||||
|
name: '@rush-temp/model-server-inventory'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
- typescript
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
file:projects/model-server-lead.tgz_typescript@4.5.4:
|
||||||
|
resolution: {integrity: sha512-9bqF5Che49x6QLONfohycz76v2viNTq93TtAczUXMsimgxK7yEWMdKQda7qY2bH8rtkwV58XSgbMWfX14L1l4g==, tarball: file:projects/model-server-lead.tgz}
|
||||||
|
id: file:projects/model-server-lead.tgz
|
||||||
|
name: '@rush-temp/model-server-lead'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
- typescript
|
||||||
|
dev: false
|
||||||
|
|
||||||
file:projects/model-server-notification.tgz_typescript@4.5.4:
|
file:projects/model-server-notification.tgz_typescript@4.5.4:
|
||||||
resolution: {integrity: sha512-bO0DgNGdJGxJjDU05x1HPNHfprIFhRYhauMT9eH4zKMlsQZNO5Rx5h77SxepW2HiAxVYMqjOR2GwsTN3h7C8wQ==, tarball: file:projects/model-server-notification.tgz}
|
resolution: {integrity: sha512-bO0DgNGdJGxJjDU05x1HPNHfprIFhRYhauMT9eH4zKMlsQZNO5Rx5h77SxepW2HiAxVYMqjOR2GwsTN3h7C8wQ==, tarball: file:projects/model-server-notification.tgz}
|
||||||
id: file:projects/model-server-notification.tgz
|
id: file:projects/model-server-notification.tgz
|
||||||
@ -12581,6 +12674,48 @@ packages:
|
|||||||
- typescript
|
- typescript
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
file:projects/model-server-recruit.tgz_typescript@4.5.4:
|
||||||
|
resolution: {integrity: sha512-yidHAiSSXgFfl990q/d3A9KkucgEmMQ3pkp0HISrOIEJHUoazU5A4VgqDR2B/STjLpgH8ZhgOD3VMSNv5D6NKg==, tarball: file:projects/model-server-recruit.tgz}
|
||||||
|
id: file:projects/model-server-recruit.tgz
|
||||||
|
name: '@rush-temp/model-server-recruit'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
- typescript
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
file:projects/model-server-task.tgz_typescript@4.5.4:
|
||||||
|
resolution: {integrity: sha512-UGeEby4x4ZUjOO3ECPvg3wVKQUAXjNMw8zQFiQmCemiMQk+6NNvGhwkHgV674dt5rGDCNBjKJfFaShTj7jcDlw==, tarball: file:projects/model-server-task.tgz}
|
||||||
|
id: file:projects/model-server-task.tgz
|
||||||
|
name: '@rush-temp/model-server-task'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
- typescript
|
||||||
|
dev: false
|
||||||
|
|
||||||
file:projects/model-setting.tgz_typescript@4.5.4:
|
file:projects/model-setting.tgz_typescript@4.5.4:
|
||||||
resolution: {integrity: sha512-zwbVN3PDOfDeqGcL36IHQIufdePTd68yLUm83rfIg4v8+uilseid981y/BrAysmxTXAfhVYWlDmtYXvNPS4DMQ==, tarball: file:projects/model-setting.tgz}
|
resolution: {integrity: sha512-zwbVN3PDOfDeqGcL36IHQIufdePTd68yLUm83rfIg4v8+uilseid981y/BrAysmxTXAfhVYWlDmtYXvNPS4DMQ==, tarball: file:projects/model-setting.tgz}
|
||||||
id: file:projects/model-setting.tgz
|
id: file:projects/model-setting.tgz
|
||||||
@ -12817,7 +12952,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/notification-resources.tgz_096c09b0b673a57c275d9767a12070b1:
|
file:projects/notification-resources.tgz_096c09b0b673a57c275d9767a12070b1:
|
||||||
resolution: {integrity: sha512-saNzTGP0Bz7u0f2qimEbhL3w9xhZb8pgenUpAuDpeT6fMPmG7CNYpkwefhayEeIUmU4frbIC5kjAOMSPUxsg6A==, tarball: file:projects/notification-resources.tgz}
|
resolution: {integrity: sha512-XFpqe60nZYFgS9+a5fMJSJeBIyb8tsmHawXI1Ee0B5eb38R7oUmnE6ezb2hYXl/EKPabYL/Pt1cxMjkRMz4Njw==, tarball: file:projects/notification-resources.tgz}
|
||||||
id: file:projects/notification-resources.tgz
|
id: file:projects/notification-resources.tgz
|
||||||
name: '@rush-temp/notification-resources'
|
name: '@rush-temp/notification-resources'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -12832,6 +12967,7 @@ packages:
|
|||||||
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
eslint-plugin-svelte3: 3.2.1_eslint@7.32.0+svelte@3.44.3
|
eslint-plugin-svelte3: 3.2.1_eslint@7.32.0+svelte@3.44.3
|
||||||
|
just-clone: 3.2.1
|
||||||
prettier: 2.5.1
|
prettier: 2.5.1
|
||||||
prettier-plugin-svelte: 2.5.1_prettier@2.5.1+svelte@3.44.3
|
prettier-plugin-svelte: 2.5.1_prettier@2.5.1+svelte@3.44.3
|
||||||
sass: 1.45.0
|
sass: 1.45.0
|
||||||
@ -13025,7 +13161,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/prod.tgz_sass@1.45.0+typescript@4.5.4:
|
file:projects/prod.tgz_sass@1.45.0+typescript@4.5.4:
|
||||||
resolution: {integrity: sha512-a6wHdZhYC1h8QOrfCkS6HQz4L0llPz8YJqJaJPH/tkMHanaUSixCiCcjr+T+ANBfacXQf8GjTqvPBir/Hd3FzQ==, tarball: file:projects/prod.tgz}
|
resolution: {integrity: sha512-oVRjx2sc3JPmU3Q2PFONILjWWm9cxER23AgY+wHq4BX+H1zcsriCbRruGDNEwchO3PddlB1QhvlUZtC+grCNZQ==, tarball: file:projects/prod.tgz}
|
||||||
id: file:projects/prod.tgz
|
id: file:projects/prod.tgz
|
||||||
name: '@rush-temp/prod'
|
name: '@rush-temp/prod'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -13117,7 +13253,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/recruit-resources.tgz_096c09b0b673a57c275d9767a12070b1:
|
file:projects/recruit-resources.tgz_096c09b0b673a57c275d9767a12070b1:
|
||||||
resolution: {integrity: sha512-nZLvaOr850iq0AQidGvnFlzPWLdwosv9ORArSA5ihRGea8X+RpzD/pjDswtJp6nF7G2ctmL8tFLN9cvFA45lDw==, tarball: file:projects/recruit-resources.tgz}
|
resolution: {integrity: sha512-T1NOP+NczA00alZvYaKQBqG34P72zCy5RwowxbViP31o8ahRH8CS0msHAGeJXZPrF/E2XeMXY2xgAFKn9ywRCg==, tarball: file:projects/recruit-resources.tgz}
|
||||||
id: file:projects/recruit-resources.tgz
|
id: file:projects/recruit-resources.tgz
|
||||||
name: '@rush-temp/recruit-resources'
|
name: '@rush-temp/recruit-resources'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
@ -13154,7 +13290,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/recruit.tgz:
|
file:projects/recruit.tgz:
|
||||||
resolution: {integrity: sha512-vvQ892DoJCDRaRuVWx+DBpuKPtCic0O0PdgPDtbKxl+pWk31MVdEhO6m+ySpqkPsu297ot/D7lpYXcK/775fow==, tarball: file:projects/recruit.tgz}
|
resolution: {integrity: sha512-d/Wv2gldoJfJnyC5d318UhRa+iqzh7r2+CsBHHEPDAabL73kdQsbkyPNEqoTOapyMdGwIPbnF3R3tSNP7TFH4g==, tarball: file:projects/recruit.tgz}
|
||||||
name: '@rush-temp/recruit'
|
name: '@rush-temp/recruit'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -13241,8 +13377,49 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
file:projects/server-chunter-resources.tgz:
|
||||||
|
resolution: {integrity: sha512-9xWukPv4zWMIAampn8JogHVzz/r0YZXMx/6Dobyp1YdZLAFfMRdey5dPJ2FOSTvIztwZhmzddYrlmVlOw/gK/g==, tarball: file:projects/server-chunter-resources.tgz}
|
||||||
|
name: '@rush-temp/server-chunter-resources'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
typescript: 4.5.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
file:projects/server-chunter.tgz:
|
||||||
|
resolution: {integrity: sha512-kpo3OPoldUkUrnRvxa/xZYRIyKd12a5q1XcdXlPkPN1ZDiJVp6PFF8fuwc5hjjf8T6/jKOYmLw+JCafTb7rSOA==, tarball: file:projects/server-chunter.tgz}
|
||||||
|
name: '@rush-temp/server-chunter'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@types/node': 16.11.14
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
typescript: 4.5.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
file:projects/server-contact-resources.tgz:
|
file:projects/server-contact-resources.tgz:
|
||||||
resolution: {integrity: sha512-4yOcy58wmHdLoBsIlawD4KAe5I+q9NtlKXnZRvuyF0Gdb8UZcEvL2NjxHZNJkDmTGvvmmr2ihwYKJE+g4N//jg==, tarball: file:projects/server-contact-resources.tgz}
|
resolution: {integrity: sha512-0wv176Ajvj6Hh72NgA3j3LY4To7FkWv9f/U8P5oCJadU9kEPz0H8GsUaaAhSEtmYaXdsisiuKzTIVVFORrmVCQ==, tarball: file:projects/server-contact-resources.tgz}
|
||||||
name: '@rush-temp/server-contact-resources'
|
name: '@rush-temp/server-contact-resources'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -13306,8 +13483,90 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
file:projects/server-inventory-resources.tgz:
|
||||||
|
resolution: {integrity: sha512-ihg8bdAMvtJ3pZvpK4Gv/PjvQJqvoIKaGfzWOvTFQhcf2PsIWXSu7B2/gB8ekBTC20jkrjEJxHyobhZtGmH53g==, tarball: file:projects/server-inventory-resources.tgz}
|
||||||
|
name: '@rush-temp/server-inventory-resources'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
typescript: 4.5.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
file:projects/server-inventory.tgz:
|
||||||
|
resolution: {integrity: sha512-gO3q96c7gOS29+NmDAOORJ9eMzBHCnIqo9udZUt8TsTHm4r2v1faCYJw57toSnU1PJ60RtXxmqBQTXXFQtdBKA==, tarball: file:projects/server-inventory.tgz}
|
||||||
|
name: '@rush-temp/server-inventory'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@types/node': 16.11.14
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
typescript: 4.5.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
file:projects/server-lead-resources.tgz:
|
||||||
|
resolution: {integrity: sha512-YhcEDAOqvt8LiaS+cXUj4NnuN4bqRdtIj10c0qBFPiLU2Csr753Ef5g5gtNeztZRNtnRJK2T4K/c+Fk7oKGEkA==, tarball: file:projects/server-lead-resources.tgz}
|
||||||
|
name: '@rush-temp/server-lead-resources'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
typescript: 4.5.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
file:projects/server-lead.tgz:
|
||||||
|
resolution: {integrity: sha512-gjRjRrQT8bxy4CEd1vs3hiIccdR1j2x8xvveoue+MxNu1IRaxws0KE7ggk9AOn7KmZl2Cl2UtktlXEJkZ7tvOQ==, tarball: file:projects/server-lead.tgz}
|
||||||
|
name: '@rush-temp/server-lead'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@types/node': 16.11.14
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
typescript: 4.5.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
file:projects/server-notification-resources.tgz:
|
file:projects/server-notification-resources.tgz:
|
||||||
resolution: {integrity: sha512-9EXWxHdVb5DvmZORxWPquKpxThiRV6zaEtpFbat4drf5i/br5cERKka5+oBJK27WyYYeB8rUGjjQ7AFx/dJzbQ==, tarball: file:projects/server-notification-resources.tgz}
|
resolution: {integrity: sha512-t5tHG0WoQJPHnXjZMkXJXXGMo6Xzz02ah4GJC/fnox0WpgyFh5iw3F33jDdIf8tRFRSifNg/bp4ZbZ9lDh+ARQ==, tarball: file:projects/server-notification-resources.tgz}
|
||||||
name: '@rush-temp/server-notification-resources'
|
name: '@rush-temp/server-notification-resources'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -13347,6 +13606,88 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
file:projects/server-recruit-resources.tgz:
|
||||||
|
resolution: {integrity: sha512-8UTVnSBjVhuf5Qvp80Z7iZ+IO1jSRVG2czLgNL/GMbtjFZw8b5dE3USi9vv9Q2AtAGpbWUgSUqODW24qkYjiUQ==, tarball: file:projects/server-recruit-resources.tgz}
|
||||||
|
name: '@rush-temp/server-recruit-resources'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
typescript: 4.5.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
file:projects/server-recruit.tgz:
|
||||||
|
resolution: {integrity: sha512-UrQBEwX6cZgSk+HMfhJort5tzGaCe1cv0Thg3sITzNaB4yb3FExUTeVphI16hgh6Hcv/2m53zsdcNscnpoTROg==, tarball: file:projects/server-recruit.tgz}
|
||||||
|
name: '@rush-temp/server-recruit'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@types/node': 16.11.14
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
typescript: 4.5.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
file:projects/server-task-resources.tgz:
|
||||||
|
resolution: {integrity: sha512-3HkiHH62jBO6wGrvum0PMVDiAavRHud0u/BExVz15exJRm9YzXK3bklmm8XZr5BsS3vhTqb+q1XwdDXUv0n5Fg==, tarball: file:projects/server-task-resources.tgz}
|
||||||
|
name: '@rush-temp/server-task-resources'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
typescript: 4.5.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
file:projects/server-task.tgz:
|
||||||
|
resolution: {integrity: sha512-qaB/cZSAPKuvTUfBv5wsqD0r/YoQO/hy7rD7WBC0lx2TOWIp0/aacYKVkEltinbYjJzP4gg9cQQNful4Mvpp5Q==, tarball: file:projects/server-task.tgz}
|
||||||
|
name: '@rush-temp/server-task'
|
||||||
|
version: 0.0.0
|
||||||
|
dependencies:
|
||||||
|
'@rushstack/heft': 0.41.8
|
||||||
|
'@types/heft-jest': 1.0.2
|
||||||
|
'@types/node': 16.11.14
|
||||||
|
'@typescript-eslint/eslint-plugin': 5.7.0_c25e8c1f4f4f7aaed27aa6f9ce042237
|
||||||
|
'@typescript-eslint/parser': 5.7.0_eslint@7.32.0+typescript@4.5.4
|
||||||
|
eslint: 7.32.0
|
||||||
|
eslint-config-standard-with-typescript: 21.0.1_ce2fa0c4dfa1c256100cababd749a13a
|
||||||
|
eslint-plugin-import: 2.25.3_eslint@7.32.0
|
||||||
|
eslint-plugin-node: 11.1.0_eslint@7.32.0
|
||||||
|
eslint-plugin-promise: 5.2.0_eslint@7.32.0
|
||||||
|
prettier: 2.5.1
|
||||||
|
typescript: 4.5.4
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- supports-color
|
||||||
|
dev: false
|
||||||
|
|
||||||
file:projects/server-token.tgz:
|
file:projects/server-token.tgz:
|
||||||
resolution: {integrity: sha512-74lvKW1J8vMQI7r+UUFCO8KDItftmBVTc9ecLL9kbWHdFT/kfR1ua57O8XG7MMJDmBVsWylHmM1kr6lxwNpNBA==, tarball: file:projects/server-token.tgz}
|
resolution: {integrity: sha512-74lvKW1J8vMQI7r+UUFCO8KDItftmBVTc9ecLL9kbWHdFT/kfR1ua57O8XG7MMJDmBVsWylHmM1kr6lxwNpNBA==, tarball: file:projects/server-token.tgz}
|
||||||
name: '@rush-temp/server-token'
|
name: '@rush-temp/server-token'
|
||||||
@ -13426,7 +13767,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/server.tgz:
|
file:projects/server.tgz:
|
||||||
resolution: {integrity: sha512-SuwXbo0xvalgyA3m9i/bbm9ae2I3Tx548KKj8wDffAJxDq0t0tqncuVtUmhrwG06HD9p5myf165I6apGZZocSg==, tarball: file:projects/server.tgz}
|
resolution: {integrity: sha512-h1M/Y+zV/J0wUEgDj+iHeyMbS/otfYdWS8l2APj78c38/Hso/hi70cB5A1VUq2NsB/hKEE3bywIyn2yuJRnDug==, tarball: file:projects/server.tgz}
|
||||||
name: '@rush-temp/server'
|
name: '@rush-temp/server'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -13945,7 +14286,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
file:projects/tool.tgz:
|
file:projects/tool.tgz:
|
||||||
resolution: {integrity: sha512-g3G79v0AQpHzqbZpmFsGU4wNu3BIcTMgR/Rod6Cfi9w0TpNS1XnSSckZeHB0LtTOovvFbj82x5ESBEwq1g0hFA==, tarball: file:projects/tool.tgz}
|
resolution: {integrity: sha512-3L/wr78VWV79qjSBCDWg37qMPdsEzAf5STbeXuHPOaMCvkhij64Nv0wN3vzj8CRwWRuKrX0o3Ts0NLw2SSl7hQ==, tarball: file:projects/tool.tgz}
|
||||||
name: '@rush-temp/tool'
|
name: '@rush-temp/tool'
|
||||||
version: 0.0.0
|
version: 0.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -65,6 +65,7 @@ services:
|
|||||||
- 8081:8080
|
- 8081:8080
|
||||||
environment:
|
environment:
|
||||||
- ACCOUNTS_URL=http://localhost:3000
|
- ACCOUNTS_URL=http://localhost:3000
|
||||||
|
- FRONT_URL=http://localhost:8081
|
||||||
- UPLOAD_URL=/files
|
- UPLOAD_URL=/files
|
||||||
- TRANSACTOR_URL=ws://localhost:3333
|
- TRANSACTOR_URL=ws://localhost:3333
|
||||||
- ELASTIC_URL=http://elastic:9200
|
- ELASTIC_URL=http://elastic:9200
|
||||||
|
@ -5,5 +5,6 @@ LOGIN_TOKEN_DEV=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJlbWFpbCI6InJvc2FtdW5kQGh
|
|||||||
LOGIN_ENDPOINT_DEV=wss://transactor.hc.engineering/
|
LOGIN_ENDPOINT_DEV=wss://transactor.hc.engineering/
|
||||||
|
|
||||||
TELEGRAM_URL=http://localhost:8086
|
TELEGRAM_URL=http://localhost:8086
|
||||||
|
FRONT_URL=http://localhost:8080
|
||||||
|
|
||||||
REKONI_URL=http://localhost:4004
|
REKONI_URL=http://localhost:4004
|
||||||
|
@ -106,6 +106,16 @@
|
|||||||
"@anticrm/rekoni": "~0.6.0",
|
"@anticrm/rekoni": "~0.6.0",
|
||||||
"@anticrm/tags-assets": "~0.6.0",
|
"@anticrm/tags-assets": "~0.6.0",
|
||||||
"@anticrm/tags": "~0.6.0",
|
"@anticrm/tags": "~0.6.0",
|
||||||
"@anticrm/tags-resources": "~0.6.0"
|
"@anticrm/tags-resources": "~0.6.0",
|
||||||
|
"@anticrm/server-chunter": "~0.6.0",
|
||||||
|
"@anticrm/server-chunter-resources": "~0.6.0",
|
||||||
|
"@anticrm/server-inventory": "~0.6.0",
|
||||||
|
"@anticrm/server-inventory-resources": "~0.6.0",
|
||||||
|
"@anticrm/server-lead": "~0.6.0",
|
||||||
|
"@anticrm/server-lead-resources": "~0.6.0",
|
||||||
|
"@anticrm/server-recruit": "~0.6.0",
|
||||||
|
"@anticrm/server-recruit-resources": "~0.6.0",
|
||||||
|
"@anticrm/server-task": "~0.6.0",
|
||||||
|
"@anticrm/server-task-resources": "~0.6.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,11 @@ import { clientId } from '@anticrm/client'
|
|||||||
import { serverAttachmentId } from '@anticrm/server-attachment'
|
import { serverAttachmentId } from '@anticrm/server-attachment'
|
||||||
import { serverContactId } from '@anticrm/server-contact'
|
import { serverContactId } from '@anticrm/server-contact'
|
||||||
import { serverNotificationId } from '@anticrm/server-notification'
|
import { serverNotificationId } from '@anticrm/server-notification'
|
||||||
|
import { serverChunterId } from '@anticrm/server-chunter'
|
||||||
|
import { serverInventoryId } from '@anticrm/server-inventory'
|
||||||
|
import { serverLeadId } from '@anticrm/server-lead'
|
||||||
|
import { serverRecruitId } from '@anticrm/server-recruit'
|
||||||
|
import { serverTaskId } from '@anticrm/server-task'
|
||||||
|
|
||||||
import { setMetadata } from '@anticrm/platform'
|
import { setMetadata } from '@anticrm/platform'
|
||||||
|
|
||||||
@ -35,7 +40,11 @@ export function configurePlatformDev() {
|
|||||||
addLocation(serverAttachmentId, () => import(/* webpackChunkName: "server-attachment" */ '@anticrm/server-attachment-resources'))
|
addLocation(serverAttachmentId, () => import(/* webpackChunkName: "server-attachment" */ '@anticrm/server-attachment-resources'))
|
||||||
addLocation(serverContactId, () => import(/* webpackChunkName: "server-contact" */ '@anticrm/server-contact-resources'))
|
addLocation(serverContactId, () => import(/* webpackChunkName: "server-contact" */ '@anticrm/server-contact-resources'))
|
||||||
addLocation(serverNotificationId, () => import(/* webpackChunkName: "server-notification" */ '@anticrm/server-notification-resources'))
|
addLocation(serverNotificationId, () => import(/* webpackChunkName: "server-notification" */ '@anticrm/server-notification-resources'))
|
||||||
|
addLocation(serverChunterId, () => import(/* webpackChunkName: "server-chunter" */ '@anticrm/server-chunter-resources'))
|
||||||
|
addLocation(serverInventoryId, () => import(/* webpackChunkName: "server-inventory" */ '@anticrm/server-inventory-resources'))
|
||||||
|
addLocation(serverLeadId, () => import(/* webpackChunkName: "server-lead" */ '@anticrm/server-lead-resources'))
|
||||||
|
addLocation(serverRecruitId, () => import(/* webpackChunkName: "server-recruit" */ '@anticrm/server-recruit-resources'))
|
||||||
|
addLocation(serverTaskId, () => import/* webpackChunkName: "server-task" */ ('@anticrm/server-task-resources'))
|
||||||
// Set devmodel to hook client to be able to present all activity
|
// Set devmodel to hook client to be able to present all activity
|
||||||
enableDevModel()
|
enableDevModel()
|
||||||
}
|
}
|
||||||
|
@ -69,6 +69,7 @@ export async function configurePlatform() {
|
|||||||
setMetadata(login.metadata.TelegramUrl, process.env.TELEGRAM_URL ?? 'http://localhost:8086')
|
setMetadata(login.metadata.TelegramUrl, process.env.TELEGRAM_URL ?? 'http://localhost:8086')
|
||||||
setMetadata(login.metadata.GmailUrl, process.env.GMAIL_URL ?? 'http://localhost:8087')
|
setMetadata(login.metadata.GmailUrl, process.env.GMAIL_URL ?? 'http://localhost:8087')
|
||||||
setMetadata(login.metadata.OverrideEndpoint, process.env.LOGIN_ENDPOINT)
|
setMetadata(login.metadata.OverrideEndpoint, process.env.LOGIN_ENDPOINT)
|
||||||
|
setMetadata(login.metadata.FrontUrl, process.env.FRONT_URL)
|
||||||
|
|
||||||
setMetadata(rekoni.metadata.RekoniUrl, process.env.REKONI_URL)
|
setMetadata(rekoni.metadata.RekoniUrl, process.env.REKONI_URL)
|
||||||
|
|
||||||
|
@ -75,6 +75,16 @@
|
|||||||
"@anticrm/server-contact-resources": "~0.6.0",
|
"@anticrm/server-contact-resources": "~0.6.0",
|
||||||
"@anticrm/server-notification": "~0.6.0",
|
"@anticrm/server-notification": "~0.6.0",
|
||||||
"@anticrm/server-notification-resources": "~0.6.0",
|
"@anticrm/server-notification-resources": "~0.6.0",
|
||||||
"@anticrm/server-tool": "~0.6.0"
|
"@anticrm/server-tool": "~0.6.0",
|
||||||
|
"@anticrm/server-chunter": "~0.6.0",
|
||||||
|
"@anticrm/server-chunter-resources": "~0.6.0",
|
||||||
|
"@anticrm/server-inventory": "~0.6.0",
|
||||||
|
"@anticrm/server-inventory-resources": "~0.6.0",
|
||||||
|
"@anticrm/server-lead": "~0.6.0",
|
||||||
|
"@anticrm/server-lead-resources": "~0.6.0",
|
||||||
|
"@anticrm/server-recruit": "~0.6.0",
|
||||||
|
"@anticrm/server-recruit-resources": "~0.6.0",
|
||||||
|
"@anticrm/server-task": "~0.6.0",
|
||||||
|
"@anticrm/server-task-resources": "~0.6.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -50,6 +50,11 @@ import {
|
|||||||
import { serverAttachmentId } from '@anticrm/server-attachment'
|
import { serverAttachmentId } from '@anticrm/server-attachment'
|
||||||
import { serverContactId } from '@anticrm/server-contact'
|
import { serverContactId } from '@anticrm/server-contact'
|
||||||
import { serverNotificationId } from '@anticrm/server-notification'
|
import { serverNotificationId } from '@anticrm/server-notification'
|
||||||
|
import { serverChunterId } from '@anticrm/server-chunter'
|
||||||
|
import { serverInventoryId } from '@anticrm/server-inventory'
|
||||||
|
import { serverLeadId } from '@anticrm/server-lead'
|
||||||
|
import { serverRecruitId } from '@anticrm/server-recruit'
|
||||||
|
import { serverTaskId } from '@anticrm/server-task'
|
||||||
import { Client as ElasticClient } from '@elastic/elasticsearch'
|
import { Client as ElasticClient } from '@elastic/elasticsearch'
|
||||||
import { Client } from 'minio'
|
import { Client } from 'minio'
|
||||||
import { Db, MongoClient } from 'mongodb'
|
import { Db, MongoClient } from 'mongodb'
|
||||||
@ -106,6 +111,11 @@ export class ElasticTool {
|
|||||||
addLocation(serverAttachmentId, () => import('@anticrm/server-attachment-resources'))
|
addLocation(serverAttachmentId, () => import('@anticrm/server-attachment-resources'))
|
||||||
addLocation(serverContactId, () => import('@anticrm/server-contact-resources'))
|
addLocation(serverContactId, () => import('@anticrm/server-contact-resources'))
|
||||||
addLocation(serverNotificationId, () => import('@anticrm/server-notification-resources'))
|
addLocation(serverNotificationId, () => import('@anticrm/server-notification-resources'))
|
||||||
|
addLocation(serverChunterId, () => import(/* webpackChunkName: "server-chunter" */ '@anticrm/server-chunter-resources'))
|
||||||
|
addLocation(serverInventoryId, () => import(/* webpackChunkName: "server-inventory" */ '@anticrm/server-inventory-resources'))
|
||||||
|
addLocation(serverLeadId, () => import(/* webpackChunkName: "server-lead" */ '@anticrm/server-lead-resources'))
|
||||||
|
addLocation(serverRecruitId, () => import(/* webpackChunkName: "server-recruit" */ '@anticrm/server-recruit-resources'))
|
||||||
|
addLocation(serverTaskId, () => import/* webpackChunkName: "server-task" */ ('@anticrm/server-task-resources'))
|
||||||
this.mongoClient = new MongoClient(mongoUrl)
|
this.mongoClient = new MongoClient(mongoUrl)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,6 +46,11 @@
|
|||||||
"@anticrm/model-server-attachment": "~0.6.0",
|
"@anticrm/model-server-attachment": "~0.6.0",
|
||||||
"@anticrm/model-server-contact": "~0.6.0",
|
"@anticrm/model-server-contact": "~0.6.0",
|
||||||
"@anticrm/model-server-notification": "~0.6.0",
|
"@anticrm/model-server-notification": "~0.6.0",
|
||||||
|
"@anticrm/model-server-chunter": "~0.6.0",
|
||||||
|
"@anticrm/model-server-task": "~0.6.0",
|
||||||
|
"@anticrm/model-server-recruit": "~0.6.0",
|
||||||
|
"@anticrm/model-server-lead": "~0.6.0",
|
||||||
|
"@anticrm/model-server-inventory": "~0.6.0",
|
||||||
"@anticrm/model-activity": "~0.6.0",
|
"@anticrm/model-activity": "~0.6.0",
|
||||||
"@anticrm/model-attachment": "~0.6.0",
|
"@anticrm/model-attachment": "~0.6.0",
|
||||||
"@anticrm/model-gmail": "~0.6.0",
|
"@anticrm/model-gmail": "~0.6.0",
|
||||||
|
@ -31,6 +31,11 @@ import { createModel as recruitModel } from '@anticrm/model-recruit'
|
|||||||
import { createModel as serverAttachmentModel } from '@anticrm/model-server-attachment'
|
import { createModel as serverAttachmentModel } from '@anticrm/model-server-attachment'
|
||||||
import { createModel as serverContactModel } from '@anticrm/model-server-contact'
|
import { createModel as serverContactModel } from '@anticrm/model-server-contact'
|
||||||
import { createModel as serverNotificationModel } from '@anticrm/model-server-notification'
|
import { createModel as serverNotificationModel } from '@anticrm/model-server-notification'
|
||||||
|
import { createModel as serverChunterModel } from '@anticrm/model-server-chunter'
|
||||||
|
import { createModel as serverInventoryModel } from '@anticrm/model-server-inventory'
|
||||||
|
import { createModel as serverLeadModel } from '@anticrm/model-server-lead'
|
||||||
|
import { createModel as serverTaskModel } from '@anticrm/model-server-task'
|
||||||
|
import { createModel as serverRecruitModel } from '@anticrm/model-server-recruit'
|
||||||
import { createModel as serverCoreModel } from '@anticrm/model-server-core'
|
import { createModel as serverCoreModel } from '@anticrm/model-server-core'
|
||||||
import { createModel as settingModel } from '@anticrm/model-setting'
|
import { createModel as settingModel } from '@anticrm/model-setting'
|
||||||
import { createModel as taskModel } from '@anticrm/model-task'
|
import { createModel as taskModel } from '@anticrm/model-task'
|
||||||
@ -70,7 +75,11 @@ const builders = [
|
|||||||
serverContactModel,
|
serverContactModel,
|
||||||
serverNotificationModel,
|
serverNotificationModel,
|
||||||
tagsModel,
|
tagsModel,
|
||||||
|
serverChunterModel,
|
||||||
|
serverInventoryModel,
|
||||||
|
serverLeadModel,
|
||||||
|
serverTaskModel,
|
||||||
|
serverRecruitModel,
|
||||||
createDemo
|
createDemo
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ import { coreOperation } from '@anticrm/model-core'
|
|||||||
import { taskOperation } from '@anticrm/model-task'
|
import { taskOperation } from '@anticrm/model-task'
|
||||||
import { attachmentOperation } from '@anticrm/model-attachment'
|
import { attachmentOperation } from '@anticrm/model-attachment'
|
||||||
import { leadOperation } from '@anticrm/model-lead'
|
import { leadOperation } from '@anticrm/model-lead'
|
||||||
|
import { notificationOperation } from '@anticrm/model-notification'
|
||||||
import { recruitOperation } from '@anticrm/model-recruit'
|
import { recruitOperation } from '@anticrm/model-recruit'
|
||||||
import { viewOperation } from '@anticrm/model-view'
|
import { viewOperation } from '@anticrm/model-view'
|
||||||
import { contactOperation } from '@anticrm/model-contact'
|
import { contactOperation } from '@anticrm/model-contact'
|
||||||
@ -33,5 +34,6 @@ export const migrateOperations: MigrateOperation[] = [
|
|||||||
recruitOperation,
|
recruitOperation,
|
||||||
viewOperation,
|
viewOperation,
|
||||||
contactOperation,
|
contactOperation,
|
||||||
tagsOperation
|
tagsOperation,
|
||||||
|
notificationOperation
|
||||||
]
|
]
|
||||||
|
@ -36,6 +36,6 @@
|
|||||||
"@anticrm/ui": "~0.6.0",
|
"@anticrm/ui": "~0.6.0",
|
||||||
"@anticrm/platform": "~0.6.5",
|
"@anticrm/platform": "~0.6.5",
|
||||||
"@anticrm/contact": "~0.6.2",
|
"@anticrm/contact": "~0.6.2",
|
||||||
"@anticrm/workbench": "~0.6.1"
|
"@anticrm/contact-resources": "~0.6.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ import presentation from '@anticrm/model-presentation'
|
|||||||
import view from '@anticrm/model-view'
|
import view from '@anticrm/model-view'
|
||||||
import workbench from '@anticrm/model-workbench'
|
import workbench from '@anticrm/model-workbench'
|
||||||
import type { Asset, IntlString } from '@anticrm/platform'
|
import type { Asset, IntlString } from '@anticrm/platform'
|
||||||
import { ids as contact } from './plugin'
|
import contact from './plugin'
|
||||||
|
|
||||||
export const DOMAIN_CONTACT = 'contact' as Domain
|
export const DOMAIN_CONTACT = 'contact' as Domain
|
||||||
export const DOMAIN_CHANNEL = 'channel' as Domain
|
export const DOMAIN_CHANNEL = 'channel' as Domain
|
||||||
|
@ -15,16 +15,13 @@
|
|||||||
|
|
||||||
import { IntlString, mergeIds, Resource } from '@anticrm/platform'
|
import { IntlString, mergeIds, Resource } from '@anticrm/platform'
|
||||||
import type { Ref } from '@anticrm/core'
|
import type { Ref } from '@anticrm/core'
|
||||||
import contact, { contactId } from '@anticrm/contact'
|
import { contactId } from '@anticrm/contact'
|
||||||
|
import contact from '@anticrm/contact-resources/src/plugin'
|
||||||
import type { AnyComponent } from '@anticrm/ui'
|
import type { AnyComponent } from '@anticrm/ui'
|
||||||
import {} from '@anticrm/core'
|
import {} from '@anticrm/core'
|
||||||
import { Application } from '@anticrm/workbench'
|
|
||||||
import { ObjectSearchCategory, ObjectSearchFactory } from '@anticrm/model-presentation'
|
import { ObjectSearchCategory, ObjectSearchFactory } from '@anticrm/model-presentation'
|
||||||
|
|
||||||
export const ids = mergeIds(contactId, contact, {
|
export default mergeIds(contactId, contact, {
|
||||||
app: {
|
|
||||||
Contacts: '' as Ref<Application>
|
|
||||||
},
|
|
||||||
component: {
|
component: {
|
||||||
PersonPresenter: '' as AnyComponent,
|
PersonPresenter: '' as AnyComponent,
|
||||||
ContactPresenter: '' as AnyComponent,
|
ContactPresenter: '' as AnyComponent,
|
||||||
@ -39,13 +36,7 @@ export const ids = mergeIds(contactId, contact, {
|
|||||||
Contacts: '' as AnyComponent
|
Contacts: '' as AnyComponent
|
||||||
},
|
},
|
||||||
string: {
|
string: {
|
||||||
Organizations: '' as IntlString,
|
|
||||||
OrganizationsFolder: '' as IntlString,
|
|
||||||
PersonsFolder: '' as IntlString,
|
|
||||||
Persons: '' as IntlString,
|
Persons: '' as IntlString,
|
||||||
Contacts: '' as IntlString,
|
|
||||||
CreatePersons: '' as IntlString,
|
|
||||||
CreateOrganizations: '' as IntlString,
|
|
||||||
SearchEmployee: '' as IntlString,
|
SearchEmployee: '' as IntlString,
|
||||||
SearchPerson: '' as IntlString,
|
SearchPerson: '' as IntlString,
|
||||||
SearchOrganization: '' as IntlString,
|
SearchOrganization: '' as IntlString,
|
||||||
|
@ -20,12 +20,8 @@ import inventory from '@anticrm/inventory-resources/src/plugin'
|
|||||||
import { mergeIds, Resource } from '@anticrm/platform'
|
import { mergeIds, Resource } from '@anticrm/platform'
|
||||||
import type { AnyComponent } from '@anticrm/ui'
|
import type { AnyComponent } from '@anticrm/ui'
|
||||||
import { Action } from '@anticrm/view'
|
import { Action } from '@anticrm/view'
|
||||||
import { Application } from '@anticrm/workbench'
|
|
||||||
|
|
||||||
export default mergeIds(inventoryId, inventory, {
|
export default mergeIds(inventoryId, inventory, {
|
||||||
app: {
|
|
||||||
Inventory: '' as Ref<Application>
|
|
||||||
},
|
|
||||||
action: {
|
action: {
|
||||||
CreateSubcategory: '' as Ref<Action>
|
CreateSubcategory: '' as Ref<Action>
|
||||||
},
|
},
|
||||||
|
@ -21,12 +21,8 @@ import type { IntlString } from '@anticrm/platform'
|
|||||||
import { mergeIds } from '@anticrm/platform'
|
import { mergeIds } from '@anticrm/platform'
|
||||||
import { KanbanTemplate } from '@anticrm/task'
|
import { KanbanTemplate } from '@anticrm/task'
|
||||||
import type { AnyComponent } from '@anticrm/ui'
|
import type { AnyComponent } from '@anticrm/ui'
|
||||||
import { Application } from '@anticrm/workbench'
|
|
||||||
|
|
||||||
export default mergeIds(leadId, lead, {
|
export default mergeIds(leadId, lead, {
|
||||||
app: {
|
|
||||||
Lead: '' as Ref<Application>
|
|
||||||
},
|
|
||||||
string: {
|
string: {
|
||||||
Funnel: '' as IntlString,
|
Funnel: '' as IntlString,
|
||||||
Funnels: '' as IntlString,
|
Funnels: '' as IntlString,
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
"@anticrm/ui": "~0.6.0",
|
"@anticrm/ui": "~0.6.0",
|
||||||
"@anticrm/platform": "~0.6.5",
|
"@anticrm/platform": "~0.6.5",
|
||||||
"@anticrm/model-core": "~0.6.0",
|
"@anticrm/model-core": "~0.6.0",
|
||||||
"@anticrm/notification": "~0.6.0"
|
"@anticrm/notification": "~0.6.0",
|
||||||
|
"@anticrm/setting": "~0.6.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,25 +14,26 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
//
|
//
|
||||||
|
|
||||||
import type { Account, Doc, Domain, Ref, Timestamp, TxCUD } from '@anticrm/core'
|
import { Account, Doc, Domain, DOMAIN_MODEL, Ref, Timestamp, TxCUD } from '@anticrm/core'
|
||||||
import { Builder, Model, Prop, TypeRef, TypeString, TypeTimestamp } from '@anticrm/model'
|
import { ArrOf, Builder, Model, Prop, TypeRef, TypeString, TypeTimestamp } from '@anticrm/model'
|
||||||
import core, { TAttachedDoc } from '@anticrm/model-core'
|
import core, { TAttachedDoc, TDoc } from '@anticrm/model-core'
|
||||||
import type { LastView, Notification, NotificationStatus } from '@anticrm/notification'
|
import type { EmailNotification, LastView, NotificationType, NotificationProvider, NotificationSetting, Notification, NotificationStatus } from '@anticrm/notification'
|
||||||
import notificaton from './plugin'
|
|
||||||
import type { IntlString } from '@anticrm/platform'
|
import type { IntlString } from '@anticrm/platform'
|
||||||
|
import notification from './plugin'
|
||||||
|
import setting from '@anticrm/setting'
|
||||||
|
|
||||||
export const DOMAIN_NOTIFICATION = 'notification' as Domain
|
export const DOMAIN_NOTIFICATION = 'notification' as Domain
|
||||||
|
|
||||||
@Model(notificaton.class.LastView, core.class.AttachedDoc, DOMAIN_NOTIFICATION)
|
@Model(notification.class.LastView, core.class.AttachedDoc, DOMAIN_NOTIFICATION)
|
||||||
export class TLastView extends TAttachedDoc implements LastView {
|
export class TLastView extends TAttachedDoc implements LastView {
|
||||||
@Prop(TypeTimestamp(), notificaton.string.LastView)
|
@Prop(TypeTimestamp(), notification.string.LastView)
|
||||||
lastView!: Timestamp
|
lastView!: Timestamp
|
||||||
|
|
||||||
@Prop(TypeRef(core.class.Account), 'Modified By' as IntlString)
|
@Prop(TypeRef(core.class.Account), 'Modified By' as IntlString)
|
||||||
user!: Ref<Account>
|
user!: Ref<Account>
|
||||||
}
|
}
|
||||||
|
|
||||||
@Model(notificaton.class.Notification, core.class.AttachedDoc, DOMAIN_NOTIFICATION)
|
@Model(notification.class.Notification, core.class.AttachedDoc, DOMAIN_NOTIFICATION)
|
||||||
export class TNotification extends TAttachedDoc implements Notification {
|
export class TNotification extends TAttachedDoc implements Notification {
|
||||||
@Prop(TypeRef(core.class.Tx), 'TX' as IntlString)
|
@Prop(TypeRef(core.class.Tx), 'TX' as IntlString)
|
||||||
tx!: Ref<TxCUD<Doc>>
|
tx!: Ref<TxCUD<Doc>>
|
||||||
@ -41,6 +42,66 @@ export class TNotification extends TAttachedDoc implements Notification {
|
|||||||
status!: NotificationStatus
|
status!: NotificationStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
export function createModel (builder: Builder): void {
|
@Model(notification.class.EmailNotification, core.class.Doc, DOMAIN_NOTIFICATION)
|
||||||
builder.createModel(TLastView, TNotification)
|
export class TEmaiNotification extends TDoc implements EmailNotification {
|
||||||
|
@Prop(TypeString(), 'Sender' as IntlString)
|
||||||
|
sender!: string
|
||||||
|
|
||||||
|
@Prop(ArrOf(TypeString()), 'Receivers' as IntlString)
|
||||||
|
receivers!: string[]
|
||||||
|
|
||||||
|
@Prop(TypeString(), 'Subject' as IntlString)
|
||||||
|
subject!: string
|
||||||
|
|
||||||
|
@Prop(TypeString(), 'Text' as IntlString)
|
||||||
|
text!: string
|
||||||
|
|
||||||
|
@Prop(TypeString(), 'Html' as IntlString)
|
||||||
|
html?: string
|
||||||
|
|
||||||
|
@Prop(TypeString(), 'Status' as IntlString)
|
||||||
|
status!: 'new' | 'sent'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Model(notification.class.NotificationType, core.class.Doc, DOMAIN_MODEL)
|
||||||
|
export class TNotificationType extends TDoc implements NotificationType {
|
||||||
|
label!: IntlString
|
||||||
|
}
|
||||||
|
|
||||||
|
@Model(notification.class.NotificationProvider, core.class.Doc, DOMAIN_MODEL)
|
||||||
|
export class TNotificationProvider extends TDoc implements NotificationProvider {
|
||||||
|
label!: IntlString
|
||||||
|
}
|
||||||
|
|
||||||
|
@Model(notification.class.NotificationSetting, core.class.Doc, DOMAIN_NOTIFICATION)
|
||||||
|
export class TNotificationSetting extends TDoc implements NotificationSetting {
|
||||||
|
type!: Ref<TNotificationType>
|
||||||
|
provider!: Ref<TNotificationProvider>
|
||||||
|
enabled!: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export function createModel (builder: Builder): void {
|
||||||
|
builder.createModel(TLastView, TNotification, TEmaiNotification, TNotificationType, TNotificationProvider, TNotificationSetting)
|
||||||
|
|
||||||
|
builder.createDoc(notification.class.NotificationType, core.space.Model, {
|
||||||
|
label: notification.string.MentionNotification
|
||||||
|
}, notification.ids.MentionNotification)
|
||||||
|
|
||||||
|
builder.createDoc(notification.class.NotificationProvider, core.space.Model, {
|
||||||
|
label: notification.string.PlatformNotification
|
||||||
|
}, notification.ids.PlatformNotification)
|
||||||
|
|
||||||
|
builder.createDoc(notification.class.NotificationProvider, core.space.Model, {
|
||||||
|
label: notification.string.EmailNotification
|
||||||
|
}, notification.ids.EmailNotification)
|
||||||
|
|
||||||
|
builder.createDoc(setting.class.SettingsCategory, core.space.Model, {
|
||||||
|
name: 'notifications',
|
||||||
|
label: notification.string.Notifications,
|
||||||
|
icon: notification.icon.Notifications,
|
||||||
|
component: notification.component.NotificationSettings,
|
||||||
|
order: 2500
|
||||||
|
}, notification.ids.NotificationSettings)
|
||||||
|
}
|
||||||
|
|
||||||
|
export { notificationOperation } from './migration'
|
||||||
|
31
models/notification/src/migration.ts
Normal file
31
models/notification/src/migration.ts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// Copyright © 2022 Hardcore Engineering Inc.
|
||||||
|
//
|
||||||
|
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License. You may
|
||||||
|
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
//
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
//
|
||||||
|
|
||||||
|
import { Doc, DOMAIN_TX, TxCUD } from '@anticrm/core'
|
||||||
|
import { MigrateOperation, MigrationClient, MigrationUpgradeClient } from '@anticrm/model'
|
||||||
|
import notification from './plugin'
|
||||||
|
|
||||||
|
export const notificationOperation: MigrateOperation = {
|
||||||
|
async migrate (client: MigrationClient): Promise<void> {
|
||||||
|
const txes = await client.find<TxCUD<Doc>>(DOMAIN_TX, {
|
||||||
|
objectClass: notification.class.LastView
|
||||||
|
})
|
||||||
|
await Promise.all(txes.map(async (tx) => {
|
||||||
|
await client.delete(DOMAIN_TX, tx._id)
|
||||||
|
}))
|
||||||
|
},
|
||||||
|
async upgrade (client: MigrationUpgradeClient): Promise<void> {
|
||||||
|
}
|
||||||
|
}
|
@ -14,12 +14,18 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
//
|
//
|
||||||
|
|
||||||
import { IntlString, mergeIds } from '@anticrm/platform'
|
|
||||||
import notification, { notificationId } from '@anticrm/notification'
|
import notification, { notificationId } from '@anticrm/notification'
|
||||||
import {} from '@anticrm/ui'
|
import { IntlString, mergeIds } from '@anticrm/platform'
|
||||||
|
import { AnyComponent } from '@anticrm/ui'
|
||||||
|
|
||||||
export default mergeIds(notificationId, notification, {
|
export default mergeIds(notificationId, notification, {
|
||||||
string: {
|
string: {
|
||||||
LastView: '' as IntlString
|
LastView: '' as IntlString,
|
||||||
|
MentionNotification: '' as IntlString,
|
||||||
|
PlatformNotification: '' as IntlString,
|
||||||
|
EmailNotification: '' as IntlString
|
||||||
|
},
|
||||||
|
component: {
|
||||||
|
NotificationSettings: '' as AnyComponent
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -21,13 +21,9 @@ import recruit from '@anticrm/recruit-resources/src/plugin'
|
|||||||
import { KanbanTemplate } from '@anticrm/task'
|
import { KanbanTemplate } from '@anticrm/task'
|
||||||
import type { AnyComponent } from '@anticrm/ui'
|
import type { AnyComponent } from '@anticrm/ui'
|
||||||
import type { Action } from '@anticrm/view'
|
import type { Action } from '@anticrm/view'
|
||||||
import { Application } from '@anticrm/workbench'
|
|
||||||
import { ObjectSearchFactory, ObjectSearchCategory } from '@anticrm/model-presentation'
|
import { ObjectSearchFactory, ObjectSearchCategory } from '@anticrm/model-presentation'
|
||||||
|
|
||||||
export default mergeIds(recruitId, recruit, {
|
export default mergeIds(recruitId, recruit, {
|
||||||
app: {
|
|
||||||
Recruit: '' as Ref<Application>
|
|
||||||
},
|
|
||||||
action: {
|
action: {
|
||||||
CreateApplication: '' as Ref<Action>
|
CreateApplication: '' as Ref<Action>
|
||||||
},
|
},
|
||||||
|
7
models/server-chunter/.eslintrc.js
Normal file
7
models/server-chunter/.eslintrc.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: ['./node_modules/@anticrm/model-rig/profiles/default/config/eslint.config.json'],
|
||||||
|
parserOptions: {
|
||||||
|
tsconfigRootDir: __dirname,
|
||||||
|
project: './tsconfig.json'
|
||||||
|
}
|
||||||
|
}
|
18
models/server-chunter/config/rig.json
Normal file
18
models/server-chunter/config/rig.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// The "rig.json" file directs tools to look for their config files in an external package.
|
||||||
|
// Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package
|
||||||
|
{
|
||||||
|
"$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json",
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Required) The name of the rig package to inherit from.
|
||||||
|
* It should be an NPM package name with the "-rig" suffix.
|
||||||
|
*/
|
||||||
|
"rigPackageName": "@anticrm/model-rig"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Optional) Selects a config profile from the rig package. The name must consist of
|
||||||
|
* lowercase alphanumeric words separated by hyphens, for example "sample-profile".
|
||||||
|
* If omitted, then the "default" profile will be used."
|
||||||
|
*/
|
||||||
|
// "rigProfile": "your-profile-name"
|
||||||
|
}
|
36
models/server-chunter/package.json
Normal file
36
models/server-chunter/package.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"name": "@anticrm/model-server-chunter",
|
||||||
|
"version": "0.6.0",
|
||||||
|
"main": "lib/index.js",
|
||||||
|
"author": "Anticrm Platform Contributors",
|
||||||
|
"license": "EPL-2.0",
|
||||||
|
"scripts": {
|
||||||
|
"build": "heft build",
|
||||||
|
"build:watch": "tsc",
|
||||||
|
"lint:fix": "eslint --fix src",
|
||||||
|
"lint": "eslint src",
|
||||||
|
"format": "prettier --write src && eslint --fix src"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@anticrm/model-rig": "~0.6.0",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
||||||
|
"eslint-plugin-import": "^2.25.3",
|
||||||
|
"eslint-plugin-promise": "^5.1.1",
|
||||||
|
"eslint-plugin-node": "^11.1.0",
|
||||||
|
"eslint": "^7.32.0",
|
||||||
|
"@types/heft-jest": "^1.0.2",
|
||||||
|
"@typescript-eslint/parser": "^5.4.0",
|
||||||
|
"eslint-config-standard-with-typescript": "^21.0.1",
|
||||||
|
"prettier": "^2.4.1",
|
||||||
|
"@rushstack/heft": "^0.41.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@anticrm/core": "~0.6.11",
|
||||||
|
"@anticrm/model": "~0.6.0",
|
||||||
|
"@anticrm/platform": "~0.6.5",
|
||||||
|
"@anticrm/server-chunter": "~0.6.0",
|
||||||
|
"@anticrm/server-core": "~0.6.0",
|
||||||
|
"@anticrm/chunter": "~0.6.0",
|
||||||
|
"@anticrm/view": "~0.6.0"
|
||||||
|
}
|
||||||
|
}
|
31
models/server-chunter/src/index.ts
Normal file
31
models/server-chunter/src/index.ts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// Copyright © 2022 Hardcore Engineering Inc.
|
||||||
|
//
|
||||||
|
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License. You may
|
||||||
|
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
//
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
//
|
||||||
|
|
||||||
|
import { Builder } from '@anticrm/model'
|
||||||
|
|
||||||
|
import core from '@anticrm/core'
|
||||||
|
import chunter from '@anticrm/chunter'
|
||||||
|
import view from '@anticrm/view'
|
||||||
|
import serverChunter from '@anticrm/server-chunter'
|
||||||
|
|
||||||
|
export function createModel (builder: Builder): void {
|
||||||
|
builder.mixin(chunter.class.Channel, core.class.Class, view.mixin.HTMLPresenter, {
|
||||||
|
presenter: serverChunter.function.ChannelHTMLPresenter
|
||||||
|
})
|
||||||
|
|
||||||
|
builder.mixin(chunter.class.Channel, core.class.Class, view.mixin.TextPresenter, {
|
||||||
|
presenter: serverChunter.function.ChannelTextPresenter
|
||||||
|
})
|
||||||
|
}
|
8
models/server-chunter/tsconfig.json
Normal file
8
models/server-chunter/tsconfig.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"extends": "./node_modules/@anticrm/model-rig/profiles/default/tsconfig.json",
|
||||||
|
|
||||||
|
"compilerOptions": {
|
||||||
|
"rootDir": "./src",
|
||||||
|
"outDir": "./lib",
|
||||||
|
}
|
||||||
|
}
|
@ -29,6 +29,8 @@
|
|||||||
"@anticrm/model": "~0.6.0",
|
"@anticrm/model": "~0.6.0",
|
||||||
"@anticrm/platform": "~0.6.5",
|
"@anticrm/platform": "~0.6.5",
|
||||||
"@anticrm/server-contact": "~0.6.0",
|
"@anticrm/server-contact": "~0.6.0",
|
||||||
"@anticrm/server-core": "~0.6.0"
|
"@anticrm/server-core": "~0.6.0",
|
||||||
|
"@anticrm/contact": "~0.6.2",
|
||||||
|
"@anticrm/view": "~0.6.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,9 +18,27 @@ import { Builder } from '@anticrm/model'
|
|||||||
|
|
||||||
import serverCore from '@anticrm/server-core'
|
import serverCore from '@anticrm/server-core'
|
||||||
import core from '@anticrm/core'
|
import core from '@anticrm/core'
|
||||||
|
import contact from '@anticrm/contact'
|
||||||
|
import view from '@anticrm/view'
|
||||||
import serverContact from '@anticrm/server-contact'
|
import serverContact from '@anticrm/server-contact'
|
||||||
|
|
||||||
export function createModel (builder: Builder): void {
|
export function createModel (builder: Builder): void {
|
||||||
|
builder.mixin(contact.class.Person, core.class.Class, view.mixin.HTMLPresenter, {
|
||||||
|
presenter: serverContact.function.PersonHTMLPresenter
|
||||||
|
})
|
||||||
|
|
||||||
|
builder.mixin(contact.class.Person, core.class.Class, view.mixin.TextPresenter, {
|
||||||
|
presenter: serverContact.function.PersonTextPresenter
|
||||||
|
})
|
||||||
|
|
||||||
|
builder.mixin(contact.class.Organization, core.class.Class, view.mixin.HTMLPresenter, {
|
||||||
|
presenter: serverContact.function.OrganizationHTMLPresenter
|
||||||
|
})
|
||||||
|
|
||||||
|
builder.mixin(contact.class.Organization, core.class.Class, view.mixin.TextPresenter, {
|
||||||
|
presenter: serverContact.function.OrganizationTextPresenter
|
||||||
|
})
|
||||||
|
|
||||||
builder.createDoc(serverCore.class.Trigger, core.space.Model, {
|
builder.createDoc(serverCore.class.Trigger, core.space.Model, {
|
||||||
trigger: serverContact.trigger.OnContactDelete
|
trigger: serverContact.trigger.OnContactDelete
|
||||||
})
|
})
|
||||||
|
7
models/server-inventory/.eslintrc.js
Normal file
7
models/server-inventory/.eslintrc.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: ['./node_modules/@anticrm/model-rig/profiles/default/config/eslint.config.json'],
|
||||||
|
parserOptions: {
|
||||||
|
tsconfigRootDir: __dirname,
|
||||||
|
project: './tsconfig.json'
|
||||||
|
}
|
||||||
|
}
|
18
models/server-inventory/config/rig.json
Normal file
18
models/server-inventory/config/rig.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// The "rig.json" file directs tools to look for their config files in an external package.
|
||||||
|
// Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package
|
||||||
|
{
|
||||||
|
"$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json",
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Required) The name of the rig package to inherit from.
|
||||||
|
* It should be an NPM package name with the "-rig" suffix.
|
||||||
|
*/
|
||||||
|
"rigPackageName": "@anticrm/model-rig"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Optional) Selects a config profile from the rig package. The name must consist of
|
||||||
|
* lowercase alphanumeric words separated by hyphens, for example "sample-profile".
|
||||||
|
* If omitted, then the "default" profile will be used."
|
||||||
|
*/
|
||||||
|
// "rigProfile": "your-profile-name"
|
||||||
|
}
|
36
models/server-inventory/package.json
Normal file
36
models/server-inventory/package.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"name": "@anticrm/model-server-inventory",
|
||||||
|
"version": "0.6.0",
|
||||||
|
"main": "lib/index.js",
|
||||||
|
"author": "Anticrm Platform Contributors",
|
||||||
|
"license": "EPL-2.0",
|
||||||
|
"scripts": {
|
||||||
|
"build": "heft build",
|
||||||
|
"build:watch": "tsc",
|
||||||
|
"lint:fix": "eslint --fix src",
|
||||||
|
"lint": "eslint src",
|
||||||
|
"format": "prettier --write src && eslint --fix src"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@anticrm/model-rig": "~0.6.0",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
||||||
|
"eslint-plugin-import": "^2.25.3",
|
||||||
|
"eslint-plugin-promise": "^5.1.1",
|
||||||
|
"eslint-plugin-node": "^11.1.0",
|
||||||
|
"eslint": "^7.32.0",
|
||||||
|
"@types/heft-jest": "^1.0.2",
|
||||||
|
"@typescript-eslint/parser": "^5.4.0",
|
||||||
|
"eslint-config-standard-with-typescript": "^21.0.1",
|
||||||
|
"prettier": "^2.4.1",
|
||||||
|
"@rushstack/heft": "^0.41.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@anticrm/core": "~0.6.11",
|
||||||
|
"@anticrm/model": "~0.6.0",
|
||||||
|
"@anticrm/platform": "~0.6.5",
|
||||||
|
"@anticrm/server-inventory": "~0.6.0",
|
||||||
|
"@anticrm/server-core": "~0.6.0",
|
||||||
|
"@anticrm/inventory": "~0.6.0",
|
||||||
|
"@anticrm/view": "~0.6.0"
|
||||||
|
}
|
||||||
|
}
|
31
models/server-inventory/src/index.ts
Normal file
31
models/server-inventory/src/index.ts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// Copyright © 2022 Hardcore Engineering Inc.
|
||||||
|
//
|
||||||
|
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License. You may
|
||||||
|
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
//
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
//
|
||||||
|
|
||||||
|
import { Builder } from '@anticrm/model'
|
||||||
|
|
||||||
|
import core from '@anticrm/core'
|
||||||
|
import inventory from '@anticrm/inventory'
|
||||||
|
import view from '@anticrm/view'
|
||||||
|
import serverInventory from '@anticrm/server-inventory'
|
||||||
|
|
||||||
|
export function createModel (builder: Builder): void {
|
||||||
|
builder.mixin(inventory.class.Product, core.class.Class, view.mixin.HTMLPresenter, {
|
||||||
|
presenter: serverInventory.function.ProductHTMLPresenter
|
||||||
|
})
|
||||||
|
|
||||||
|
builder.mixin(inventory.class.Product, core.class.Class, view.mixin.TextPresenter, {
|
||||||
|
presenter: serverInventory.function.ProductTextPresenter
|
||||||
|
})
|
||||||
|
}
|
8
models/server-inventory/tsconfig.json
Normal file
8
models/server-inventory/tsconfig.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"extends": "./node_modules/@anticrm/model-rig/profiles/default/tsconfig.json",
|
||||||
|
|
||||||
|
"compilerOptions": {
|
||||||
|
"rootDir": "./src",
|
||||||
|
"outDir": "./lib",
|
||||||
|
}
|
||||||
|
}
|
7
models/server-lead/.eslintrc.js
Normal file
7
models/server-lead/.eslintrc.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: ['./node_modules/@anticrm/model-rig/profiles/default/config/eslint.config.json'],
|
||||||
|
parserOptions: {
|
||||||
|
tsconfigRootDir: __dirname,
|
||||||
|
project: './tsconfig.json'
|
||||||
|
}
|
||||||
|
}
|
18
models/server-lead/config/rig.json
Normal file
18
models/server-lead/config/rig.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// The "rig.json" file directs tools to look for their config files in an external package.
|
||||||
|
// Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package
|
||||||
|
{
|
||||||
|
"$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json",
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Required) The name of the rig package to inherit from.
|
||||||
|
* It should be an NPM package name with the "-rig" suffix.
|
||||||
|
*/
|
||||||
|
"rigPackageName": "@anticrm/model-rig"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Optional) Selects a config profile from the rig package. The name must consist of
|
||||||
|
* lowercase alphanumeric words separated by hyphens, for example "sample-profile".
|
||||||
|
* If omitted, then the "default" profile will be used."
|
||||||
|
*/
|
||||||
|
// "rigProfile": "your-profile-name"
|
||||||
|
}
|
36
models/server-lead/package.json
Normal file
36
models/server-lead/package.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"name": "@anticrm/model-server-lead",
|
||||||
|
"version": "0.6.0",
|
||||||
|
"main": "lib/index.js",
|
||||||
|
"author": "Anticrm Platform Contributors",
|
||||||
|
"license": "EPL-2.0",
|
||||||
|
"scripts": {
|
||||||
|
"build": "heft build",
|
||||||
|
"build:watch": "tsc",
|
||||||
|
"lint:fix": "eslint --fix src",
|
||||||
|
"lint": "eslint src",
|
||||||
|
"format": "prettier --write src && eslint --fix src"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@anticrm/model-rig": "~0.6.0",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
||||||
|
"eslint-plugin-import": "^2.25.3",
|
||||||
|
"eslint-plugin-promise": "^5.1.1",
|
||||||
|
"eslint-plugin-node": "^11.1.0",
|
||||||
|
"eslint": "^7.32.0",
|
||||||
|
"@types/heft-jest": "^1.0.2",
|
||||||
|
"@typescript-eslint/parser": "^5.4.0",
|
||||||
|
"eslint-config-standard-with-typescript": "^21.0.1",
|
||||||
|
"prettier": "^2.4.1",
|
||||||
|
"@rushstack/heft": "^0.41.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@anticrm/core": "~0.6.11",
|
||||||
|
"@anticrm/model": "~0.6.0",
|
||||||
|
"@anticrm/platform": "~0.6.5",
|
||||||
|
"@anticrm/server-lead": "~0.6.0",
|
||||||
|
"@anticrm/server-core": "~0.6.0",
|
||||||
|
"@anticrm/lead": "~0.6.0",
|
||||||
|
"@anticrm/view": "~0.6.0"
|
||||||
|
}
|
||||||
|
}
|
31
models/server-lead/src/index.ts
Normal file
31
models/server-lead/src/index.ts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// Copyright © 2022 Hardcore Engineering Inc.
|
||||||
|
//
|
||||||
|
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License. You may
|
||||||
|
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
//
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
//
|
||||||
|
|
||||||
|
import { Builder } from '@anticrm/model'
|
||||||
|
|
||||||
|
import core from '@anticrm/core'
|
||||||
|
import lead from '@anticrm/lead'
|
||||||
|
import view from '@anticrm/view'
|
||||||
|
import serverLead from '@anticrm/server-lead'
|
||||||
|
|
||||||
|
export function createModel (builder: Builder): void {
|
||||||
|
builder.mixin(lead.class.Lead, core.class.Class, view.mixin.HTMLPresenter, {
|
||||||
|
presenter: serverLead.function.LeadHTMLPresenter
|
||||||
|
})
|
||||||
|
|
||||||
|
builder.mixin(lead.class.Lead, core.class.Class, view.mixin.TextPresenter, {
|
||||||
|
presenter: serverLead.function.LeadTextPresenter
|
||||||
|
})
|
||||||
|
}
|
8
models/server-lead/tsconfig.json
Normal file
8
models/server-lead/tsconfig.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"extends": "./node_modules/@anticrm/model-rig/profiles/default/tsconfig.json",
|
||||||
|
|
||||||
|
"compilerOptions": {
|
||||||
|
"rootDir": "./src",
|
||||||
|
"outDir": "./lib",
|
||||||
|
}
|
||||||
|
}
|
7
models/server-recruit/.eslintrc.js
Normal file
7
models/server-recruit/.eslintrc.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: ['./node_modules/@anticrm/model-rig/profiles/default/config/eslint.config.json'],
|
||||||
|
parserOptions: {
|
||||||
|
tsconfigRootDir: __dirname,
|
||||||
|
project: './tsconfig.json'
|
||||||
|
}
|
||||||
|
}
|
18
models/server-recruit/config/rig.json
Normal file
18
models/server-recruit/config/rig.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// The "rig.json" file directs tools to look for their config files in an external package.
|
||||||
|
// Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package
|
||||||
|
{
|
||||||
|
"$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json",
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Required) The name of the rig package to inherit from.
|
||||||
|
* It should be an NPM package name with the "-rig" suffix.
|
||||||
|
*/
|
||||||
|
"rigPackageName": "@anticrm/model-rig"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Optional) Selects a config profile from the rig package. The name must consist of
|
||||||
|
* lowercase alphanumeric words separated by hyphens, for example "sample-profile".
|
||||||
|
* If omitted, then the "default" profile will be used."
|
||||||
|
*/
|
||||||
|
// "rigProfile": "your-profile-name"
|
||||||
|
}
|
36
models/server-recruit/package.json
Normal file
36
models/server-recruit/package.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"name": "@anticrm/model-server-recruit",
|
||||||
|
"version": "0.6.0",
|
||||||
|
"main": "lib/index.js",
|
||||||
|
"author": "Anticrm Platform Contributors",
|
||||||
|
"license": "EPL-2.0",
|
||||||
|
"scripts": {
|
||||||
|
"build": "heft build",
|
||||||
|
"build:watch": "tsc",
|
||||||
|
"lint:fix": "eslint --fix src",
|
||||||
|
"lint": "eslint src",
|
||||||
|
"format": "prettier --write src && eslint --fix src"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@anticrm/model-rig": "~0.6.0",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
||||||
|
"eslint-plugin-import": "^2.25.3",
|
||||||
|
"eslint-plugin-promise": "^5.1.1",
|
||||||
|
"eslint-plugin-node": "^11.1.0",
|
||||||
|
"eslint": "^7.32.0",
|
||||||
|
"@types/heft-jest": "^1.0.2",
|
||||||
|
"@typescript-eslint/parser": "^5.4.0",
|
||||||
|
"eslint-config-standard-with-typescript": "^21.0.1",
|
||||||
|
"prettier": "^2.4.1",
|
||||||
|
"@rushstack/heft": "^0.41.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@anticrm/core": "~0.6.11",
|
||||||
|
"@anticrm/model": "~0.6.0",
|
||||||
|
"@anticrm/platform": "~0.6.5",
|
||||||
|
"@anticrm/server-recruit": "~0.6.0",
|
||||||
|
"@anticrm/server-core": "~0.6.0",
|
||||||
|
"@anticrm/recruit": "~0.6.0",
|
||||||
|
"@anticrm/view": "~0.6.0"
|
||||||
|
}
|
||||||
|
}
|
39
models/server-recruit/src/index.ts
Normal file
39
models/server-recruit/src/index.ts
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
//
|
||||||
|
// Copyright © 2022 Hardcore Engineering Inc.
|
||||||
|
//
|
||||||
|
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License. You may
|
||||||
|
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
//
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
//
|
||||||
|
|
||||||
|
import { Builder } from '@anticrm/model'
|
||||||
|
|
||||||
|
import core from '@anticrm/core'
|
||||||
|
import recruit from '@anticrm/recruit'
|
||||||
|
import view from '@anticrm/view'
|
||||||
|
import serverRecruit from '@anticrm/server-recruit'
|
||||||
|
|
||||||
|
export function createModel (builder: Builder): void {
|
||||||
|
builder.mixin(recruit.class.Applicant, core.class.Class, view.mixin.HTMLPresenter, {
|
||||||
|
presenter: serverRecruit.function.ApplicationHTMLPresenter
|
||||||
|
})
|
||||||
|
|
||||||
|
builder.mixin(recruit.class.Applicant, core.class.Class, view.mixin.TextPresenter, {
|
||||||
|
presenter: serverRecruit.function.ApplicationTextPresenter
|
||||||
|
})
|
||||||
|
|
||||||
|
builder.mixin(recruit.class.Vacancy, core.class.Class, view.mixin.HTMLPresenter, {
|
||||||
|
presenter: serverRecruit.function.VacancyHTMLPresenter
|
||||||
|
})
|
||||||
|
|
||||||
|
builder.mixin(recruit.class.Vacancy, core.class.Class, view.mixin.TextPresenter, {
|
||||||
|
presenter: serverRecruit.function.VacancyTextPresenter
|
||||||
|
})
|
||||||
|
}
|
8
models/server-recruit/tsconfig.json
Normal file
8
models/server-recruit/tsconfig.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"extends": "./node_modules/@anticrm/model-rig/profiles/default/tsconfig.json",
|
||||||
|
|
||||||
|
"compilerOptions": {
|
||||||
|
"rootDir": "./src",
|
||||||
|
"outDir": "./lib",
|
||||||
|
}
|
||||||
|
}
|
7
models/server-task/.eslintrc.js
Normal file
7
models/server-task/.eslintrc.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: ['./node_modules/@anticrm/model-rig/profiles/default/config/eslint.config.json'],
|
||||||
|
parserOptions: {
|
||||||
|
tsconfigRootDir: __dirname,
|
||||||
|
project: './tsconfig.json'
|
||||||
|
}
|
||||||
|
}
|
18
models/server-task/config/rig.json
Normal file
18
models/server-task/config/rig.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
// The "rig.json" file directs tools to look for their config files in an external package.
|
||||||
|
// Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package
|
||||||
|
{
|
||||||
|
"$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json",
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Required) The name of the rig package to inherit from.
|
||||||
|
* It should be an NPM package name with the "-rig" suffix.
|
||||||
|
*/
|
||||||
|
"rigPackageName": "@anticrm/model-rig"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Optional) Selects a config profile from the rig package. The name must consist of
|
||||||
|
* lowercase alphanumeric words separated by hyphens, for example "sample-profile".
|
||||||
|
* If omitted, then the "default" profile will be used."
|
||||||
|
*/
|
||||||
|
// "rigProfile": "your-profile-name"
|
||||||
|
}
|
36
models/server-task/package.json
Normal file
36
models/server-task/package.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"name": "@anticrm/model-server-task",
|
||||||
|
"version": "0.6.0",
|
||||||
|
"main": "lib/index.js",
|
||||||
|
"author": "Anticrm Platform Contributors",
|
||||||
|
"license": "EPL-2.0",
|
||||||
|
"scripts": {
|
||||||
|
"build": "heft build",
|
||||||
|
"build:watch": "tsc",
|
||||||
|
"lint:fix": "eslint --fix src",
|
||||||
|
"lint": "eslint src",
|
||||||
|
"format": "prettier --write src && eslint --fix src"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@anticrm/model-rig": "~0.6.0",
|
||||||
|
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
||||||
|
"eslint-plugin-import": "^2.25.3",
|
||||||
|
"eslint-plugin-promise": "^5.1.1",
|
||||||
|
"eslint-plugin-node": "^11.1.0",
|
||||||
|
"eslint": "^7.32.0",
|
||||||
|
"@types/heft-jest": "^1.0.2",
|
||||||
|
"@typescript-eslint/parser": "^5.4.0",
|
||||||
|
"eslint-config-standard-with-typescript": "^21.0.1",
|
||||||
|
"prettier": "^2.4.1",
|
||||||
|
"@rushstack/heft": "^0.41.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@anticrm/core": "~0.6.11",
|
||||||
|
"@anticrm/model": "~0.6.0",
|
||||||
|
"@anticrm/platform": "~0.6.5",
|
||||||
|
"@anticrm/server-task": "~0.6.0",
|
||||||
|
"@anticrm/server-core": "~0.6.0",
|
||||||
|
"@anticrm/task": "~0.6.0",
|
||||||
|
"@anticrm/view": "~0.6.0"
|
||||||
|
}
|
||||||
|
}
|
31
models/server-task/src/index.ts
Normal file
31
models/server-task/src/index.ts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
//
|
||||||
|
// Copyright © 2022 Hardcore Engineering Inc.
|
||||||
|
//
|
||||||
|
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License. You may
|
||||||
|
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
//
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
//
|
||||||
|
|
||||||
|
import { Builder } from '@anticrm/model'
|
||||||
|
|
||||||
|
import core from '@anticrm/core'
|
||||||
|
import task from '@anticrm/task'
|
||||||
|
import view from '@anticrm/view'
|
||||||
|
import serverTask from '@anticrm/server-task'
|
||||||
|
|
||||||
|
export function createModel (builder: Builder): void {
|
||||||
|
builder.mixin(task.class.Issue, core.class.Class, view.mixin.HTMLPresenter, {
|
||||||
|
presenter: serverTask.function.IssueHTMLPresenter
|
||||||
|
})
|
||||||
|
|
||||||
|
builder.mixin(task.class.Issue, core.class.Class, view.mixin.TextPresenter, {
|
||||||
|
presenter: serverTask.function.IssueTextPresenter
|
||||||
|
})
|
||||||
|
}
|
8
models/server-task/tsconfig.json
Normal file
8
models/server-task/tsconfig.json
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"extends": "./node_modules/@anticrm/model-rig/profiles/default/tsconfig.json",
|
||||||
|
|
||||||
|
"compilerOptions": {
|
||||||
|
"rootDir": "./src",
|
||||||
|
"outDir": "./lib",
|
||||||
|
}
|
||||||
|
}
|
@ -20,14 +20,10 @@ import { mergeIds } from '@anticrm/platform'
|
|||||||
import { KanbanTemplate, taskId } from '@anticrm/task'
|
import { KanbanTemplate, taskId } from '@anticrm/task'
|
||||||
import task from '@anticrm/task-resources/src/plugin'
|
import task from '@anticrm/task-resources/src/plugin'
|
||||||
import type { AnyComponent } from '@anticrm/ui'
|
import type { AnyComponent } from '@anticrm/ui'
|
||||||
import { Application } from '@anticrm/workbench'
|
|
||||||
import type { Action } from '@anticrm/view'
|
import type { Action } from '@anticrm/view'
|
||||||
import { ObjectSearchCategory, ObjectSearchFactory } from '@anticrm/model-presentation'
|
import { ObjectSearchCategory, ObjectSearchFactory } from '@anticrm/model-presentation'
|
||||||
|
|
||||||
export default mergeIds(taskId, task, {
|
export default mergeIds(taskId, task, {
|
||||||
app: {
|
|
||||||
Tasks: '' as Ref<Application>
|
|
||||||
},
|
|
||||||
action: {
|
action: {
|
||||||
CreateTask: '' as Ref<Action>,
|
CreateTask: '' as Ref<Action>,
|
||||||
EditStatuses: '' as Ref<Action>,
|
EditStatuses: '' as Ref<Action>,
|
||||||
|
@ -30,6 +30,8 @@ import type {
|
|||||||
ObjectFactory,
|
ObjectFactory,
|
||||||
ObjectValidator,
|
ObjectValidator,
|
||||||
Viewlet,
|
Viewlet,
|
||||||
|
HTMLPresenter,
|
||||||
|
TextPresenter,
|
||||||
ViewletDescriptor
|
ViewletDescriptor
|
||||||
} from '@anticrm/view'
|
} from '@anticrm/view'
|
||||||
import view from './plugin'
|
import view from './plugin'
|
||||||
@ -98,6 +100,16 @@ export class TActionTarget extends TDoc implements ActionTarget {
|
|||||||
action!: Ref<Action>
|
action!: Ref<Action>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Mixin(view.mixin.HTMLPresenter, core.class.Class)
|
||||||
|
export class THTMLPresenter extends TClass implements HTMLPresenter {
|
||||||
|
presenter!: Resource<(doc: Doc) => string>
|
||||||
|
}
|
||||||
|
|
||||||
|
@Mixin(view.mixin.TextPresenter, core.class.Class)
|
||||||
|
export class TTextPresenter extends TClass implements TextPresenter {
|
||||||
|
presenter!: Resource<(doc: Doc) => string>
|
||||||
|
}
|
||||||
|
|
||||||
export function createModel (builder: Builder): void {
|
export function createModel (builder: Builder): void {
|
||||||
builder.createModel(
|
builder.createModel(
|
||||||
TAttributeEditor,
|
TAttributeEditor,
|
||||||
@ -110,7 +122,9 @@ export function createModel (builder: Builder): void {
|
|||||||
TObjectValidator,
|
TObjectValidator,
|
||||||
TObjectFactory,
|
TObjectFactory,
|
||||||
TObjectEditorHeader,
|
TObjectEditorHeader,
|
||||||
TObjectDDParticipant
|
TObjectDDParticipant,
|
||||||
|
THTMLPresenter,
|
||||||
|
TTextPresenter
|
||||||
)
|
)
|
||||||
|
|
||||||
builder.mixin(core.class.TypeString, core.class.Class, view.mixin.AttributeEditor, {
|
builder.mixin(core.class.TypeString, core.class.Class, view.mixin.AttributeEditor, {
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
export let rowGap: number = 2.5
|
export let rowGap: number = 2.5
|
||||||
export let columnGap: number = 1.5
|
export let columnGap: number = 1.5
|
||||||
|
|
||||||
const style = `grid-template-columns: repeat(${column}, 1fr); row-gap: ${rowGap}rem; column-gap: ${columnGap}rem;`
|
$: style = `grid-template-columns: repeat(${column}, 1fr); row-gap: ${rowGap}rem; column-gap: ${columnGap}rem;`
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="grid" {style}>
|
<div class="grid" {style}>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<label class="toggle">
|
<label class="toggle">
|
||||||
<input class="chBox" type="checkbox" bind:checked={on}>
|
<input class="chBox" type="checkbox" bind:checked={on} on:change>
|
||||||
<span class="toggle-switch"></span>
|
<span class="toggle-switch"></span>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
@ -16,13 +16,16 @@
|
|||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import type { IntlString } from '@anticrm/platform'
|
import type { IntlString } from '@anticrm/platform'
|
||||||
|
|
||||||
import Toggle from './Toggle.svelte'
|
import Toggle from './Toggle.svelte'
|
||||||
import Label from './Label.svelte'
|
import Label from './Label.svelte'
|
||||||
|
import { createEventDispatcher } from 'svelte'
|
||||||
|
|
||||||
export let label: IntlString
|
export let label: IntlString
|
||||||
export let description: IntlString | undefined = undefined
|
export let description: IntlString | undefined = undefined
|
||||||
export let on: boolean = false
|
export let on: boolean = false
|
||||||
|
|
||||||
|
const dispatch = createEventDispatcher()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="flex-between">
|
<div class="flex-between">
|
||||||
@ -32,7 +35,7 @@
|
|||||||
<span><Label label={description} /></span>
|
<span><Label label={description} /></span>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
<Toggle bind:on={on}/>
|
<Toggle bind:on={on} on:change={() => {dispatch('change', on)}} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
@ -36,11 +36,13 @@
|
|||||||
"@anticrm/ui": "~0.6.0",
|
"@anticrm/ui": "~0.6.0",
|
||||||
"@anticrm/presentation": "~0.6.2",
|
"@anticrm/presentation": "~0.6.2",
|
||||||
"@anticrm/chunter": "~0.6.0",
|
"@anticrm/chunter": "~0.6.0",
|
||||||
|
"@anticrm/login": "~0.6.1",
|
||||||
"svelte": "^3.37.0",
|
"svelte": "^3.37.0",
|
||||||
"@anticrm/text-editor": "~0.6.0",
|
"@anticrm/text-editor": "~0.6.0",
|
||||||
"@anticrm/contact": "~0.6.2",
|
"@anticrm/contact": "~0.6.2",
|
||||||
"@anticrm/contact-resources": "~0.6.0",
|
"@anticrm/contact-resources": "~0.6.0",
|
||||||
"@anticrm/view-resources": "~0.6.0",
|
"@anticrm/view-resources": "~0.6.0",
|
||||||
"@anticrm/view": "~0.6.0"
|
"@anticrm/view": "~0.6.0",
|
||||||
|
"@anticrm/workbench": "~0.6.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,7 +13,10 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
//
|
//
|
||||||
|
|
||||||
import { Resources } from '@anticrm/platform'
|
import { Channel } from '@anticrm/chunter'
|
||||||
|
import { Doc } from '@anticrm/core'
|
||||||
|
import login from '@anticrm/login'
|
||||||
|
import { getMetadata, Resources } from '@anticrm/platform'
|
||||||
import { collectBacklinks } from './backlinks'
|
import { collectBacklinks } from './backlinks'
|
||||||
import TxBacklinkCreate from './components/activity/TxBacklinkCreate.svelte'
|
import TxBacklinkCreate from './components/activity/TxBacklinkCreate.svelte'
|
||||||
import TxBacklinkReference from './components/activity/TxBacklinkReference.svelte'
|
import TxBacklinkReference from './components/activity/TxBacklinkReference.svelte'
|
||||||
@ -24,6 +27,8 @@ import CommentInput from './components/CommentInput.svelte'
|
|||||||
import CommentPresenter from './components/CommentPresenter.svelte'
|
import CommentPresenter from './components/CommentPresenter.svelte'
|
||||||
import CommentsPresenter from './components/CommentsPresenter.svelte'
|
import CommentsPresenter from './components/CommentsPresenter.svelte'
|
||||||
import CreateChannel from './components/CreateChannel.svelte'
|
import CreateChannel from './components/CreateChannel.svelte'
|
||||||
|
import chunter from './plugin'
|
||||||
|
import workbench from '@anticrm/workbench'
|
||||||
|
|
||||||
export { CommentsPresenter }
|
export { CommentsPresenter }
|
||||||
|
|
||||||
|
@ -13,9 +13,7 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
//
|
//
|
||||||
|
|
||||||
import type { Channel } from '@anticrm/chunter'
|
|
||||||
import chunter, { chunterId } from '@anticrm/chunter'
|
import chunter, { chunterId } from '@anticrm/chunter'
|
||||||
import type { Class, Doc, Ref } from '@anticrm/core'
|
|
||||||
import type { IntlString } from '@anticrm/platform'
|
import type { IntlString } from '@anticrm/platform'
|
||||||
import { mergeIds } from '@anticrm/platform'
|
import { mergeIds } from '@anticrm/platform'
|
||||||
import type { AnyComponent } from '@anticrm/ui'
|
import type { AnyComponent } from '@anticrm/ui'
|
||||||
@ -25,9 +23,6 @@ export default mergeIds(chunterId, chunter, {
|
|||||||
CreateChannel: '' as AnyComponent,
|
CreateChannel: '' as AnyComponent,
|
||||||
ChannelView: '' as AnyComponent
|
ChannelView: '' as AnyComponent
|
||||||
},
|
},
|
||||||
class: {
|
|
||||||
Channel: '' as Ref<Class<Channel>>
|
|
||||||
},
|
|
||||||
string: {
|
string: {
|
||||||
Channel: '' as IntlString,
|
Channel: '' as IntlString,
|
||||||
Channels: '' as IntlString,
|
Channels: '' as IntlString,
|
||||||
@ -37,8 +32,5 @@ export default mergeIds(chunterId, chunter, {
|
|||||||
ChannelDescription: '' as IntlString,
|
ChannelDescription: '' as IntlString,
|
||||||
MakePrivate: '' as IntlString,
|
MakePrivate: '' as IntlString,
|
||||||
MakePrivateDescription: '' as IntlString
|
MakePrivateDescription: '' as IntlString
|
||||||
},
|
|
||||||
app: {
|
|
||||||
Chunter: '' as Ref<Doc>
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -13,9 +13,9 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
//
|
//
|
||||||
|
|
||||||
import { IntlString, plugin } from '@anticrm/platform'
|
import type { AttachedDoc, Class, Doc, Ref, Space } from '@anticrm/core'
|
||||||
import type { Asset, Plugin } from '@anticrm/platform'
|
import type { Asset, Plugin } from '@anticrm/platform'
|
||||||
import type { Space, Doc, Ref, Class, AttachedDoc } from '@anticrm/core'
|
import { IntlString, plugin } from '@anticrm/platform'
|
||||||
import { AnyComponent } from '@anticrm/ui'
|
import { AnyComponent } from '@anticrm/ui'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -71,7 +71,8 @@ export default plugin(chunterId, {
|
|||||||
class: {
|
class: {
|
||||||
Message: '' as Ref<Class<Message>>,
|
Message: '' as Ref<Class<Message>>,
|
||||||
Backlink: '' as Ref<Class<Backlink>>,
|
Backlink: '' as Ref<Class<Backlink>>,
|
||||||
Comment: '' as Ref<Class<Comment>>
|
Comment: '' as Ref<Class<Comment>>,
|
||||||
|
Channel: '' as Ref<Class<Channel>>
|
||||||
},
|
},
|
||||||
space: {
|
space: {
|
||||||
Backlinks: '' as Ref<Space>
|
Backlinks: '' as Ref<Space>
|
||||||
@ -80,5 +81,8 @@ export default plugin(chunterId, {
|
|||||||
EditUpdate: '' as IntlString,
|
EditUpdate: '' as IntlString,
|
||||||
EditCancel: '' as IntlString,
|
EditCancel: '' as IntlString,
|
||||||
Comments: '' as IntlString
|
Comments: '' as IntlString
|
||||||
|
},
|
||||||
|
app: {
|
||||||
|
Chunter: '' as Ref<Doc>
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -18,8 +18,8 @@ import { Contact, formatName } from '@anticrm/contact'
|
|||||||
import { Class, Client, Ref } from '@anticrm/core'
|
import { Class, Client, Ref } from '@anticrm/core'
|
||||||
import { Resources } from '@anticrm/platform'
|
import { Resources } from '@anticrm/platform'
|
||||||
import { Avatar, ObjectSearchResult, UserInfo } from '@anticrm/presentation'
|
import { Avatar, ObjectSearchResult, UserInfo } from '@anticrm/presentation'
|
||||||
import ChannelsEditor from './components/ChannelsEditor.svelte'
|
|
||||||
import Channels from './components/Channels.svelte'
|
import Channels from './components/Channels.svelte'
|
||||||
|
import ChannelsEditor from './components/ChannelsEditor.svelte'
|
||||||
import ChannelsPresenter from './components/ChannelsPresenter.svelte'
|
import ChannelsPresenter from './components/ChannelsPresenter.svelte'
|
||||||
import ChannelsView from './components/ChannelsView.svelte'
|
import ChannelsView from './components/ChannelsView.svelte'
|
||||||
import ContactPresenter from './components/ContactPresenter.svelte'
|
import ContactPresenter from './components/ContactPresenter.svelte'
|
||||||
|
@ -163,5 +163,8 @@ export default plugin(contactId, {
|
|||||||
space: {
|
space: {
|
||||||
Employee: '' as Ref<Space>,
|
Employee: '' as Ref<Space>,
|
||||||
Contacts: '' as Ref<Space>
|
Contacts: '' as Ref<Space>
|
||||||
|
},
|
||||||
|
app: {
|
||||||
|
Contacts: '' as Ref<Doc>
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -39,6 +39,8 @@
|
|||||||
"@anticrm/presentation": "~0.6.2",
|
"@anticrm/presentation": "~0.6.2",
|
||||||
"@anticrm/view": "~0.6.0",
|
"@anticrm/view": "~0.6.0",
|
||||||
"@anticrm/view-resources": "~0.6.0",
|
"@anticrm/view-resources": "~0.6.0",
|
||||||
"@anticrm/core": "~0.6.11"
|
"@anticrm/core": "~0.6.11",
|
||||||
|
"@anticrm/login": "~0.6.1",
|
||||||
|
"@anticrm/workbench": "~0.6.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,17 +14,17 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
//
|
//
|
||||||
|
|
||||||
import { Resources } from '@anticrm/platform'
|
|
||||||
import Categories from './components/Categories.svelte'
|
|
||||||
import CreateCategory from './components/CreateCategory.svelte'
|
|
||||||
import CategoryPresenter from './components/CategoryPresenter.svelte'
|
|
||||||
import Products from './components/Products.svelte'
|
|
||||||
import ProductPresenter from './components/ProductPresenter.svelte'
|
|
||||||
import EditProduct from './components/EditProduct.svelte'
|
|
||||||
import Variants from './components/Variants.svelte'
|
|
||||||
import VariantPresenter from './components/VariantPresenter.svelte'
|
|
||||||
import { Doc } from '@anticrm/core'
|
import { Doc } from '@anticrm/core'
|
||||||
|
import { Resources } from '@anticrm/platform'
|
||||||
import { showPopup } from '@anticrm/ui'
|
import { showPopup } from '@anticrm/ui'
|
||||||
|
import Categories from './components/Categories.svelte'
|
||||||
|
import CategoryPresenter from './components/CategoryPresenter.svelte'
|
||||||
|
import CreateCategory from './components/CreateCategory.svelte'
|
||||||
|
import EditProduct from './components/EditProduct.svelte'
|
||||||
|
import ProductPresenter from './components/ProductPresenter.svelte'
|
||||||
|
import Products from './components/Products.svelte'
|
||||||
|
import VariantPresenter from './components/VariantPresenter.svelte'
|
||||||
|
import Variants from './components/Variants.svelte'
|
||||||
|
|
||||||
async function createSubcategory (object: Doc): Promise<void> {
|
async function createSubcategory (object: Doc): Promise<void> {
|
||||||
showPopup(CreateCategory, { attachedTo: object._id })
|
showPopup(CreateCategory, { attachedTo: object._id })
|
||||||
|
@ -14,9 +14,9 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
//
|
//
|
||||||
|
|
||||||
|
import inventory, { inventoryId } from '@anticrm/inventory'
|
||||||
import { IntlString, mergeIds, StatusCode } from '@anticrm/platform'
|
import { IntlString, mergeIds, StatusCode } from '@anticrm/platform'
|
||||||
|
|
||||||
import inventory, { inventoryId } from '@anticrm/inventory'
|
|
||||||
|
|
||||||
export default mergeIds(inventoryId, inventory, {
|
export default mergeIds(inventoryId, inventory, {
|
||||||
status: {
|
status: {
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
//
|
//
|
||||||
|
|
||||||
import { AttachedDoc, Class, Ref, Space } from '@anticrm/core'
|
import { AttachedDoc, Class, Doc, Ref, Space } from '@anticrm/core'
|
||||||
import type { Asset, Plugin } from '@anticrm/platform'
|
import type { Asset, Plugin } from '@anticrm/platform'
|
||||||
import { plugin } from '@anticrm/platform'
|
import { plugin } from '@anticrm/platform'
|
||||||
|
|
||||||
@ -70,6 +70,9 @@ const inventory = plugin(inventoryId, {
|
|||||||
space: {
|
space: {
|
||||||
Category: '' as Ref<Space>,
|
Category: '' as Ref<Space>,
|
||||||
Products: '' as Ref<Space>
|
Products: '' as Ref<Space>
|
||||||
|
},
|
||||||
|
app: {
|
||||||
|
Inventory: '' as Ref<Doc>
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -40,6 +40,8 @@
|
|||||||
"@anticrm/contact": "~0.6.2",
|
"@anticrm/contact": "~0.6.2",
|
||||||
"@anticrm/view": "~0.6.0",
|
"@anticrm/view": "~0.6.0",
|
||||||
"@anticrm/task": "~0.6.0",
|
"@anticrm/task": "~0.6.0",
|
||||||
|
"@anticrm/login": "~0.6.1",
|
||||||
|
"@anticrm/workbench": "~0.6.1",
|
||||||
"@anticrm/view-resources": "~0.6.0",
|
"@anticrm/view-resources": "~0.6.0",
|
||||||
"@anticrm/attachment-resources": "~0.6.0",
|
"@anticrm/attachment-resources": "~0.6.0",
|
||||||
"@anticrm/contact-resources": "~0.6.0",
|
"@anticrm/contact-resources": "~0.6.0",
|
||||||
|
@ -21,9 +21,9 @@ import Customers from './components/Customers.svelte'
|
|||||||
import EditLead from './components/EditLead.svelte'
|
import EditLead from './components/EditLead.svelte'
|
||||||
import KanbanCard from './components/KanbanCard.svelte'
|
import KanbanCard from './components/KanbanCard.svelte'
|
||||||
import LeadPresenter from './components/LeadPresenter.svelte'
|
import LeadPresenter from './components/LeadPresenter.svelte'
|
||||||
|
import Leads from './components/Leads.svelte'
|
||||||
import LeadsPresenter from './components/LeadsPresenter.svelte'
|
import LeadsPresenter from './components/LeadsPresenter.svelte'
|
||||||
import TemplatesIcon from './components/TemplatesIcon.svelte'
|
import TemplatesIcon from './components/TemplatesIcon.svelte'
|
||||||
import Leads from './components/Leads.svelte'
|
|
||||||
|
|
||||||
export default async (): Promise<Resources> => ({
|
export default async (): Promise<Resources> => ({
|
||||||
component: {
|
component: {
|
||||||
|
@ -13,9 +13,8 @@
|
|||||||
// limitations under the License.
|
// limitations under the License.
|
||||||
//
|
//
|
||||||
|
|
||||||
import { IntlString, mergeIds } from '@anticrm/platform'
|
|
||||||
|
|
||||||
import lead, { leadId } from '@anticrm/lead'
|
import lead, { leadId } from '@anticrm/lead'
|
||||||
|
import { IntlString, mergeIds } from '@anticrm/platform'
|
||||||
import { AnyComponent } from '@anticrm/ui'
|
import { AnyComponent } from '@anticrm/ui'
|
||||||
|
|
||||||
export default mergeIds(leadId, lead, {
|
export default mergeIds(leadId, lead, {
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
import type { Contact } from '@anticrm/contact'
|
import type { Contact } from '@anticrm/contact'
|
||||||
import type { Class, Ref } from '@anticrm/core'
|
import type { Class, Doc, Ref } from '@anticrm/core'
|
||||||
import { Mixin } from '@anticrm/core'
|
import { Mixin } from '@anticrm/core'
|
||||||
import type { Asset, Plugin } from '@anticrm/platform'
|
import type { Asset, Plugin } from '@anticrm/platform'
|
||||||
import { plugin } from '@anticrm/platform'
|
import { plugin } from '@anticrm/platform'
|
||||||
@ -57,6 +57,9 @@ export const leadId = 'lead' as Plugin
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
const lead = plugin(leadId, {
|
const lead = plugin(leadId, {
|
||||||
|
app: {
|
||||||
|
Lead: '' as Ref<Doc>
|
||||||
|
},
|
||||||
class: {
|
class: {
|
||||||
Lead: '' as Ref<Class<Lead>>,
|
Lead: '' as Ref<Class<Lead>>,
|
||||||
Funnel: '' as Ref<Class<Funnel>>
|
Funnel: '' as Ref<Class<Funnel>>
|
||||||
|
@ -37,6 +37,7 @@ export const loginId = 'login' as Plugin
|
|||||||
export default plugin(loginId, {
|
export default plugin(loginId, {
|
||||||
metadata: {
|
metadata: {
|
||||||
AccountsUrl: '' as Asset,
|
AccountsUrl: '' as Asset,
|
||||||
|
FrontUrl: '' as Asset,
|
||||||
UploadUrl: '' as Asset,
|
UploadUrl: '' as Asset,
|
||||||
TelegramUrl: '' as Asset,
|
TelegramUrl: '' as Asset,
|
||||||
GmailUrl: '' as Asset,
|
GmailUrl: '' as Asset,
|
||||||
|
@ -3,6 +3,9 @@
|
|||||||
"LastView": "Last View",
|
"LastView": "Last View",
|
||||||
"Notification": "Notification",
|
"Notification": "Notification",
|
||||||
"Notifications": "Notifications",
|
"Notifications": "Notifications",
|
||||||
"NoNotifications": "No notifications"
|
"NoNotifications": "No notifications",
|
||||||
|
"MentionNotification": "Mentioned",
|
||||||
|
"EmailNotification": "by email",
|
||||||
|
"PlatformNotification": "in platform"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -40,6 +40,7 @@
|
|||||||
"@anticrm/activity-resources": "~0.6.0",
|
"@anticrm/activity-resources": "~0.6.0",
|
||||||
"@anticrm/activity": "~0.6.0",
|
"@anticrm/activity": "~0.6.0",
|
||||||
"@anticrm/contact": "~0.6.0",
|
"@anticrm/contact": "~0.6.0",
|
||||||
|
"just-clone": "^3.2.1",
|
||||||
"@anticrm/core": "~0.6.11"
|
"@anticrm/core": "~0.6.11"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,135 @@
|
|||||||
|
<!--
|
||||||
|
// Copyright © 2020, 2021 Anticrm Platform Contributors.
|
||||||
|
//
|
||||||
|
// Licensed under the Eclipse Public License, Version 2.0 (the "License");
|
||||||
|
// you may not use this file except in compliance with the License. You may
|
||||||
|
// obtain a copy of the License at https://www.eclipse.org/legal/epl-2.0
|
||||||
|
//
|
||||||
|
// Unless required by applicable law or agreed to in writing, software
|
||||||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
//
|
||||||
|
// See the License for the specific language governing permissions and
|
||||||
|
// limitations under the License.
|
||||||
|
-->
|
||||||
|
<script lang="ts">
|
||||||
|
import { getCurrentAccount,Ref,Space,Tx, TxProcessor } from '@anticrm/core'
|
||||||
|
import type { NotificationProvider,NotificationSetting,NotificationType } from '@anticrm/notification'
|
||||||
|
import presentation,{ createQuery,getClient } from '@anticrm/presentation'
|
||||||
|
import { Button,Grid,Icon,Label,ToggleWithLabel } from '@anticrm/ui'
|
||||||
|
import notification from '../plugin'
|
||||||
|
import justClone from 'just-clone'
|
||||||
|
|
||||||
|
const accountId = getCurrentAccount()._id
|
||||||
|
const typeQuery = createQuery()
|
||||||
|
const providersQuery = createQuery()
|
||||||
|
const settingsQuery = createQuery()
|
||||||
|
const client = getClient()
|
||||||
|
const space = accountId as string as Ref<Space>
|
||||||
|
|
||||||
|
let types: NotificationType[] = []
|
||||||
|
let providers: NotificationProvider[] = []
|
||||||
|
let settings: Map<Ref<NotificationType>, Map<Ref<NotificationProvider>, NotificationSetting>> = new Map<Ref<NotificationType>, Map<Ref<NotificationProvider>, NotificationSetting>>()
|
||||||
|
let oldSettings: Map<Ref<NotificationType>, Map<Ref<NotificationProvider>, NotificationSetting>> = new Map<Ref<NotificationType>, Map<Ref<NotificationProvider>, NotificationSetting>>()
|
||||||
|
|
||||||
|
typeQuery.query(notification.class.NotificationType, {}, (res) => (types = res))
|
||||||
|
providersQuery.query(notification.class.NotificationProvider, { }, (res) => (providers = res))
|
||||||
|
settingsQuery.query(notification.class.NotificationSetting, { space }, (res) => {
|
||||||
|
settings = convertToMap(res)
|
||||||
|
oldSettings = convertToMap(justClone(res))
|
||||||
|
})
|
||||||
|
|
||||||
|
function convertToMap (settings: NotificationSetting[]): Map<Ref<NotificationType>, Map<Ref<NotificationProvider>, NotificationSetting>> {
|
||||||
|
const result = new Map<Ref<NotificationType>, Map<Ref<NotificationProvider>, NotificationSetting>>()
|
||||||
|
for (const setting of settings) {
|
||||||
|
setSetting(result, setting)
|
||||||
|
}
|
||||||
|
return result
|
||||||
|
}
|
||||||
|
|
||||||
|
function change (type: Ref<NotificationType>, provider: Ref<NotificationProvider>, value: boolean): void {
|
||||||
|
const current = getSetting(settings, type, provider)
|
||||||
|
if (current === undefined) {
|
||||||
|
const tx = client.txFactory.createTxCreateDoc(notification.class.NotificationSetting, space, {
|
||||||
|
provider,
|
||||||
|
type,
|
||||||
|
enabled: value
|
||||||
|
})
|
||||||
|
const setting = TxProcessor.createDoc2Doc(tx)
|
||||||
|
setSetting(settings, setting)
|
||||||
|
} else {
|
||||||
|
current.enabled = value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getSetting (map: Map<Ref<NotificationType>, Map<Ref<NotificationProvider>, NotificationSetting>>, type: Ref<NotificationType>, provider: Ref<NotificationProvider>): NotificationSetting | undefined {
|
||||||
|
const typeMap = map.get(type)
|
||||||
|
if (typeMap === undefined) return
|
||||||
|
return typeMap.get(provider)
|
||||||
|
}
|
||||||
|
|
||||||
|
function setSetting (result: Map<Ref<NotificationType>, Map<Ref<NotificationProvider>, NotificationSetting>>, setting: NotificationSetting): void {
|
||||||
|
let typeMap = result.get(setting.type)
|
||||||
|
if (typeMap === undefined) {
|
||||||
|
typeMap = new Map<Ref<NotificationProvider>, NotificationSetting>()
|
||||||
|
result.set(setting.type, typeMap)
|
||||||
|
}
|
||||||
|
typeMap.set(setting.provider, setting)
|
||||||
|
}
|
||||||
|
|
||||||
|
async function save (): Promise<void> {
|
||||||
|
const promises: Promise<any>[] = []
|
||||||
|
for (const type of settings.values()) {
|
||||||
|
for (const setting of type.values()) {
|
||||||
|
const old = getSetting(oldSettings, setting.type, setting.provider)
|
||||||
|
if (old === undefined) {
|
||||||
|
promises.push(client.createDoc(setting._class, setting.space, setting))
|
||||||
|
} else if (old.enabled !== setting.enabled) {
|
||||||
|
promises.push(client.updateDoc(old._class, old.space, old._id, {
|
||||||
|
enabled: setting.enabled
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await Promise.all(promises)
|
||||||
|
}
|
||||||
|
|
||||||
|
$: column = providers.length + 1
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="antiComponent">
|
||||||
|
<div class="ac-header short divide">
|
||||||
|
<div class="ac-header__icon"><Icon icon={notification.icon.Notifications} size={'medium'} /></div>
|
||||||
|
<div class="ac-header__title"><Label label={notification.string.Notifications}/></div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row-streach flex-grow container">
|
||||||
|
<div class="flex-col flex-grow">
|
||||||
|
<div class="flex-grow">
|
||||||
|
<Grid {column} columnGap={5} rowGap={1.5} >
|
||||||
|
{#each types as type (type._id)}
|
||||||
|
<Label label={type.label} />
|
||||||
|
{#each providers as provider (provider._id)}
|
||||||
|
<ToggleWithLabel label={provider.label} on={getSetting(settings, type._id, provider._id)?.enabled} on:change={(e) => change(type._id, provider._id, e.detail)} />
|
||||||
|
{/each}
|
||||||
|
{/each}
|
||||||
|
</Grid>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row-reverse">
|
||||||
|
<Button
|
||||||
|
label={presentation.string.Save}
|
||||||
|
primary
|
||||||
|
on:click={() => {
|
||||||
|
save()
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.container {
|
||||||
|
padding: 3rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
@ -16,11 +16,13 @@
|
|||||||
|
|
||||||
import { Resources } from '@anticrm/platform'
|
import { Resources } from '@anticrm/platform'
|
||||||
import NotificationsPopup from './components/NotificationsPopup.svelte'
|
import NotificationsPopup from './components/NotificationsPopup.svelte'
|
||||||
|
import NotificationSettings from './components/NotificationSettings.svelte'
|
||||||
|
|
||||||
export * from './utils'
|
export * from './utils'
|
||||||
|
|
||||||
export default async (): Promise<Resources> => ({
|
export default async (): Promise<Resources> => ({
|
||||||
component: {
|
component: {
|
||||||
NotificationsPopup
|
NotificationsPopup,
|
||||||
|
NotificationSettings
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -35,15 +35,49 @@ export interface Notification extends AttachedDoc {
|
|||||||
status: NotificationStatus
|
status: NotificationStatus
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
export interface EmailNotification extends Doc {
|
||||||
|
sender: string
|
||||||
|
receivers: string[]
|
||||||
|
subject: string
|
||||||
|
text: string
|
||||||
|
html?: string
|
||||||
|
status: 'new' | 'sent'
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
export enum NotificationStatus {
|
export enum NotificationStatus {
|
||||||
New,
|
New,
|
||||||
EmailSent,
|
|
||||||
Read
|
Read
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
export interface NotificationType extends Doc {
|
||||||
|
label: IntlString
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
export interface NotificationProvider extends Doc {
|
||||||
|
label: IntlString
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
export interface NotificationSetting extends Doc {
|
||||||
|
type: Ref<NotificationType>
|
||||||
|
provider: Ref<NotificationProvider>
|
||||||
|
enabled: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
@ -55,7 +89,17 @@ export const notificationId = 'notification' as Plugin
|
|||||||
const notification = plugin(notificationId, {
|
const notification = plugin(notificationId, {
|
||||||
class: {
|
class: {
|
||||||
LastView: '' as Ref<Class<LastView>>,
|
LastView: '' as Ref<Class<LastView>>,
|
||||||
Notification: '' as Ref<Class<Notification>>
|
Notification: '' as Ref<Class<Notification>>,
|
||||||
|
EmailNotification: '' as Ref<Class<EmailNotification>>,
|
||||||
|
NotificationType: '' as Ref<Class<NotificationType>>,
|
||||||
|
NotificationProvider: '' as Ref<Class<NotificationProvider>>,
|
||||||
|
NotificationSetting: '' as Ref<Class<NotificationSetting>>
|
||||||
|
},
|
||||||
|
ids: {
|
||||||
|
MentionNotification: '' as Ref<NotificationType>,
|
||||||
|
PlatformNotification: '' as Ref<NotificationProvider>,
|
||||||
|
EmailNotification: '' as Ref<NotificationProvider>,
|
||||||
|
NotificationSettings: '' as Ref<Doc>
|
||||||
},
|
},
|
||||||
component: {
|
component: {
|
||||||
NotificationsPopup: '' as AnyComponent
|
NotificationsPopup: '' as AnyComponent
|
||||||
|
@ -41,6 +41,7 @@
|
|||||||
"@anticrm/chunter": "~0.6.0",
|
"@anticrm/chunter": "~0.6.0",
|
||||||
"@anticrm/contact": "~0.6.2",
|
"@anticrm/contact": "~0.6.2",
|
||||||
"@anticrm/login": "~0.6.1",
|
"@anticrm/login": "~0.6.1",
|
||||||
|
"@anticrm/workbench": "~0.6.1",
|
||||||
"deep-equal": "^2.0.5",
|
"deep-equal": "^2.0.5",
|
||||||
"@anticrm/panel": "~0.6.0",
|
"@anticrm/panel": "~0.6.0",
|
||||||
"@anticrm/activity": "~0.6.0",
|
"@anticrm/activity": "~0.6.0",
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
import type { Client, Doc } from '@anticrm/core'
|
import type { Client, Doc } from '@anticrm/core'
|
||||||
import { IntlString, OK, Resources, Severity, Status, translate } from '@anticrm/platform'
|
import { getMetadata, IntlString, OK, Resources, Severity, Status, translate } from '@anticrm/platform'
|
||||||
import { Applicant } from '@anticrm/recruit'
|
import { Applicant, Vacancy } from '@anticrm/recruit'
|
||||||
import { showPopup } from '@anticrm/ui'
|
import { showPopup } from '@anticrm/ui'
|
||||||
import ApplicationPresenter from './components/ApplicationPresenter.svelte'
|
import ApplicationPresenter from './components/ApplicationPresenter.svelte'
|
||||||
import Applications from './components/Applications.svelte'
|
import Applications from './components/Applications.svelte'
|
||||||
@ -34,6 +34,9 @@ import task from '@anticrm/task'
|
|||||||
import ApplicationItem from './components/ApplicationItem.svelte'
|
import ApplicationItem from './components/ApplicationItem.svelte'
|
||||||
import VacancyPresenter from './components/VacancyPresenter.svelte'
|
import VacancyPresenter from './components/VacancyPresenter.svelte'
|
||||||
import SkillsView from './components/SkillsView.svelte'
|
import SkillsView from './components/SkillsView.svelte'
|
||||||
|
import login from '@anticrm/login'
|
||||||
|
import workbench from '@anticrm/workbench'
|
||||||
|
import view from '@anticrm/view'
|
||||||
|
|
||||||
async function createApplication (object: Doc): Promise<void> {
|
async function createApplication (object: Doc): Promise<void> {
|
||||||
showPopup(CreateApplication, { candidate: object._id, preserveCandidate: true })
|
showPopup(CreateApplication, { candidate: object._id, preserveCandidate: true })
|
||||||
|
@ -17,7 +17,6 @@ import { Ref, Space } from '@anticrm/core'
|
|||||||
import type { IntlString, StatusCode } from '@anticrm/platform'
|
import type { IntlString, StatusCode } from '@anticrm/platform'
|
||||||
import { mergeIds } from '@anticrm/platform'
|
import { mergeIds } from '@anticrm/platform'
|
||||||
import recruit, { recruitId } from '@anticrm/recruit'
|
import recruit, { recruitId } from '@anticrm/recruit'
|
||||||
import { AnyComponent } from '@anticrm/ui'
|
|
||||||
|
|
||||||
export default mergeIds(recruitId, recruit, {
|
export default mergeIds(recruitId, recruit, {
|
||||||
status: {
|
status: {
|
||||||
@ -63,8 +62,5 @@ export default mergeIds(recruitId, recruit, {
|
|||||||
},
|
},
|
||||||
space: {
|
space: {
|
||||||
CandidatesPublic: '' as Ref<Space>
|
CandidatesPublic: '' as Ref<Space>
|
||||||
},
|
|
||||||
component: {
|
|
||||||
EditVacancy: '' as AnyComponent
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
"@anticrm/core": "~0.6.11",
|
"@anticrm/core": "~0.6.11",
|
||||||
"@anticrm/contact": "~0.6.2",
|
"@anticrm/contact": "~0.6.2",
|
||||||
"@anticrm/chunter": "~0.6.0",
|
"@anticrm/chunter": "~0.6.0",
|
||||||
"@anticrm/task": "~0.6.0"
|
"@anticrm/task": "~0.6.0",
|
||||||
|
"@anticrm/ui": "~0.6.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,10 +14,11 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
import type { Person } from '@anticrm/contact'
|
import type { Person } from '@anticrm/contact'
|
||||||
import type { Class, Mixin, Ref, Space, Timestamp } from '@anticrm/core'
|
import type { Class, Doc, Mixin, Ref, Space, Timestamp } from '@anticrm/core'
|
||||||
import type { Asset, Plugin } from '@anticrm/platform'
|
import type { Asset, Plugin } from '@anticrm/platform'
|
||||||
import { plugin } from '@anticrm/platform'
|
import { plugin } from '@anticrm/platform'
|
||||||
import type { KanbanTemplateSpace, SpaceWithStates, Task } from '@anticrm/task'
|
import type { KanbanTemplateSpace, SpaceWithStates, Task } from '@anticrm/task'
|
||||||
|
import { AnyComponent } from '@anticrm/ui'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @public
|
* @public
|
||||||
@ -64,6 +65,9 @@ export const recruitId = 'recruit' as Plugin
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
const recruit = plugin(recruitId, {
|
const recruit = plugin(recruitId, {
|
||||||
|
app: {
|
||||||
|
Recruit: '' as Ref<Doc>
|
||||||
|
},
|
||||||
class: {
|
class: {
|
||||||
Applicant: '' as Ref<Class<Applicant>>,
|
Applicant: '' as Ref<Class<Applicant>>,
|
||||||
Candidates: '' as Ref<Class<Candidates>>,
|
Candidates: '' as Ref<Class<Candidates>>,
|
||||||
@ -72,6 +76,9 @@ const recruit = plugin(recruitId, {
|
|||||||
mixin: {
|
mixin: {
|
||||||
Candidate: '' as Ref<Mixin<Candidate>>
|
Candidate: '' as Ref<Mixin<Candidate>>
|
||||||
},
|
},
|
||||||
|
component: {
|
||||||
|
EditVacancy: '' as AnyComponent
|
||||||
|
},
|
||||||
icon: {
|
icon: {
|
||||||
RecruitApplication: '' as Asset,
|
RecruitApplication: '' as Asset,
|
||||||
Vacancy: '' as Asset,
|
Vacancy: '' as Asset,
|
||||||
|
@ -15,32 +15,35 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
import { Class, Client, Doc, Ref } from '@anticrm/core'
|
import { Class, Client, Doc, Ref } from '@anticrm/core'
|
||||||
import { IntlString, Resources, translate } from '@anticrm/platform'
|
import login from '@anticrm/login'
|
||||||
|
import { getMetadata, IntlString, Resources, translate } from '@anticrm/platform'
|
||||||
import { getClient, MessageBox, ObjectSearchResult } from '@anticrm/presentation'
|
import { getClient, MessageBox, ObjectSearchResult } from '@anticrm/presentation'
|
||||||
import task, { SpaceWithStates, Task, TodoItem } from '@anticrm/task'
|
import { Issue, SpaceWithStates, Task, TodoItem } from '@anticrm/task'
|
||||||
|
import task from './plugin'
|
||||||
import { showPopup } from '@anticrm/ui'
|
import { showPopup } from '@anticrm/ui'
|
||||||
import TaskItem from './components/TaskItem.svelte'
|
import view from '@anticrm/view'
|
||||||
|
import workbench from '@anticrm/workbench'
|
||||||
import CreateProject from './components/CreateProject.svelte'
|
import CreateProject from './components/CreateProject.svelte'
|
||||||
import CreateTask from './components/CreateTask.svelte'
|
import CreateTask from './components/CreateTask.svelte'
|
||||||
import EditIssue from './components/EditIssue.svelte'
|
import EditIssue from './components/EditIssue.svelte'
|
||||||
|
import KanbanTemplateEditor from './components/kanban/KanbanTemplateEditor.svelte'
|
||||||
|
import KanbanTemplateSelector from './components/kanban/KanbanTemplateSelector.svelte'
|
||||||
import KanbanView from './components/kanban/KanbanView.svelte'
|
import KanbanView from './components/kanban/KanbanView.svelte'
|
||||||
import KanbanCard from './components/KanbanCard.svelte'
|
import KanbanCard from './components/KanbanCard.svelte'
|
||||||
import DoneStatePresenter from './components/state/DoneStatePresenter.svelte'
|
|
||||||
import DoneStateEditor from './components/state/DoneStateEditor.svelte'
|
import DoneStateEditor from './components/state/DoneStateEditor.svelte'
|
||||||
|
import DoneStatePresenter from './components/state/DoneStatePresenter.svelte'
|
||||||
import EditStatuses from './components/state/EditStatuses.svelte'
|
import EditStatuses from './components/state/EditStatuses.svelte'
|
||||||
import StateEditor from './components/state/StateEditor.svelte'
|
import StateEditor from './components/state/StateEditor.svelte'
|
||||||
import StatePresenter from './components/state/StatePresenter.svelte'
|
import StatePresenter from './components/state/StatePresenter.svelte'
|
||||||
import StatusTableView from './components/StatusTableView.svelte'
|
import StatusTableView from './components/StatusTableView.svelte'
|
||||||
import TaskHeader from './components/TaskHeader.svelte'
|
import TaskHeader from './components/TaskHeader.svelte'
|
||||||
|
import TaskItem from './components/TaskItem.svelte'
|
||||||
import TaskPresenter from './components/TaskPresenter.svelte'
|
import TaskPresenter from './components/TaskPresenter.svelte'
|
||||||
import TemplatesIcon from './components/TemplatesIcon.svelte'
|
import TemplatesIcon from './components/TemplatesIcon.svelte'
|
||||||
import TodoItemPresenter from './components/todos/TodoItemPresenter.svelte'
|
import TodoItemPresenter from './components/todos/TodoItemPresenter.svelte'
|
||||||
import Todos from './components/todos/Todos.svelte'
|
import Todos from './components/todos/Todos.svelte'
|
||||||
import TodoStatePresenter from './components/todos/TodoStatePresenter.svelte'
|
import TodoStatePresenter from './components/todos/TodoStatePresenter.svelte'
|
||||||
|
|
||||||
import KanbanTemplateEditor from './components/kanban/KanbanTemplateEditor.svelte'
|
|
||||||
import KanbanTemplateSelector from './components/kanban/KanbanTemplateSelector.svelte'
|
|
||||||
|
|
||||||
async function createTask (object: Doc): Promise<void> {
|
async function createTask (object: Doc): Promise<void> {
|
||||||
showPopup(CreateTask, { parent: object._id, space: object.space })
|
showPopup(CreateTask, { parent: object._id, space: object.space })
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,6 @@ import type { Asset, IntlString, Plugin } from '@anticrm/platform'
|
|||||||
import { plugin } from '@anticrm/platform'
|
import { plugin } from '@anticrm/platform'
|
||||||
import type { AnyComponent } from '@anticrm/ui'
|
import type { AnyComponent } from '@anticrm/ui'
|
||||||
import { ViewletDescriptor } from '@anticrm/view'
|
import { ViewletDescriptor } from '@anticrm/view'
|
||||||
|
|
||||||
import { genRanks } from './utils'
|
import { genRanks } from './utils'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -176,6 +175,9 @@ export const taskId = 'task' as Plugin
|
|||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
const task = plugin(taskId, {
|
const task = plugin(taskId, {
|
||||||
|
app: {
|
||||||
|
Tasks: '' as Ref<Doc>
|
||||||
|
},
|
||||||
mixin: {
|
mixin: {
|
||||||
KanbanCard: '' as Ref<Mixin<KanbanCard>>
|
KanbanCard: '' as Ref<Mixin<KanbanCard>>
|
||||||
},
|
},
|
||||||
|
@ -88,6 +88,20 @@ export interface ActionTarget<T extends Doc = Doc> extends Doc {
|
|||||||
query?: DocumentQuery<T>
|
query?: DocumentQuery<T>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
export interface HTMLPresenter extends Class<Doc> {
|
||||||
|
presenter: Resource<(doc: Doc) => string>
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @public
|
||||||
|
*/
|
||||||
|
export interface TextPresenter extends Class<Doc> {
|
||||||
|
presenter: Resource<(doc: Doc) => string>
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @public
|
* @public
|
||||||
*/
|
*/
|
||||||
@ -164,7 +178,9 @@ const view = plugin(viewId, {
|
|||||||
ObjectEditorHeader: '' as Ref<Mixin<ObjectEditorHeader>>,
|
ObjectEditorHeader: '' as Ref<Mixin<ObjectEditorHeader>>,
|
||||||
ObjectValidator: '' as Ref<Mixin<ObjectValidator>>,
|
ObjectValidator: '' as Ref<Mixin<ObjectValidator>>,
|
||||||
ObjectFactory: '' as Ref<Mixin<ObjectFactory>>,
|
ObjectFactory: '' as Ref<Mixin<ObjectFactory>>,
|
||||||
ObjectDDParticipant: '' as Ref<ObjectDDParticipant>
|
ObjectDDParticipant: '' as Ref<ObjectDDParticipant>,
|
||||||
|
HTMLPresenter: '' as Ref<Mixin<HTMLPresenter>>,
|
||||||
|
TextPresenter: '' as Ref<Mixin<TextPresenter>>
|
||||||
},
|
},
|
||||||
class: {
|
class: {
|
||||||
ViewletDescriptor: '' as Ref<Class<ViewletDescriptor>>,
|
ViewletDescriptor: '' as Ref<Class<ViewletDescriptor>>,
|
||||||
|
@ -205,7 +205,7 @@
|
|||||||
notification.class.Notification,
|
notification.class.Notification,
|
||||||
{
|
{
|
||||||
attachedTo: (getCurrentAccount() as EmployeeAccount).employee,
|
attachedTo: (getCurrentAccount() as EmployeeAccount).employee,
|
||||||
status: { $in: [NotificationStatus.New, NotificationStatus.EmailSent] }
|
status: NotificationStatus.New
|
||||||
},
|
},
|
||||||
(res) => {
|
(res) => {
|
||||||
hasNotification = res.length > 0
|
hasNotification = res.length > 0
|
||||||
|
87
rush.json
87
rush.json
@ -723,7 +723,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"packageName": "@anticrm/server-attachment",
|
"packageName": "@anticrm/server-attachment",
|
||||||
"projectFolder": "server/attachment",
|
"projectFolder": "server-plugins/attachment",
|
||||||
"shouldPublish": true
|
"shouldPublish": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -733,12 +733,12 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"packageName": "@anticrm/server-attachment-resources",
|
"packageName": "@anticrm/server-attachment-resources",
|
||||||
"projectFolder": "server/attachment-resources",
|
"projectFolder": "server-plugins/attachment-resources",
|
||||||
"shouldPublish": true
|
"shouldPublish": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"packageName": "@anticrm/server-contact",
|
"packageName": "@anticrm/server-contact",
|
||||||
"projectFolder": "server/contact",
|
"projectFolder": "server-plugins/contact",
|
||||||
"shouldPublish": true
|
"shouldPublish": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -748,7 +748,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"packageName": "@anticrm/server-contact-resources",
|
"packageName": "@anticrm/server-contact-resources",
|
||||||
"projectFolder": "server/contact-resources",
|
"projectFolder": "server-plugins/contact-resources",
|
||||||
"shouldPublish": true
|
"shouldPublish": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1008,7 +1008,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"packageName": "@anticrm/server-notification",
|
"packageName": "@anticrm/server-notification",
|
||||||
"projectFolder": "server/notification",
|
"projectFolder": "server-plugins/notification",
|
||||||
"shouldPublish": true
|
"shouldPublish": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1018,7 +1018,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"packageName": "@anticrm/server-notification-resources",
|
"packageName": "@anticrm/server-notification-resources",
|
||||||
"projectFolder": "server/notification-resources",
|
"projectFolder": "server-plugins/notification-resources",
|
||||||
"shouldPublish": true
|
"shouldPublish": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1041,5 +1041,80 @@
|
|||||||
"projectFolder": "models/tags",
|
"projectFolder": "models/tags",
|
||||||
"shouldPublish": true
|
"shouldPublish": true
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/server-chunter",
|
||||||
|
"projectFolder": "server-plugins/chunter",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/model-server-chunter",
|
||||||
|
"projectFolder": "models/server-chunter",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/server-chunter-resources",
|
||||||
|
"projectFolder": "server-plugins/chunter-resources",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/server-inventory",
|
||||||
|
"projectFolder": "server-plugins/inventory",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/model-server-inventory",
|
||||||
|
"projectFolder": "models/server-inventory",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/server-inventory-resources",
|
||||||
|
"projectFolder": "server-plugins/inventory-resources",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/server-lead",
|
||||||
|
"projectFolder": "server-plugins/lead",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/model-server-lead",
|
||||||
|
"projectFolder": "models/server-lead",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/server-lead-resources",
|
||||||
|
"projectFolder": "server-plugins/lead-resources",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/server-recruit",
|
||||||
|
"projectFolder": "server-plugins/recruit",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/model-server-recruit",
|
||||||
|
"projectFolder": "models/server-recruit",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/server-recruit-resources",
|
||||||
|
"projectFolder": "server-plugins/recruit-resources",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/server-task",
|
||||||
|
"projectFolder": "server-plugins/task",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/model-server-task",
|
||||||
|
"projectFolder": "models/server-task",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"packageName": "@anticrm/server-task-resources",
|
||||||
|
"projectFolder": "server-plugins/task-resources",
|
||||||
|
"shouldPublish": true
|
||||||
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
4
server-plugins/attachment/.npmignore
Normal file
4
server-plugins/attachment/.npmignore
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
*
|
||||||
|
!/lib/**
|
||||||
|
!CHANGELOG.md
|
||||||
|
/lib/**/__tests__/
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user