( config: ProConfig, saveUpdatedConfigFunc: () => Promise<any> | undefined )
| 135 | }; |
| 136 | |
| 137 | export const getAccessToken = async ( |
| 138 | config: ProConfig, |
| 139 | saveUpdatedConfigFunc: () => Promise<any> | undefined |
| 140 | ) => { |
| 141 | const ts = Date.now(); |
| 142 | if ( |
| 143 | config.accessToken !== undefined && |
| 144 | config.accessToken !== "" && |
| 145 | config.accessTokenExpiresAtTimeMs > ts && |
| 146 | (config.credentialsShouldBeDeletedAtTimeMs ?? ts + 1000 * 1000) > ts |
| 147 | ) { |
| 148 | return config.accessToken; |
| 149 | } |
| 150 | |
| 151 | console.debug( |
| 152 | `currently, accessToken=${config.accessToken}, accessTokenExpiresAtTimeMs=${ |
| 153 | config.accessTokenExpiresAtTimeMs |
| 154 | }, credentialsShouldBeDeletedAtTimeMs=${ |
| 155 | config.credentialsShouldBeDeletedAtTimeMs |
| 156 | },comp1=${config.accessTokenExpiresAtTimeMs > ts}, comp2=${ |
| 157 | (config.credentialsShouldBeDeletedAtTimeMs ?? ts + 1000 * 1000) > ts |
| 158 | }` |
| 159 | ); |
| 160 | |
| 161 | // try to get it again?? |
| 162 | const res = await sendRefreshTokenReq(config.refreshToken ?? "refresh-"); |
| 163 | await setConfigBySuccessfullAuthInplace(config, res, saveUpdatedConfigFunc); |
| 164 | |
| 165 | if (res.error !== undefined) { |
| 166 | throw Error("cannot update accessToken"); |
| 167 | } |
| 168 | return res.access_token; |
| 169 | }; |
| 170 | |
| 171 | export const getAndSaveProFeatures = async ( |
| 172 | config: ProConfig, |
no test coverage detected