@sublay/core 7.1.1 → 7.3.0
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/hooks/auth/index.d.ts +2 -0
- package/dist/cjs/hooks/auth/index.js +5 -1
- package/dist/cjs/hooks/auth/index.js.map +1 -1
- package/dist/cjs/hooks/auth/useConfirmAccountDeletion.d.ts +14 -0
- package/dist/cjs/hooks/auth/useConfirmAccountDeletion.js +36 -0
- package/dist/cjs/hooks/auth/useConfirmAccountDeletion.js.map +1 -0
- package/dist/cjs/hooks/auth/useRequestAccountDeletion.d.ts +13 -0
- package/dist/cjs/hooks/auth/useRequestAccountDeletion.js +30 -0
- package/dist/cjs/hooks/auth/useRequestAccountDeletion.js.map +1 -0
- package/dist/cjs/hooks/chat/conversations/useConversations.d.ts +1 -0
- package/dist/cjs/hooks/chat/conversations/useConversations.js.map +1 -1
- package/dist/cjs/hooks/chat/index.d.ts +2 -2
- package/dist/cjs/hooks/chat/index.js +4 -1
- package/dist/cjs/hooks/chat/index.js.map +1 -1
- package/dist/cjs/hooks/chat/messages/index.d.ts +6 -0
- package/dist/cjs/hooks/chat/messages/index.js +10 -1
- package/dist/cjs/hooks/chat/messages/index.js.map +1 -1
- package/dist/cjs/hooks/chat/messages/useChatMessages.d.ts +10 -14
- package/dist/cjs/hooks/chat/messages/useChatMessages.js +7 -136
- package/dist/cjs/hooks/chat/messages/useChatMessages.js.map +1 -1
- package/dist/cjs/hooks/chat/messages/useFetchManyChatMessages.d.ts +45 -0
- package/dist/cjs/hooks/chat/messages/useFetchManyChatMessages.js +43 -0
- package/dist/cjs/hooks/chat/messages/useFetchManyChatMessages.js.map +1 -0
- package/dist/cjs/hooks/chat/messages/useFetchManyChatMessagesWrapper.d.ts +35 -0
- package/dist/cjs/hooks/chat/messages/useFetchManyChatMessagesWrapper.js +100 -0
- package/dist/cjs/hooks/chat/messages/useFetchManyChatMessagesWrapper.js.map +1 -0
- package/dist/cjs/hooks/chat/messages/useLiveChatMessages.d.ts +26 -0
- package/dist/cjs/hooks/chat/messages/useLiveChatMessages.js +149 -0
- package/dist/cjs/hooks/chat/messages/useLiveChatMessages.js.map +1 -0
- package/dist/cjs/hooks/chat/messages/useMessageThread.js +2 -2
- package/dist/cjs/hooks/chat/messages/useMessageThread.js.map +1 -1
- package/dist/cjs/hooks/chat/useConversationData.js +2 -2
- package/dist/cjs/hooks/chat/useConversationData.js.map +1 -1
- package/dist/cjs/hooks/spaces/index.d.ts +2 -0
- package/dist/cjs/hooks/spaces/index.js +3 -1
- package/dist/cjs/hooks/spaces/index.js.map +1 -1
- package/dist/cjs/hooks/spaces/useFetchMutualSpaces.d.ts +11 -0
- package/dist/cjs/hooks/spaces/useFetchMutualSpaces.js +28 -0
- package/dist/cjs/hooks/spaces/useFetchMutualSpaces.js.map +1 -0
- package/dist/cjs/hooks/tables/index.d.ts +2 -0
- package/dist/cjs/hooks/tables/index.js +10 -0
- package/dist/cjs/hooks/tables/index.js.map +1 -0
- package/dist/cjs/hooks/tables/useTable.d.ts +37 -0
- package/dist/cjs/hooks/tables/useTable.js +115 -0
- package/dist/cjs/hooks/tables/useTable.js.map +1 -0
- package/dist/cjs/index.d.ts +6 -4
- package/dist/cjs/index.js +14 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces/models/Conversation.d.ts +2 -0
- package/dist/cjs/interfaces/models/Table.d.ts +29 -0
- package/dist/cjs/interfaces/models/Table.js +8 -0
- package/dist/cjs/interfaces/models/Table.js.map +1 -0
- package/dist/cjs/store/api/appNotificationsApi.d.ts +181 -181
- package/dist/cjs/store/api/baseApi.d.ts +2 -2
- package/dist/cjs/store/api/baseApi.js +1 -0
- package/dist/cjs/store/api/baseApi.js.map +1 -1
- package/dist/cjs/store/api/collectionsApi.d.ts +319 -319
- package/dist/cjs/store/api/entityListsApi.d.ts +107 -107
- package/dist/cjs/store/api/index.d.ts +1 -0
- package/dist/cjs/store/api/index.js +2 -0
- package/dist/cjs/store/api/index.js.map +1 -1
- package/dist/cjs/store/api/spacesApi.d.ts +1021 -1021
- package/dist/cjs/store/api/tablesApi.d.ts +2554 -0
- package/dist/cjs/store/api/tablesApi.js +84 -0
- package/dist/cjs/store/api/tablesApi.js.map +1 -0
- package/dist/cjs/store/api/userApi.d.ts +3 -3
- package/dist/cjs/store/hooks.d.ts +2 -1
- package/dist/cjs/store/index.d.ts +4 -2
- package/dist/cjs/store/rootReducer.d.ts +5 -2
- package/dist/cjs/store/slices/authThunks.d.ts +4 -0
- package/dist/cjs/store/slices/authThunks.js +52 -1
- package/dist/cjs/store/slices/authThunks.js.map +1 -1
- package/dist/cjs/store/slices/tablesSlice.d.ts +113 -0
- package/dist/cjs/store/slices/tablesSlice.js +40 -0
- package/dist/cjs/store/slices/tablesSlice.js.map +1 -0
- package/dist/cjs/store/sublayReducers.d.ts +2 -0
- package/dist/cjs/store/sublayReducers.js +2 -0
- package/dist/cjs/store/sublayReducers.js.map +1 -1
- package/dist/esm/hooks/auth/index.d.ts +2 -0
- package/dist/esm/hooks/auth/index.js +2 -0
- package/dist/esm/hooks/auth/index.js.map +1 -1
- package/dist/esm/hooks/auth/useConfirmAccountDeletion.d.ts +14 -0
- package/dist/esm/hooks/auth/useConfirmAccountDeletion.js +31 -0
- package/dist/esm/hooks/auth/useConfirmAccountDeletion.js.map +1 -0
- package/dist/esm/hooks/auth/useRequestAccountDeletion.d.ts +13 -0
- package/dist/esm/hooks/auth/useRequestAccountDeletion.js +25 -0
- package/dist/esm/hooks/auth/useRequestAccountDeletion.js.map +1 -0
- package/dist/esm/hooks/chat/conversations/useConversations.d.ts +1 -0
- package/dist/esm/hooks/chat/conversations/useConversations.js.map +1 -1
- package/dist/esm/hooks/chat/index.d.ts +2 -2
- package/dist/esm/hooks/chat/index.js +1 -1
- package/dist/esm/hooks/chat/index.js.map +1 -1
- package/dist/esm/hooks/chat/messages/index.d.ts +6 -0
- package/dist/esm/hooks/chat/messages/index.js +6 -0
- package/dist/esm/hooks/chat/messages/index.js.map +1 -1
- package/dist/esm/hooks/chat/messages/useChatMessages.d.ts +10 -14
- package/dist/esm/hooks/chat/messages/useChatMessages.js +7 -136
- package/dist/esm/hooks/chat/messages/useChatMessages.js.map +1 -1
- package/dist/esm/hooks/chat/messages/useFetchManyChatMessages.d.ts +45 -0
- package/dist/esm/hooks/chat/messages/useFetchManyChatMessages.js +38 -0
- package/dist/esm/hooks/chat/messages/useFetchManyChatMessages.js.map +1 -0
- package/dist/esm/hooks/chat/messages/useFetchManyChatMessagesWrapper.d.ts +35 -0
- package/dist/esm/hooks/chat/messages/useFetchManyChatMessagesWrapper.js +95 -0
- package/dist/esm/hooks/chat/messages/useFetchManyChatMessagesWrapper.js.map +1 -0
- package/dist/esm/hooks/chat/messages/useLiveChatMessages.d.ts +26 -0
- package/dist/esm/hooks/chat/messages/useLiveChatMessages.js +144 -0
- package/dist/esm/hooks/chat/messages/useLiveChatMessages.js.map +1 -0
- package/dist/esm/hooks/chat/messages/useMessageThread.js +2 -2
- package/dist/esm/hooks/chat/messages/useMessageThread.js.map +1 -1
- package/dist/esm/hooks/chat/useConversationData.js +2 -2
- package/dist/esm/hooks/chat/useConversationData.js.map +1 -1
- package/dist/esm/hooks/spaces/index.d.ts +2 -0
- package/dist/esm/hooks/spaces/index.js +1 -0
- package/dist/esm/hooks/spaces/index.js.map +1 -1
- package/dist/esm/hooks/spaces/useFetchMutualSpaces.d.ts +11 -0
- package/dist/esm/hooks/spaces/useFetchMutualSpaces.js +23 -0
- package/dist/esm/hooks/spaces/useFetchMutualSpaces.js.map +1 -0
- package/dist/esm/hooks/tables/index.d.ts +2 -0
- package/dist/esm/hooks/tables/index.js +2 -0
- package/dist/esm/hooks/tables/index.js.map +1 -0
- package/dist/esm/hooks/tables/useTable.d.ts +37 -0
- package/dist/esm/hooks/tables/useTable.js +109 -0
- package/dist/esm/hooks/tables/useTable.js.map +1 -0
- package/dist/esm/index.d.ts +6 -4
- package/dist/esm/index.js +5 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/interfaces/models/Conversation.d.ts +2 -0
- package/dist/esm/interfaces/models/Table.d.ts +29 -0
- package/dist/esm/interfaces/models/Table.js +7 -0
- package/dist/esm/interfaces/models/Table.js.map +1 -0
- package/dist/esm/store/api/appNotificationsApi.d.ts +181 -181
- package/dist/esm/store/api/baseApi.d.ts +2 -2
- package/dist/esm/store/api/baseApi.js +1 -0
- package/dist/esm/store/api/baseApi.js.map +1 -1
- package/dist/esm/store/api/collectionsApi.d.ts +319 -319
- package/dist/esm/store/api/entityListsApi.d.ts +107 -107
- package/dist/esm/store/api/index.d.ts +1 -0
- package/dist/esm/store/api/index.js +2 -0
- package/dist/esm/store/api/index.js.map +1 -1
- package/dist/esm/store/api/spacesApi.d.ts +1021 -1021
- package/dist/esm/store/api/tablesApi.d.ts +2554 -0
- package/dist/esm/store/api/tablesApi.js +80 -0
- package/dist/esm/store/api/tablesApi.js.map +1 -0
- package/dist/esm/store/api/userApi.d.ts +3 -3
- package/dist/esm/store/hooks.d.ts +2 -1
- package/dist/esm/store/index.d.ts +4 -2
- package/dist/esm/store/rootReducer.d.ts +5 -2
- package/dist/esm/store/slices/authThunks.d.ts +4 -0
- package/dist/esm/store/slices/authThunks.js +51 -0
- package/dist/esm/store/slices/authThunks.js.map +1 -1
- package/dist/esm/store/slices/tablesSlice.d.ts +113 -0
- package/dist/esm/store/slices/tablesSlice.js +36 -0
- package/dist/esm/store/slices/tablesSlice.js.map +1 -0
- package/dist/esm/store/sublayReducers.d.ts +2 -0
- package/dist/esm/store/sublayReducers.js +2 -0
- package/dist/esm/store/sublayReducers.js.map +1 -1
- package/package.json +10 -3
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
2
|
+
import { useSublayDispatch, useSublaySelector } from "../../../store/hooks";
|
|
3
|
+
import { selectMessages, selectMessagesLoading, selectMessagesHasMore, selectThreadReplies, selectThreadLoading, selectThreadHasMore, upsertMessage, setMessagesLoading, setMessagesHasMore, setThreadReplies, setThreadLoading, } from "../../../store/slices/chatSlice";
|
|
4
|
+
import useProject from "../../projects/useProject";
|
|
5
|
+
import { handleError } from "../../../utils/handleError";
|
|
6
|
+
import useFetchManyChatMessages from "./useFetchManyChatMessages";
|
|
7
|
+
/**
|
|
8
|
+
* Live, store-backed view of a conversation's messages. Reads from the shared
|
|
9
|
+
* Redux bucket that `ChatProvider` keeps in sync via socket events, so new
|
|
10
|
+
* messages, edits, reactions and reply-count changes appear in real time, and
|
|
11
|
+
* state is shared with `useSendMessage` (optimistic inserts), unread tracking
|
|
12
|
+
* and reconnect catch-up.
|
|
13
|
+
*
|
|
14
|
+
* This is the canonical conversation surface. For a read-only / filtered query
|
|
15
|
+
* that should NOT be polluted by live traffic, use
|
|
16
|
+
* `useFetchManyChatMessagesWrapper` instead.
|
|
17
|
+
*/
|
|
18
|
+
function useLiveChatMessages({ conversationId, parentId, limit = 50, includeFiles, }) {
|
|
19
|
+
const dispatch = useSublayDispatch();
|
|
20
|
+
const { projectId } = useProject();
|
|
21
|
+
const fetchMany = useFetchManyChatMessages();
|
|
22
|
+
const isThread = Boolean(parentId);
|
|
23
|
+
// Read from the correct Redux bucket
|
|
24
|
+
const mainMessages = useSublaySelector(selectMessages(conversationId));
|
|
25
|
+
const mainLoading = useSublaySelector(selectMessagesLoading(conversationId));
|
|
26
|
+
const mainHasMore = useSublaySelector(selectMessagesHasMore(conversationId));
|
|
27
|
+
const threadMessages = useSublaySelector(selectThreadReplies(parentId ?? ""));
|
|
28
|
+
const threadLoading = useSublaySelector(selectThreadLoading(parentId ?? ""));
|
|
29
|
+
const threadHasMore = useSublaySelector(selectThreadHasMore(parentId ?? ""));
|
|
30
|
+
const messages = isThread ? threadMessages : mainMessages;
|
|
31
|
+
const loading = isThread ? threadLoading : mainLoading;
|
|
32
|
+
const hasMore = isThread ? threadHasMore : mainHasMore;
|
|
33
|
+
// Keep fresh refs to message arrays so loadOlder can read cursors without
|
|
34
|
+
// closing over stale state
|
|
35
|
+
const mainMessagesRef = useRef(mainMessages);
|
|
36
|
+
mainMessagesRef.current = mainMessages;
|
|
37
|
+
const threadMessagesRef = useRef(threadMessages);
|
|
38
|
+
threadMessagesRef.current = threadMessages;
|
|
39
|
+
// Fetch a page of messages.
|
|
40
|
+
// `before` is an ISO 8601 timestamp — the server queries messages created
|
|
41
|
+
// before this point in time (not a UUID cursor).
|
|
42
|
+
const fetchPage = useCallback(async (before) => {
|
|
43
|
+
if (!projectId || !conversationId)
|
|
44
|
+
return;
|
|
45
|
+
try {
|
|
46
|
+
const { messages: items, hasMore: more } = await fetchMany({
|
|
47
|
+
conversationId,
|
|
48
|
+
parentId,
|
|
49
|
+
before,
|
|
50
|
+
limit,
|
|
51
|
+
sort: isThread ? "asc" : "desc",
|
|
52
|
+
includeFiles,
|
|
53
|
+
});
|
|
54
|
+
if (isThread) {
|
|
55
|
+
// Thread replies come back ASC — dispatch as-is
|
|
56
|
+
dispatch(setThreadReplies({
|
|
57
|
+
parentMessageId: parentId,
|
|
58
|
+
messages: items,
|
|
59
|
+
hasMore: more,
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
// Main stream comes back DESC (newest first for cursor efficiency).
|
|
64
|
+
// Redux stores messages ASC — reverse before dispatching.
|
|
65
|
+
const ascending = [...items].reverse();
|
|
66
|
+
ascending.forEach((msg) => dispatch(upsertMessage(msg)));
|
|
67
|
+
dispatch(setMessagesHasMore({ conversationId, hasMore: more }));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (err) {
|
|
71
|
+
handleError(err, "Failed to load messages");
|
|
72
|
+
}
|
|
73
|
+
}, [projectId, conversationId, parentId, isThread, limit, includeFiles, fetchMany, dispatch]);
|
|
74
|
+
// Initial fetch on mount
|
|
75
|
+
useEffect(() => {
|
|
76
|
+
if (!projectId || !conversationId)
|
|
77
|
+
return;
|
|
78
|
+
const initialFetch = async () => {
|
|
79
|
+
if (isThread) {
|
|
80
|
+
dispatch(setThreadLoading({ parentMessageId: parentId, loading: true }));
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
dispatch(setMessagesLoading({ conversationId, loading: true }));
|
|
84
|
+
}
|
|
85
|
+
await fetchPage(null);
|
|
86
|
+
if (isThread) {
|
|
87
|
+
dispatch(setThreadLoading({ parentMessageId: parentId, loading: false }));
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
dispatch(setMessagesLoading({ conversationId, loading: false }));
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
initialFetch();
|
|
94
|
+
// Only re-run when the conversation/thread identity changes
|
|
95
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
96
|
+
}, [projectId, conversationId, parentId]);
|
|
97
|
+
// Load more messages:
|
|
98
|
+
// - Main stream: fetch older messages using `before` cursor (oldest loaded createdAt)
|
|
99
|
+
// - Thread: fetch newer replies using `after` cursor (newest loaded createdAt), append
|
|
100
|
+
const loadOlder = useCallback(async () => {
|
|
101
|
+
if (loading || !hasMore)
|
|
102
|
+
return;
|
|
103
|
+
if (isThread) {
|
|
104
|
+
const currentItems = threadMessagesRef.current;
|
|
105
|
+
const newest = currentItems[currentItems.length - 1];
|
|
106
|
+
if (!newest || !parentId || !projectId || !conversationId)
|
|
107
|
+
return;
|
|
108
|
+
const after = new Date(newest.createdAt).toISOString();
|
|
109
|
+
dispatch(setThreadLoading({ parentMessageId: parentId, loading: true }));
|
|
110
|
+
try {
|
|
111
|
+
const { messages: newItems, hasMore: more } = await fetchMany({
|
|
112
|
+
conversationId,
|
|
113
|
+
parentId,
|
|
114
|
+
after,
|
|
115
|
+
limit,
|
|
116
|
+
sort: "asc",
|
|
117
|
+
includeFiles,
|
|
118
|
+
});
|
|
119
|
+
dispatch(setThreadReplies({
|
|
120
|
+
parentMessageId: parentId,
|
|
121
|
+
messages: [...currentItems, ...newItems],
|
|
122
|
+
hasMore: more,
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
handleError(err, "Failed to load more thread replies");
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
dispatch(setThreadLoading({ parentMessageId: parentId, loading: false }));
|
|
130
|
+
}
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
const oldest = mainMessagesRef.current[0];
|
|
134
|
+
if (!oldest)
|
|
135
|
+
return;
|
|
136
|
+
const before = new Date(oldest.createdAt).toISOString();
|
|
137
|
+
dispatch(setMessagesLoading({ conversationId, loading: true }));
|
|
138
|
+
await fetchPage(before);
|
|
139
|
+
dispatch(setMessagesLoading({ conversationId, loading: false }));
|
|
140
|
+
}, [loading, hasMore, isThread, parentId, projectId, conversationId, limit, includeFiles, fetchMany, dispatch, fetchPage]);
|
|
141
|
+
return { messages, loading, hasMore, loadOlder };
|
|
142
|
+
}
|
|
143
|
+
export default useLiveChatMessages;
|
|
144
|
+
//# sourceMappingURL=useLiveChatMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLiveChatMessages.js","sourceRoot":"","sources":["../../../../../src/hooks/chat/messages/useLiveChatMessages.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
1
|
+
import useLiveChatMessages from "./useLiveChatMessages";
|
|
2
2
|
import useSendMessage from "./useSendMessage";
|
|
3
3
|
function useMessageThread({ conversationId, messageId, }) {
|
|
4
|
-
const { messages, loading, hasMore, loadOlder } =
|
|
4
|
+
const { messages, loading, hasMore, loadOlder } = useLiveChatMessages({
|
|
5
5
|
conversationId,
|
|
6
6
|
parentId: messageId,
|
|
7
7
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMessageThread.js","sourceRoot":"","sources":["../../../../../src/hooks/chat/messages/useMessageThread.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"useMessageThread.js","sourceRoot":"","sources":["../../../../../src/hooks/chat/messages/useMessageThread.tsx"],"names":[],"mappings":"AACA,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,cAAqC,MAAM,kBAAkB,CAAC;AAerE,SAAS,gBAAgB,CAAC,EACxB,cAAc,EACd,SAAS,GACa;IACtB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC;QACpE,cAAc;QACd,QAAQ,EAAE,SAAS;KACpB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAEhD,MAAM,SAAS,GAAG,CAAC,MAAkD,EAAE,EAAE,CACvE,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC;IAElD,OAAO;QACL,OAAO,EAAE,QAAQ;QACjB,OAAO;QACP,OAAO;QACP,QAAQ,EAAE,SAAS;QACnB,SAAS;KACV,CAAC;AACJ,CAAC;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import useLiveChatMessages from "./messages/useLiveChatMessages";
|
|
2
2
|
import useSendMessage from "./messages/useSendMessage";
|
|
3
3
|
import useConversationMembers from "./conversations/useConversationMembers";
|
|
4
4
|
import useMarkConversationAsRead from "./useMarkConversationAsRead";
|
|
@@ -8,7 +8,7 @@ import useTypingIndicator from "./useTypingIndicator";
|
|
|
8
8
|
* Combines messages, send, members, read-state, and typing indicators into one object.
|
|
9
9
|
*/
|
|
10
10
|
function useConversationData({ conversationId, }) {
|
|
11
|
-
const { messages, loading: messagesLoading, hasMore, loadOlder } =
|
|
11
|
+
const { messages, loading: messagesLoading, hasMore, loadOlder } = useLiveChatMessages({
|
|
12
12
|
conversationId,
|
|
13
13
|
});
|
|
14
14
|
const send = useSendMessage({ conversationId });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConversationData.js","sourceRoot":"","sources":["../../../../src/hooks/chat/useConversationData.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useConversationData.js","sourceRoot":"","sources":["../../../../src/hooks/chat/useConversationData.tsx"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,gCAAgC,CAAC;AACjE,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAEvD,OAAO,sBAEN,MAAM,wCAAwC,CAAC;AAChD,OAAO,yBAAyB,MAAM,6BAA6B,CAAC;AACpE,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAoCtD;;;GAGG;AACH,SAAS,mBAAmB,CAAC,EAC3B,cAAc,GACW;IACzB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC;QACrF,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAEhD,MAAM,EACJ,OAAO,EACP,OAAO,EAAE,cAAc,EACvB,SAAS,EACT,YAAY,EACZ,KAAK,EACL,UAAU,EACV,YAAY,EACZ,mBAAmB,GACpB,GAAG,sBAAsB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAE/C,MAAM,IAAI,GAAG,yBAAyB,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAE3D,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;QAClE,cAAc;KACf,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QACR,eAAe;QACf,OAAO;QACP,SAAS;QACT,IAAI;QACJ,OAAO;QACP,cAAc;QACd,SAAS;QACT,YAAY;QACZ,KAAK;QACL,UAAU;QACV,YAAY;QACZ,mBAAmB;QACnB,IAAI;QACJ,WAAW;QACX,WAAW;QACX,UAAU;KACX,CAAC;AACJ,CAAC;AAED,eAAe,mBAAmB,CAAC"}
|
|
@@ -29,6 +29,8 @@ export { default as useFetchSpaceTeam } from "./useFetchSpaceTeam";
|
|
|
29
29
|
export type { FetchSpaceTeamProps } from "./useFetchSpaceTeam";
|
|
30
30
|
export { default as useFetchUserSpaces } from "./useFetchUserSpaces";
|
|
31
31
|
export type { FetchUserSpacesProps } from "./useFetchUserSpaces";
|
|
32
|
+
export { default as useFetchMutualSpaces } from "./useFetchMutualSpaces";
|
|
33
|
+
export type { FetchMutualSpacesProps } from "./useFetchMutualSpaces";
|
|
32
34
|
export { default as useCheckMyMembership } from "./useCheckMyMembership";
|
|
33
35
|
export type { CheckMyMembershipProps } from "./useCheckMyMembership";
|
|
34
36
|
export { default as useUpdateMemberRole } from "./useUpdateMemberRole";
|
|
@@ -18,6 +18,7 @@ export { default as useLeaveSpace } from "./useLeaveSpace";
|
|
|
18
18
|
export { default as useFetchSpaceMembers } from "./useFetchSpaceMembers";
|
|
19
19
|
export { default as useFetchSpaceTeam } from "./useFetchSpaceTeam";
|
|
20
20
|
export { default as useFetchUserSpaces } from "./useFetchUserSpaces";
|
|
21
|
+
export { default as useFetchMutualSpaces } from "./useFetchMutualSpaces";
|
|
21
22
|
export { default as useCheckMyMembership } from "./useCheckMyMembership";
|
|
22
23
|
// Member management hooks
|
|
23
24
|
export { default as useUpdateMemberRole } from "./useUpdateMemberRole";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/spaces/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGzD,cAAc;AACd,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGrE,aAAa;AACb,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG7D,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGzE,0BAA0B;AAC1B,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG7D,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAG/E,gBAAgB;AAChB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMjE,eAAe;AACf,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKvE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGjF,sBAAsB;AACtB,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAG3E,wBAAwB;AACxB,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/spaces/index.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGzD,cAAc;AACd,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAE/E,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE3E,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGrE,aAAa;AACb,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG7D,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAGzE,0BAA0B;AAC1B,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG7D,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAG/E,gBAAgB;AAChB,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMjE,eAAe;AACf,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKvE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGjF,sBAAsB;AACtB,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAG3E,wBAAwB;AACxB,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,eAAe,GAChB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Space, SpaceIncludeParam } from "../../interfaces/models/Space";
|
|
2
|
+
import { PaginatedResponse } from "../../interfaces/PaginatedResponse";
|
|
3
|
+
export interface FetchMutualSpacesProps {
|
|
4
|
+
/** The OTHER user — spaces shared with this user are returned. */
|
|
5
|
+
userId: string;
|
|
6
|
+
page?: number;
|
|
7
|
+
limit?: number;
|
|
8
|
+
include?: SpaceIncludeParam;
|
|
9
|
+
}
|
|
10
|
+
declare function useFetchMutualSpaces(): (params: FetchMutualSpacesProps) => Promise<PaginatedResponse<Space>>;
|
|
11
|
+
export default useFetchMutualSpaces;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import useProject from "../projects/useProject";
|
|
3
|
+
import useAxiosPrivate from "../../config/useAxiosPrivate";
|
|
4
|
+
function useFetchMutualSpaces() {
|
|
5
|
+
const { projectId } = useProject();
|
|
6
|
+
const axios = useAxiosPrivate();
|
|
7
|
+
const fetchMutualSpaces = useCallback(async (params) => {
|
|
8
|
+
if (!projectId) {
|
|
9
|
+
throw new Error("No projectId available.");
|
|
10
|
+
}
|
|
11
|
+
const { userId, include, ...rest } = params;
|
|
12
|
+
const response = await axios.get(`/${projectId}/spaces/mutual/${userId}`, {
|
|
13
|
+
params: {
|
|
14
|
+
...rest,
|
|
15
|
+
include: Array.isArray(include) ? include.join(",") : include,
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
return response.data;
|
|
19
|
+
}, [projectId, axios]);
|
|
20
|
+
return fetchMutualSpaces;
|
|
21
|
+
}
|
|
22
|
+
export default useFetchMutualSpaces;
|
|
23
|
+
//# sourceMappingURL=useFetchMutualSpaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchMutualSpaces.js","sourceRoot":"","sources":["../../../../src/hooks/spaces/useFetchMutualSpaces.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,eAAe,MAAM,8BAA8B,CAAC;AAY3D,SAAS,oBAAoB;IAG3B,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;IAEhC,MAAM,iBAAiB,GAAG,WAAW,CACnC,KAAK,EAAE,MAA8B,EAAE,EAAE;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC;QAE5C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,IAAI,SAAS,kBAAkB,MAAM,EAAE,EACvC;YACE,MAAM,EAAE;gBACN,GAAG,IAAI;gBACP,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO;aAC9D;SACF,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC,EACD,CAAC,SAAS,EAAE,KAAK,CAAC,CACnB,CAAC;IAEF,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/hooks/tables/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { PaginationMetadata } from "../../interfaces/PaginatedResponse";
|
|
2
|
+
import type { DbFilter, TableRow } from "../../interfaces/models/Table";
|
|
3
|
+
import { type TableViewState } from "../../store/slices/tablesSlice";
|
|
4
|
+
export type UseTableOptions = Partial<TableViewState>;
|
|
5
|
+
export interface UseTableValues<T extends TableRow = TableRow> {
|
|
6
|
+
rows: T[];
|
|
7
|
+
pagination: PaginationMetadata | null;
|
|
8
|
+
loading: boolean;
|
|
9
|
+
error: unknown;
|
|
10
|
+
refetch: () => void;
|
|
11
|
+
view: TableViewState;
|
|
12
|
+
setView: (view: Partial<TableViewState>) => void;
|
|
13
|
+
setPage: (page: number) => void;
|
|
14
|
+
setFilters: (filters: DbFilter[]) => void;
|
|
15
|
+
setSort: (sortBy: string | undefined, sortDir?: "asc" | "desc") => void;
|
|
16
|
+
setIncludeDeleted: (includeDeleted: boolean) => void;
|
|
17
|
+
createRow: (data: Record<string, unknown>) => Promise<T>;
|
|
18
|
+
updateRow: (rowId: string, data: Record<string, unknown>) => Promise<T>;
|
|
19
|
+
deleteRow: (rowId: string, opts?: {
|
|
20
|
+
force?: boolean;
|
|
21
|
+
}) => Promise<{
|
|
22
|
+
deleted: boolean;
|
|
23
|
+
soft: boolean;
|
|
24
|
+
}>;
|
|
25
|
+
restoreRow: (rowId: string) => Promise<T>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* React hook for a custom table's rows, backed by RTK Query against the `/db`
|
|
29
|
+
* surface. Returns rows + loading/refetch state plus CRUD actions. The query
|
|
30
|
+
* knobs (page/limit/sort/filters/includeDeleted) live in the `tables` slice so
|
|
31
|
+
* multiple consumers of the same table share one view.
|
|
32
|
+
*
|
|
33
|
+
* Core is hook-only — `@sublay/core` has no imperative client object (React
|
|
34
|
+
* hooks + Redux only), so this hook is the custom-table surface.
|
|
35
|
+
*/
|
|
36
|
+
export declare function useTable<T extends TableRow = TableRow>(tableName: string, options?: UseTableOptions): UseTableValues<T>;
|
|
37
|
+
export default useTable;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { useCallback, useEffect, useMemo } from "react";
|
|
2
|
+
import { useSublayDispatch, useSublaySelector } from "../../store/hooks";
|
|
3
|
+
import useProject from "../projects/useProject";
|
|
4
|
+
import { initializeTableView, selectTableView, setTableView, } from "../../store/slices/tablesSlice";
|
|
5
|
+
import { useCreateRowMutation, useDeleteRowMutation, useFetchTableRowsQuery, useRestoreRowMutation, useUpdateRowMutation, } from "../../store/api/tablesApi";
|
|
6
|
+
const DEFAULT_VIEW = {
|
|
7
|
+
page: 1,
|
|
8
|
+
limit: 20,
|
|
9
|
+
sortBy: undefined,
|
|
10
|
+
sortDir: undefined,
|
|
11
|
+
filters: [],
|
|
12
|
+
includeDeleted: false,
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* React hook for a custom table's rows, backed by RTK Query against the `/db`
|
|
16
|
+
* surface. Returns rows + loading/refetch state plus CRUD actions. The query
|
|
17
|
+
* knobs (page/limit/sort/filters/includeDeleted) live in the `tables` slice so
|
|
18
|
+
* multiple consumers of the same table share one view.
|
|
19
|
+
*
|
|
20
|
+
* Core is hook-only — `@sublay/core` has no imperative client object (React
|
|
21
|
+
* hooks + Redux only), so this hook is the custom-table surface.
|
|
22
|
+
*/
|
|
23
|
+
export function useTable(tableName, options = {}) {
|
|
24
|
+
const dispatch = useSublayDispatch();
|
|
25
|
+
const { projectId } = useProject();
|
|
26
|
+
const storedView = useSublaySelector((state) => selectTableView(state, tableName));
|
|
27
|
+
const view = storedView ?? { ...DEFAULT_VIEW, ...options };
|
|
28
|
+
// Seed the slice view once (idempotent — initializeTableView no-ops if set).
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
dispatch(initializeTableView({ tableName, view: options }));
|
|
31
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
|
+
}, [tableName]);
|
|
33
|
+
const { data, isLoading, error, refetch } = useFetchTableRowsQuery({
|
|
34
|
+
projectId: projectId,
|
|
35
|
+
tableName,
|
|
36
|
+
page: view.page,
|
|
37
|
+
limit: view.limit,
|
|
38
|
+
sortBy: view.sortBy,
|
|
39
|
+
sortDir: view.sortDir,
|
|
40
|
+
filters: view.filters,
|
|
41
|
+
includeDeleted: view.includeDeleted,
|
|
42
|
+
}, { skip: !projectId });
|
|
43
|
+
const [createRowMutation] = useCreateRowMutation();
|
|
44
|
+
const [updateRowMutation] = useUpdateRowMutation();
|
|
45
|
+
const [deleteRowMutation] = useDeleteRowMutation();
|
|
46
|
+
const [restoreRowMutation] = useRestoreRowMutation();
|
|
47
|
+
const update = useCallback((next) => dispatch(setTableView({ tableName, view: next })), [dispatch, tableName]);
|
|
48
|
+
const createRow = useCallback(async (rowData) => {
|
|
49
|
+
const res = await createRowMutation({
|
|
50
|
+
projectId: projectId,
|
|
51
|
+
tableName,
|
|
52
|
+
data: rowData,
|
|
53
|
+
}).unwrap();
|
|
54
|
+
return res.row;
|
|
55
|
+
}, [createRowMutation, projectId, tableName]);
|
|
56
|
+
const updateRow = useCallback(async (rowId, rowData) => {
|
|
57
|
+
const res = await updateRowMutation({
|
|
58
|
+
projectId: projectId,
|
|
59
|
+
tableName,
|
|
60
|
+
rowId,
|
|
61
|
+
data: rowData,
|
|
62
|
+
}).unwrap();
|
|
63
|
+
return res.row;
|
|
64
|
+
}, [updateRowMutation, projectId, tableName]);
|
|
65
|
+
const deleteRow = useCallback(async (rowId, opts) => deleteRowMutation({
|
|
66
|
+
projectId: projectId,
|
|
67
|
+
tableName,
|
|
68
|
+
rowId,
|
|
69
|
+
force: opts?.force,
|
|
70
|
+
}).unwrap(), [deleteRowMutation, projectId, tableName]);
|
|
71
|
+
const restoreRow = useCallback(async (rowId) => {
|
|
72
|
+
const res = await restoreRowMutation({
|
|
73
|
+
projectId: projectId,
|
|
74
|
+
tableName,
|
|
75
|
+
rowId,
|
|
76
|
+
}).unwrap();
|
|
77
|
+
return res.row;
|
|
78
|
+
}, [restoreRowMutation, projectId, tableName]);
|
|
79
|
+
return useMemo(() => ({
|
|
80
|
+
rows: data?.data ?? [],
|
|
81
|
+
pagination: data?.pagination ?? null,
|
|
82
|
+
loading: isLoading,
|
|
83
|
+
error,
|
|
84
|
+
refetch,
|
|
85
|
+
view,
|
|
86
|
+
setView: update,
|
|
87
|
+
setPage: (page) => update({ page }),
|
|
88
|
+
setFilters: (filters) => update({ filters, page: 1 }),
|
|
89
|
+
setSort: (sortBy, sortDir) => update({ sortBy, sortDir, page: 1 }),
|
|
90
|
+
setIncludeDeleted: (includeDeleted) => update({ includeDeleted, page: 1 }),
|
|
91
|
+
createRow,
|
|
92
|
+
updateRow,
|
|
93
|
+
deleteRow,
|
|
94
|
+
restoreRow,
|
|
95
|
+
}), [
|
|
96
|
+
data,
|
|
97
|
+
isLoading,
|
|
98
|
+
error,
|
|
99
|
+
refetch,
|
|
100
|
+
view,
|
|
101
|
+
update,
|
|
102
|
+
createRow,
|
|
103
|
+
updateRow,
|
|
104
|
+
deleteRow,
|
|
105
|
+
restoreRow,
|
|
106
|
+
]);
|
|
107
|
+
}
|
|
108
|
+
export default useTable;
|
|
109
|
+
//# sourceMappingURL=useTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTable.js","sourceRoot":"","sources":["../../../../src/hooks/tables/useTable.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { SublayProvider, SublayIntegrationProvider, EntityProvider, CommentSecti
|
|
|
10
10
|
export { sublayReducers, sublayApiReducer, sublayMiddleware, sublayApi, type SublayState, } from "./store/integration";
|
|
11
11
|
export { useProject, useProjectData } from "./hooks/projects";
|
|
12
12
|
export { useSignTestingJwt, type SignTestingJwtProps } from "./hooks/crypto";
|
|
13
|
-
export { useAuth, useRequestPasswordReset, useSendVerificationEmail, useVerifyEmail, type UseAuthValues, type SignUpWithEmailAndPasswordProps, type SignInWithEmailAndPasswordProps, type ChangePasswordProps, type RequestPasswordResetProps, type SendVerificationEmailProps, type VerifyEmailProps, } from "./hooks/auth";
|
|
13
|
+
export { useAuth, useRequestPasswordReset, useSendVerificationEmail, useVerifyEmail, useRequestAccountDeletion, useConfirmAccountDeletion, type UseAuthValues, type SignUpWithEmailAndPasswordProps, type SignInWithEmailAndPasswordProps, type ChangePasswordProps, type RequestPasswordResetProps, type SendVerificationEmailProps, type VerifyEmailProps, type ConfirmAccountDeletionProps, } from "./hooks/auth";
|
|
14
14
|
export { useAccountSync, useAccounts, useSwitchAccount, useAddAccount, useRemoveAccount, useSignOutAll, type UseAccountsReturn, type UseSwitchAccountReturn, type UseAddAccountReturn, type UseRemoveAccountReturn, type UseSignOutAllReturn, } from "./hooks/auth";
|
|
15
15
|
export { useOAuthIdentities, type OAuthIdentity, type UseOAuthIdentitiesReturn, } from "./hooks/auth";
|
|
16
16
|
export { OAUTH_BASE_URL, requestOAuthAuthorizationUrl, parseOAuthRedirectUrl, handleOAuthRedirect, type OAuthRedirectParams, type HandleOAuthRedirectResult, } from "./hooks/auth/oauthCore";
|
|
@@ -24,7 +24,8 @@ export { useAppNotifications, useAppNotificationsActions, type UseAppNotificatio
|
|
|
24
24
|
export { useCollections, useCollectionsActions, useCollectionEntitiesWrapper, type UseCollectionsProps, type UseCollectionsValues, type CreateCollectionProps, type UpdateCollectionProps, type DeleteCollectionProps, type AddToCollectionProps, type RemoveFromCollectionProps, type UseCollectionEntitiesWrapperProps, type UseCollectionEntitiesWrapperValues, } from "./hooks/collections";
|
|
25
25
|
export { useEntity, useEntityData, useCreateEntity, useDeleteEntity, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, useFetchManyEntities, useFetchManyEntitiesWrapper, useUpdateEntity, useFetchDrafts, usePublishDraft, useIsEntitySaved, type CreateEntityProps, type DeleteEntityProps, type FetchEntityProps, type FetchEntityByForeignIdProps, type FetchEntityByShortIdProps, type PublishDraftProps, type UseFetchManyEntitiesWrapperProps, type UseFetchManyEntitiesWrapperValues, type UseIsEntitySavedValues, } from "./hooks/entities";
|
|
26
26
|
export { useEntityList, useEntityListActions, type UseEntityListProps, type UseEntityListValues, type EntityListCreateEntityProps, type EntityListDeleteEntityProps, type EntityListFilters, type EntityListSort, type EntityListConfig, type EntityListFetchOptions, } from "./hooks/entity-lists";
|
|
27
|
-
export {
|
|
27
|
+
export { useTable, type UseTableOptions, type UseTableValues, } from "./hooks/tables";
|
|
28
|
+
export { useSpace, useSpaceData, useFetchSpace, useFetchSpaceByShortId, useFetchSpaceBySlug, useFetchSpaceBreadcrumb, useFetchSpaceChildren, useFetchManySpaces, useCheckSlugAvailability, useCreateSpace, useUpdateSpace, useDeleteSpace, useJoinSpace, useLeaveSpace, useFetchSpaceMembers, useFetchSpaceTeam, useFetchUserSpaces, useFetchMutualSpaces, useUpdateMemberRole, useApproveMember, useDeclineMember, useRemoveMember, useUnbanMember, useModerateSpaceEntity, useModerateSpaceComment, useSpacePermissions, useSpaceMentions, useCheckMyMembership, useFetchDigestConfig, useUpdateDigestConfig, useCreateRule, useUpdateRule, useDeleteRule, useFetchRule, useFetchManyRules, useReorderRules, type UseSpaceDataProps, type UseSpaceDataValues, type FetchSpaceProps, type FetchSpaceByShortIdProps, type FetchSpaceBySlugProps, type FetchSpaceBreadcrumbProps, type FetchSpaceChildrenProps, type FetchManySpacesProps, type CheckSlugAvailabilityProps, type CreateSpaceProps, type UpdateSpaceProps, type DeleteSpaceProps, type JoinSpaceProps, type LeaveSpaceProps, type FetchSpaceMembersProps, type FetchSpaceTeamProps, type FetchUserSpacesProps, type FetchMutualSpacesProps, type CheckMyMembershipProps, type UpdateMemberRoleProps, type ApproveMemberProps, type DeclineMemberProps, type RemoveMemberProps, type UnbanMemberProps, type ModerateSpaceEntityProps, type ModerateSpaceCommentProps, type UseSpacePermissionsProps, type UseSpacePermissionsValues, type UseSpaceMentionsProps, type UseSpaceMentionsValues, type FetchDigestConfigProps, type UpdateDigestConfigProps, type CreateRuleProps, type UpdateRuleProps, type DeleteRuleProps, type FetchRuleProps, type FetchManyRulesProps, type ReorderRulesProps, } from "./hooks/spaces";
|
|
28
29
|
export { useSpaceList, useSpaceListActions, type UseSpaceListProps, type UseSpaceListValues, type SpaceListCreateSpaceProps, type SpaceListDeleteSpaceProps, type FetchSpacesOptions, type CreateSpaceOptions, type DeleteSpaceOptions, } from "./hooks/space-lists";
|
|
29
30
|
export { useCommentSection, useCommentSectionData, useCreateComment, useFetchManyComments, useFetchComment, useFetchCommentByForeignId, useReplies, useUpdateComment, useDeleteComment, useEntityComments, useFetchManyCommentsWrapper, type CommentSectionCreateCommentProps, type CommentSectionUpdateCommentProps, type CommentSectionDeleteCommentProps, type CreateCommentProps, type FetchManyCommentsProps, type FetchCommentProps, type FetchCommentByForeignIdProps, type UseRepliesProps, type UpdateCommentProps, type DeleteCommentProps, type UseFetchManyCommentsWrapperProps, type UseFetchManyCommentsWrapperValues, type MentionTriggers, } from "./hooks/comments";
|
|
30
31
|
export { useFetchEntityReactions, useFetchCommentReactions, useFetchEntityReactionsWrapper, useFetchCommentReactionsWrapper, useAddReaction, useRemoveReaction, useReactionToggle, type UseFetchEntityReactionsWrapperProps, type UseFetchEntityReactionsWrapperValues, type UseFetchCommentReactionsWrapperProps, type UseFetchCommentReactionsWrapperValues, type UseReactionToggleProps, type UseReactionToggleValues, type ToggleReactionProps, type AddReactionProps, type RemoveReactionProps, type FetchEntityReactionsProps, type FetchCommentReactionsProps, } from "./hooks/reactions";
|
|
@@ -42,6 +43,7 @@ export type { UserFull, User, AuthUser, UserRole, UserInclude, UserIncludeArray,
|
|
|
42
43
|
export * as AppNotification from "./interfaces/models/AppNotification";
|
|
43
44
|
export type { Entity, EntityInclude, EntityIncludeArray, EntityIncludeParam, } from "./interfaces/models/Entity";
|
|
44
45
|
export type { Collection } from "./interfaces/models/Collection";
|
|
46
|
+
export type { TableRow, TableQuery, DbFilter, DbFilterOperator, } from "./interfaces/models/Table";
|
|
45
47
|
export type { Comment, GifData, CommentInclude, CommentIncludeArray, CommentIncludeParam, } from "./interfaces/models/Comment";
|
|
46
48
|
export type { Reaction, ReactionType, ReactionCounts, } from "./interfaces/models/Reaction";
|
|
47
49
|
export type { Mention, UserMention, SpaceMention, } from "./interfaces/models/Mention";
|
|
@@ -57,8 +59,8 @@ export type { TimeFrame } from "./interfaces/TimeFrame";
|
|
|
57
59
|
export type { Connection, EstablishedConnection, PendingConnection, ConnectionRequestParams, ConnectionActionResponse, ConnectionWithdrawResponse, ConnectionCountResponse, RemoveConnectionByUserIdResponse, ConnectionStatusResponse, ConnectionStatus, } from "./interfaces/models/Connection";
|
|
58
60
|
export type { Image, ImageVariant, UploadImageOptions, } from "./interfaces/models/Image";
|
|
59
61
|
export type { File } from "./interfaces/models/File";
|
|
60
|
-
export { useConversations, useConversation, useFetchConversation, useUpdateConversation, useDeleteConversation, useCreateDirectConversation, useFetchSpaceConversation, useConversationMembers, useChatMessages, useSendMessage, useEditMessage, useDeleteMessage, useToggleReaction, useMessageThread, useTotalUnreadCount, useUnreadConversationCount, useMarkConversationAsRead, useReportMessage, useConversationData, useTypingIndicator, useChatSocket, } from "./hooks/chat";
|
|
61
|
-
export type { UseConversationsProps, UseConversationsValues, UseConversationProps, UseConversationValues, UpdateConversationParams, FetchConversationProps, DeleteConversationProps, CreateDirectConversationProps, UseFetchSpaceConversationProps, UseFetchSpaceConversationValues, UseConversationMembersProps, UseConversationMembersValues, UseChatMessagesProps, UseChatMessagesValues, SendMessageParams, UseSendMessageProps, EditMessageParams, DeleteMessageParams, ToggleReactionParams, ToggleReactionResult, UseMessageThreadProps, UseMessageThreadValues, UseMarkConversationAsReadProps, ReportMessageParams, UseConversationDataProps, UseConversationDataValues, UseTypingIndicatorProps, UseTypingIndicatorValues, UseChatSocketValues, } from "./hooks/chat";
|
|
62
|
+
export { useConversations, useConversation, useFetchConversation, useUpdateConversation, useDeleteConversation, useCreateDirectConversation, useFetchSpaceConversation, useConversationMembers, useLiveChatMessages, useChatMessages, useFetchManyChatMessages, useFetchManyChatMessagesWrapper, useSendMessage, useEditMessage, useDeleteMessage, useToggleReaction, useMessageThread, useTotalUnreadCount, useUnreadConversationCount, useMarkConversationAsRead, useReportMessage, useConversationData, useTypingIndicator, useChatSocket, } from "./hooks/chat";
|
|
63
|
+
export type { UseConversationsProps, UseConversationsValues, UseConversationProps, UseConversationValues, UpdateConversationParams, FetchConversationProps, DeleteConversationProps, CreateDirectConversationProps, UseFetchSpaceConversationProps, UseFetchSpaceConversationValues, UseConversationMembersProps, UseConversationMembersValues, UseLiveChatMessagesProps, UseLiveChatMessagesValues, UseChatMessagesProps, UseChatMessagesValues, FetchManyChatMessagesProps, FetchManyChatMessagesResponse, UseFetchManyChatMessagesWrapperProps, UseFetchManyChatMessagesWrapperValues, MessageFilters, SendMessageParams, UseSendMessageProps, EditMessageParams, DeleteMessageParams, ToggleReactionParams, ToggleReactionResult, UseMessageThreadProps, UseMessageThreadValues, UseMarkConversationAsReadProps, ReportMessageParams, UseConversationDataProps, UseConversationDataValues, UseTypingIndicatorProps, UseTypingIndicatorValues, UseChatSocketValues, } from "./hooks/chat";
|
|
62
64
|
export type { Conversation, ConversationPreview, } from "./interfaces/models/Conversation";
|
|
63
65
|
export type { ConversationMember, ConversationMemberRole, } from "./interfaces/models/ConversationMember";
|
|
64
66
|
export type { ChatMessage } from "./interfaces/models/ChatMessage";
|
package/dist/esm/index.js
CHANGED
|
@@ -16,7 +16,7 @@ export { useProject, useProjectData } from "./hooks/projects";
|
|
|
16
16
|
// -- crypto
|
|
17
17
|
export { useSignTestingJwt } from "./hooks/crypto";
|
|
18
18
|
// -- authentication
|
|
19
|
-
export { useAuth, useRequestPasswordReset, useSendVerificationEmail, useVerifyEmail, } from "./hooks/auth";
|
|
19
|
+
export { useAuth, useRequestPasswordReset, useSendVerificationEmail, useVerifyEmail, useRequestAccountDeletion, useConfirmAccountDeletion, } from "./hooks/auth";
|
|
20
20
|
// -- authentication (accounts)
|
|
21
21
|
export { useAccountSync, useAccounts, useSwitchAccount, useAddAccount, useRemoveAccount, useSignOutAll, } from "./hooks/auth";
|
|
22
22
|
// -- authentication (OAuth)
|
|
@@ -38,8 +38,10 @@ export { useCollections, useCollectionsActions, useCollectionEntitiesWrapper, }
|
|
|
38
38
|
export { useEntity, useEntityData, useCreateEntity, useDeleteEntity, useFetchEntity, useFetchEntityByForeignId, useFetchEntityByShortId, useFetchManyEntities, useFetchManyEntitiesWrapper, useUpdateEntity, useFetchDrafts, usePublishDraft, useIsEntitySaved, } from "./hooks/entities";
|
|
39
39
|
// -- entity lists
|
|
40
40
|
export { useEntityList, useEntityListActions, } from "./hooks/entity-lists";
|
|
41
|
+
// -- custom tables
|
|
42
|
+
export { useTable, } from "./hooks/tables";
|
|
41
43
|
// -- spaces
|
|
42
|
-
export { useSpace, useSpaceData, useFetchSpace, useFetchSpaceByShortId, useFetchSpaceBySlug, useFetchSpaceBreadcrumb, useFetchSpaceChildren, useFetchManySpaces, useCheckSlugAvailability, useCreateSpace, useUpdateSpace, useDeleteSpace, useJoinSpace, useLeaveSpace, useFetchSpaceMembers, useFetchSpaceTeam, useFetchUserSpaces, useUpdateMemberRole, useApproveMember, useDeclineMember, useRemoveMember, useUnbanMember, useModerateSpaceEntity, useModerateSpaceComment, useSpacePermissions, useSpaceMentions, useCheckMyMembership,
|
|
44
|
+
export { useSpace, useSpaceData, useFetchSpace, useFetchSpaceByShortId, useFetchSpaceBySlug, useFetchSpaceBreadcrumb, useFetchSpaceChildren, useFetchManySpaces, useCheckSlugAvailability, useCreateSpace, useUpdateSpace, useDeleteSpace, useJoinSpace, useLeaveSpace, useFetchSpaceMembers, useFetchSpaceTeam, useFetchUserSpaces, useFetchMutualSpaces, useUpdateMemberRole, useApproveMember, useDeclineMember, useRemoveMember, useUnbanMember, useModerateSpaceEntity, useModerateSpaceComment, useSpacePermissions, useSpaceMentions, useCheckMyMembership,
|
|
43
45
|
// Digest config hooks
|
|
44
46
|
useFetchDigestConfig, useUpdateDigestConfig,
|
|
45
47
|
// Rule hooks
|
|
@@ -67,7 +69,7 @@ export { useUploadFile, useUploadImage, } from "./hooks/storage";
|
|
|
67
69
|
export * as AppNotification from "./interfaces/models/AppNotification";
|
|
68
70
|
export { validateSortBy, validateMetadataPropertyName, validateSortType, } from "./interfaces/EntityListSortByOptions";
|
|
69
71
|
// -- chat hooks
|
|
70
|
-
export { useConversations, useConversation, useFetchConversation, useUpdateConversation, useDeleteConversation, useCreateDirectConversation, useFetchSpaceConversation, useConversationMembers, useChatMessages, useSendMessage, useEditMessage, useDeleteMessage, useToggleReaction, useMessageThread, useTotalUnreadCount, useUnreadConversationCount, useMarkConversationAsRead, useReportMessage, useConversationData, useTypingIndicator, useChatSocket, } from "./hooks/chat";
|
|
72
|
+
export { useConversations, useConversation, useFetchConversation, useUpdateConversation, useDeleteConversation, useCreateDirectConversation, useFetchSpaceConversation, useConversationMembers, useLiveChatMessages, useChatMessages, useFetchManyChatMessages, useFetchManyChatMessagesWrapper, useSendMessage, useEditMessage, useDeleteMessage, useToggleReaction, useMessageThread, useTotalUnreadCount, useUnreadConversationCount, useMarkConversationAsRead, useReportMessage, useConversationData, useTypingIndicator, useChatSocket, } from "./hooks/chat";
|
|
71
73
|
// -- chat slice
|
|
72
74
|
export { setConversation, setConversationLoading, setConversationList, setConversationListLoading, setConversationListHasMore, setConversationListCursor, upsertConversationPreview, incrementUnread, clearUnread, setMessagesLoading, setMessagesHasMore, upsertMessage, addOptimisticMessage, failOptimisticMessage, removeMessage, updateReactions, setThreadReplies, setThreadLoading, setTypingUsers, setSocketConnected, selectConversation, selectConversationLoading, selectConversationList, selectConversationListLoading, selectConversationListHasMore, selectConversationListCursor, selectMessages, selectMessagesLoading, selectMessagesHasMore, selectOldestMessageId, selectNewestMessageId, selectThreadReplies, selectThreadLoading, selectThreadHasMore, selectTypingUsers, selectSocketConnected, } from "./store/slices/chatSlice";
|
|
73
75
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EACL,aAAa,EACb,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,+CAA+C;AAC/C,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,sBAAsB,EACtB,uBAAuB,GAOxB,MAAM,WAAW,CAAC;AAEnB,kEAAkE;AAClE,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,GAEV,MAAM,qBAAqB,CAAC;AAE7B,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAA4B,MAAM,gBAAgB,CAAC;AAE7E,oBAAoB;AACpB,OAAO,EACL,OAAO,EACP,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { File } from "./File";
|
|
2
2
|
import { ChatMessage } from "./ChatMessage";
|
|
3
3
|
import { ConversationMember } from "./ConversationMember";
|
|
4
|
+
import { User } from "./User";
|
|
4
5
|
export interface Conversation {
|
|
5
6
|
id: string;
|
|
6
7
|
projectId: string;
|
|
@@ -22,4 +23,5 @@ export interface Conversation {
|
|
|
22
23
|
export interface ConversationPreview extends Conversation {
|
|
23
24
|
unreadCount: number;
|
|
24
25
|
lastMessage: ChatMessage | null;
|
|
26
|
+
otherMembers?: Pick<User, "id" | "name" | "username" | "avatar">[];
|
|
25
27
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom-table types for the `/db` surface. Names mirror the server's `/db`
|
|
3
|
+
* read contract exactly (page/limit/sortBy/sortDir/filters/includeDeleted; the
|
|
4
|
+
* 10 filter operators).
|
|
5
|
+
*/
|
|
6
|
+
export type DbFilterOperator = "eq" | "ne" | "gt" | "gte" | "lt" | "lte" | "in" | "contains" | "like" | "isNull";
|
|
7
|
+
export interface DbFilter {
|
|
8
|
+
column: string;
|
|
9
|
+
operator: DbFilterOperator;
|
|
10
|
+
value?: unknown;
|
|
11
|
+
}
|
|
12
|
+
export interface TableQuery {
|
|
13
|
+
page?: number;
|
|
14
|
+
limit?: number;
|
|
15
|
+
sortBy?: string;
|
|
16
|
+
sortDir?: "asc" | "desc";
|
|
17
|
+
/** AND-combined filter clauses. */
|
|
18
|
+
filters?: DbFilter[];
|
|
19
|
+
/** Surface soft-deleted rows on a paranoid table. */
|
|
20
|
+
includeDeleted?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/** Shape every custom-table row shares (managed columns + free columns). */
|
|
23
|
+
export interface TableRow {
|
|
24
|
+
id: string;
|
|
25
|
+
createdAt?: string;
|
|
26
|
+
updatedAt?: string;
|
|
27
|
+
deletedAt?: string | null;
|
|
28
|
+
[column: string]: unknown;
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../src/interfaces/models/Table.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|