@replyke/core 7.0.0-beta.47 → 7.0.0-beta.48

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.
Files changed (37) hide show
  1. package/dist/cjs/hooks/user/index.d.ts +1 -0
  2. package/dist/cjs/hooks/user/useUserActions.js +19 -2
  3. package/dist/cjs/hooks/user/useUserActions.js.map +1 -1
  4. package/dist/cjs/hooks/users/index.d.ts +0 -1
  5. package/dist/cjs/hooks/users/index.js +1 -3
  6. package/dist/cjs/hooks/users/index.js.map +1 -1
  7. package/dist/cjs/index.d.ts +2 -2
  8. package/dist/cjs/index.js +2 -3
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/interfaces/models/User.d.ts +1 -1
  11. package/dist/cjs/store/api/userApi.d.ts +9 -1
  12. package/dist/cjs/store/api/userApi.js +61 -10
  13. package/dist/cjs/store/api/userApi.js.map +1 -1
  14. package/dist/cjs/store/slices/entityListsSlice.d.ts +168 -168
  15. package/dist/cjs/store/slices/userSlice.d.ts +696 -0
  16. package/dist/esm/hooks/user/index.d.ts +1 -0
  17. package/dist/esm/hooks/user/useUserActions.js +19 -2
  18. package/dist/esm/hooks/user/useUserActions.js.map +1 -1
  19. package/dist/esm/hooks/users/index.d.ts +0 -1
  20. package/dist/esm/hooks/users/index.js +0 -1
  21. package/dist/esm/hooks/users/index.js.map +1 -1
  22. package/dist/esm/index.d.ts +2 -2
  23. package/dist/esm/index.js +1 -1
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/interfaces/models/User.d.ts +1 -1
  26. package/dist/esm/store/api/userApi.d.ts +9 -1
  27. package/dist/esm/store/api/userApi.js +61 -10
  28. package/dist/esm/store/api/userApi.js.map +1 -1
  29. package/dist/esm/store/slices/entityListsSlice.d.ts +168 -168
  30. package/dist/esm/store/slices/userSlice.d.ts +696 -0
  31. package/package.json +1 -1
  32. package/dist/cjs/hooks/users/useUpdateUser.d.ts +0 -26
  33. package/dist/cjs/hooks/users/useUpdateUser.js +0 -124
  34. package/dist/cjs/hooks/users/useUpdateUser.js.map +0 -1
  35. package/dist/esm/hooks/users/useUpdateUser.d.ts +0 -26
  36. package/dist/esm/hooks/users/useUpdateUser.js +0 -119
  37. package/dist/esm/hooks/users/useUpdateUser.js.map +0 -1
@@ -1,2 +1,3 @@
1
1
  export { useUserActions } from "./useUserActions";
2
2
  export { default as useUser, type UseUserProps, type UseUserValues, } from "./useUser";
3
+ export { type UpdateUserParams } from "../../store/api/userApi";
@@ -64,7 +64,7 @@ export function useUserActions() {
64
64
  }, [dispatch]);
65
65
  // Update user with optimistic updates for instant UI feedback
