@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
181 lines (176 loc) • 6.64 kB
JavaScript
'use strict';
var qs = require('qs');
var teams_common = require('@microsoft/teams.common');
var apiClientSettings = require('../api-client-settings');
var apiOutboundMiddleware = require('../api-outbound-middleware');
var reaction = require('../reaction');
var serviceUrl = require('../service-url');
var activity = require('./activity');
var member = require('./member');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var qs__default = /*#__PURE__*/_interopDefault(qs);
class ConversationClient {
serviceUrl;
get http() {
return this._http;
}
set http(v) {
apiOutboundMiddleware.ensureApiOutboundTelemetryMiddleware(v);
this._http = v;
this._activities.http = this._http;
this._members.http = this._http;
this._reactions.http = this._http;
}
_http;
_activities;
_members;
_reactions;
_apiClientSettings;
constructor(serviceUrl$1, options, apiClientSettings$1) {
this.serviceUrl = serviceUrl.normalizeServiceUrl(serviceUrl$1);
if (!options) {
this._http = new teams_common.Client();
} else if ("request" in options) {
this._http = options;
} else {
this._http = new teams_common.Client(options);
}
apiOutboundMiddleware.ensureApiOutboundTelemetryMiddleware(this._http);
this._apiClientSettings = apiClientSettings.mergeApiClientSettings(apiClientSettings$1);
this._activities = new activity.ConversationActivityClient(this.serviceUrl, this.http, this._apiClientSettings);
this._members = new member.ConversationMemberClient(this.serviceUrl, this.http, this._apiClientSettings);
this._reactions = new reaction.ReactionClient(this.serviceUrl, this.http, this._apiClientSettings);
}
/**
* @deprecated Use the flattened activity methods on `ConversationClient`
* instead (e.g. `conversations.createActivity(conversationId, ...)`). This
* grouped accessor will be removed in a future release.
*/
activities(conversationId) {
return {
create: (params) => this._activities.create(conversationId, params),
update: (id, params) => this._activities.update(conversationId, id, params),
reply: (id, params) => this._activities.reply(conversationId, id, params),
delete: (id) => this._activities.delete(conversationId, id),
members: (activityId) => this._activities.getMembers(conversationId, activityId),
createTargeted: (params) => this._activities.createTargeted(conversationId, params),
updateTargeted: (id, params) => this._activities.updateTargeted(conversationId, id, params),
deleteTargeted: (id) => this._activities.deleteTargeted(conversationId, id)
};
}
/**
* @deprecated Use the flattened member methods on `ConversationClient`
* instead (e.g. `conversations.getMembers(conversationId)`). This grouped
* accessor will be removed in a future release.
*/
members(conversationId) {
return {
get: () => this._members.get(conversationId),
getById: (id) => this._members.getById(conversationId, id),
getPaged: (pageSize, continuationToken) => this._members.getPaged(conversationId, pageSize, continuationToken),
/**
* @deprecated This will be removed by end of summer 2026.
*/
delete: (id) => this._members.delete(conversationId, id)
};
}
createActivity(conversationId, params) {
return this._activities.create(conversationId, params);
}
updateActivity(conversationId, id, params) {
return this._activities.update(conversationId, id, params);
}
replyToActivity(conversationId, id, params) {
return this._activities.reply(conversationId, id, params);
}
createReplyChainActivity(conversationId, id, params) {
return this._activities.createReplyChain(conversationId, id, params);
}
createTargetedReplyChainActivity(conversationId, id, params) {
return this._activities.createTargetedReplyChain(conversationId, id, params);
}
/**
* Delete an activity in a conversation.
*/
deleteActivity(conversationId, id) {
return this._activities.delete(conversationId, id);
}
/**
* Get the members of an activity in a conversation.
*/
getActivityMembers(conversationId, id) {
return this._activities.getMembers(conversationId, id);
}
createTargetedActivity(conversationId, params) {
return this._activities.createTargeted(conversationId, params);
}
updateTargetedActivity(conversationId, id, params) {
return this._activities.updateTargeted(conversationId, id, params);
}
/**
* Delete a targeted activity in a conversation.
*/
deleteTargetedActivity(conversationId, id) {
return this._activities.deleteTargeted(conversationId, id);
}
/**
* Get the members of a conversation.
*/
getMembers(conversationId) {
return this._members.get(conversationId);
}
/**
* Get a member of a conversation by id.
*/
getMemberById(conversationId, id) {
return this._members.getById(conversationId, id);
}
/**
* Get paged members of a conversation.
*/
getPagedMembers(conversationId, pageSize, continuationToken) {
return this._members.getPaged(conversationId, pageSize, continuationToken);
}
/**
* Add a reaction to an activity in a conversation.
*/
addReaction(conversationId, activityId, reactionType) {
return this._reactions.add(conversationId, activityId, reactionType);
}
/**
* Delete a reaction from an activity in a conversation.
*/
deleteReaction(conversationId, activityId, reactionType) {
return this._reactions.delete(conversationId, activityId, reactionType);
}
/**
* @deprecated This will be removed by end of summer 2026.
*/
async get(params) {
const q = qs__default.default.stringify(params, { addQueryPrefix: true });
const res = await this.http.get(
`${this.serviceUrl}/v3/conversations${q}`
);
return res.data;
}
async create(params) {
const url = `${this.serviceUrl}/v3/conversations`;
const res = await this.http.post(url, params);
return res.data;
}
}
exports.ConversationClient = ConversationClient;
Object.keys(activity).forEach(function (k) {
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
enumerable: true,
get: function () { return activity[k]; }
});
});
Object.keys(member).forEach(function (k) {
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
enumerable: true,
get: function () { return member[k]; }
});
});
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map