@replyke/core 5.1.5-beta.3 → 5.1.5-beta.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/cjs/context/index.d.ts +1 -1
- package/dist/cjs/context/index.js +5 -3
- package/dist/cjs/context/index.js.map +1 -1
- package/dist/cjs/context/replyke-context.d.ts +0 -1
- package/dist/cjs/context/replyke-context.js +2 -3
- package/dist/cjs/context/replyke-context.js.map +1 -1
- package/dist/cjs/context/replyke-store-context.d.ts +3 -2
- package/dist/cjs/context/replyke-store-context.js +15 -20
- package/dist/cjs/context/replyke-store-context.js.map +1 -1
- package/dist/cjs/hooks/auth-redux/index.d.ts +2 -0
- package/dist/cjs/hooks/auth-redux/index.js +11 -0
- package/dist/cjs/hooks/auth-redux/index.js.map +1 -0
- package/dist/cjs/hooks/auth-redux/useAuthRedux.d.ts +32 -0
- package/dist/cjs/hooks/auth-redux/useAuthRedux.js +180 -0
- package/dist/cjs/hooks/auth-redux/useAuthRedux.js.map +1 -0
- package/dist/cjs/hooks/auth-redux/useUserRedux.d.ts +6 -0
- package/dist/cjs/hooks/auth-redux/useUserRedux.js +20 -0
- package/dist/cjs/hooks/auth-redux/useUserRedux.js.map +1 -0
- package/dist/cjs/index.d.ts +7 -5
- package/dist/cjs/index.js +15 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/store/slices/authSlice.d.ts +12 -1
- package/dist/cjs/store/slices/authSlice.js +48 -2
- package/dist/cjs/store/slices/authSlice.js.map +1 -1
- package/dist/cjs/store/slices/authThunks.d.ts +40 -0
- package/dist/cjs/store/slices/authThunks.js +357 -0
- package/dist/cjs/store/slices/authThunks.js.map +1 -0
- package/dist/esm/context/index.d.ts +1 -1
- package/dist/esm/context/index.js +3 -1
- package/dist/esm/context/index.js.map +1 -1
- package/dist/esm/context/replyke-context.d.ts +0 -1
- package/dist/esm/context/replyke-context.js +2 -3
- package/dist/esm/context/replyke-context.js.map +1 -1
- package/dist/esm/context/replyke-store-context.d.ts +3 -2
- package/dist/esm/context/replyke-store-context.js +16 -18
- package/dist/esm/context/replyke-store-context.js.map +1 -1
- package/dist/esm/hooks/auth-redux/index.d.ts +2 -0
- package/dist/esm/hooks/auth-redux/index.js +3 -0
- package/dist/esm/hooks/auth-redux/index.js.map +1 -0
- package/dist/esm/hooks/auth-redux/useAuthRedux.d.ts +32 -0
- package/dist/esm/hooks/auth-redux/useAuthRedux.js +174 -0
- package/dist/esm/hooks/auth-redux/useAuthRedux.js.map +1 -0
- package/dist/esm/hooks/auth-redux/useUserRedux.d.ts +6 -0
- package/dist/esm/hooks/auth-redux/useUserRedux.js +17 -0
- package/dist/esm/hooks/auth-redux/useUserRedux.js.map +1 -0
- package/dist/esm/index.d.ts +7 -5
- package/dist/esm/index.js +13 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/store/slices/authSlice.d.ts +12 -1
- package/dist/esm/store/slices/authSlice.js +42 -1
- package/dist/esm/store/slices/authSlice.js.map +1 -1
- package/dist/esm/store/slices/authThunks.d.ts +40 -0
- package/dist/esm/store/slices/authThunks.js +351 -0
- package/dist/esm/store/slices/authThunks.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,16 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var _a;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.selectRefreshToken = exports.selectAccessToken = exports.clearTokens = exports.setTokens = void 0;
|
|
4
|
+
exports.selectSignedToken = exports.selectInitialized = exports.selectIsAuthenticating = exports.selectLoadingInitial = exports.selectUser = exports.selectRefreshToken = exports.selectAccessToken = exports.setRefreshToken = exports.resetAuth = exports.setSignedToken = exports.setInitialized = exports.setAuthenticating = exports.setLoadingInitial = exports.setUser = exports.clearTokens = exports.setTokens = void 0;
|
|
5
5
|
var toolkit_1 = require("@reduxjs/toolkit");
|
|
6
6
|
var initialState = {
|
|
7
7
|
accessToken: null,
|
|
8
8
|
refreshToken: null,
|
|
9
|
+
user: null,
|
|
10
|
+
loadingInitial: true,
|
|
11
|
+
isAuthenticating: false,
|
|
12
|
+
initialized: false,
|
|
13
|
+
signedToken: null,
|
|
9
14
|
};
|
|
10
15
|
var authSlice = (0, toolkit_1.createSlice)({
|
|
11
16
|
name: 'auth',
|
|
12
17
|
initialState: initialState,
|
|
13
18
|
reducers: {
|
|
19
|
+
// Token management
|
|
14
20
|
setTokens: function (state, action) {
|
|
15
21
|
state.accessToken = action.payload.accessToken;
|
|
16
22
|
if (action.payload.refreshToken !== undefined) {
|
|
@@ -21,13 +27,53 @@ var authSlice = (0, toolkit_1.createSlice)({
|
|
|
21
27
|
state.accessToken = null;
|
|
22
28
|
state.refreshToken = null;
|
|
23
29
|
},
|
|
30
|
+
// User management
|
|
31
|
+
setUser: function (state, action) {
|
|
32
|
+
state.user = action.payload;
|
|
33
|
+
},
|
|
34
|
+
// Loading states
|
|
35
|
+
setLoadingInitial: function (state, action) {
|
|
36
|
+
state.loadingInitial = action.payload;
|
|
37
|
+
},
|
|
38
|
+
setAuthenticating: function (state, action) {
|
|
39
|
+
state.isAuthenticating = action.payload;
|
|
40
|
+
},
|
|
41
|
+
// Initialization
|
|
42
|
+
setInitialized: function (state, action) {
|
|
43
|
+
state.initialized = action.payload;
|
|
44
|
+
},
|
|
45
|
+
setSignedToken: function (state, action) {
|
|
46
|
+
state.signedToken = action.payload;
|
|
47
|
+
},
|
|
48
|
+
// Complete auth reset (for signout)
|
|
49
|
+
resetAuth: function (state) {
|
|
50
|
+
state.accessToken = null;
|
|
51
|
+
state.refreshToken = null;
|
|
52
|
+
state.user = null;
|
|
53
|
+
state.isAuthenticating = false;
|
|
54
|
+
// Keep loadingInitial and initialized as they are
|
|
55
|
+
},
|
|
56
|
+
// Individual token setter for compatibility
|
|
57
|
+
setRefreshToken: function (state, action) {
|
|
58
|
+
state.refreshToken = action.payload;
|
|
59
|
+
},
|
|
24
60
|
},
|
|
25
61
|
});
|
|
26
|
-
exports.setTokens = (_a = authSlice.actions, _a.setTokens), exports.clearTokens = _a.clearTokens;
|
|
62
|
+
exports.setTokens = (_a = authSlice.actions, _a.setTokens), exports.clearTokens = _a.clearTokens, exports.setUser = _a.setUser, exports.setLoadingInitial = _a.setLoadingInitial, exports.setAuthenticating = _a.setAuthenticating, exports.setInitialized = _a.setInitialized, exports.setSignedToken = _a.setSignedToken, exports.resetAuth = _a.resetAuth, exports.setRefreshToken = _a.setRefreshToken;
|
|
27
63
|
// Selectors
|
|
28
64
|
var selectAccessToken = function (state) { return state.auth.accessToken; };
|
|
29
65
|
exports.selectAccessToken = selectAccessToken;
|
|
30
66
|
var selectRefreshToken = function (state) { return state.auth.refreshToken; };
|
|
31
67
|
exports.selectRefreshToken = selectRefreshToken;
|
|
68
|
+
var selectUser = function (state) { return state.auth.user; };
|
|
69
|
+
exports.selectUser = selectUser;
|
|
70
|
+
var selectLoadingInitial = function (state) { return state.auth.loadingInitial; };
|
|
71
|
+
exports.selectLoadingInitial = selectLoadingInitial;
|
|
72
|
+
var selectIsAuthenticating = function (state) { return state.auth.isAuthenticating; };
|
|
73
|
+
exports.selectIsAuthenticating = selectIsAuthenticating;
|
|
74
|
+
var selectInitialized = function (state) { return state.auth.initialized; };
|
|
75
|
+
exports.selectInitialized = selectInitialized;
|
|
76
|
+
var selectSignedToken = function (state) { return state.auth.signedToken; };
|
|
77
|
+
exports.selectSignedToken = selectSignedToken;
|
|
32
78
|
exports.default = authSlice.reducer;
|
|
33
79
|
//# sourceMappingURL=authSlice.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authSlice.js","sourceRoot":"","sources":["../../../../src/store/slices/authSlice.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"authSlice.js","sourceRoot":"","sources":["../../../../src/store/slices/authSlice.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const signUpWithEmailAndPasswordThunk: import("@reduxjs/toolkit").AsyncThunk<any, {
|
|
2
|
+
projectId: string;
|
|
3
|
+
email: string;
|
|
4
|
+
password: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
username?: string;
|
|
7
|
+
avatar?: string;
|
|
8
|
+
bio?: string;
|
|
9
|
+
location?: {
|
|
10
|
+
latitude: number;
|
|
11
|
+
longitude: number;
|
|
12
|
+
};
|
|
13
|
+
birthdate?: Date;
|
|
14
|
+
metadata?: Record<string, any>;
|
|
15
|
+
secureMetadata?: Record<string, any>;
|
|
16
|
+
}, import("@reduxjs/toolkit").AsyncThunkConfig>;
|
|
17
|
+
export declare const signInWithEmailAndPasswordThunk: import("@reduxjs/toolkit").AsyncThunk<any, {
|
|
18
|
+
projectId: string;
|
|
19
|
+
email: string;
|
|
20
|
+
password: string;
|
|
21
|
+
}, import("@reduxjs/toolkit").AsyncThunkConfig>;
|
|
22
|
+
export declare const signOutThunk: import("@reduxjs/toolkit").AsyncThunk<undefined, {
|
|
23
|
+
projectId: string;
|
|
24
|
+
}, import("@reduxjs/toolkit").AsyncThunkConfig>;
|
|
25
|
+
export declare const requestNewAccessTokenThunk: import("@reduxjs/toolkit").AsyncThunk<any, {
|
|
26
|
+
projectId: string;
|
|
27
|
+
}, import("@reduxjs/toolkit").AsyncThunkConfig>;
|
|
28
|
+
export declare const verifyExternalUserThunk: import("@reduxjs/toolkit").AsyncThunk<any, {
|
|
29
|
+
projectId: string;
|
|
30
|
+
userJwt: string;
|
|
31
|
+
}, import("@reduxjs/toolkit").AsyncThunkConfig>;
|
|
32
|
+
export declare const changePasswordThunk: import("@reduxjs/toolkit").AsyncThunk<undefined, {
|
|
33
|
+
projectId: string;
|
|
34
|
+
password: string;
|
|
35
|
+
newPassword: string;
|
|
36
|
+
}, import("@reduxjs/toolkit").AsyncThunkConfig>;
|
|
37
|
+
export declare const initializeAuthThunk: import("@reduxjs/toolkit").AsyncThunk<void, {
|
|
38
|
+
projectId: string;
|
|
39
|
+
signedToken?: string | null;
|
|
40
|
+
}, import("@reduxjs/toolkit").AsyncThunkConfig>;
|
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
13
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.initializeAuthThunk = exports.changePasswordThunk = exports.verifyExternalUserThunk = exports.requestNewAccessTokenThunk = exports.signOutThunk = exports.signInWithEmailAndPasswordThunk = exports.signUpWithEmailAndPasswordThunk = void 0;
|
|
43
|
+
var toolkit_1 = require("@reduxjs/toolkit");
|
|
44
|
+
var axios_1 = __importDefault(require("../../config/axios"));
|
|
45
|
+
var isReactNative_1 = require("../../utils/isReactNative");
|
|
46
|
+
var handleError_1 = require("../../utils/handleError");
|
|
47
|
+
var authSlice_1 = require("./authSlice");
|
|
48
|
+
// Auth service functions - calling existing API patterns directly
|
|
49
|
+
var authService = {
|
|
50
|
+
signUpWithEmailAndPassword: function (projectId, data) {
|
|
51
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
52
|
+
var response;
|
|
53
|
+
var _a, _b, _c;
|
|
54
|
+
return __generator(this, function (_d) {
|
|
55
|
+
switch (_d.label) {
|
|
56
|
+
case 0: return [4 /*yield*/, axios_1.default.post("/".concat(projectId, "/auth/sign-up"), {
|
|
57
|
+
email: data.email,
|
|
58
|
+
password: data.password,
|
|
59
|
+
name: (_a = data.name) === null || _a === void 0 ? void 0 : _a.trim(),
|
|
60
|
+
username: (_b = data.username) === null || _b === void 0 ? void 0 : _b.trim(),
|
|
61
|
+
avatar: data.avatar,
|
|
62
|
+
bio: (_c = data.bio) === null || _c === void 0 ? void 0 : _c.trim(),
|
|
63
|
+
location: data.location,
|
|
64
|
+
birthdate: data.birthdate,
|
|
65
|
+
metadata: data.metadata,
|
|
66
|
+
secureMetadata: data.secureMetadata,
|
|
67
|
+
}, { withCredentials: !(0, isReactNative_1.isReactNative)() })];
|
|
68
|
+
case 1:
|
|
69
|
+
response = _d.sent();
|
|
70
|
+
return [2 /*return*/, response.data];
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
},
|
|
75
|
+
signInWithEmailAndPassword: function (projectId, data) {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
77
|
+
var response;
|
|
78
|
+
return __generator(this, function (_a) {
|
|
79
|
+
switch (_a.label) {
|
|
80
|
+
case 0: return [4 /*yield*/, axios_1.default.post("/".concat(projectId, "/auth/sign-in"), data, { withCredentials: !(0, isReactNative_1.isReactNative)() })];
|
|
81
|
+
case 1:
|
|
82
|
+
response = _a.sent();
|
|
83
|
+
return [2 /*return*/, response.data];
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
signOut: function (projectId, refreshToken) {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
90
|
+
return __generator(this, function (_a) {
|
|
91
|
+
switch (_a.label) {
|
|
92
|
+
case 0: return [4 /*yield*/, axios_1.default.post("/".concat(projectId, "/auth/sign-out"), { refreshToken: refreshToken }, { withCredentials: !(0, isReactNative_1.isReactNative)() })];
|
|
93
|
+
case 1:
|
|
94
|
+
_a.sent();
|
|
95
|
+
return [2 /*return*/];
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
},
|
|
100
|
+
requestNewAccessToken: function (projectId, refreshToken) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
102
|
+
var response;
|
|
103
|
+
return __generator(this, function (_a) {
|
|
104
|
+
switch (_a.label) {
|
|
105
|
+
case 0: return [4 /*yield*/, axios_1.default.post("/".concat(projectId, "/auth/request-new-access-token"), { refreshToken: refreshToken }, { withCredentials: !(0, isReactNative_1.isReactNative)() })];
|
|
106
|
+
case 1:
|
|
107
|
+
response = _a.sent();
|
|
108
|
+
return [2 /*return*/, response.data];
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
});
|
|
112
|
+
},
|
|
113
|
+
verifyExternalUser: function (projectId, userJwt) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
115
|
+
var response;
|
|
116
|
+
return __generator(this, function (_a) {
|
|
117
|
+
switch (_a.label) {
|
|
118
|
+
case 0: return [4 /*yield*/, axios_1.default.post("/".concat(projectId, "/auth/verify-external-user"), { userJwt: userJwt })];
|
|
119
|
+
case 1:
|
|
120
|
+
response = _a.sent();
|
|
121
|
+
return [2 /*return*/, response.data];
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
changePassword: function (projectId, data) {
|
|
127
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
128
|
+
return __generator(this, function (_a) {
|
|
129
|
+
switch (_a.label) {
|
|
130
|
+
case 0: return [4 /*yield*/, axios_1.default.post("/".concat(projectId, "/auth/change-password"), data, { withCredentials: !(0, isReactNative_1.isReactNative)() })];
|
|
131
|
+
case 1:
|
|
132
|
+
_a.sent();
|
|
133
|
+
return [2 /*return*/];
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
// Async Thunks
|
|
140
|
+
exports.signUpWithEmailAndPasswordThunk = (0, toolkit_1.createAsyncThunk)('auth/signUpWithEmailAndPassword', function (data_1, _a) { return __awaiter(void 0, [data_1, _a], void 0, function (data, _b) {
|
|
141
|
+
var result, error_1;
|
|
142
|
+
var dispatch = _b.dispatch, rejectWithValue = _b.rejectWithValue;
|
|
143
|
+
return __generator(this, function (_c) {
|
|
144
|
+
switch (_c.label) {
|
|
145
|
+
case 0:
|
|
146
|
+
_c.trys.push([0, 2, 3, 4]);
|
|
147
|
+
dispatch((0, authSlice_1.setAuthenticating)(true));
|
|
148
|
+
return [4 /*yield*/, authService.signUpWithEmailAndPassword(data.projectId, data)];
|
|
149
|
+
case 1:
|
|
150
|
+
result = _c.sent();
|
|
151
|
+
// Update auth state
|
|
152
|
+
dispatch((0, authSlice_1.setTokens)({
|
|
153
|
+
accessToken: result.accessToken,
|
|
154
|
+
refreshToken: result.refreshToken
|
|
155
|
+
}));
|
|
156
|
+
dispatch((0, authSlice_1.setUser)(result.user));
|
|
157
|
+
return [2 /*return*/, result];
|
|
158
|
+
case 2:
|
|
159
|
+
error_1 = _c.sent();
|
|
160
|
+
(0, handleError_1.handleError)(error_1, "Failed to register user with email and password:");
|
|
161
|
+
return [2 /*return*/, rejectWithValue(error_1 instanceof Error ? error_1.message : 'Unknown error')];
|
|
162
|
+
case 3:
|
|
163
|
+
dispatch((0, authSlice_1.setAuthenticating)(false));
|
|
164
|
+
return [7 /*endfinally*/];
|
|
165
|
+
case 4: return [2 /*return*/];
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
}); });
|
|
169
|
+
exports.signInWithEmailAndPasswordThunk = (0, toolkit_1.createAsyncThunk)('auth/signInWithEmailAndPassword', function (data_1, _a) { return __awaiter(void 0, [data_1, _a], void 0, function (data, _b) {
|
|
170
|
+
var result, error_2;
|
|
171
|
+
var dispatch = _b.dispatch, rejectWithValue = _b.rejectWithValue;
|
|
172
|
+
return __generator(this, function (_c) {
|
|
173
|
+
switch (_c.label) {
|
|
174
|
+
case 0:
|
|
175
|
+
_c.trys.push([0, 2, 3, 4]);
|
|
176
|
+
dispatch((0, authSlice_1.setAuthenticating)(true));
|
|
177
|
+
return [4 /*yield*/, authService.signInWithEmailAndPassword(data.projectId, data)];
|
|
178
|
+
case 1:
|
|
179
|
+
result = _c.sent();
|
|
180
|
+
// Update auth state
|
|
181
|
+
dispatch((0, authSlice_1.setTokens)({
|
|
182
|
+
accessToken: result.accessToken,
|
|
183
|
+
refreshToken: result.refreshToken
|
|
184
|
+
}));
|
|
185
|
+
dispatch((0, authSlice_1.setUser)(result.user));
|
|
186
|
+
return [2 /*return*/, result];
|
|
187
|
+
case 2:
|
|
188
|
+
error_2 = _c.sent();
|
|
189
|
+
(0, handleError_1.handleError)(error_2, "Failed to log user in:");
|
|
190
|
+
return [2 /*return*/, rejectWithValue(error_2 instanceof Error ? error_2.message : 'Unknown error')];
|
|
191
|
+
case 3:
|
|
192
|
+
dispatch((0, authSlice_1.setAuthenticating)(false));
|
|
193
|
+
return [7 /*endfinally*/];
|
|
194
|
+
case 4: return [2 /*return*/];
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}); });
|
|
198
|
+
exports.signOutThunk = (0, toolkit_1.createAsyncThunk)('auth/signOut', function (data_1, _a) { return __awaiter(void 0, [data_1, _a], void 0, function (data, _b) {
|
|
199
|
+
var state, refreshToken, error_3;
|
|
200
|
+
var dispatch = _b.dispatch, getState = _b.getState, rejectWithValue = _b.rejectWithValue;
|
|
201
|
+
return __generator(this, function (_c) {
|
|
202
|
+
switch (_c.label) {
|
|
203
|
+
case 0:
|
|
204
|
+
state = getState();
|
|
205
|
+
refreshToken = state.auth.refreshToken;
|
|
206
|
+
// If React Native and no refresh token, throw error (matches original logic)
|
|
207
|
+
if ((0, isReactNative_1.isReactNative)() && !refreshToken) {
|
|
208
|
+
throw new Error("No refresh token");
|
|
209
|
+
}
|
|
210
|
+
_c.label = 1;
|
|
211
|
+
case 1:
|
|
212
|
+
_c.trys.push([1, 3, 4, 5]);
|
|
213
|
+
dispatch((0, authSlice_1.setAuthenticating)(true));
|
|
214
|
+
return [4 /*yield*/, authService.signOut(data.projectId, refreshToken)];
|
|
215
|
+
case 2:
|
|
216
|
+
_c.sent();
|
|
217
|
+
// Clear auth state
|
|
218
|
+
dispatch((0, authSlice_1.resetAuth)());
|
|
219
|
+
return [2 /*return*/];
|
|
220
|
+
case 3:
|
|
221
|
+
error_3 = _c.sent();
|
|
222
|
+
(0, handleError_1.handleError)(error_3, "Failed to log user out:");
|
|
223
|
+
return [2 /*return*/, rejectWithValue(error_3 instanceof Error ? error_3.message : 'Unknown error')];
|
|
224
|
+
case 4:
|
|
225
|
+
dispatch((0, authSlice_1.setAuthenticating)(false));
|
|
226
|
+
return [7 /*endfinally*/];
|
|
227
|
+
case 5: return [2 /*return*/];
|
|
228
|
+
}
|
|
229
|
+
});
|
|
230
|
+
}); });
|
|
231
|
+
exports.requestNewAccessTokenThunk = (0, toolkit_1.createAsyncThunk)('auth/requestNewAccessToken', function (data_1, _a) { return __awaiter(void 0, [data_1, _a], void 0, function (data, _b) {
|
|
232
|
+
var state, refreshToken, result, error_4;
|
|
233
|
+
var dispatch = _b.dispatch, getState = _b.getState, rejectWithValue = _b.rejectWithValue;
|
|
234
|
+
return __generator(this, function (_c) {
|
|
235
|
+
switch (_c.label) {
|
|
236
|
+
case 0:
|
|
237
|
+
state = getState();
|
|
238
|
+
refreshToken = state.auth.refreshToken;
|
|
239
|
+
// If React Native and no refresh token, return early
|
|
240
|
+
if ((0, isReactNative_1.isReactNative)() && !refreshToken) {
|
|
241
|
+
return [2 /*return*/];
|
|
242
|
+
}
|
|
243
|
+
_c.label = 1;
|
|
244
|
+
case 1:
|
|
245
|
+
_c.trys.push([1, 3, , 4]);
|
|
246
|
+
return [4 /*yield*/, authService.requestNewAccessToken(data.projectId, refreshToken)];
|
|
247
|
+
case 2:
|
|
248
|
+
result = _c.sent();
|
|
249
|
+
// Update auth state
|
|
250
|
+
dispatch((0, authSlice_1.setTokens)({ accessToken: result.accessToken }));
|
|
251
|
+
dispatch((0, authSlice_1.setUser)(result.user));
|
|
252
|
+
return [2 /*return*/, result.accessToken];
|
|
253
|
+
case 3:
|
|
254
|
+
error_4 = _c.sent();
|
|
255
|
+
(0, handleError_1.handleError)(error_4, "Request new access token error:");
|
|
256
|
+
return [2 /*return*/, rejectWithValue(error_4 instanceof Error ? error_4.message : 'Unknown error')];
|
|
257
|
+
case 4: return [2 /*return*/];
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
}); });
|
|
261
|
+
exports.verifyExternalUserThunk = (0, toolkit_1.createAsyncThunk)('auth/verifyExternalUser', function (data_1, _a) { return __awaiter(void 0, [data_1, _a], void 0, function (data, _b) {
|
|
262
|
+
var result, error_5;
|
|
263
|
+
var dispatch = _b.dispatch, rejectWithValue = _b.rejectWithValue;
|
|
264
|
+
return __generator(this, function (_c) {
|
|
265
|
+
switch (_c.label) {
|
|
266
|
+
case 0:
|
|
267
|
+
_c.trys.push([0, 2, , 3]);
|
|
268
|
+
return [4 /*yield*/, authService.verifyExternalUser(data.projectId, data.userJwt)];
|
|
269
|
+
case 1:
|
|
270
|
+
result = _c.sent();
|
|
271
|
+
// Update auth state
|
|
272
|
+
dispatch((0, authSlice_1.setTokens)({
|
|
273
|
+
accessToken: result.accessToken,
|
|
274
|
+
refreshToken: result.refreshToken
|
|
275
|
+
}));
|
|
276
|
+
dispatch((0, authSlice_1.setUser)(result.user));
|
|
277
|
+
return [2 /*return*/, result];
|
|
278
|
+
case 2:
|
|
279
|
+
error_5 = _c.sent();
|
|
280
|
+
(0, handleError_1.handleError)(error_5, "Verify external user error:");
|
|
281
|
+
return [2 /*return*/, rejectWithValue(error_5 instanceof Error ? error_5.message : 'Unknown error')];
|
|
282
|
+
case 3: return [2 /*return*/];
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
}); });
|
|
286
|
+
exports.changePasswordThunk = (0, toolkit_1.createAsyncThunk)('auth/changePassword', function (data_1, _a) { return __awaiter(void 0, [data_1, _a], void 0, function (data, _b) {
|
|
287
|
+
var state, error_6;
|
|
288
|
+
var dispatch = _b.dispatch, getState = _b.getState, rejectWithValue = _b.rejectWithValue;
|
|
289
|
+
return __generator(this, function (_c) {
|
|
290
|
+
switch (_c.label) {
|
|
291
|
+
case 0:
|
|
292
|
+
state = getState();
|
|
293
|
+
if (!state.auth.user) {
|
|
294
|
+
throw new Error("No user is authenticated");
|
|
295
|
+
}
|
|
296
|
+
_c.label = 1;
|
|
297
|
+
case 1:
|
|
298
|
+
_c.trys.push([1, 3, 4, 5]);
|
|
299
|
+
dispatch((0, authSlice_1.setAuthenticating)(true));
|
|
300
|
+
return [4 /*yield*/, authService.changePassword(data.projectId, data)];
|
|
301
|
+
case 2:
|
|
302
|
+
_c.sent();
|
|
303
|
+
return [2 /*return*/];
|
|
304
|
+
case 3:
|
|
305
|
+
error_6 = _c.sent();
|
|
306
|
+
(0, handleError_1.handleError)(error_6, "Failed to change password:");
|
|
307
|
+
return [2 /*return*/, rejectWithValue(error_6 instanceof Error ? error_6.message : 'Unknown error')];
|
|
308
|
+
case 4:
|
|
309
|
+
dispatch((0, authSlice_1.setAuthenticating)(false));
|
|
310
|
+
return [7 /*endfinally*/];
|
|
311
|
+
case 5: return [2 /*return*/];
|
|
312
|
+
}
|
|
313
|
+
});
|
|
314
|
+
}); });
|
|
315
|
+
// Initialize auth - handles the startup flow from useAuthData
|
|
316
|
+
exports.initializeAuthThunk = (0, toolkit_1.createAsyncThunk)('auth/initialize', function (data_1, _a) { return __awaiter(void 0, [data_1, _a], void 0, function (data, _b) {
|
|
317
|
+
var error_7;
|
|
318
|
+
var dispatch = _b.dispatch;
|
|
319
|
+
return __generator(this, function (_c) {
|
|
320
|
+
switch (_c.label) {
|
|
321
|
+
case 0:
|
|
322
|
+
_c.trys.push([0, 3, , 4]);
|
|
323
|
+
dispatch((0, authSlice_1.setLoadingInitial)(true));
|
|
324
|
+
if (!data.signedToken) return [3 /*break*/, 2];
|
|
325
|
+
return [4 /*yield*/, dispatch((0, exports.verifyExternalUserThunk)({
|
|
326
|
+
projectId: data.projectId,
|
|
327
|
+
userJwt: data.signedToken
|
|
328
|
+
}))];
|
|
329
|
+
case 1:
|
|
330
|
+
_c.sent();
|
|
331
|
+
_c.label = 2;
|
|
332
|
+
case 2:
|
|
333
|
+
// Step 2: Try to refresh access token (matches original setTimeout logic)
|
|
334
|
+
setTimeout(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
335
|
+
return __generator(this, function (_a) {
|
|
336
|
+
switch (_a.label) {
|
|
337
|
+
case 0: return [4 /*yield*/, dispatch((0, exports.requestNewAccessTokenThunk)({ projectId: data.projectId }))];
|
|
338
|
+
case 1:
|
|
339
|
+
_a.sent();
|
|
340
|
+
dispatch((0, authSlice_1.setLoadingInitial)(false));
|
|
341
|
+
dispatch((0, authSlice_1.setInitialized)(true));
|
|
342
|
+
return [2 /*return*/];
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
}); }, 0);
|
|
346
|
+
return [3 /*break*/, 4];
|
|
347
|
+
case 3:
|
|
348
|
+
error_7 = _c.sent();
|
|
349
|
+
dispatch((0, authSlice_1.setLoadingInitial)(false));
|
|
350
|
+
dispatch((0, authSlice_1.setInitialized)(true));
|
|
351
|
+
(0, handleError_1.handleError)(error_7, "Auth initialization failed:");
|
|
352
|
+
return [3 /*break*/, 4];
|
|
353
|
+
case 4: return [2 /*return*/];
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
}); });
|
|
357
|
+
//# sourceMappingURL=authThunks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authThunks.js","sourceRoot":"","sources":["../../../../src/store/slices/authThunks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export { ReplykeProvider } from "./replyke-context";
|
|
2
2
|
export { ReplykeStoreProvider } from "./replyke-store-context";
|
|
3
|
-
export { AuthProvider } from "./auth-context";
|
|
4
3
|
export { EntityListProvider } from "./entity-list-context";
|
|
5
4
|
export { EntityProvider } from "./entity-context";
|
|
6
5
|
export { ListsProvider } from "./lists-context";
|
|
7
6
|
export { AppNotificationsProvider } from "./app-notifications-context";
|
|
8
7
|
export { CommentSectionProvider } from "./comment-section-context";
|
|
8
|
+
export { AuthProvider } from "./auth-context";
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export { ReplykeProvider } from "./replyke-context";
|
|
2
2
|
export { ReplykeStoreProvider } from "./replyke-store-context";
|
|
3
|
-
export { AuthProvider } from "./auth-context";
|
|
4
3
|
export { EntityListProvider } from "./entity-list-context";
|
|
5
4
|
export { EntityProvider } from "./entity-context";
|
|
6
5
|
export { ListsProvider } from "./lists-context";
|
|
7
6
|
export { AppNotificationsProvider } from "./app-notifications-context";
|
|
8
7
|
export { CommentSectionProvider } from "./comment-section-context";
|
|
8
|
+
// Legacy Context providers (kept for reference but not recommended for new implementations)
|
|
9
|
+
// Use Redux-powered equivalents instead
|
|
10
|
+
export { AuthProvider } from "./auth-context";
|
|
9
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,4FAA4F;AAC5F,wCAAwC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -2,7 +2,6 @@ import React from "react";
|
|
|
2
2
|
import { UseProjectDataProps, UseProjectDataValues } from "../hooks/projects/useProjectData";
|
|
3
3
|
export interface ReplykeContextProps extends UseProjectDataProps {
|
|
4
4
|
signedToken?: string | null | undefined;
|
|
5
|
-
enableRedux?: boolean;
|
|
6
5
|
children: React.ReactNode;
|
|
7
6
|
}
|
|
8
7
|
export interface ReplykeContextValues extends UseProjectDataValues {
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { createContext } from "react";
|
|
3
3
|
import useProjectData from "../hooks/projects/useProjectData";
|
|
4
|
-
import { AuthProvider } from "./auth-context";
|
|
5
4
|
import { ReplykeStoreProvider } from "./replyke-store-context";
|
|
6
5
|
export var ReplykeContext = createContext({
|
|
7
6
|
projectId: "",
|
|
8
7
|
project: null,
|
|
9
8
|
});
|
|
10
9
|
export var ReplykeProvider = function (_a) {
|
|
11
|
-
var projectId = _a.projectId, signedToken = _a.signedToken,
|
|
10
|
+
var projectId = _a.projectId, signedToken = _a.signedToken, children = _a.children;
|
|
12
11
|
var data = useProjectData({ projectId: projectId });
|
|
13
12
|
if (!projectId)
|
|
14
13
|
throw new Error("projectId in ReplykeProvider is " + typeof projectId);
|
|
15
|
-
return (_jsx(ReplykeContext.Provider, { value: data, children: _jsx(
|
|
14
|
+
return (_jsx(ReplykeContext.Provider, { value: data, children: _jsx(ReplykeStoreProvider, { projectId: projectId, signedToken: signedToken, children: children }) }));
|
|
16
15
|
};
|
|
17
16
|
//# sourceMappingURL=replyke-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replyke-context.js","sourceRoot":"","sources":["../../../src/context/replyke-context.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,cAGN,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"replyke-context.js","sourceRoot":"","sources":["../../../src/context/replyke-context.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,cAGN,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAS/D,MAAM,CAAC,IAAM,cAAc,GAAG,aAAa,CAAuB;IAChE,SAAS,EAAE,EAAE;IACb,OAAO,EAAE,IAAI;CACd,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,eAAe,GAAkC,UAAC,EAIzC;QAHpB,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,QAAQ,cAAA;IAER,IAAM,IAAI,GAAG,cAAc,CAAC,EAAE,SAAS,WAAA,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC,SAAS;QACZ,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,OAAO,SAAS,CAAC,CAAC;IAEzE,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YAClC,KAAC,oBAAoB,IAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,YACjE,QAAQ,GACY,GACC,CAC3B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,11 +2,12 @@ import React from "react";
|
|
|
2
2
|
import type { ReactNode } from "react";
|
|
3
3
|
export interface ReplykeStoreProviderProps {
|
|
4
4
|
children: ReactNode;
|
|
5
|
+
projectId: string;
|
|
6
|
+
signedToken?: string | null;
|
|
5
7
|
}
|
|
6
8
|
/**
|
|
7
9
|
* Redux store provider for Replyke
|
|
8
|
-
* This component provides the Redux store
|
|
9
|
-
* Can be used standalone or wrapped around the existing ReplykeProvider
|
|
10
|
+
* This component provides the Redux store and initializes auth state
|
|
10
11
|
*/
|
|
11
12
|
export declare const ReplykeStoreProvider: React.FC<ReplykeStoreProviderProps>;
|
|
12
13
|
export default ReplykeStoreProvider;
|
|
@@ -1,35 +1,33 @@
|
|
|
1
1
|
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect } from "react";
|
|
3
|
-
import { Provider } from "react-redux";
|
|
3
|
+
import { Provider, useDispatch } from "react-redux";
|
|
4
4
|
import { replykeStore } from "../store";
|
|
5
|
-
import
|
|
6
|
-
import { setTokens } from "../store/slices/authSlice";
|
|
5
|
+
import { initializeAuthThunk } from "../store/slices/authThunks";
|
|
7
6
|
/**
|
|
8
|
-
* Component that
|
|
7
|
+
* Component that initializes auth state in Redux
|
|
9
8
|
* Must be inside the Redux Provider to dispatch actions
|
|
10
9
|
*/
|
|
11
|
-
var
|
|
12
|
-
var children = _a.children;
|
|
13
|
-
var
|
|
10
|
+
var AuthInitializer = function (_a) {
|
|
11
|
+
var children = _a.children, projectId = _a.projectId, signedToken = _a.signedToken;
|
|
12
|
+
var dispatch = useDispatch();
|
|
14
13
|
useEffect(function () {
|
|
15
|
-
//
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
// Initialize auth with project and signed token
|
|
15
|
+
dispatch(initializeAuthThunk({
|
|
16
|
+
projectId: projectId,
|
|
17
|
+
signedToken: signedToken
|
|
19
18
|
}));
|
|
20
|
-
}, [
|
|
19
|
+
}, [dispatch, projectId, signedToken]);
|
|
21
20
|
return _jsx(_Fragment, { children: children });
|
|
22
21
|
};
|
|
23
22
|
/**
|
|
24
23
|
* Redux store provider for Replyke
|
|
25
|
-
* This component provides the Redux store
|
|
26
|
-
* Can be used standalone or wrapped around the existing ReplykeProvider
|
|
24
|
+
* This component provides the Redux store and initializes auth state
|
|
27
25
|
*/
|
|
28
26
|
export var ReplykeStoreProvider = function (_a) {
|
|
29
|
-
var children = _a.children;
|
|
30
|
-
return (_jsx(Provider, { store: replykeStore, children: _jsx(
|
|
27
|
+
var children = _a.children, projectId = _a.projectId, signedToken = _a.signedToken;
|
|
28
|
+
return (_jsx(Provider, { store: replykeStore, children: _jsx(AuthInitializer, { projectId: projectId, signedToken: signedToken, children: children }) }));
|
|
31
29
|
};
|
|
32
|
-
//
|
|
33
|
-
//
|
|
30
|
+
// Clean Redux-only architecture
|
|
31
|
+
// Always integrated with ReplykeProvider
|
|
34
32
|
export default ReplykeStoreProvider;
|
|
35
33
|
//# sourceMappingURL=replyke-store-context.js.map
|