UNPKG

@microsoft/teams.api

Version:

<p> <a href="https://www.npmjs.com/package/@microsoft/teams.api" target="_blank"> <img src="https://img.shields.io/npm/v/@microsoft/teams.api/latest" /> </a> <a href="https://www.npmjs.com/package/@microsoft/teams.api?activeTab=code" t

1 lines 4.99 kB
{"version":3,"sources":["../../../src/clients/conversation/index.ts"],"names":[],"mappings":";;;;;;;AAmCO,MAAM,kBAAmB,CAAA;AAAA,EACrB,UAAA;AAAA,EAET,IAAI,IAAO,GAAA;AACT,IAAA,OAAO,IAAK,CAAA,KAAA;AAAA;AACd,EACA,IAAI,KAAK,CAAG,EAAA;AACV,IAAA,IAAA,CAAK,KAAQ,GAAA,CAAA;AAAA;AACf,EACU,KAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EAEV,WAAA,CAAY,YAAoB,OAAkC,EAAA;AAChE,IAAA,IAAA,CAAK,UAAa,GAAA,UAAA;AAElB,IAAA,IAAI,CAAC,OAAS,EAAA;AACZ,MAAK,IAAA,CAAA,KAAA,GAAQ,IAAI,MAAO,EAAA;AAAA,KAC1B,MAAA,IAAW,aAAa,OAAS,EAAA;AAC/B,MAAA,IAAA,CAAK,KAAQ,GAAA,OAAA;AAAA,KACR,MAAA;AACL,MAAK,IAAA,CAAA,KAAA,GAAQ,IAAI,MAAA,CAAO,OAAO,CAAA;AAAA;AAGjC,IAAA,IAAA,CAAK,WAAc,GAAA,IAAI,0BAA2B,CAAA,UAAA,EAAY,KAAK,IAAI,CAAA;AACvE,IAAA,IAAA,CAAK,QAAW,GAAA,IAAI,wBAAyB,CAAA,UAAA,EAAY,KAAK,IAAI,CAAA;AAAA;AACpE,EAEA,WAAW,cAAwB,EAAA;AACjC,IAAO,OAAA;AAAA,MACL,QAAQ,CAAC,MAAA,KAA2B,KAAK,WAAY,CAAA,MAAA,CAAO,gBAAgB,MAAM,CAAA;AAAA,MAClF,MAAA,EAAQ,CAAC,EAAY,EAAA,MAAA,KACnB,KAAK,WAAY,CAAA,MAAA,CAAO,cAAgB,EAAA,EAAA,EAAI,MAAM,CAAA;AAAA,MACpD,KAAA,EAAO,CAAC,EAAY,EAAA,MAAA,KAClB,KAAK,WAAY,CAAA,KAAA,CAAM,cAAgB,EAAA,EAAA,EAAI,MAAM,CAAA;AAAA,MACnD,QAAQ,CAAC,EAAA,KAAe,KAAK,WAAY,CAAA,MAAA,CAAO,gBAAgB,EAAE,CAAA;AAAA,MAClE,SAAS,CAAC,UAAA,KAAuB,KAAK,WAAY,CAAA,UAAA,CAAW,gBAAgB,UAAU;AAAA,KACzF;AAAA;AACF,EAEA,QAAQ,cAAwB,EAAA;AAC9B,IAAO,OAAA;AAAA,MACL,GAAK,EAAA,MAAM,IAAK,CAAA,QAAA,CAAS,IAAI,cAAc,CAAA;AAAA,MAC3C,SAAS,CAAC,EAAA,KAAe,KAAK,QAAS,CAAA,OAAA,CAAQ,gBAAgB,EAAE,CAAA;AAAA,MACjE,QAAQ,CAAC,EAAA,KAAe,KAAK,QAAS,CAAA,MAAA,CAAO,gBAAgB,EAAE;AAAA,KACjE;AAAA;AACF,EAEA,MAAM,IAAI,MAAgC,EAAA;AACxC,IAAA,MAAM,IAAI,EAAG,CAAA,SAAA,CAAU,QAAQ,EAAE,cAAA,EAAgB,MAAM,CAAA;AACvD,IAAM,MAAA,GAAA,GAAM,MAAM,IAAA,CAAK,IAAK,CAAA,GAAA;AAAA,MAC1B,CAAG,EAAA,IAAA,CAAK,UAAU,CAAA,iBAAA,EAAoB,CAAC,CAAA;AAAA,KACzC;AACA,IAAA,OAAO,GAAI,CAAA,IAAA;AAAA;AACb,EAEA,MAAM,OAAO,MAAkC,EAAA;AAC7C,IAAM,MAAA,GAAA,GAAM,MAAM,IAAA,CAAK,IAAK,CAAA,IAAA;AAAA,MAC1B,CAAA,EAAG,KAAK,UAAU,CAAA,iBAAA,CAAA;AAAA,MAClB;AAAA,KACF;AACA,IAAA,OAAO,GAAI,CAAA,IAAA;AAAA;AAEf","file":"index.mjs","sourcesContent":["import qs from 'qs';\n\nimport { Client, ClientOptions } from '@microsoft/teams.common/http';\n\nimport { Account, Conversation, ConversationResource } from '../../models';\n\nimport { ActivityParams, ConversationActivityClient } from './activity';\nimport { ConversationMemberClient } from './member';\n\nexport type GetConversationsParams = {\n readonly continuationToken?: string;\n};\n\nexport type CreateConversationParams = {\n readonly isGroup?: boolean;\n readonly bot?: Partial<Account>;\n readonly members?: Account[];\n readonly topicName?: string;\n readonly tenantId?: string;\n readonly activity?: ActivityParams;\n readonly channelData?: Record<string, any>;\n};\n\nexport type GetConversationsResponse = {\n /**\n * Paging token\n */\n continuationToken: string;\n\n /**\n * List of conversations\n */\n conversations: Conversation[];\n};\n\nexport class ConversationClient {\n readonly serviceUrl: string;\n\n get http() {\n return this._http;\n }\n set http(v) {\n this._http = v;\n }\n protected _http: Client;\n protected _activities: ConversationActivityClient;\n protected _members: ConversationMemberClient;\n\n constructor(serviceUrl: string, options?: Client | ClientOptions) {\n this.serviceUrl = serviceUrl;\n\n if (!options) {\n this._http = new Client();\n } else if ('request' in options) {\n this._http = options;\n } else {\n this._http = new Client(options);\n }\n\n this._activities = new ConversationActivityClient(serviceUrl, this.http);\n this._members = new ConversationMemberClient(serviceUrl, this.http);\n }\n\n activities(conversationId: string) {\n return {\n create: (params: ActivityParams) => this._activities.create(conversationId, params),\n update: (id: string, params: ActivityParams) =>\n this._activities.update(conversationId, id, params),\n reply: (id: string, params: ActivityParams) =>\n this._activities.reply(conversationId, id, params),\n delete: (id: string) => this._activities.delete(conversationId, id),\n members: (activityId: string) => this._activities.getMembers(conversationId, activityId),\n };\n }\n\n members(conversationId: string) {\n return {\n get: () => this._members.get(conversationId),\n getById: (id: string) => this._members.getById(conversationId, id),\n delete: (id: string) => this._members.delete(conversationId, id),\n };\n }\n\n async get(params: GetConversationsParams) {\n const q = qs.stringify(params, { addQueryPrefix: true });\n const res = await this.http.get<GetConversationsResponse>(\n `${this.serviceUrl}/v3/conversations${q}`\n );\n return res.data;\n }\n\n async create(params: CreateConversationParams) {\n const res = await this.http.post<ConversationResource>(\n `${this.serviceUrl}/v3/conversations`,\n params\n );\n return res.data;\n }\n}\n\nexport * from './activity';\nexport * from './member';\n"]}