{"version":3,"sources":["../../../src/clients/conversation/member.ts"],"names":["HttpClient"],"mappings":";;;;;AASO,MAAM,wBAAA,CAAyB;AAAA,EAC3B,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,oBAAoB,UAAU,CAAA;AAEhD,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;AACA,IAAA,IAAA,CAAK,kBAAA,GAAqB,uBAAuB,iBAAiB,CAAA;AAAA,EACpE;AAAA,EAEA,MAAM,IAAI,cAAA,EAAwD;AAChE,IAAA,MAAM,GAAA,GAAM,CAAA,EAAG,IAAA,CAAK,UAAU,qBAAqB,cAAc,CAAA,QAAA,CAAA;AACjE,IAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,IAAA,CAAK,IAA2B,GAAG,CAAA;AAC1D,IAAA,OAAO,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,kBAAkB,CAAA;AAAA,EACxC;AAAA,EAEA,MAAM,OAAA,CAAQ,cAAA,EAAwB,EAAA,EAA0C;AAC9E,IAAA,MAAM,MAAM,CAAA,EAAG,IAAA,CAAK,UAAU,CAAA,kBAAA,EAAqB,cAAc,YAAY,EAAE,CAAA,CAAA;AAC/E,IAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,IAAA,CAAK,IAAyB,GAAG,CAAA;AACxD,IAAA,OAAO,kBAAA,CAAmB,IAAI,IAAI,CAAA;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,MAAM,QAAA,CAAS,cAAA,EAAwB,QAAA,EAAmB,iBAAA,EAAyD;AACjH,IAAA,MAAM,SAA0C,EAAC;AACjD,IAAA,IAAI,QAAA,KAAa,MAAA,EAAW,MAAA,CAAO,UAAU,CAAA,GAAI,QAAA;AACjD,IAAA,IAAI,iBAAA,KAAsB,MAAA,EAAW,MAAA,CAAO,mBAAmB,CAAA,GAAI,iBAAA;AAEnE,IAAA,MAAM,GAAA,GAAM,CAAA,EAAG,IAAA,CAAK,UAAU,qBAAqB,cAAc,CAAA,aAAA,CAAA;AACjE,IAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,IAAA,CAAK,IAAwB,GAAA,EAAK,EAAE,QAAQ,CAAA;AACnE,IAAA,OAAO,EAAE,GAAG,GAAA,CAAI,IAAA,EAAM,OAAA,EAAS,IAAI,IAAA,CAAK,OAAA,CAAQ,GAAA,CAAI,kBAAkB,CAAA,EAAE;AAAA,EAC1E;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,MAAA,CAAO,cAAA,EAAwB,EAAA,EAAY;AAC/C,IAAA,MAAM,MAAM,CAAA,EAAG,IAAA,CAAK,UAAU,CAAA,kBAAA,EAAqB,cAAc,YAAY,EAAE,CAAA,CAAA;AAC/E,IAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,IAAA,CAAK,OAAa,GAAG,CAAA;AAC5C,IAAA,OAAO,GAAA,CAAI,IAAA;AAAA,EACb;AACF","file":"member.mjs","sourcesContent":["import {\n  Client as HttpClient,\n  type ClientOptions as HttpClientOptions\n} from '@microsoft/teams.common';\n\nimport { PagedMembersResult, resolveAadObjectId, TeamsChannelAccount } from '../../models';\nimport { ApiClientSettings, mergeApiClientSettings } from '../api-client-settings';\nimport { normalizeServiceUrl } from '../service-url';\n\nexport class ConversationMemberClient {\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 = normalizeServiceUrl(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    this._apiClientSettings = mergeApiClientSettings(apiClientSettings);\n  }\n\n  async get(conversationId: string): Promise<TeamsChannelAccount[]> {\n    const url = `${this.serviceUrl}/v3/conversations/${conversationId}/members`;\n    const res = await this.http.get<TeamsChannelAccount[]>(url);\n    return res.data.map(resolveAadObjectId);\n  }\n\n  async getById(conversationId: string, id: string): Promise<TeamsChannelAccount> {\n    const url = `${this.serviceUrl}/v3/conversations/${conversationId}/members/${id}`;\n    const res = await this.http.get<TeamsChannelAccount>(url);\n    return resolveAadObjectId(res.data);\n  }\n\n  /**\n   * Get paged members in a conversation.\n   * @param conversationId - The ID of the conversation.\n   * @param pageSize - Optional maximum number of members per page (min 50, default 200, max 500).\n   * @param continuationToken - Optional token from a previous call to fetch the next page.\n   * @returns PagedMembersResult containing members and an optional continuation token.\n   */\n  async getPaged(conversationId: string, pageSize?: number, continuationToken?: string): Promise<PagedMembersResult> {\n    const params: Record<string, string | number> = {};\n    if (pageSize !== undefined) params['pageSize'] = pageSize;\n    if (continuationToken !== undefined) params['continuationToken'] = continuationToken;\n\n    const url = `${this.serviceUrl}/v3/conversations/${conversationId}/pagedMembers`;\n    const res = await this.http.get<PagedMembersResult>(url, { params });\n    return { ...res.data, members: res.data.members.map(resolveAadObjectId) };\n  }\n\n  /**\n   * @deprecated This will be removed by end of summer 2026.\n   */\n  async delete(conversationId: string, id: string) {\n    const url = `${this.serviceUrl}/v3/conversations/${conversationId}/members/${id}`;\n    const res = await this.http.delete<void>(url);\n    return res.data;\n  }\n}\n"]}