trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
32 lines (31 loc) • 1.01 kB
JavaScript
export const createAuthToken = (accessToken, tokenType, expiresIn, expires, refreshToken) => ({
accessToken,
tokenType,
expiresIn,
expires,
refreshToken,
});
export const isTokenExpired = (token) => {
return new Date() > token.expires;
};
export const isTokenValid = (token) => {
return !isTokenExpired(token);
};
export const refreshAuthToken = (token, newAccessToken, newExpires, newRefreshToken) => ({
...token,
accessToken: newAccessToken,
expires: newExpires,
refreshToken: newRefreshToken || token.refreshToken,
});
export const shouldRefreshToken = (token) => {
const fiveMinutesFromNow = new Date(Date.now() + 5 * 60 * 1000);
return token.expires <= fiveMinutesFromNow;
};
export const getRemainingValidityTime = (token) => {
const now = new Date();
const remaining = token.expires.getTime() - now.getTime();
return Math.max(0, remaining);
};
export const hasRefreshCapability = (token) => {
return Boolean(token.refreshToken);
};