@churchapps/content-providers 0.9.3 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +25 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +24 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -36,6 +36,7 @@ __export(index_exports, {
|
|
|
36
36
|
SignPresenterProvider: () => SignPresenterProvider,
|
|
37
37
|
TokenHelper: () => TokenHelper,
|
|
38
38
|
VERSION: () => VERSION,
|
|
39
|
+
authIsExpired: () => authIsExpired,
|
|
39
40
|
getAllProviders: () => getAllProviders,
|
|
40
41
|
getAvailableProviders: () => getAvailableProviders,
|
|
41
42
|
getProvider: () => getProvider,
|
|
@@ -82,18 +83,32 @@ function toAuthData(data, fallbacks) {
|
|
|
82
83
|
...planTypeId ? { planTypeId } : {}
|
|
83
84
|
};
|
|
84
85
|
}
|
|
85
|
-
|
|
86
|
+
function authIsExpired(auth, nowMs = Date.now()) {
|
|
87
|
+
if (!auth?.created_at || !auth.expires_in) return true;
|
|
88
|
+
const lifetimeMs = auth.expires_in * 1e3;
|
|
89
|
+
const expiresAt = (auth.created_at + auth.expires_in) * 1e3;
|
|
90
|
+
const bufferMs = Math.min(5 * 60 * 1e3, Math.floor(lifetimeMs / 10));
|
|
91
|
+
return nowMs > expiresAt - bufferMs;
|
|
92
|
+
}
|
|
93
|
+
var _TokenHelper = class _TokenHelper {
|
|
86
94
|
isAuthValid(auth) {
|
|
87
|
-
|
|
88
|
-
return !this.isTokenExpired(auth);
|
|
95
|
+
return !authIsExpired(auth);
|
|
89
96
|
}
|
|
90
97
|
isTokenExpired(auth) {
|
|
91
|
-
|
|
92
|
-
const expiresAt = (auth.created_at + auth.expires_in) * 1e3;
|
|
93
|
-
return Date.now() > expiresAt - 5 * 60 * 1e3;
|
|
98
|
+
return authIsExpired(auth);
|
|
94
99
|
}
|
|
95
100
|
async refreshToken(config, auth) {
|
|
96
101
|
if (!auth.refresh_token) return null;
|
|
102
|
+
const key = `${config.oauthBase}|${config.clientId}|${auth.refresh_token}`;
|
|
103
|
+
const existing = _TokenHelper.inflight.get(key);
|
|
104
|
+
if (existing) return existing;
|
|
105
|
+
const pending = this.doRefresh(config, auth).finally(() => {
|
|
106
|
+
_TokenHelper.inflight.delete(key);
|
|
107
|
+
});
|
|
108
|
+
_TokenHelper.inflight.set(key, pending);
|
|
109
|
+
return pending;
|
|
110
|
+
}
|
|
111
|
+
async doRefresh(config, auth) {
|
|
97
112
|
try {
|
|
98
113
|
const params = new URLSearchParams({
|
|
99
114
|
grant_type: "refresh_token",
|
|
@@ -114,6 +129,8 @@ var TokenHelper = class {
|
|
|
114
129
|
}
|
|
115
130
|
}
|
|
116
131
|
};
|
|
132
|
+
_TokenHelper.inflight = /* @__PURE__ */ new Map();
|
|
133
|
+
var TokenHelper = _TokenHelper;
|
|
117
134
|
|
|
118
135
|
// src/helpers/OAuthHelper.ts
|
|
119
136
|
function generateCodeVerifier() {
|
|
@@ -18022,7 +18039,7 @@ function getAvailableProviders(ids) {
|
|
|
18022
18039
|
}
|
|
18023
18040
|
|
|
18024
18041
|
// src/index.ts
|
|
18025
|
-
var VERSION = true ? "0.9.
|
|
18042
|
+
var VERSION = true ? "0.9.4" : "dev";
|
|
18026
18043
|
// Annotate the CommonJS export names for ESM import in node:
|
|
18027
18044
|
0 && (module.exports = {
|
|
18028
18045
|
APlayProvider,
|
|
@@ -18041,6 +18058,7 @@ var VERSION = true ? "0.9.3" : "dev";
|
|
|
18041
18058
|
SignPresenterProvider,
|
|
18042
18059
|
TokenHelper,
|
|
18043
18060
|
VERSION,
|
|
18061
|
+
authIsExpired,
|
|
18044
18062
|
getAllProviders,
|
|
18045
18063
|
getAvailableProviders,
|
|
18046
18064
|
getProvider,
|