{"version":3,"sources":["webpack:///./node_modules/@abaco/iot-module/src/modules/iot/api/OAuthApi.ts"],"names":["OAuthApi","http","this","pk_cuaa","providerCode","url","get","data","oauth2Config","HTTPClient","auth_ep","baseURL","authEndpoint","endsWith","authorization_endpoint","scope","redirectURL","clientId","Object","entries","additionalAuthParams","map","keyVal","key","value","filter","join","code","post","res","status"],"mappings":"iTAKqBA,E,WAGjB,WAAYC,GAAgB,uBACxBC,KAAKD,KAAOA,E,+GAGT,WAAsBE,EAAiBC,GAAvC,8FACGC,EADH,2BAC6BF,EAD7B,qBACiDC,EADjD,2BAEWF,KAAKD,KAAKK,IAAkBD,GAFvC,uCAE6CE,MAF7C,gD,wIAKA,WAAYJ,EAAiBK,GAA7B,kGACGP,EAAO,IAAIQ,OAEbC,EAAUF,EAAaG,QAAUH,EAAaI,cAC/CJ,EAAaG,QAAQE,SAAS,2CAJ9B,gCAKwBZ,EAAKK,IAAIE,EAAaG,SAL9C,gBAKSJ,EALT,EAKSA,KACRG,EAAWH,EAAKO,uBANjB,cAQGT,EAAMK,EAAU,IACtB,CACIF,EAAaO,MAAb,gBAA8BP,EAAaO,OAAU,KACrD,qBAFJ,uBAGoBP,EAAaQ,aAHjC,oBAIiBR,EAAaS,UAJ9B,gBAKad,IALb,sBAMQe,OAAOC,QAAQX,EAAaY,sBAAsBC,KAAI,SAAAC,GACtD,IAAMC,EAAMD,EAAO,GACbE,EAAQF,EAAO,GACrB,gBAAUC,EAAV,YAAiBC,QAEvBC,QAAO,SAAAD,GAAK,OAAa,MAATA,KAAeE,KAAK,KApBnC,kBAsBIrB,GAtBJ,4C,gJAyBA,WAAoBsB,EAAcxB,EAAiBC,GAAnD,uGAEeF,KAAKD,KAAK2B,KAAV,2BAAmCzB,EAAnC,qBAAuDC,EAAvD,iBAA4EuB,IAF3F,cAEGE,EAFH,yBAImB,MAAfA,EAAIC,QAJR,gD,4IAOA,WAAc3B,GAAd,uGAEeD,KAAKD,KAAKK,IAAV,uDAA8DH,EAA9D,iBAFf,cAEG0B,EAFH,yBAGIA,EAAItB,MAAQ,IAHhB,gD","file":"js/chunk-2d21b85c.8ac04a4c.js","sourcesContent":["import { HTTPClient } from \"@abaco/web-common/src/HTTP\";\nimport { Org } from \"../models/OrgModel\";\nimport { Oauth2Config } from \"../models/Oauth2Model\";\n\n\nexport default class OAuthApi {\n private http: HTTPClient;\n\n constructor(http: HTTPClient) {\n this.http = http;\n }\n\n public async getOauth2Config(pk_cuaa: number, providerCode: string) {\n const url = `/iot/api/v1/farm/${pk_cuaa}/provider/${providerCode}/oauth2/config`;\n return (await this.http.get(url)).data;\n }\n\n public async login(pk_cuaa: number, oauth2Config: Oauth2Config): Promise {\n const http = new HTTPClient();\n\n let auth_ep = oauth2Config.baseURL + oauth2Config.authEndpoint;\n if(oauth2Config.baseURL.endsWith('/.well-known/oauth-authorization-server')){\n const { data } = await http.get(oauth2Config.baseURL);\n auth_ep = data.authorization_endpoint;\n }\n const url = auth_ep + '?' +\n [\n oauth2Config.scope ? `scope=${oauth2Config.scope}` : null,\n 'response_type=code',\n `redirect_uri=${oauth2Config.redirectURL}`,\n `client_id=${oauth2Config.clientId}`,\n `state=${pk_cuaa}`,\n ... Object.entries(oauth2Config.additionalAuthParams).map(keyVal => {\n const key = keyVal[0];\n const value = keyVal[1];\n return `${key}=${value}`\n })\n ].filter(value => value != null).join('&')\n\n return url\n }\n\n public async loginWithCode(code: string, pk_cuaa: string, providerCode: string): Promise\n {\n const res = await this.http.post(`/iot/api/v1/farm/${pk_cuaa}/provider/${providerCode}/code/${code}`)\n\n return res.status === 204\n }\n\n public async getOrgs(pk_cuaa: number): Promise\n {\n const res = await this.http.get(`/sitiagri-rest-api/api_basic/v1/mjd/subjects/${pk_cuaa}/linked_orgs`);\n return res.data || [];\n } \n}\n"],"sourceRoot":""}