@fluido/dreno-core
Advanced tools
Comparing version 0.1.0-alpha-5 to 0.1.0-alpha-6
@@ -231,3 +231,2 @@ "use strict"; | ||
PROJECT_KEY: "X-Dreno-Project-Key", | ||
PROJECT_META: "X-Dreno-Project-Meta", | ||
PROJECT_USER: "X-Dreno-Project-User" | ||
@@ -303,13 +302,19 @@ }; | ||
}, | ||
async getUserData(forceRefresh = false) { | ||
const currentUserAccessKey = $keys[COOKIES_KEYS.CURRENT_USER_ACCESS_TOKEN]; | ||
async getUserData({ | ||
forceRefresh, | ||
ignoreExpiration, | ||
accessToken, | ||
refreshToken | ||
} = {}) { | ||
const currentUserAccessKey = accessToken || $keys[COOKIES_KEYS.CURRENT_USER_ACCESS_TOKEN]; | ||
if (!forceRefresh && currentUserAccessKey) { | ||
const payloadData = extractPayloadFromJwt( | ||
currentUserAccessKey | ||
); | ||
if (payloadData && payloadData.exp && payloadData.exp > Date.now() / 1e3) { | ||
return { user: payloadData }; | ||
const payloadData = extractPayloadFromJwt(currentUserAccessKey); | ||
if (payloadData) { | ||
const expired = !!(payloadData.exp && payloadData.exp > Date.now() / 1e3); | ||
if (ignoreExpiration || !expired) { | ||
return { payload: payloadData, expired }; | ||
} | ||
} | ||
} | ||
const currentUserRefreshKey = $keys[COOKIES_KEYS.CURRENT_USER_REFRESH_TOKEN]; | ||
const currentUserRefreshKey = refreshToken || $keys[COOKIES_KEYS.CURRENT_USER_REFRESH_TOKEN]; | ||
if (!currentUserRefreshKey) | ||
@@ -322,3 +327,2 @@ return {}; | ||
[HEADER_KEYS.PROJECT_KEY]: projectKey, | ||
[HEADER_KEYS.PROJECT_META]: $keys[COOKIES_KEYS.META] || "", | ||
Authorization: `Bearer ${currentUserRefreshKey}` | ||
@@ -328,6 +332,7 @@ } | ||
); | ||
const { data: user, entries } = await response2.json(); | ||
const { data: payload, entries } = await response2.json(); | ||
return { | ||
user, | ||
entries | ||
payload, | ||
entries, | ||
expired: false | ||
}; | ||
@@ -341,3 +346,2 @@ }, | ||
[HEADER_KEYS.PROJECT_KEY]: projectKey, | ||
[HEADER_KEYS.PROJECT_META]: $keys[COOKIES_KEYS.META] || "", | ||
Authorization: `Bearer ${$keys[COOKIES_KEYS.CURRENT_USER_ACCESS_TOKEN]}` | ||
@@ -364,4 +368,3 @@ } | ||
"Content-Type": "application/json", | ||
[HEADER_KEYS.PROJECT_KEY]: projectKey, | ||
[HEADER_KEYS.PROJECT_META]: $keys[COOKIES_KEYS.META] || "" | ||
[HEADER_KEYS.PROJECT_KEY]: projectKey | ||
}, | ||
@@ -383,3 +386,2 @@ body: JSON.stringify(args) | ||
[HEADER_KEYS.PROJECT_KEY]: projectKey, | ||
[HEADER_KEYS.PROJECT_META]: $keys[COOKIES_KEYS.META] || "", | ||
Authorization: `Bearer ${code}` | ||
@@ -386,0 +388,0 @@ } |
@@ -6,4 +6,9 @@ import type { UserData } from './schemas'; | ||
getProjectId(): string; | ||
getUserData(forceRefresh?: boolean): Promise<{ | ||
user?: { | ||
getUserData({ forceRefresh, ignoreExpiration, accessToken, refreshToken, }?: { | ||
forceRefresh?: boolean | undefined; | ||
ignoreExpiration?: boolean | undefined; | ||
accessToken?: string | undefined; | ||
refreshToken?: string | undefined; | ||
}): Promise<{ | ||
payload?: { | ||
id: string; | ||
@@ -19,2 +24,3 @@ createdAt: Date; | ||
} | undefined; | ||
expired?: boolean | undefined; | ||
entries?: [string, string][] | undefined; | ||
@@ -21,0 +27,0 @@ }>; |
@@ -14,3 +14,2 @@ export declare const URLS: { | ||
PROJECT_KEY: string; | ||
PROJECT_META: string; | ||
PROJECT_USER: string; | ||
@@ -17,0 +16,0 @@ }; |
@@ -204,3 +204,2 @@ // src/schemas/user.ts | ||
PROJECT_KEY: "X-Dreno-Project-Key", | ||
PROJECT_META: "X-Dreno-Project-Meta", | ||
PROJECT_USER: "X-Dreno-Project-User" | ||
@@ -276,13 +275,19 @@ }; | ||
}, | ||
async getUserData(forceRefresh = false) { | ||
const currentUserAccessKey = $keys[COOKIES_KEYS.CURRENT_USER_ACCESS_TOKEN]; | ||
async getUserData({ | ||
forceRefresh, | ||
ignoreExpiration, | ||
accessToken, | ||
refreshToken | ||
} = {}) { | ||
const currentUserAccessKey = accessToken || $keys[COOKIES_KEYS.CURRENT_USER_ACCESS_TOKEN]; | ||
if (!forceRefresh && currentUserAccessKey) { | ||
const payloadData = extractPayloadFromJwt( | ||
currentUserAccessKey | ||
); | ||
if (payloadData && payloadData.exp && payloadData.exp > Date.now() / 1e3) { | ||
return { user: payloadData }; | ||
const payloadData = extractPayloadFromJwt(currentUserAccessKey); | ||
if (payloadData) { | ||
const expired = !!(payloadData.exp && payloadData.exp > Date.now() / 1e3); | ||
if (ignoreExpiration || !expired) { | ||
return { payload: payloadData, expired }; | ||
} | ||
} | ||
} | ||
const currentUserRefreshKey = $keys[COOKIES_KEYS.CURRENT_USER_REFRESH_TOKEN]; | ||
const currentUserRefreshKey = refreshToken || $keys[COOKIES_KEYS.CURRENT_USER_REFRESH_TOKEN]; | ||
if (!currentUserRefreshKey) | ||
@@ -295,3 +300,2 @@ return {}; | ||
[HEADER_KEYS.PROJECT_KEY]: projectKey, | ||
[HEADER_KEYS.PROJECT_META]: $keys[COOKIES_KEYS.META] || "", | ||
Authorization: `Bearer ${currentUserRefreshKey}` | ||
@@ -301,6 +305,7 @@ } | ||
); | ||
const { data: user, entries } = await response2.json(); | ||
const { data: payload, entries } = await response2.json(); | ||
return { | ||
user, | ||
entries | ||
payload, | ||
entries, | ||
expired: false | ||
}; | ||
@@ -314,3 +319,2 @@ }, | ||
[HEADER_KEYS.PROJECT_KEY]: projectKey, | ||
[HEADER_KEYS.PROJECT_META]: $keys[COOKIES_KEYS.META] || "", | ||
Authorization: `Bearer ${$keys[COOKIES_KEYS.CURRENT_USER_ACCESS_TOKEN]}` | ||
@@ -337,4 +341,3 @@ } | ||
"Content-Type": "application/json", | ||
[HEADER_KEYS.PROJECT_KEY]: projectKey, | ||
[HEADER_KEYS.PROJECT_META]: $keys[COOKIES_KEYS.META] || "" | ||
[HEADER_KEYS.PROJECT_KEY]: projectKey | ||
}, | ||
@@ -356,3 +359,2 @@ body: JSON.stringify(args) | ||
[HEADER_KEYS.PROJECT_KEY]: projectKey, | ||
[HEADER_KEYS.PROJECT_META]: $keys[COOKIES_KEYS.META] || "", | ||
Authorization: `Bearer ${code}` | ||
@@ -359,0 +361,0 @@ } |
{ | ||
"name": "@fluido/dreno-core", | ||
"version": "0.1.0-alpha-5", | ||
"version": "0.1.0-alpha-6", | ||
"description": "Dreno library", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
42225
1126