@amityco/ts-sdk 6.10.0 → 6.10.1-50f2392.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/@types/core/events.d.ts +2 -0
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/query.d.ts +5 -1
- package/dist/@types/core/query.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +1 -1
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/@types/domains/subChannel.d.ts +4 -1
- package/dist/@types/domains/subChannel.d.ts.map +1 -1
- package/dist/channelRepsitory/channelMembership/observers/getMembers.d.ts.map +1 -1
- package/dist/channelRepsitory/channelModeration/api/addRole.d.ts.map +1 -1
- package/dist/channelRepsitory/channelModeration/api/removeRole.d.ts.map +1 -1
- package/dist/channelRepsitory/events/index.d.ts +2 -0
- package/dist/channelRepsitory/events/index.d.ts.map +1 -1
- package/dist/channelRepsitory/events/onChannelMemberRoleAdded.d.ts +17 -0
- package/dist/channelRepsitory/events/onChannelMemberRoleAdded.d.ts.map +1 -0
- package/dist/channelRepsitory/events/onChannelMemberRoleRemoved.d.ts +17 -0
- package/dist/channelRepsitory/events/onChannelMemberRoleRemoved.d.ts.map +1 -0
- package/dist/commentRepository/api/isCommentFlaggedByMe.d.ts.map +1 -1
- package/dist/core/events.d.ts +3 -3
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/query/paging.d.ts +8 -1
- package/dist/core/query/paging.d.ts.map +1 -1
- package/dist/index.cjs.js +77 -18
- package/dist/index.esm.js +77 -18
- package/dist/index.umd.js +1 -1
- package/dist/subChannelRepository/api/querySubChannels.d.ts +2 -2
- package/dist/subChannelRepository/api/querySubChannels.d.ts.map +1 -1
- package/dist/subChannelRepository/observers/getSubChannels.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/events.ts +2 -0
- package/src/@types/core/query.ts +2 -2
- package/src/@types/domains/channel.ts +3 -1
- package/src/@types/domains/subChannel.ts +2 -1
- package/src/channelRepsitory/channelMembership/observers/getMembers.ts +4 -0
- package/src/channelRepsitory/channelModeration/api/addRole.ts +3 -0
- package/src/channelRepsitory/channelModeration/api/removeRole.ts +3 -0
- package/src/channelRepsitory/events/index.ts +3 -0
- package/src/channelRepsitory/events/onChannelMemberRoleAdded.ts +35 -0
- package/src/channelRepsitory/events/onChannelMemberRoleRemoved.ts +41 -0
- package/src/commentRepository/api/isCommentFlaggedByMe.ts +4 -9
- package/src/commentRepository/api/queryComments.ts +1 -1
- package/src/commentRepository/observers/getComments.ts +1 -1
- package/src/core/query/paging.ts +3 -1
- package/src/subChannelRepository/api/querySubChannels.ts +18 -6
- package/src/subChannelRepository/observers/getSubChannels.ts +5 -4
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* @async
|
|
14
14
|
*/
|
|
15
15
|
export declare const querySubChannels: {
|
|
16
|
-
(query: Amity.QuerySubChannels): Promise<Amity.Cached<Amity.Paged<Amity.SubChannel
|
|
16
|
+
(query: Amity.QuerySubChannels): Promise<Amity.Cached<Amity.Paged<Amity.SubChannel>> & Amity.Pagination>;
|
|
17
17
|
/**
|
|
18
18
|
* ```js
|
|
19
19
|
* import { querySubChannels } from '@amityco/ts-sdk'
|
|
@@ -27,6 +27,6 @@ export declare const querySubChannels: {
|
|
|
27
27
|
*
|
|
28
28
|
* @category Channel API
|
|
29
29
|
*/
|
|
30
|
-
locally(query: Parameters<typeof querySubChannels>[0]): Amity.Cached<Amity.Paged<Amity.SubChannel
|
|
30
|
+
locally(query: Parameters<typeof querySubChannels>[0]): Amity.Cached<Amity.Paged<Amity.SubChannel> & Amity.Pagination> | undefined;
|
|
31
31
|
};
|
|
32
32
|
//# sourceMappingURL=querySubChannels.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"querySubChannels.d.ts","sourceRoot":"","sources":["../../../src/subChannelRepository/api/querySubChannels.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB;YACpB,MAAM,gBAAgB,GAC5B,QAAQ,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"querySubChannels.d.ts","sourceRoot":"","sources":["../../../src/subChannelRepository/api/querySubChannels.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB;YACpB,MAAM,gBAAgB,GAC5B,QAAQ,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC,GAAG,MAAM,UAAU,CAAC;IAwD1E;;;;;;;;;;;;OAYG;mBAEM,WAAW,uBAAuB,CAAC,CAAC,CAAC,CAAC,GAC5C,MAAM,MAAM,CAAC,MAAM,KAAK,CAAC,MAAM,UAAU,CAAC,GAAG,MAAM,UAAU,CAAC,GAAG,SAAS;CAlB5E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getSubChannels.d.ts","sourceRoot":"","sources":["../../../src/subChannelRepository/observers/getSubChannels.ts"],"names":[],"mappings":"AA4BA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,cAAc,WACjB,MAAM,wBAAwB,YAC5B,MAAM,sBAAsB,CAAC,MAAM,UAAU,CAAC,WAC/C,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"getSubChannels.d.ts","sourceRoot":"","sources":["../../../src/subChannelRepository/observers/getSubChannels.ts"],"names":[],"mappings":"AA4BA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,cAAc,WACjB,MAAM,wBAAwB,YAC5B,MAAM,sBAAsB,CAAC,MAAM,UAAU,CAAC,WAC/C,MAAM,oBAAoB,eAsHpC,CAAC"}
|
package/package.json
CHANGED
|
@@ -152,6 +152,8 @@ declare global {
|
|
|
152
152
|
|
|
153
153
|
type LocalEvents = {
|
|
154
154
|
'local.channel.updated': MakeRequired<Amity.ProcessedChannelPayload, 'channels'>;
|
|
155
|
+
'local.channel-moderator.role-added': Amity.ProcessedChannelPayload;
|
|
156
|
+
'local.channel-moderator.role-removed': Amity.ProcessedChannelPayload;
|
|
155
157
|
'local.message.created': MakeRequired<Amity.ProcessedMessagePayload, 'messages'>;
|
|
156
158
|
'local.message.updated': MakeRequired<Amity.ProcessedMessagePayload, 'messages'>;
|
|
157
159
|
'local.message.deleted': MakeRequired<Amity.ProcessedMessagePayload, 'messages'>;
|
package/src/@types/core/query.ts
CHANGED
|
@@ -47,12 +47,12 @@ declare global {
|
|
|
47
47
|
|
|
48
48
|
type Snapshot<T> = (T extends Amity.Cached<infer T2>
|
|
49
49
|
? T2 extends Amity.Paged<infer T3, infer T4>
|
|
50
|
-
? { data: T3[] | undefined } & Amity.Pages<T4> & {
|
|
50
|
+
? { data: T3[] | undefined } & Amity.Pages<T4> & { paging?: Amity.Pagination['paging'] } & {
|
|
51
51
|
cachedAt?: Amity.CacheOptions['cachedAt'];
|
|
52
52
|
}
|
|
53
53
|
: { data: T2 } & { cachedAt?: Amity.CacheOptions['cachedAt'] }
|
|
54
54
|
: T extends Amity.Paged<infer T3, infer T4>
|
|
55
|
-
? { data: T3[] | undefined } & Amity.Pages<T4>
|
|
55
|
+
? { data: T3[] | undefined } & Amity.Pages<T4> & { paging?: Amity.Pagination['paging'] }
|
|
56
56
|
: { data: T | undefined }) &
|
|
57
57
|
SnapshotOptions;
|
|
58
58
|
|
|
@@ -11,7 +11,9 @@ declare global {
|
|
|
11
11
|
| 'onMemberAdded'
|
|
12
12
|
| 'onMemberRemoved'
|
|
13
13
|
| 'onChannelMemberBanned'
|
|
14
|
-
| 'onChannelMemberUnbanned'
|
|
14
|
+
| 'onChannelMemberUnbanned'
|
|
15
|
+
| 'onChannelMemberRoleAdded'
|
|
16
|
+
| 'onChannelMemberRoleRemoved';
|
|
15
17
|
|
|
16
18
|
type ChannelActionType =
|
|
17
19
|
| 'onFetch'
|
|
@@ -39,13 +39,14 @@ declare global {
|
|
|
39
39
|
excludeDefaultSubChannel?: boolean;
|
|
40
40
|
includeDeleted?: boolean;
|
|
41
41
|
page?: Amity.Page;
|
|
42
|
+
pageToken?: string;
|
|
42
43
|
};
|
|
43
44
|
|
|
44
45
|
type SubChannelLiveCollection = Amity.LiveCollectionParams<Omit<QuerySubChannels, 'page'>>;
|
|
45
46
|
|
|
46
47
|
type SubChannelLiveCollectionCache = Amity.LiveCollectionCache<
|
|
47
48
|
Amity.SubChannel,
|
|
48
|
-
Pick<QuerySubChannels, 'page'>
|
|
49
|
+
Pick<QuerySubChannels, 'page'> & { paging?: Amity.Pagination['paging'] }
|
|
49
50
|
>;
|
|
50
51
|
}
|
|
51
52
|
}
|
|
@@ -22,6 +22,8 @@ import {
|
|
|
22
22
|
onChannelMemberAdded,
|
|
23
23
|
onChannelMemberBanned,
|
|
24
24
|
onChannelMemberRemoved,
|
|
25
|
+
onChannelMemberRoleAdded,
|
|
26
|
+
onChannelMemberRoleRemoved,
|
|
25
27
|
onChannelMemberUnbanned,
|
|
26
28
|
} from '../../events';
|
|
27
29
|
import { queryChannelMembers } from '../api/queryChannelMembers';
|
|
@@ -206,6 +208,8 @@ export const getMembers = (
|
|
|
206
208
|
onChannelMemberRemoved(realtimeRouter('onMemberRemoved')),
|
|
207
209
|
onChannelMemberBanned(realtimeRouter('onChannelMemberBanned')),
|
|
208
210
|
onChannelMemberUnbanned(realtimeRouter('onChannelMemberUnbanned')),
|
|
211
|
+
onChannelMemberRoleAdded(realtimeRouter('onChannelMemberRoleAdded')),
|
|
212
|
+
onChannelMemberRoleRemoved(realtimeRouter('onChannelMemberRoleRemoved')),
|
|
209
213
|
);
|
|
210
214
|
|
|
211
215
|
onFetch(true);
|
|
@@ -3,6 +3,7 @@ import { getActiveClient } from '~/client/api';
|
|
|
3
3
|
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
4
|
|
|
5
5
|
import { prepareChannelPayload } from '../../utils';
|
|
6
|
+
import { fireEvent } from '~/core/events';
|
|
6
7
|
|
|
7
8
|
/* begin_public_function
|
|
8
9
|
id: channel.moderation.add_roles
|
|
@@ -40,6 +41,8 @@ export const addRole = async (
|
|
|
40
41
|
|
|
41
42
|
if (client.cache) ingestInCache(data);
|
|
42
43
|
|
|
44
|
+
fireEvent('local.channel-moderator.role-added', data);
|
|
45
|
+
|
|
43
46
|
const { channelUsers } = data;
|
|
44
47
|
return !!channelUsers.find(
|
|
45
48
|
channelUser => channelUser.channelId === channelId && channelUser.roles.includes(roleId),
|
|
@@ -3,6 +3,7 @@ import { getActiveClient } from '~/client/api';
|
|
|
3
3
|
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
4
|
|
|
5
5
|
import { prepareChannelPayload } from '../../utils';
|
|
6
|
+
import { fireEvent } from '~/core/events';
|
|
6
7
|
|
|
7
8
|
/* begin_public_function
|
|
8
9
|
id: channel.moderation.remove_roles
|
|
@@ -40,6 +41,8 @@ export const removeRole = async (
|
|
|
40
41
|
|
|
41
42
|
if (client.cache) ingestInCache(data);
|
|
42
43
|
|
|
44
|
+
fireEvent('local.channel-moderator.role-removed', data);
|
|
45
|
+
|
|
43
46
|
const { channelUsers } = data;
|
|
44
47
|
return !!channelUsers.find(
|
|
45
48
|
channelUser => channelUser.channelId === channelId && !channelUser.roles.includes(roleId),
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { getActiveClient } from '~/client/api';
|
|
2
|
+
import { createEventSubscriber } from '~/core/events';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* ```js
|
|
6
|
+
* import { onChannelMemberRoleAdded } from '@amityco/ts-sdk'
|
|
7
|
+
* const dispose = onChannelMemberRoleAdded((channel, member) => {
|
|
8
|
+
* // ...
|
|
9
|
+
* })
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* Fired when any {@link Amity.channelUsers} 's role has been added to any {@link Amity.Channel}
|
|
13
|
+
*
|
|
14
|
+
* @param callback The function to call when the event was fired
|
|
15
|
+
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
16
|
+
*
|
|
17
|
+
* @category Channel Events
|
|
18
|
+
*/
|
|
19
|
+
export const onChannelMemberRoleAdded = (
|
|
20
|
+
callback: (channel: Amity.Channel, member: Amity.Membership<'channel'>) => void,
|
|
21
|
+
): Amity.Unsubscriber => {
|
|
22
|
+
const client = getActiveClient();
|
|
23
|
+
|
|
24
|
+
const filter = async (payload: Amity.ProcessedChannelPayload) => {
|
|
25
|
+
const { channels, channelUsers } = payload;
|
|
26
|
+
callback(channels[0], channelUsers.find(channelUser => channelUser.membership === 'member')!);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
return createEventSubscriber(
|
|
30
|
+
client,
|
|
31
|
+
'onChannelMemberRoleAdded',
|
|
32
|
+
'local.channel-moderator.role-added',
|
|
33
|
+
filter,
|
|
34
|
+
);
|
|
35
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
2
|
+
import { getActiveClient } from '~/client/api';
|
|
3
|
+
import { createEventSubscriber } from '~/core/events';
|
|
4
|
+
|
|
5
|
+
import { prepareChannelPayload } from '../utils';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* ```js
|
|
9
|
+
* import { onChannelMemberRoleRemoved } from '@amityco/ts-sdk'
|
|
10
|
+
* const dispose = onChannelMemberRoleRemoved((channel, member) => {
|
|
11
|
+
* // ...
|
|
12
|
+
* })
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* Fired when any {@link Amity.channelUsers} 's role has been deleted to any {@link Amity.Channel}
|
|
16
|
+
*
|
|
17
|
+
* @param callback The function to call when the event was fired
|
|
18
|
+
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
19
|
+
*
|
|
20
|
+
* @category Channel Events
|
|
21
|
+
*/
|
|
22
|
+
export const onChannelMemberRoleRemoved = (
|
|
23
|
+
callback: (channel: Amity.Channel, member: Amity.Membership<'channel'>) => void,
|
|
24
|
+
): Amity.Unsubscriber => {
|
|
25
|
+
const client = getActiveClient();
|
|
26
|
+
|
|
27
|
+
const filter = async (payload: Amity.ChannelMembershipPayload) => {
|
|
28
|
+
const preparedPayload = await prepareChannelPayload(payload);
|
|
29
|
+
const { channels, channelUsers } = preparedPayload;
|
|
30
|
+
|
|
31
|
+
ingestInCache(preparedPayload);
|
|
32
|
+
callback(channels[0], channelUsers.find(channelUser => channelUser.membership === 'member')!);
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
return createEventSubscriber(
|
|
36
|
+
client,
|
|
37
|
+
'onChannelMemberRoleRemoved',
|
|
38
|
+
'local.channel-moderator.role-removed',
|
|
39
|
+
filter,
|
|
40
|
+
);
|
|
41
|
+
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { getActiveClient } from '~/client/api/activeClient';
|
|
2
|
-
import { synchronousWSCall } from '~/core/transports';
|
|
3
2
|
|
|
4
3
|
/* begin_public_function
|
|
5
4
|
id: comment.check_flag_by_me
|
|
@@ -22,14 +21,10 @@ export const isCommentFlaggedByMe = async (
|
|
|
22
21
|
const client = getActiveClient();
|
|
23
22
|
client.log('comment/isCommentFlaggedByMe', commentId);
|
|
24
23
|
|
|
25
|
-
const {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
isFlagByMe?: boolean;
|
|
29
|
-
}>(client, 'v3/comment.isflagbyme', {
|
|
30
|
-
commentId,
|
|
31
|
-
})) ?? {};
|
|
24
|
+
const {
|
|
25
|
+
data: { result },
|
|
26
|
+
} = await client.http.get(`/api/v3/comments/${commentId}/isflagbyme`);
|
|
32
27
|
|
|
33
|
-
return result
|
|
28
|
+
return result;
|
|
34
29
|
};
|
|
35
30
|
/* end_public_function */
|
|
@@ -30,7 +30,7 @@ export const queryComments = async (
|
|
|
30
30
|
const { page = { limit: 10 }, includeDeleted, ...params } = query;
|
|
31
31
|
|
|
32
32
|
const options = {
|
|
33
|
-
type: params.sortBy ? 'pagination' : undefined,
|
|
33
|
+
type: params.sortBy || query.page?.limit ? 'pagination' : undefined,
|
|
34
34
|
token: toToken(page, params.sortBy ? 'skiplimit' : 'afterbefore'),
|
|
35
35
|
};
|
|
36
36
|
// const filterByParentId = query.parentId !== undefined
|
|
@@ -146,7 +146,7 @@ export const getComments = (
|
|
|
146
146
|
query,
|
|
147
147
|
({ data: result, error, loading, prevPage, nextPage }) => {
|
|
148
148
|
// depend on sortBy value we have two different pagination type
|
|
149
|
-
const page = queryParams.sortBy ? nextPage : prevPage;
|
|
149
|
+
const page = queryParams.sortBy || params?.limit ? nextPage : prevPage;
|
|
150
150
|
|
|
151
151
|
const data = {
|
|
152
152
|
loading,
|
package/src/core/query/paging.ts
CHANGED
|
@@ -42,7 +42,9 @@ export const isAfterBeforeRaw = (
|
|
|
42
42
|
*
|
|
43
43
|
* @hidden
|
|
44
44
|
*/
|
|
45
|
-
export const isPaged = <T extends unknown>(
|
|
45
|
+
export const isPaged = <T extends unknown>(
|
|
46
|
+
payload: any,
|
|
47
|
+
): payload is Amity.Paged<T, any> & { paging?: Amity.Pagination['paging'] } => {
|
|
46
48
|
return (
|
|
47
49
|
payload?.hasOwnProperty('data') &&
|
|
48
50
|
payload?.hasOwnProperty('nextPage') &&
|
|
@@ -24,11 +24,17 @@ import { convertQueryParams, prepareSubChannelPayload } from '../utils';
|
|
|
24
24
|
*/
|
|
25
25
|
export const querySubChannels = async (
|
|
26
26
|
query: Amity.QuerySubChannels,
|
|
27
|
-
): Promise<Amity.Cached<Amity.Paged<Amity.SubChannel
|
|
27
|
+
): Promise<Amity.Cached<Amity.Paged<Amity.SubChannel>> & Amity.Pagination> => {
|
|
28
28
|
const client = getActiveClient();
|
|
29
29
|
client.log('channel/querySubChannels', query);
|
|
30
30
|
|
|
31
|
-
const {
|
|
31
|
+
const {
|
|
32
|
+
page = { limit: 10 },
|
|
33
|
+
channelId,
|
|
34
|
+
includeDeleted,
|
|
35
|
+
pageToken,
|
|
36
|
+
...params
|
|
37
|
+
} = convertQueryParams(query);
|
|
32
38
|
|
|
33
39
|
const response = await client.http.get<Amity.SubChannelPayload & Amity.Pagination>(
|
|
34
40
|
`/api/v5/message-feeds/channel/${channelId}`,
|
|
@@ -37,7 +43,7 @@ export const querySubChannels = async (
|
|
|
37
43
|
...params,
|
|
38
44
|
isDeleted: inferIsDeleted(includeDeleted),
|
|
39
45
|
options: {
|
|
40
|
-
token: toToken(page, 'afterbefore'),
|
|
46
|
+
token: pageToken || toToken(page, 'afterbefore'),
|
|
41
47
|
},
|
|
42
48
|
},
|
|
43
49
|
},
|
|
@@ -64,7 +70,13 @@ export const querySubChannels = async (
|
|
|
64
70
|
const nextPage = toPage(paging.next);
|
|
65
71
|
const prevPage = toPage(paging.previous);
|
|
66
72
|
|
|
67
|
-
return {
|
|
73
|
+
return {
|
|
74
|
+
data: subChannels,
|
|
75
|
+
cachedAt,
|
|
76
|
+
prevPage,
|
|
77
|
+
nextPage,
|
|
78
|
+
paging,
|
|
79
|
+
};
|
|
68
80
|
};
|
|
69
81
|
/* end_public_function */
|
|
70
82
|
|
|
@@ -83,7 +95,7 @@ export const querySubChannels = async (
|
|
|
83
95
|
*/
|
|
84
96
|
querySubChannels.locally = (
|
|
85
97
|
query: Parameters<typeof querySubChannels>[0],
|
|
86
|
-
): Amity.Cached<Amity.Paged<Amity.SubChannel
|
|
98
|
+
): Amity.Cached<Amity.Paged<Amity.SubChannel> & Amity.Pagination> | undefined => {
|
|
87
99
|
const client = getActiveClient();
|
|
88
100
|
client.log('channel/querySubChannels.locally', query);
|
|
89
101
|
|
|
@@ -114,6 +126,6 @@ querySubChannels.locally = (
|
|
|
114
126
|
const nextPage = toPage(data?.paging.next);
|
|
115
127
|
|
|
116
128
|
return subChannels.length === data?.subChannels?.length
|
|
117
|
-
? { data: subChannels, cachedAt, prevPage, nextPage }
|
|
129
|
+
? { data: subChannels, cachedAt, prevPage, nextPage, paging: data?.paging }
|
|
118
130
|
: undefined;
|
|
119
131
|
};
|
|
@@ -76,7 +76,7 @@ export const getSubChannels = (
|
|
|
76
76
|
callback({
|
|
77
77
|
onNextPage: onFetch,
|
|
78
78
|
data: subChannels,
|
|
79
|
-
hasNextPage: !!data.params?.
|
|
79
|
+
hasNextPage: !!data.params?.paging?.next,
|
|
80
80
|
loading: data.loading,
|
|
81
81
|
error: data.error,
|
|
82
82
|
});
|
|
@@ -107,22 +107,23 @@ export const getSubChannels = (
|
|
|
107
107
|
const onFetch = () => {
|
|
108
108
|
const subChannels = snapshot ? snapshot.data : [];
|
|
109
109
|
|
|
110
|
-
if (subChannels.length > 0 && !snapshot?.params
|
|
110
|
+
if (subChannels.length > 0 && !snapshot?.params?.paging?.next) {
|
|
111
111
|
return;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
const query = createQuery(querySubChannels, {
|
|
115
115
|
...queryParams,
|
|
116
116
|
page: snapshot?.params.page ? { ...snapshot?.params.page, limit } : { limit },
|
|
117
|
+
pageToken: snapshot?.params?.paging?.next,
|
|
117
118
|
});
|
|
118
119
|
|
|
119
120
|
runQuery(
|
|
120
121
|
query,
|
|
121
|
-
({ data: result, error, loading, nextPage: page }) => {
|
|
122
|
+
({ data: result, error, loading, nextPage: page, paging }) => {
|
|
122
123
|
snapshot = {
|
|
123
124
|
loading,
|
|
124
125
|
error,
|
|
125
|
-
params: { page },
|
|
126
|
+
params: { page, paging },
|
|
126
127
|
data: result ? merge(subChannels, result.map(convertGetterPropsToStatic)) : subChannels,
|
|
127
128
|
};
|
|
128
129
|
|