66
66
  var updateUser = useCallback(function (projectId, userId, update, currentUser) { return __awaiter(_this, void 0, void 0, function () {
67
- var originalUser, result, error_1, errorMessage;
67
+ var originalUser, optimisticUpdate, result, error_1, errorMessage;
68
68
  return __generator(this, function (_a) {
69
69
  switch (_a.label) {
70
70
  case 0:
@@ -74,8 +74,25 @@ export function useUserActions() {
74
74
  dispatch(setUpdating(true));
75
75
  dispatch(clearError());
76
76
  originalUser = currentUser;
77
+ optimisticUpdate = {};
78
+ if (update.name !== undefined)
79
+ optimisticUpdate.name = update.name;
80
+ if (update.username !== undefined)
81
+ optimisticUpdate.username = update.username;
82
+ if (update.bio !== undefined)
83
+ optimisticUpdate.bio = update.bio;
84
+ if (update.birthdate !== undefined)
85
+ optimisticUpdate.birthdate = update.birthdate;
86
+ if (update.metadata !== undefined)
87
+ optimisticUpdate.metadata = update.metadata;
88
+ // Only apply avatar optimistically if it's a string URL (not a file upload)
89
+ if (typeof update.avatar === 'string' || update.avatar === null) {
90
+ optimisticUpdate.avatar = update.avatar;
91
+ }
77
92
  // OPTIMISTIC UPDATE: Apply changes immediately for instant UI feedback
78
- dispatch(updateUserOptimistic(update));
93
+ if (Object.keys(optimisticUpdate).length > 0) {
94
+ dispatch(updateUserOptimistic(optimisticUpdate));
95
+ }
79
96
  _a.label = 1;
80
97
  case 1:
81
98
  _a.trys.push([1, 3, 4, 5]);
@@ -1 +1 @@
1
- {"version":3,"file":"useUserActions.js","sourceRoot":"","sources":["../../../../src/hooks/user/useUserActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useUserActions.js","sourceRoot":"","sources":["../../../../src/hooks/user/useUserActions.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,3 @@ export { default as useFetchUserByUsername } from "./useFetchUserByUsername";
4
4
  export { default as useCheckUsernameAvailability } from "./useCheckUsernameAvailability";
5
5
  export { default as useFetchUserSuggestions } from "./useFetchUserSuggestions";
6
6
  export { default as useMentions } from "./useMentions";
7
- export { default as useUpdateUser } from "./useUpdateUser";
@@ -4,5 +4,4 @@ export { default as useFetchUserByUsername } from "./useFetchUserByUsername";
4
4
  export { default as useCheckUsernameAvailability } from "./useCheckUsernameAvailability";
5
5
  export { default as useFetchUserSuggestions } from "./useFetchUserSuggestions";
6
6
  export { default as useMentions } from "./useMentions";
7
- export { default as useUpdateUser } from "./useUpdateUser";
8
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/users/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/users/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -10,7 +10,7 @@ export { ReplykeProvider, EntityProvider, CommentSectionProvider, SpaceProvider,
10
10
  export { useProject, useProjectData } from "./hooks/projects";
11
11
  export { useSignTestingJwt } from "./hooks/crypto";
12
12
  export { useAuth, type UseAuthValues } from "./hooks/auth";
13
- export { useUser, useUserActions, type UseUserProps, type UseUserValues, } from "./hooks/user";
13
+ export { useUser, useUserActions, type UseUserProps, type UseUserValues, type UpdateUserParams, } from "./hooks/user";
14
14
  export { useAppNotifications, useAppNotificationsActions, type UseAppNotificationsProps, type UseAppNotificationsValues, } from "./hooks/app-notifications";
15
15
  export { useCollections, useCollectionsActions, useIsEntityInCollection, useCollectionEntitiesWrapper, type UseCollectionsProps, type UseCollectionsValues, type UseCollectionEntitiesWrapperProps, type UseCollectionEntitiesWrapperValues, } from "./hooks/collections";
16
16
  export { useEntity, useEntityData, useCreateEntity, useDeleteEntity, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, useFetchManyEntities, useIncrementEntityViews, useFetchManyEntitiesWrapper, useUpdateEntity, type UseFetchManyEntitiesWrapperProps, type UseFetchManyEntitiesWrapperValues, } from "./hooks/entities";
@@ -19,7 +19,7 @@ export { useSpace, useSpaceData, useFetchSpace, useFetchSpaceByShortId, useFetch
19
19
  export { useSpaceList, useSpaceListActions, type UseSpaceListProps, type UseSpaceListValues, } from "./hooks/space-lists";
20
20
  export { useCommentSection, useCommentSectionData, useCreateComment, useFetchManyComments, useFetchComment, useFetchCommentByForeignId, useReplies, useUpdateComment, useDeleteComment, useEntityComments, useFetchManyCommentsWrapper, type UseFetchManyCommentsWrapperProps, type UseFetchManyCommentsWrapperValues, } from "./hooks/comments";
21
21
  export { useFetchEntityReactions, useFetchCommentReactions, useFetchEntityReactionsWrapper, useFetchCommentReactionsWrapper, useAddReaction, useRemoveReaction, useReactionToggle, type UseFetchEntityReactionsWrapperProps, type UseFetchEntityReactionsWrapperValues, type UseFetchCommentReactionsWrapperProps, type UseFetchCommentReactionsWrapperValues, type UseReactionToggleValues, } from "./hooks/reactions";
22
- export { useFetchUser, useFetchUserByForeignId, useFetchUserByUsername, useCheckUsernameAvailability, useFetchUserSuggestions, useMentions, useUpdateUser, } from "./hooks/users";
22
+ export { useFetchUser, useFetchUserByForeignId, useFetchUserByUsername, useCheckUsernameAvailability, useFetchUserSuggestions, useMentions, } from "./hooks/users";
23
23
  export { useFetchFollowStatus, useFetchFollowers, useFetchFollowersByUserId, useFetchFollowersCount, useFetchFollowersCountByUserId, useFetchFollowing, useFetchFollowingByUserId, useFetchFollowingCount, useFetchFollowingCountByUserId, useFollowManager, useFollowUser, useUnfollowByFollowId, useUnfollowUserByUserId, } from "./hooks/relationships/follows";
24
24
  export { useRequestConnection, useAcceptConnection, useDeclineConnection, useRemoveConnection, useFetchConnections, useFetchConnectionStatus, useRemoveConnectionByUserId, useFetchConnectionsCount, useFetchSentPendingConnections, useFetchReceivedPendingConnections, useFetchConnectionsByUserId, useFetchConnectionsCountByUserId, useConnectionManager, } from "./hooks/relationships/connections";
25
25
  export { useCreateReport } from "./hooks/reports";
package/dist/esm/index.js CHANGED
@@ -34,7 +34,7 @@ export { useCommentSection, useCommentSectionData, useCreateComment, useFetchMan
34
34
  // -- reactions
35
35
  export { useFetchEntityReactions, useFetchCommentReactions, useFetchEntityReactionsWrapper, useFetchCommentReactionsWrapper, useAddReaction, useRemoveReaction, useReactionToggle, } from "./hooks/reactions";
36
36
  // -- users
37
- export { useFetchUser, useFetchUserByForeignId, useFetchUserByUsername, useCheckUsernameAvailability, useFetchUserSuggestions, useMentions, useUpdateUser, } from "./hooks/users";
37
+ export { useFetchUser, useFetchUserByForeignId, useFetchUserByUsername, useCheckUsernameAvailability, useFetchUserSuggestions, useMentions, } from "./hooks/users";
38
38
  // -- follows
39
39
  export { useFetchFollowStatus, useFetchFollowers, useFetchFollowersByUserId, useFetchFollowersCount, useFetchFollowersCountByUserId, useFetchFollowing, useFetchFollowingByUserId, useFetchFollowingCount, useFetchFollowingCountByUserId, useFollowManager, useFollowUser, useUnfollowByFollowId, useUnfollowUserByUserId, } from "./hooks/relationships/follows";
40
40
  // -- connections
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export type UserFull = {
29
29
  updatedAt: Date;
30
30
  deletedAt: Date | null;
31
31
  };
32
- export type AuthUser = Pick<UserFull, "id" | "projectId" | "foreignId" | "role" | "email" | "name" | "username" | "avatar" | "bio" | "birthdate" | "metadata" | "reputation" | "isVerified" | "isActive" | "lastActive" | "createdAt"> & {
32
+ export type AuthUser = Omit<UserFull, "secureMetadata" | "deletedAt"> & {
33
33
  suspensions: {
34
34
  reason: string | null;
35
35
  startDate: Date;
@@ -1,8 +1,12 @@
1
1
  import type { AuthUser } from '../../interfaces/models/User';
2
+ import type { UploadImageOptions } from '../../interfaces/models/Image';
2
3
  export interface UpdateUserParams {
3
4
  name?: string | null;
4
5
  username?: string | null;
5
- avatar?: string | null;
6
+ avatar?: string | null | {
7
+ file: File | Blob;
8
+ options: UploadImageOptions;
9
+ };
6
10
  bio?: string;
7
11
  birthdate?: Date | null;
8
12
  location?: {
@@ -11,6 +15,10 @@ export interface UpdateUserParams {
11
15
  } | null;
12
16
  metadata?: Record<string, any>;
13
17
  secureMetadata?: Record<string, any>;
18
+ banner?: {
19
+ file: File | Blob;
20
+ options: UploadImageOptions;
21
+ };
14
22
  }
15
23
  export interface UpdateUserRequest {
16
24
  projectId: string;
@@ -1,29 +1,80 @@
1
1
  import { baseApi } from './baseApi';
2
2
  // Removed FetchUserRequest and FetchUserByForeignIdRequest - these are for other users, not current user management
3
+ // Helper to build FormData for file uploads
4
+ function buildUserUpdateFormData(update) {
5
+ var formData = new FormData();
6
+ var avatarIsFile = update.avatar && typeof update.avatar === 'object' && 'file' in update.avatar;
7
+ // Append non-file fields
8
+ if (update.name !== undefined) {
9
+ formData.append("name", update.name === null ? "" : update.name);
10
+ }
11
+ if (update.username !== undefined) {
12
+ formData.append("username", update.username === null ? "" : update.username);
13
+ }
14
+ if (update.bio !== undefined) {
15
+ formData.append("bio", update.bio);
16
+ }
17
+ if (update.birthdate !== undefined) {
18
+ formData.append("birthdate", update.birthdate ? update.birthdate.toISOString() : "");
19
+ }
20
+ // URL-based avatar (legacy support)
21
+ if (update.avatar && typeof update.avatar === "string") {
22
+ formData.append("avatar", update.avatar);
23
+ }
24
+ // Object fields as JSON strings
25
+ if (update.location !== undefined) {
26
+ formData.append("location", update.location === null ? "null" : JSON.stringify(update.location));
27
+ }
28
+ if (update.metadata !== undefined) {
29
+ formData.append("metadata", JSON.stringify(update.metadata));
30
+ }
31
+ if (update.secureMetadata !== undefined) {
32
+ formData.append("secureMetadata", JSON.stringify(update.secureMetadata));
33
+ }
34
+ // Append avatar FILE and options
35
+ if (avatarIsFile && update.avatar && typeof update.avatar === 'object' && 'file' in update.avatar) {
36
+ formData.append("avatarFile", update.avatar.file);
37
+ formData.append("avatarFile.options", JSON.stringify(update.avatar.options));
38
+ }
39
+ // Append banner FILE and options
40
+ if (update.banner) {
41
+ formData.append("bannerFile", update.banner.file);
42
+ formData.append("bannerFile.options", JSON.stringify(update.banner.options));
43
+ }
44
+ return formData;
45
+ }
3
46
  // Inject user-specific endpoints into the base API
4
47
  export var userApi = baseApi.injectEndpoints({
5
48
  endpoints: function (builder) { return ({
6
- // Update current user (flat structure - matches space update pattern)
49
+ // Update current user (supports both JSON and FormData for file uploads)
7
50
  updateUser: builder.mutation({
8
51
  query: function (_a) {
9
52
  var projectId = _a.projectId, userId = _a.userId, update = _a.update;
10
- return ({
53
+ var avatarIsFile = update.avatar && typeof update.avatar === 'object' && 'file' in update.avatar;
54
+ var hasFiles = avatarIsFile || update.banner;
55
+ if (hasFiles) {
56
+ return {
57
+ url: "/".concat(projectId, "/users/").concat(userId),
58
+ method: 'PATCH',
59
+ body: buildUserUpdateFormData(update),
60
+ formData: true,
61
+ };
62
+ }
63
+ // Simple JSON request (no files)
64
+ return {
11
65
  url: "/".concat(projectId, "/users/").concat(userId),
12
66
  method: 'PATCH',
13
67
  body: update,
14
- });
68
+ };
15
69
  },
16
70
  // No complex optimistic updates needed - let useUserActions handle state updates
17
- invalidatesTags: function (result, error, _a) {
18
- var userId = _a.userId;
19
- return [
20
- { type: 'User', id: 'CURRENT' }, // Only current user now
21
- ];
22
- },
71
+ invalidatesTags: function () { return [
72
+ { type: 'User', id: 'CURRENT' },
73
+ ]; },
23
74
  }),
24
75
  // Removed other-user queries - these should use the existing legacy hooks:
25
76
  // - useFetchUser
26
- // - useFetchUserByForeignId
77
+ // - useFetchUserByForeignId
27
78
  // - useFetchUserFollowersCount
28
79
  // - useFetchUserFollowingCount
29
80
  // - useCheckUsernameAvailability
@@ -1 +1 @@
1
- {"version":3,"file":"userApi.js","sourceRoot":"","sources":["../../../../src/store/api/userApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,oHAAoH;AAEpH,mDAAmD;AACnD,MAAM,CAAC,IAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAC7C,SAAS,EAAE,UAAC,OAAO,IAAK,OAAA,CAAC;QACvB,sEAAsE;QACtE,UAAU,EAAE,OAAO,CAAC,QAAQ,CAA8B;YACxD,KAAK,EAAE,UAAC,EAA6B;oBAA3B,SAAS,eAAA,EAAE,MAAM,YAAA,EAAE,MAAM,YAAA;gBAAO,OAAA,CAAC;oBACzC,GAAG,EAAE,WAAI,SAAS,oBAAU,MAAM,CAAE;oBACpC,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,MAAM;iBACb,CAAC;YAJwC,CAIxC;YACF,iFAAiF;YACjF,eAAe,EAAE,UAAC,MAAM,EAAE,KAAK,EAAE,EAAU;oBAAR,MAAM,YAAA;gBAAO,OAAA;oBAC9C,EAAE,IAAI,EAAE,MAAe,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,wBAAwB;iBACnE;YAF+C,CAE/C;SACF,CAAC;QAEF,2EAA2E;QAC3E,iBAAiB;QACjB,8BAA8B;QAC9B,+BAA+B;QAC/B,+BAA+B;QAC/B,iCAAiC;QACjC,4BAA4B;KAC7B,CAAC,EArBsB,CAqBtB;CACH,CAAC,CAAC;AAEH,wDAAwD;AACxD,MAAM,CACJ,IAAA,qBAAqB,GACnB,OAAO,sBADY,CACX"}
1
+ {"version":3,"file":"userApi.js","sourceRoot":"","sources":["../../../../src/store/api/userApi.ts"],"names":[],"mappings":"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"}