{"version":3,"sources":["../../../src/clients/bot/sign-in.ts"],"names":["HttpClient"],"mappings":";;;;AAUO,MAAM,oBAAA,GAAuB;AAAA,EAClC,GAAA,EAAK,4BAAA;AAAA,EACL,QAAA,EAAU;AACZ;AAgBO,MAAM,eAAA,CAAgB;AAAA,EAC3B,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,SAA0C,iBAAA,EAAgD;AACpG,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,OAAO,MAAA,EAA+B;AAC1C,IAAA,MAAM,CAAA,GAAI,EAAA,CAAG,SAAA,CAAU,MAAM,CAAA;AAC7B,IAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,IAAA,CAAK,GAAA;AAAA,MAC1B,CAAA,EAAG,KAAK,kBAAA,CAAmB,QAAQ,IAAI,oBAAA,CAAqB,GAAG,IAAI,CAAC,CAAA;AAAA,KACtE;AAEA,IAAA,OAAO,GAAA,CAAI,IAAA;AAAA,EACb;AAAA,EAEA,MAAM,YAAY,MAAA,EAAoC;AACpD,IAAA,MAAM,CAAA,GAAI,EAAA,CAAG,SAAA,CAAU,MAAM,CAAA;AAC7B,IAAA,MAAM,GAAA,GAAM,MAAM,IAAA,CAAK,IAAA,CAAK,GAAA;AAAA,MAC1B,CAAA,EAAG,KAAK,kBAAA,CAAmB,QAAQ,IAAI,oBAAA,CAAqB,QAAQ,IAAI,CAAC,CAAA;AAAA,KAC3E;AAEA,IAAA,OAAO,GAAA,CAAI,IAAA;AAAA,EACb;AACF","file":"sign-in.mjs","sourcesContent":["import qs from 'qs';\n\nimport {\n  Client as HttpClient,\n  type ClientOptions as HttpClientOptions\n} from '@microsoft/teams.common';\n\nimport { SignInUrlResponse } from '../../models';\nimport { ApiClientSettings, mergeApiClientSettings } from '../api-client-settings';\n\nexport const BOT_SIGNIN_ENDPOINTS = {\n  URL: 'api/botsignin/GetSignInUrl',\n  RESOURCE: 'api/botsignin/GetSignInResource',\n};\n\nexport type GetBotSignInUrlParams = {\n  state: string;\n  codeChallenge?: string;\n  emulatorUrl?: string;\n  finalRedirect?: string;\n};\n\nexport type GetBotSignInResourceParams = {\n  state: string;\n  codeChallenge?: string;\n  emulatorUrl?: string;\n  finalRedirect?: string;\n};\n\nexport class BotSignInClient {\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(options?: HttpClient | HttpClientOptions, apiClientSettings?: Partial<ApiClientSettings>) {\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 getUrl(params: GetBotSignInUrlParams) {\n    const q = qs.stringify(params);\n    const res = await this.http.get<string>(\n      `${this._apiClientSettings.oauthUrl}/${BOT_SIGNIN_ENDPOINTS.URL}?${q}`\n    );\n\n    return res.data;\n  }\n\n  async getResource(params: GetBotSignInResourceParams) {\n    const q = qs.stringify(params);\n    const res = await this.http.get<SignInUrlResponse>(\n      `${this._apiClientSettings.oauthUrl}/${BOT_SIGNIN_ENDPOINTS.RESOURCE}?${q}`\n    );\n\n    return res.data;\n  }\n}\n"]}