MCPcopy Index your code
hub / github.com/scriptscat/scriptcat / refreshPromiseFn

Function refreshPromiseFn

packages/filesystem/auth.ts:90–108  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

88 }
89
90 const refreshPromiseFn = async () => {
91 const resp = await RefreshToken(netDiskType, token.refreshToken);
92 if (resp.code !== 0) {
93 await localStorageDAO.delete(key);
94 // 刷新失败,并且标记失效,尝试重新获取token
95 if (invalid) {
96 return await AuthVerify(netDiskType);
97 }
98 throw new WarpTokenError(new Error(resp.msg));
99 }
100 const newToken = {
101 accessToken: resp.data.token.access_token,
102 refreshToken: resp.data.token.refresh_token,
103 createtime: Date.now(),
104 };
105 // 更新token
106 await localStorageDAO.saveValue(key, newToken);
107 return newToken.accessToken;
108 };
109 const refreshPromise: Promise<string> = refreshPromiseFn().finally(() => {
110 if (refreshTokenPromises[netDiskType] === refreshPromise) {
111 delete refreshTokenPromises[netDiskType];

Callers 1

refreshAccessTokenFunction · 0.85

Calls 4

RefreshTokenFunction · 0.85
AuthVerifyFunction · 0.85
saveValueMethod · 0.80
deleteMethod · 0.65

Tested by

no test coverage detected