Adjust tg bot (#8412)

* Remove notification provider func

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>

* Adjust tg-bot

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>

* Use global integration

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>

* Use workspace integration

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>

* getSocialIdBySocialKey -> findFullSocialIdBySocialKey

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>

* move findFullSocialIdBySocialKey to service operations

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>

* use listIntegrations with account token

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>

* Adjust api

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>

* Fxi tests

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>

---------

Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>
This commit is contained in:
Kristina
2025-04-10 12:54:53 +07:00
committed by GitHub
parent 80f67e3d66
commit 2aa8ae5243
59 changed files with 1666 additions and 1183 deletions
+7 -8
View File
@@ -14,11 +14,12 @@
// limitations under the License.
//
import { Metadata, Plugin, Resource, plugin } from '@hcengineering/platform'
import { Plugin, Resource, plugin } from '@hcengineering/platform'
import { ObjectDDParticipantFunc, TriggerFunc } from '@hcengineering/server-core'
import { NotificationProviderFunc, TypeMatchFunc } from '@hcengineering/server-notification'
import { TypeMatchFunc } from '@hcengineering/server-notification'
import { TemplateFieldServerFunc } from '@hcengineering/server-templates'
export * from './types'
/**
* @public
*/
@@ -28,17 +29,15 @@ export const serverTelegramId = 'server-telegram' as Plugin
* @public
*/
export default plugin(serverTelegramId, {
metadata: {
BotUrl: '' as Metadata<string>
},
trigger: {
OnMessageCreate: '' as Resource<TriggerFunc>
OnMessageCreate: '' as Resource<TriggerFunc>,
NotificationsHandler: '' as Resource<TriggerFunc>,
ProviderSettingsHandler: '' as Resource<TriggerFunc>
},
function: {
IsIncomingMessageTypeMatch: '' as TypeMatchFunc,
FindMessages: '' as Resource<ObjectDDParticipantFunc>,
GetCurrentEmployeeTG: '' as Resource<TemplateFieldServerFunc>,
GetIntegrationOwnerTG: '' as Resource<TemplateFieldServerFunc>,
SendTelegramNotifications: '' as Resource<NotificationProviderFunc>
GetIntegrationOwnerTG: '' as Resource<TemplateFieldServerFunc>
}
})
+44
View File
@@ -0,0 +1,44 @@
//
// Copyright © 2025 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 { ActivityMessage } from '@hcengineering/activity'
import { AccountUuid, Ref } from '@hcengineering/core'
import { InboxNotification } from '@hcengineering/notification'
export type TelegramQueueMessage = TelegramNotificationQueueMessage | TelegramWorkspaceSubscriptionQueueMessage
export enum TelegramQueueMessageType {
Notification = 'notification',
WorkspaceSubscription = 'workspaceSubscription'
}
export interface TelegramNotificationQueueMessage {
type: TelegramQueueMessageType.Notification
notificationId: Ref<InboxNotification>
messageId?: Ref<ActivityMessage>
attachments: boolean
account: AccountUuid
title: string
quote?: string
body: string
sender: string
link: string
}
export interface TelegramWorkspaceSubscriptionQueueMessage {
type: TelegramQueueMessageType.WorkspaceSubscription
account: AccountUuid
subscribe: boolean
}