@picahq/authkit-token 1.0.2 → 1.0.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.api.d.ts","sourceRoot":"","sources":["../../../src/apis/link.api.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"link.api.d.ts","sourceRoot":"","sources":["../../../src/apis/link.api.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAIvB,MAAM,UAAU,CAAC;AA0HlB,eAAO,MAAM,uBAAuB,YACzB,OAAO,MAAM,EAAE,MAAM,CAAC,OAC1B,MAAM,YACD,sBAAsB,iBAwBjC,CAAC"}
|
|
@@ -54,12 +54,27 @@ async function paginateAuthkitConnections(url, headers, payload, options = {}) {
|
|
|
54
54
|
pages: 1,
|
|
55
55
|
total,
|
|
56
56
|
requestId: latestResponse.requestId,
|
|
57
|
+
isWhiteLabel: false,
|
|
57
58
|
};
|
|
58
59
|
}
|
|
60
|
+
async function fetchUserWhitelistStatus(url, headers) {
|
|
61
|
+
try {
|
|
62
|
+
const response = await axios_1.default.get(`${url}/v1/users/flags`, { headers });
|
|
63
|
+
return response.data?.authkitWhitelist ?? false;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
console.warn('Failed to fetch user whitelist status, defaulting to false:', error);
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
59
70
|
const createEventLinkTokenApi = async (headers, url, payload) => {
|
|
60
71
|
try {
|
|
72
|
+
const isWhiteLabel = await fetchUserWhitelistStatus(url, headers);
|
|
61
73
|
const authkitResponse = await paginateAuthkitConnections(url, headers, payload, { limit: 100, maxConcurrentRequests: 3, maxRetries: 3 });
|
|
62
|
-
return
|
|
74
|
+
return {
|
|
75
|
+
...authkitResponse,
|
|
76
|
+
isWhiteLabel,
|
|
77
|
+
};
|
|
63
78
|
}
|
|
64
79
|
catch (error) {
|
|
65
80
|
if (axios_1.default.isAxiosError(error)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.api.js","sourceRoot":"","sources":["../../../src/apis/link.api.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;
|
|
1
|
+
{"version":3,"file":"link.api.js","sourceRoot":"","sources":["../../../src/apis/link.api.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/apis/link.api.ts
CHANGED
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
CreateEventLinkPayload,
|
|
4
4
|
AuthkitResponse,
|
|
5
5
|
ConnectorPaginationOptions,
|
|
6
|
+
UserFlags,
|
|
6
7
|
} from '../types';
|
|
7
8
|
|
|
8
9
|
/**
|
|
@@ -96,15 +97,43 @@ async function paginateAuthkitConnections(
|
|
|
96
97
|
pages: 1,
|
|
97
98
|
total,
|
|
98
99
|
requestId: latestResponse.requestId, // Use the requestId from the latest response
|
|
100
|
+
isWhiteLabel: false, // Default value, will be updated by createEventLinkTokenApi
|
|
99
101
|
};
|
|
100
102
|
}
|
|
101
103
|
|
|
104
|
+
/**
|
|
105
|
+
* Fetches user whitelist status from /v1/users/flags endpoint
|
|
106
|
+
* @param url - Base URL for the API
|
|
107
|
+
* @param headers - Request headers
|
|
108
|
+
* @returns Promise with boolean indicating whitelist status, defaults to false on error
|
|
109
|
+
*/
|
|
110
|
+
async function fetchUserWhitelistStatus(
|
|
111
|
+
url: string,
|
|
112
|
+
headers: Record<string, string>,
|
|
113
|
+
): Promise<boolean> {
|
|
114
|
+
try {
|
|
115
|
+
const response = await axios.get<UserFlags>(
|
|
116
|
+
`${url}/v1/users/flags`,
|
|
117
|
+
{ headers }
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
// Extract authkitWhitelist directly from response, default to false if not present
|
|
121
|
+
return response.data?.authkitWhitelist ?? false;
|
|
122
|
+
} catch (error) {
|
|
123
|
+
// If the endpoint fails, we don't fail the whole thing, just return false
|
|
124
|
+
console.warn('Failed to fetch user whitelist status, defaulting to false:', error);
|
|
125
|
+
return false;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
102
129
|
export const createEventLinkTokenApi = async (
|
|
103
130
|
headers: Record<string, string>,
|
|
104
131
|
url: string,
|
|
105
132
|
payload?: CreateEventLinkPayload,
|
|
106
133
|
) => {
|
|
107
134
|
try {
|
|
135
|
+
// Fetch user whitelist status (doesn't fail if endpoint fails)
|
|
136
|
+
const isWhiteLabel = await fetchUserWhitelistStatus(url, headers);
|
|
108
137
|
|
|
109
138
|
// Fetch all authkit connections with pagination support
|
|
110
139
|
const authkitResponse = await paginateAuthkitConnections(
|
|
@@ -114,7 +143,11 @@ export const createEventLinkTokenApi = async (
|
|
|
114
143
|
{ limit: 100, maxConcurrentRequests: 3, maxRetries: 3 }
|
|
115
144
|
);
|
|
116
145
|
|
|
117
|
-
|
|
146
|
+
// Add isWhiteLabel to the response
|
|
147
|
+
return {
|
|
148
|
+
...authkitResponse,
|
|
149
|
+
isWhiteLabel,
|
|
150
|
+
};
|
|
118
151
|
} catch (error) {
|
|
119
152
|
if (axios.isAxiosError(error)) {
|
|
120
153
|
return error.response?.data;
|
package/src/types/index.d.ts
CHANGED
|
@@ -210,6 +210,7 @@ export interface AuthkitResponse {
|
|
|
210
210
|
pages: number;
|
|
211
211
|
page: number;
|
|
212
212
|
requestId: number;
|
|
213
|
+
isWhiteLabel: boolean;
|
|
213
214
|
}
|
|
214
215
|
|
|
215
216
|
export interface ConnectorPaginationOptions {
|
|
@@ -218,4 +219,11 @@ export interface ConnectorPaginationOptions {
|
|
|
218
219
|
maxRetries?: number;
|
|
219
220
|
}
|
|
220
221
|
|
|
222
|
+
export interface UserFlags {
|
|
223
|
+
accessList: string[];
|
|
224
|
+
authkitWhitelist: boolean;
|
|
225
|
+
earlyAccess: string[];
|
|
226
|
+
completedQuickstart: boolean;
|
|
227
|
+
}
|
|
228
|
+
|
|
221
229
|
|