mirror of
https://github.com/hcengineering/platform.git
synced 2026-10-01 05:55:09 +02:00
UBERF-11414: Integrations (#9610)
* UBERF-11414: Use common integration kind Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Allow multiple gmail Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Merge with develop Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Refactor integration kinds Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add integrations package Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Integrations Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Integration state and config Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add integration events Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Refresh integration states Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Rename to integration-client Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add filter button Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add translations for filters Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Synced channels count Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Actions Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add isLoading for connect Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Create connection and integration Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Use social id from hulygram Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Remove old integrations Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Gmail state Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Gmail state and disconnect all handler Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Add tests Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Formatting Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Gmail sync state Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix rush check Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix gmail tests Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix calendar actions and config Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Calendar state Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Access config Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Github integration state Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix svelte errors Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix formatting Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix typos Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix validate Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Fix translations Signed-off-by: Artem Savchenko <armisav@gmail.com> * UBERF-11414: Retry on network issues Signed-off-by: Artem Savchenko <armisav@gmail.com> --------- Signed-off-by: Artem Savchenko <armisav@gmail.com>
This commit is contained in:
@@ -11,7 +11,8 @@ import core, {
|
||||
type Ref,
|
||||
type Tx,
|
||||
type TxCUD,
|
||||
type WorkspaceUuid
|
||||
type WorkspaceUuid,
|
||||
type IntegrationKind
|
||||
} from '@hcengineering/core'
|
||||
import { getAccountsFromTxes, getSocialKeyByOldEmail } from '@hcengineering/model-core'
|
||||
import { getAccountClient } from '@hcengineering/server-client'
|
||||
@@ -149,13 +150,15 @@ export async function performGithubAccountMigrations (
|
||||
}
|
||||
|
||||
const sid = socialKeyByAccount[it.accountId]
|
||||
const kind: IntegrationKind = 'github' as any
|
||||
const userKind: IntegrationKind = 'github-user' as any
|
||||
|
||||
const person = sid !== undefined ? await accountClient.findSocialIdBySocialKey(sid) : undefined
|
||||
if (person !== undefined) {
|
||||
// Check/create integeration in account
|
||||
|
||||
const existing = await githubAccountClient.getIntegration({
|
||||
kind: 'github',
|
||||
kind,
|
||||
workspaceUuid: ws?.uuid,
|
||||
socialId: person
|
||||
})
|
||||
@@ -163,7 +166,7 @@ export async function performGithubAccountMigrations (
|
||||
if (existing == null) {
|
||||
try {
|
||||
await githubAccountClient.createIntegration({
|
||||
kind: 'github',
|
||||
kind,
|
||||
workspaceUuid: ws?.uuid,
|
||||
socialId: person,
|
||||
data: {
|
||||
@@ -191,7 +194,7 @@ export async function performGithubAccountMigrations (
|
||||
const { _id, accounts, ...data } = u
|
||||
|
||||
const existing = await githubAccountClient.getIntegration({
|
||||
kind: 'github-user',
|
||||
kind: userKind,
|
||||
workspaceUuid: null,
|
||||
socialId: person
|
||||
})
|
||||
@@ -199,7 +202,7 @@ export async function performGithubAccountMigrations (
|
||||
if (existing == null) {
|
||||
try {
|
||||
await githubAccountClient.createIntegration({
|
||||
kind: 'github-user',
|
||||
kind: userKind,
|
||||
workspaceUuid: null,
|
||||
socialId: person,
|
||||
data: {
|
||||
@@ -208,7 +211,7 @@ export async function performGithubAccountMigrations (
|
||||
})
|
||||
// Check/create integeration in account
|
||||
await githubAccountClient.addIntegrationSecret({
|
||||
kind: 'github-user',
|
||||
kind: userKind,
|
||||
workspaceUuid: null,
|
||||
socialId: person,
|
||||
key: u._id, // github login
|
||||
|
||||
Reference in New Issue
Block a user