@sanvika/auth 2.5.3 → 2.5.5
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/server.js +93 -5
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
var _authUrl = () => {
|
|
1
|
+
const _authUrl = () => {
|
|
3
2
|
var _a;
|
|
4
3
|
return typeof process !== "undefined" && ((_a = process.env) == null ? void 0 : _a.AUTH_URL) || "https://accounts.sanvikaproduction.com";
|
|
5
4
|
};
|
|
6
|
-
|
|
5
|
+
const _serviceKey = () => {
|
|
7
6
|
var _a;
|
|
8
7
|
return typeof process !== "undefined" && ((_a = process.env) == null ? void 0 : _a.AUTH_SERVICE_KEY) || "";
|
|
9
8
|
};
|
|
10
|
-
|
|
9
|
+
const _s2sHeaders = () => ({
|
|
11
10
|
"Content-Type": "application/json",
|
|
12
11
|
..._serviceKey() ? { "x-service-key": _serviceKey() } : {}
|
|
13
12
|
});
|
|
13
|
+
function _resolveAuthHeader(requestOrObj) {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
if (typeof ((_a = requestOrObj == null ? void 0 : requestOrObj.headers) == null ? void 0 : _a.get) === "function") {
|
|
16
|
+
return requestOrObj.headers.get("authorization") || requestOrObj.headers.get("Authorization") || null;
|
|
17
|
+
}
|
|
18
|
+
return ((_b = requestOrObj == null ? void 0 : requestOrObj.headers) == null ? void 0 : _b.authorization) || null;
|
|
19
|
+
}
|
|
14
20
|
async function verifyAuthToken(request) {
|
|
15
21
|
try {
|
|
16
|
-
const auth = request
|
|
22
|
+
const auth = _resolveAuthHeader(request);
|
|
17
23
|
if (!(auth == null ? void 0 : auth.startsWith("Bearer "))) return null;
|
|
18
24
|
const res = await fetch(`${_authUrl()}/api/auth/verify-token`, {
|
|
19
25
|
method: "GET",
|
|
@@ -30,6 +36,28 @@ async function extractAuthUid(request) {
|
|
|
30
36
|
const payload = await verifyAuthToken(request);
|
|
31
37
|
return (payload == null ? void 0 : payload.sub) || null;
|
|
32
38
|
}
|
|
39
|
+
async function extractUserFromToken(request) {
|
|
40
|
+
const auth = _resolveAuthHeader(request);
|
|
41
|
+
if (!auth || !auth.startsWith("Bearer ")) {
|
|
42
|
+
throw new Error("Authorization header missing or invalid");
|
|
43
|
+
}
|
|
44
|
+
const payload = await verifyAuthToken(request);
|
|
45
|
+
if (!payload) throw new Error("Invalid or expired token");
|
|
46
|
+
const uid = payload.sub || payload.uid;
|
|
47
|
+
if (!uid) throw new Error("Invalid token payload - missing uid");
|
|
48
|
+
return {
|
|
49
|
+
uid,
|
|
50
|
+
mobile: payload.mobile || null,
|
|
51
|
+
role: payload.role || "user",
|
|
52
|
+
roles: [],
|
|
53
|
+
deviceId: payload.deviceId || null,
|
|
54
|
+
image: payload.image || null,
|
|
55
|
+
firstName: payload.firstName || null,
|
|
56
|
+
lastName: payload.lastName || null,
|
|
57
|
+
exp: payload.exp,
|
|
58
|
+
iat: payload.iat
|
|
59
|
+
};
|
|
60
|
+
}
|
|
33
61
|
async function getUserFromAuth(uid) {
|
|
34
62
|
if (!uid) return null;
|
|
35
63
|
try {
|
|
@@ -58,6 +86,22 @@ async function getUserLocationFromAuth(uid) {
|
|
|
58
86
|
return null;
|
|
59
87
|
}
|
|
60
88
|
}
|
|
89
|
+
async function updateUserLocation(uid, locationData) {
|
|
90
|
+
if (!uid || !locationData) return null;
|
|
91
|
+
try {
|
|
92
|
+
const res = await fetch(`${_authUrl()}/api/location`, {
|
|
93
|
+
method: "POST",
|
|
94
|
+
headers: _s2sHeaders(),
|
|
95
|
+
body: JSON.stringify({ uid, ...locationData }),
|
|
96
|
+
signal: AbortSignal.timeout(5e3)
|
|
97
|
+
});
|
|
98
|
+
if (!res.ok) return null;
|
|
99
|
+
const data = await res.json();
|
|
100
|
+
return data.success ? data.data : null;
|
|
101
|
+
} catch {
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
61
105
|
async function getUserByMobileFromAuth(mobile, authToken = "") {
|
|
62
106
|
var _a;
|
|
63
107
|
if (!mobile) return null;
|
|
@@ -91,6 +135,46 @@ async function batchGetUsersFromAuth(uids) {
|
|
|
91
135
|
}
|
|
92
136
|
return results;
|
|
93
137
|
}
|
|
138
|
+
async function updateUserProfile(uid, data, authToken = "") {
|
|
139
|
+
if (!uid || !data) return null;
|
|
140
|
+
try {
|
|
141
|
+
const headers = {
|
|
142
|
+
"Content-Type": "application/json",
|
|
143
|
+
..._serviceKey() ? { "x-service-key": _serviceKey() } : {},
|
|
144
|
+
...authToken ? { Authorization: `Bearer ${authToken}` } : {}
|
|
145
|
+
};
|
|
146
|
+
const res = await fetch(
|
|
147
|
+
`${_authUrl()}/api/user/profile?uid=${encodeURIComponent(uid)}`,
|
|
148
|
+
{
|
|
149
|
+
method: "PUT",
|
|
150
|
+
headers,
|
|
151
|
+
body: JSON.stringify(data),
|
|
152
|
+
signal: AbortSignal.timeout(8e3)
|
|
153
|
+
}
|
|
154
|
+
);
|
|
155
|
+
if (!res.ok) return null;
|
|
156
|
+
const json = await res.json();
|
|
157
|
+
return (json == null ? void 0 : json.success) ? json.data : null;
|
|
158
|
+
} catch {
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
async function deleteUserFromAuth(uid) {
|
|
163
|
+
if (!uid) return false;
|
|
164
|
+
try {
|
|
165
|
+
const res = await fetch(
|
|
166
|
+
`${_authUrl()}/api/admin/users/${encodeURIComponent(uid)}/delete`,
|
|
167
|
+
{
|
|
168
|
+
method: "DELETE",
|
|
169
|
+
headers: _s2sHeaders(),
|
|
170
|
+
signal: AbortSignal.timeout(1e4)
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
return res.ok;
|
|
174
|
+
} catch {
|
|
175
|
+
return false;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
94
178
|
async function listUsersFromAuth({ page = 1, limit = 20, search = "", authToken = "" } = {}) {
|
|
95
179
|
const empty = { users: [], pagination: { page, limit, total: 0, pages: 0 } };
|
|
96
180
|
try {
|
|
@@ -113,10 +197,14 @@ async function listUsersFromAuth({ page = 1, limit = 20, search = "", authToken
|
|
|
113
197
|
}
|
|
114
198
|
export {
|
|
115
199
|
batchGetUsersFromAuth,
|
|
200
|
+
deleteUserFromAuth,
|
|
116
201
|
extractAuthUid,
|
|
202
|
+
extractUserFromToken,
|
|
117
203
|
getUserByMobileFromAuth,
|
|
118
204
|
getUserFromAuth,
|
|
119
205
|
getUserLocationFromAuth,
|
|
120
206
|
listUsersFromAuth,
|
|
207
|
+
updateUserLocation,
|
|
208
|
+
updateUserProfile,
|
|
121
209
|
verifyAuthToken
|
|
122
210
|
};
|