@oxyhq/services 5.4.4 → 5.4.6
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/lib/commonjs/core/index.js +81 -3
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/index.js +50 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/FollowButton.js +94 -31
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js +2 -2
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +11 -1
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/index.js +13 -0
- package/lib/commonjs/ui/hooks/index.js.map +1 -0
- package/lib/commonjs/ui/hooks/useFollow.js +203 -0
- package/lib/commonjs/ui/hooks/useFollow.js.map +1 -0
- package/lib/commonjs/ui/index.js +25 -1
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +4 -3
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +7 -6
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +3 -2
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -2
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AppInfoScreen.js +25 -45
- package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +9 -27
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SignInScreen.js +1 -1
- package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +5 -4
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/store/index.js +223 -4
- package/lib/commonjs/ui/store/index.js.map +1 -1
- package/lib/module/core/index.js +81 -3
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/index.js +6 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +95 -32
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js +2 -2
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +11 -1
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/index.js +4 -0
- package/lib/module/ui/hooks/index.js.map +1 -0
- package/lib/module/ui/hooks/useFollow.js +199 -0
- package/lib/module/ui/hooks/useFollow.js.map +1 -0
- package/lib/module/ui/index.js +9 -0
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +4 -3
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js +7 -6
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +3 -2
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -2
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js +25 -45
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +9 -27
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/SignInScreen.js +1 -1
- package/lib/module/ui/screens/SignInScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +5 -4
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/store/index.js +219 -4
- package/lib/module/ui/store/index.js.map +1 -1
- package/lib/typescript/core/index.d.ts +44 -3
- package/lib/typescript/core/index.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +4 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/ui/components/FollowButton.d.ts +1 -0
- package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/index.d.ts +2 -0
- package/lib/typescript/ui/hooks/index.d.ts.map +1 -0
- package/lib/typescript/ui/hooks/useFollow.d.ts +43 -0
- package/lib/typescript/ui/hooks/useFollow.d.ts.map +1 -0
- package/lib/typescript/ui/index.d.ts +3 -0
- package/lib/typescript/ui/index.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AppInfoScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/ui/store/index.d.ts +47 -0
- package/lib/typescript/ui/store/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/index.ts +88 -3
- package/src/index.ts +19 -3
- package/src/ui/components/FollowButton.tsx +128 -56
- package/src/ui/components/OxySignInButton.tsx +2 -2
- package/src/ui/context/OxyContext.tsx +12 -2
- package/src/ui/hooks/index.ts +1 -0
- package/src/ui/hooks/useFollow.ts +193 -0
- package/src/ui/index.ts +9 -0
- package/src/ui/screens/AccountCenterScreen.tsx +17 -15
- package/src/ui/screens/AccountOverviewScreen.tsx +25 -25
- package/src/ui/screens/AccountSettingsScreen.tsx +30 -30
- package/src/ui/screens/AccountSwitcherScreen.tsx +34 -33
- package/src/ui/screens/AppInfoScreen.tsx +173 -192
- package/src/ui/screens/FileManagementScreen.tsx +248 -268
- package/src/ui/screens/SignInScreen.tsx +2 -2
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +4 -4
- package/src/ui/store/index.ts +202 -3
|
@@ -21,7 +21,8 @@ const KarmaCenterScreen = ({
|
|
|
21
21
|
}) => {
|
|
22
22
|
const {
|
|
23
23
|
user,
|
|
24
|
-
oxyServices
|
|
24
|
+
oxyServices,
|
|
25
|
+
isAuthenticated
|
|
25
26
|
} = (0, _OxyContext.useOxy)();
|
|
26
27
|
const [karmaTotal, setKarmaTotal] = (0, _react.useState)(null);
|
|
27
28
|
const [karmaHistory, setKarmaHistory] = (0, _react.useState)([]);
|
|
@@ -44,7 +45,7 @@ const KarmaCenterScreen = ({
|
|
|
44
45
|
setError(err.message || 'Failed to load karma data');
|
|
45
46
|
}).finally(() => setIsLoading(false));
|
|
46
47
|
}, [user]);
|
|
47
|
-
if (!
|
|
48
|
+
if (!isAuthenticated) {
|
|
48
49
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
49
50
|
style: [styles.container, {
|
|
50
51
|
backgroundColor
|
|
@@ -79,8 +80,8 @@ const KarmaCenterScreen = ({
|
|
|
79
80
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
80
81
|
style: styles.walletHeader,
|
|
81
82
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
|
|
82
|
-
uri: user
|
|
83
|
-
name: user
|
|
83
|
+
uri: user?.avatar?.url,
|
|
84
|
+
name: user?.username,
|
|
84
85
|
size: 60,
|
|
85
86
|
theme: theme,
|
|
86
87
|
style: styles.avatar
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_OxyContext","_fonts","_Avatar","_interopRequireDefault","_vectorIcons","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","KarmaCenterScreen","onClose","theme","navigate","goBack","user","oxyServices","useOxy","karmaTotal","setKarmaTotal","useState","karmaHistory","setKarmaHistory","isLoading","setIsLoading","error","setError","isDarkTheme","textColor","backgroundColor","secondaryBackgroundColor","borderColor","primaryColor","useEffect","Promise","all","getUserKarmaTotal","id","getUserKarmaHistory","then","totalRes","historyRes","total","Array","isArray","history","catch","err","message","finally","jsx","View","style","styles","container","children","Text","color","justifyContent","ActivityIndicator","size","jsxs","ScrollView","scrollView","contentContainerStyle","scrollContainer","walletHeader","uri","avatar","url","name","username","karmaLabel","karmaAmount","actionRow","TouchableOpacity","actionIconWrapper","onPress","actionIcon","Ionicons","actionLabel","infoText","sectionTitle","historyContainer","length","textAlign","marginTop","map","entry","historyItem","historyPoints","points","historyDesc","reason","historyDate","createdAt","Date","toLocaleString","footer","closeButton","closeButtonText","StyleSheet","create","flex","padding","alignItems","paddingTop","paddingBottom","width","marginBottom","fontSize","fontFamily","fontFamilies","phudu","fontWeight","phuduBold","flexDirection","flexWrap","rowGap","columnGap","marginHorizontal","marginVertical","height","borderRadius","opacity","actionIconText","maxWidth","alignSelf","marginLeft","overflow","paddingHorizontal","borderBottomWidth","borderTopWidth","borderTopColor","paddingVertical","_default","exports"],"sourceRoot":"../../../../../src","sources":["ui/screens/karma/KarmaCenterScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_OxyContext","_fonts","_Avatar","_interopRequireDefault","_vectorIcons","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","KarmaCenterScreen","onClose","theme","navigate","goBack","user","oxyServices","isAuthenticated","useOxy","karmaTotal","setKarmaTotal","useState","karmaHistory","setKarmaHistory","isLoading","setIsLoading","error","setError","isDarkTheme","textColor","backgroundColor","secondaryBackgroundColor","borderColor","primaryColor","useEffect","Promise","all","getUserKarmaTotal","id","getUserKarmaHistory","then","totalRes","historyRes","total","Array","isArray","history","catch","err","message","finally","jsx","View","style","styles","container","children","Text","color","justifyContent","ActivityIndicator","size","jsxs","ScrollView","scrollView","contentContainerStyle","scrollContainer","walletHeader","uri","avatar","url","name","username","karmaLabel","karmaAmount","actionRow","TouchableOpacity","actionIconWrapper","onPress","actionIcon","Ionicons","actionLabel","infoText","sectionTitle","historyContainer","length","textAlign","marginTop","map","entry","historyItem","historyPoints","points","historyDesc","reason","historyDate","createdAt","Date","toLocaleString","footer","closeButton","closeButtonText","StyleSheet","create","flex","padding","alignItems","paddingTop","paddingBottom","width","marginBottom","fontSize","fontFamily","fontFamilies","phudu","fontWeight","phuduBold","flexDirection","flexWrap","rowGap","columnGap","marginHorizontal","marginVertical","height","borderRadius","opacity","actionIconText","maxWidth","alignSelf","marginLeft","overflow","paddingHorizontal","borderBottomWidth","borderTopWidth","borderTopColor","paddingVertical","_default","exports"],"sourceRoot":"../../../../../src","sources":["ui/screens/karma/KarmaCenterScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,17 +3,149 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.store = exports.logout = exports.loginSuccess = exports.loginStart = exports.loginFailure = void 0;
|
|
6
|
+
exports.toggleFollowUser = exports.store = exports.setFollowingStatus = exports.selectIsUserBeingFetched = exports.resetFollowState = exports.logout = exports.loginSuccess = exports.loginStart = exports.loginFailure = exports.fetchFollowStatus = exports.clearFollowError = void 0;
|
|
7
7
|
var _toolkit = require("@reduxjs/toolkit");
|
|
8
|
-
const
|
|
8
|
+
const initialAuthState = {
|
|
9
9
|
user: null,
|
|
10
10
|
isAuthenticated: false,
|
|
11
11
|
isLoading: false,
|
|
12
12
|
error: null
|
|
13
13
|
};
|
|
14
|
+
const initialFollowState = {
|
|
15
|
+
followingUsers: {},
|
|
16
|
+
loadingUsers: {},
|
|
17
|
+
fetchingUsers: {},
|
|
18
|
+
errors: {}
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
// Async thunk for fetching follow status from backend with deduplication
|
|
22
|
+
const fetchFollowStatus = exports.fetchFollowStatus = (0, _toolkit.createAsyncThunk)('follow/fetchFollowStatus', async ({
|
|
23
|
+
userId,
|
|
24
|
+
oxyServices
|
|
25
|
+
}, {
|
|
26
|
+
rejectWithValue
|
|
27
|
+
}) => {
|
|
28
|
+
try {
|
|
29
|
+
// Use the proper core service method
|
|
30
|
+
const response = await oxyServices.getFollowStatus(userId);
|
|
31
|
+
return {
|
|
32
|
+
userId,
|
|
33
|
+
isFollowing: response.isFollowing
|
|
34
|
+
};
|
|
35
|
+
} catch (error) {
|
|
36
|
+
// Ignore authentication errors when user isn't signed in - don't update state
|
|
37
|
+
if (error?.status === 401 || error?.message?.includes('Authentication')) {
|
|
38
|
+
return rejectWithValue('Not authenticated');
|
|
39
|
+
}
|
|
40
|
+
// Log other failures and reject to not update state
|
|
41
|
+
console.warn(`Failed to fetch follow status for user ${userId}:`, error);
|
|
42
|
+
return rejectWithValue(error?.message || 'Failed to fetch follow status');
|
|
43
|
+
}
|
|
44
|
+
}, {
|
|
45
|
+
// Prevent duplicate requests for the same user ID
|
|
46
|
+
condition: ({
|
|
47
|
+
userId
|
|
48
|
+
}, {
|
|
49
|
+
getState
|
|
50
|
+
}) => {
|
|
51
|
+
const state = getState();
|
|
52
|
+
// Defensive check for follow state
|
|
53
|
+
if (!state.follow?.fetchingUsers) {
|
|
54
|
+
return true; // Allow request if state not initialized
|
|
55
|
+
}
|
|
56
|
+
const isAlreadyFetching = state.follow.fetchingUsers[userId];
|
|
57
|
+
if (isAlreadyFetching) {
|
|
58
|
+
console.log(`⚡ Deduplicating fetch request for user ${userId} - already in progress`);
|
|
59
|
+
return false; // Cancel this request
|
|
60
|
+
}
|
|
61
|
+
return true; // Allow this request
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
// Async thunk for following/unfollowing users using core services
|
|
66
|
+
const toggleFollowUser = exports.toggleFollowUser = (0, _toolkit.createAsyncThunk)('follow/toggleFollowUser', async ({
|
|
67
|
+
userId,
|
|
68
|
+
oxyServices,
|
|
69
|
+
isCurrentlyFollowing
|
|
70
|
+
}, {
|
|
71
|
+
rejectWithValue,
|
|
72
|
+
dispatch
|
|
73
|
+
}) => {
|
|
74
|
+
try {
|
|
75
|
+
let response;
|
|
76
|
+
let newFollowState;
|
|
77
|
+
if (isCurrentlyFollowing) {
|
|
78
|
+
// Use the core service to unfollow user
|
|
79
|
+
response = await oxyServices.unfollowUser(userId);
|
|
80
|
+
newFollowState = false;
|
|
81
|
+
} else {
|
|
82
|
+
// Use the core service to follow user
|
|
83
|
+
response = await oxyServices.followUser(userId);
|
|
84
|
+
newFollowState = true;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Check if the response indicates success (different APIs might return different formats)
|
|
88
|
+
const isSuccess = response.success !== false && response.action !== 'error';
|
|
89
|
+
if (isSuccess) {
|
|
90
|
+
return {
|
|
91
|
+
userId,
|
|
92
|
+
isFollowing: newFollowState,
|
|
93
|
+
message: response.message || `Successfully ${newFollowState ? 'followed' : 'unfollowed'} user`
|
|
94
|
+
};
|
|
95
|
+
} else {
|
|
96
|
+
return rejectWithValue(response.message || `Failed to ${newFollowState ? 'follow' : 'unfollow'} user`);
|
|
97
|
+
}
|
|
98
|
+
} catch (error) {
|
|
99
|
+
// Enhanced error handling with state mismatch detection
|
|
100
|
+
let errorMessage = 'Network error occurred';
|
|
101
|
+
if (error?.message) {
|
|
102
|
+
errorMessage = error.message;
|
|
103
|
+
} else if (error?.response?.data?.message) {
|
|
104
|
+
errorMessage = error.response.data.message;
|
|
105
|
+
} else if (error?.data?.message) {
|
|
106
|
+
errorMessage = error.data.message;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Handle state mismatch errors by syncing with backend
|
|
110
|
+
if (errorMessage.includes('Not following this user') && isCurrentlyFollowing) {
|
|
111
|
+
console.warn(`State mismatch detected for user ${userId}: Frontend thinks following, backend says not following. Syncing state...`);
|
|
112
|
+
// Auto-sync with backend state
|
|
113
|
+
try {
|
|
114
|
+
const actualStatus = await oxyServices.getFollowStatus(userId);
|
|
115
|
+
dispatch({
|
|
116
|
+
type: 'follow/setFollowingStatus',
|
|
117
|
+
payload: {
|
|
118
|
+
userId,
|
|
119
|
+
isFollowing: actualStatus.isFollowing
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return rejectWithValue('State synced with backend. Please try again.');
|
|
123
|
+
} catch (syncError) {
|
|
124
|
+
console.error('Failed to sync state with backend:', syncError);
|
|
125
|
+
}
|
|
126
|
+
} else if (errorMessage.includes('Already following this user') && !isCurrentlyFollowing) {
|
|
127
|
+
console.warn(`State mismatch detected for user ${userId}: Frontend thinks not following, backend says following. Syncing state...`);
|
|
128
|
+
// Auto-sync with backend state
|
|
129
|
+
try {
|
|
130
|
+
const actualStatus = await oxyServices.getFollowStatus(userId);
|
|
131
|
+
dispatch({
|
|
132
|
+
type: 'follow/setFollowingStatus',
|
|
133
|
+
payload: {
|
|
134
|
+
userId,
|
|
135
|
+
isFollowing: actualStatus.isFollowing
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
return rejectWithValue('State synced with backend. Please try again.');
|
|
139
|
+
} catch (syncError) {
|
|
140
|
+
console.error('Failed to sync state with backend:', syncError);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return rejectWithValue(errorMessage);
|
|
144
|
+
}
|
|
145
|
+
});
|
|
14
146
|
const authSlice = (0, _toolkit.createSlice)({
|
|
15
147
|
name: 'auth',
|
|
16
|
-
initialState,
|
|
148
|
+
initialState: initialAuthState,
|
|
17
149
|
reducers: {
|
|
18
150
|
loginStart(state) {
|
|
19
151
|
state.isLoading = true;
|
|
@@ -34,6 +166,80 @@ const authSlice = (0, _toolkit.createSlice)({
|
|
|
34
166
|
}
|
|
35
167
|
}
|
|
36
168
|
});
|
|
169
|
+
const followSlice = (0, _toolkit.createSlice)({
|
|
170
|
+
name: 'follow',
|
|
171
|
+
initialState: initialFollowState,
|
|
172
|
+
reducers: {
|
|
173
|
+
setFollowingStatus(state, action) {
|
|
174
|
+
const {
|
|
175
|
+
userId,
|
|
176
|
+
isFollowing
|
|
177
|
+
} = action.payload;
|
|
178
|
+
state.followingUsers[userId] = isFollowing;
|
|
179
|
+
state.errors[userId] = null;
|
|
180
|
+
},
|
|
181
|
+
clearFollowError(state, action) {
|
|
182
|
+
const userId = action.payload;
|
|
183
|
+
state.errors[userId] = null;
|
|
184
|
+
},
|
|
185
|
+
resetFollowState(state) {
|
|
186
|
+
state.followingUsers = {};
|
|
187
|
+
state.loadingUsers = {};
|
|
188
|
+
state.fetchingUsers = {};
|
|
189
|
+
state.errors = {};
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
extraReducers: builder => {
|
|
193
|
+
builder
|
|
194
|
+
// Handle fetchFollowStatus
|
|
195
|
+
.addCase(fetchFollowStatus.pending, (state, action) => {
|
|
196
|
+
const {
|
|
197
|
+
userId
|
|
198
|
+
} = action.meta.arg;
|
|
199
|
+
state.fetchingUsers[userId] = true;
|
|
200
|
+
state.errors[userId] = null;
|
|
201
|
+
}).addCase(fetchFollowStatus.fulfilled, (state, action) => {
|
|
202
|
+
const {
|
|
203
|
+
userId,
|
|
204
|
+
isFollowing
|
|
205
|
+
} = action.payload;
|
|
206
|
+
state.followingUsers[userId] = isFollowing;
|
|
207
|
+
state.fetchingUsers[userId] = false;
|
|
208
|
+
state.errors[userId] = null;
|
|
209
|
+
}).addCase(fetchFollowStatus.rejected, (state, action) => {
|
|
210
|
+
const {
|
|
211
|
+
userId
|
|
212
|
+
} = action.meta.arg;
|
|
213
|
+
state.fetchingUsers[userId] = false;
|
|
214
|
+
// Don't update follow state on fetch errors - preserve existing/initial state
|
|
215
|
+
if (action.payload !== 'Not authenticated') {
|
|
216
|
+
console.warn(`Failed to fetch follow status for user ${userId}:`, action.payload);
|
|
217
|
+
}
|
|
218
|
+
})
|
|
219
|
+
// Handle toggleFollowUser
|
|
220
|
+
.addCase(toggleFollowUser.pending, (state, action) => {
|
|
221
|
+
const {
|
|
222
|
+
userId
|
|
223
|
+
} = action.meta.arg;
|
|
224
|
+
state.loadingUsers[userId] = true;
|
|
225
|
+
state.errors[userId] = null;
|
|
226
|
+
}).addCase(toggleFollowUser.fulfilled, (state, action) => {
|
|
227
|
+
const {
|
|
228
|
+
userId,
|
|
229
|
+
isFollowing
|
|
230
|
+
} = action.payload;
|
|
231
|
+
state.followingUsers[userId] = isFollowing;
|
|
232
|
+
state.loadingUsers[userId] = false;
|
|
233
|
+
state.errors[userId] = null;
|
|
234
|
+
}).addCase(toggleFollowUser.rejected, (state, action) => {
|
|
235
|
+
const {
|
|
236
|
+
userId
|
|
237
|
+
} = action.meta.arg;
|
|
238
|
+
state.loadingUsers[userId] = false;
|
|
239
|
+
state.errors[userId] = action.error.message || 'Failed to update follow status';
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
});
|
|
37
243
|
const {
|
|
38
244
|
loginStart,
|
|
39
245
|
loginSuccess,
|
|
@@ -44,9 +250,22 @@ exports.logout = logout;
|
|
|
44
250
|
exports.loginFailure = loginFailure;
|
|
45
251
|
exports.loginSuccess = loginSuccess;
|
|
46
252
|
exports.loginStart = loginStart;
|
|
253
|
+
const {
|
|
254
|
+
setFollowingStatus,
|
|
255
|
+
clearFollowError,
|
|
256
|
+
resetFollowState
|
|
257
|
+
} = followSlice.actions;
|
|
258
|
+
|
|
259
|
+
// Selectors for follow state
|
|
260
|
+
exports.resetFollowState = resetFollowState;
|
|
261
|
+
exports.clearFollowError = clearFollowError;
|
|
262
|
+
exports.setFollowingStatus = setFollowingStatus;
|
|
263
|
+
const selectIsUserBeingFetched = (state, userId) => state.follow?.fetchingUsers?.[userId] ?? false;
|
|
264
|
+
exports.selectIsUserBeingFetched = selectIsUserBeingFetched;
|
|
47
265
|
const store = exports.store = (0, _toolkit.configureStore)({
|
|
48
266
|
reducer: {
|
|
49
|
-
auth: authSlice.reducer
|
|
267
|
+
auth: authSlice.reducer,
|
|
268
|
+
follow: followSlice.reducer
|
|
50
269
|
}
|
|
51
270
|
});
|
|
52
271
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_toolkit","require","
|
|
1
|
+
{"version":3,"names":["_toolkit","require","initialAuthState","user","isAuthenticated","isLoading","error","initialFollowState","followingUsers","loadingUsers","fetchingUsers","errors","fetchFollowStatus","exports","createAsyncThunk","userId","oxyServices","rejectWithValue","response","getFollowStatus","isFollowing","status","message","includes","console","warn","condition","getState","state","follow","isAlreadyFetching","log","toggleFollowUser","isCurrentlyFollowing","dispatch","newFollowState","unfollowUser","followUser","isSuccess","success","action","errorMessage","data","actualStatus","type","payload","syncError","authSlice","createSlice","name","initialState","reducers","loginStart","loginSuccess","loginFailure","logout","followSlice","setFollowingStatus","clearFollowError","resetFollowState","extraReducers","builder","addCase","pending","meta","arg","fulfilled","rejected","actions","selectIsUserBeingFetched","store","configureStore","reducer","auth"],"sourceRoot":"../../../../src","sources":["ui/store/index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/core/index.js
CHANGED
|
@@ -25,6 +25,9 @@ export const OXY_CLOUD_URL = 'https://cloud.oxy.so';
|
|
|
25
25
|
export { DeviceManager, DeviceFingerprint, StoredDeviceInfo } from '../utils/deviceManager';
|
|
26
26
|
/**
|
|
27
27
|
* OxyServices - Client library for interacting with the Oxy API
|
|
28
|
+
*
|
|
29
|
+
* Note: For authentication status in UI components, use `isAuthenticated` from useOxy() context
|
|
30
|
+
* instead of checking token status directly on this service.
|
|
28
31
|
*/
|
|
29
32
|
export class OxyServices {
|
|
30
33
|
accessToken = null;
|
|
@@ -127,10 +130,12 @@ export class OxyServices {
|
|
|
127
130
|
}
|
|
128
131
|
|
|
129
132
|
/**
|
|
130
|
-
*
|
|
131
|
-
* @
|
|
133
|
+
* Internal method to check if we have an access token
|
|
134
|
+
* @private
|
|
135
|
+
* @returns Boolean indicating if access token exists
|
|
136
|
+
* @internal - Use `isAuthenticated` from useOxy() context in UI components instead
|
|
132
137
|
*/
|
|
133
|
-
|
|
138
|
+
hasAccessToken() {
|
|
134
139
|
return this.accessToken !== null;
|
|
135
140
|
}
|
|
136
141
|
|
|
@@ -544,6 +549,20 @@ export class OxyServices {
|
|
|
544
549
|
}
|
|
545
550
|
}
|
|
546
551
|
|
|
552
|
+
/**
|
|
553
|
+
* Get follow status for a user
|
|
554
|
+
* @param userId - User ID to check follow status for
|
|
555
|
+
* @returns Whether the current user is following the specified user
|
|
556
|
+
*/
|
|
557
|
+
async getFollowStatus(userId) {
|
|
558
|
+
try {
|
|
559
|
+
const res = await this.client.get(`/users/${userId}/following-status`);
|
|
560
|
+
return res.data;
|
|
561
|
+
} catch (error) {
|
|
562
|
+
throw this.handleError(error);
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
|
|
547
566
|
/**
|
|
548
567
|
* Get all followers of a user
|
|
549
568
|
* @param userId - User ID to get followers for
|
|
@@ -1629,6 +1648,65 @@ export class OxyServices {
|
|
|
1629
1648
|
throw this.handleError(error);
|
|
1630
1649
|
}
|
|
1631
1650
|
}
|
|
1651
|
+
|
|
1652
|
+
/**
|
|
1653
|
+
* Health check endpoint to verify API connectivity
|
|
1654
|
+
* @returns Health status and basic server info
|
|
1655
|
+
*/
|
|
1656
|
+
async healthCheck() {
|
|
1657
|
+
try {
|
|
1658
|
+
const res = await this.client.get('/');
|
|
1659
|
+
return res.data;
|
|
1660
|
+
} catch (error) {
|
|
1661
|
+
throw this.handleError(error);
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1664
|
+
|
|
1665
|
+
/**
|
|
1666
|
+
* Download file content using authenticated request
|
|
1667
|
+
* @param fileId - The file ID to download
|
|
1668
|
+
* @returns Response object for further processing
|
|
1669
|
+
*/
|
|
1670
|
+
async downloadFileContent(fileId) {
|
|
1671
|
+
try {
|
|
1672
|
+
const downloadUrl = this.getFileDownloadUrl(fileId);
|
|
1673
|
+
const response = await fetch(downloadUrl);
|
|
1674
|
+
if (!response.ok) {
|
|
1675
|
+
throw new Error(`Download failed: ${response.status} ${response.statusText}`);
|
|
1676
|
+
}
|
|
1677
|
+
return response;
|
|
1678
|
+
} catch (error) {
|
|
1679
|
+
throw this.handleError(error);
|
|
1680
|
+
}
|
|
1681
|
+
}
|
|
1682
|
+
|
|
1683
|
+
/**
|
|
1684
|
+
* Get file content as text using authenticated request
|
|
1685
|
+
* @param fileId - The file ID to get content for
|
|
1686
|
+
* @returns File content as string
|
|
1687
|
+
*/
|
|
1688
|
+
async getFileContentAsText(fileId) {
|
|
1689
|
+
try {
|
|
1690
|
+
const response = await this.downloadFileContent(fileId);
|
|
1691
|
+
return await response.text();
|
|
1692
|
+
} catch (error) {
|
|
1693
|
+
throw this.handleError(error);
|
|
1694
|
+
}
|
|
1695
|
+
}
|
|
1696
|
+
|
|
1697
|
+
/**
|
|
1698
|
+
* Get file content as blob using authenticated request
|
|
1699
|
+
* @param fileId - The file ID to get content for
|
|
1700
|
+
* @returns File content as blob
|
|
1701
|
+
*/
|
|
1702
|
+
async getFileContentAsBlob(fileId) {
|
|
1703
|
+
try {
|
|
1704
|
+
const response = await this.downloadFileContent(fileId);
|
|
1705
|
+
return await response.blob();
|
|
1706
|
+
} catch (error) {
|
|
1707
|
+
throw this.handleError(error);
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1632
1710
|
}
|
|
1633
1711
|
export default OxyServices;
|
|
1634
1712
|
//# sourceMappingURL=index.js.map
|