{"version":3,"sources":["../../../src/clients/reaction/reaction.ts"],"names":["HttpClient"],"mappings":";;;AAYO,MAAM,cAAA,CAAe;AAAA,EACjB,UAAA;AAAA,EAET,IAAI,IAAA,GAAO;AACT,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd;AAAA,EACA,IAAI,KAAK,CAAA,EAAG;AACV,IAAA,IAAA,CAAK,KAAA,GAAQ,CAAA;AAAA,EACf;AAAA,EACU,KAAA;AAAA,EACA,kBAAA;AAAA,EAEV,WAAA,CAAY,UAAA,EAAoB,OAAA,EAA0C,iBAAA,EAAgD;AACxH,IAAA,IAAA,CAAK,UAAA,GAAa,UAAA;AAElB,IAAA,IAAI,CAAC,OAAA,EAAS;AACZ,MAAA,IAAA,CAAK,KAAA,GAAQ,IAAIA,MAAA,EAAW;AAAA,IAC9B,CAAA,MAAA,IAAW,aAAa,OAAA,EAAS;AAC/B,MAAA,IAAA,CAAK,KAAA,GAAQ,OAAA;AAAA,IACf,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,KAAA,GAAQ,IAAIA,MAAA,CAAW,OAAO,CAAA;AAAA,IACrC;AAEA,IAAA,IAAA,CAAK,kBAAA,GAAqB,uBAAuB,iBAAiB,CAAA;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,GAAA,CAAI,cAAA,EAAwB,UAAA,EAAoB,YAAA,EAAmC;AAEvF,IAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,IAAA,CAAK,GAAA;AAAA,MAC1B,CAAA,EAAG,IAAA,CAAK,UAAU,CAAA,kBAAA,EAAqB,mBAAmB,cAAc,CAAC,CAAA,YAAA,EAAe,kBAAA,CAAmB,UAAU,CAAC,CAAA,WAAA,EAAc,kBAAA,CAAmB,YAAY,CAAC,CAAA;AAAA,KACtK;AACA,IAAA,OAAO,GAAA,CAAI,IAAA;AAAA,EACb;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,MAAA,CAAO,cAAA,EAAwB,UAAA,EAAoB,YAAA,EAAmC;AAE1F,IAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,IAAA,CAAK,MAAA;AAAA,MAC1B,CAAA,EAAG,IAAA,CAAK,UAAU,CAAA,kBAAA,EAAqB,mBAAmB,cAAc,CAAC,CAAA,YAAA,EAAe,kBAAA,CAAmB,UAAU,CAAC,CAAA,WAAA,EAAc,kBAAA,CAAmB,YAAY,CAAC,CAAA;AAAA,KACtK;AACA,IAAA,OAAO,GAAA,CAAI,IAAA;AAAA,EACb;AACF","file":"reaction.mjs","sourcesContent":["import {\n  Client as HttpClient,\n  type ClientOptions as HttpClientOptions\n} from '@microsoft/teams.common';\n\nimport { MessageReactionType } from '../../models/message/message-reaction';\n\nimport { ApiClientSettings, mergeApiClientSettings } from '../api-client-settings';\n\n/**\n * Client for adding and removing emoji reactions on messages in a conversation.\n */\nexport class ReactionClient {\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: HttpClient;\n  protected _apiClientSettings: Partial<ApiClientSettings>;\n\n  constructor(serviceUrl: string, options?: HttpClient | HttpClientOptions, apiClientSettings?: Partial<ApiClientSettings>) {\n    this.serviceUrl = serviceUrl;\n\n    if (!options) {\n      this._http = new HttpClient();\n    } else if ('request' in options) {\n      this._http = options;\n    } else {\n      this._http = new HttpClient(options);\n    }\n\n    this._apiClientSettings = mergeApiClientSettings(apiClientSettings);\n  }\n\n  /**\n   * Add a reaction to a message.\n   */\n  async add(conversationId: string, activityId: string, reactionType: MessageReactionType) {\n    // TODO: Will be deprecated alongside accessor in ConversationClient\n    const res = await this.http.put<void>(\n      `${this.serviceUrl}/v3/conversations/${encodeURIComponent(conversationId)}/activities/${encodeURIComponent(activityId)}/reactions/${encodeURIComponent(reactionType)}`\n    );\n    return res.data;\n  }\n\n  /**\n   * Delete a reaction from a message.\n   */\n  async delete(conversationId: string, activityId: string, reactionType: MessageReactionType) {\n    // TODO: Will be deprecated alongside accessor in ConversationClient\n    const res = await this.http.delete<void>(\n      `${this.serviceUrl}/v3/conversations/${encodeURIComponent(conversationId)}/activities/${encodeURIComponent(activityId)}/reactions/${encodeURIComponent(reactionType)}`\n    );\n    return res.data;\n  }\n}\n"]}