@amityco/ts-sdk 0.0.1-beta.10 → 0.0.1-beta.14
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/cache.d.ts +2 -2
- package/dist/@types/core/cache.d.ts.map +1 -1
- package/dist/@types/core/events.d.ts +6 -6
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/paging.d.ts +19 -38
- package/dist/@types/core/paging.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +2 -2
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/core/query.d.ts +12 -4
- package/dist/@types/core/query.d.ts.map +1 -1
- package/dist/@types/domains/client.d.ts +1 -1
- package/dist/@types/domains/client.d.ts.map +1 -1
- package/dist/@types/domains/comment.d.ts +1 -1
- package/dist/@types/domains/comment.d.ts.map +1 -1
- package/dist/@types/domains/file.d.ts +2 -2
- package/dist/@types/domains/file.d.ts.map +1 -1
- package/dist/@types/domains/mention.d.ts +23 -0
- package/dist/@types/domains/mention.d.ts.map +1 -0
- package/dist/@types/domains/message.d.ts +1 -1
- package/dist/@types/domains/message.d.ts.map +1 -1
- package/dist/@types/domains/post.d.ts +2 -2
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/@types/index.d.ts +1 -0
- package/dist/@types/index.d.ts.map +1 -1
- package/dist/category/api/queryCategories.d.ts +3 -3
- package/dist/channel/api/getChannels.d.ts.map +1 -1
- package/dist/channel/api/queryChannelMembers.d.ts.map +1 -1
- package/dist/channel/api/queryChannels.d.ts +1 -1
- package/dist/channel/events/onChannelCreated.d.ts.map +1 -1
- package/dist/client/api/disconnectClient.d.ts.map +1 -1
- package/dist/comment/api/createComment.d.ts +1 -1
- package/dist/comment/api/createComment.d.ts.map +1 -1
- package/dist/comment/api/getComments.d.ts.map +1 -1
- package/dist/comment/api/updateComment.d.ts +1 -1
- package/dist/comment/api/updateComment.d.ts.map +1 -1
- package/dist/comment/events/onCommentReactionAdded.d.ts.map +1 -1
- package/dist/comment/events/onCommentReactionRemoved.d.ts.map +1 -1
- package/dist/comment/events/utils.d.ts.map +1 -1
- package/dist/community/api/addCommunityMembers.d.ts.map +1 -1
- package/dist/community/api/joinCommunity.d.ts.map +1 -1
- package/dist/community/api/leaveCommunity.d.ts.map +1 -1
- package/dist/community/api/queryCommunities.d.ts +1 -1
- package/dist/community/api/removeCommunityMembers.d.ts.map +1 -1
- package/dist/community/events/utils.d.ts.map +1 -1
- package/dist/core/debug.d.ts.map +1 -1
- package/dist/core/device.d.ts.map +1 -1
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/microtasks.d.ts +13 -0
- package/dist/core/microtasks.d.ts.map +1 -0
- package/dist/core/query/paging.d.ts +2 -13
- package/dist/core/query/paging.d.ts.map +1 -1
- package/dist/core/query/query.d.ts +1 -1
- package/dist/core/query/query.d.ts.map +1 -1
- package/dist/feed/api/queryGlobalFeed.d.ts +22 -4
- package/dist/feed/api/queryGlobalFeed.d.ts.map +1 -1
- package/dist/index.cjs.js +138 -148
- package/dist/index.esm.js +139 -147
- package/dist/index.umd.js +5 -5
- package/dist/message/api/createMessage.d.ts +2 -2
- package/dist/message/api/createMessage.d.ts.map +1 -1
- package/dist/message/api/updateMessage.d.ts +2 -2
- package/dist/message/api/updateMessage.d.ts.map +1 -1
- package/dist/post/api/createPost.d.ts +7 -3
- package/dist/post/api/createPost.d.ts.map +1 -1
- package/dist/post/api/getPosts.d.ts.map +1 -1
- package/dist/post/api/queryPosts.d.ts +3 -3
- package/dist/post/api/queryPosts.d.ts.map +1 -1
- package/dist/post/api/updatePost.d.ts +1 -1
- package/dist/post/api/updatePost.d.ts.map +1 -1
- package/dist/post/events/onPostReactionAdded.d.ts.map +1 -1
- package/dist/post/events/onPostReactionRemoved.d.ts.map +1 -1
- package/dist/post/events/utils.d.ts.map +1 -1
- package/dist/role/api/queryRoles.d.ts +1 -1
- package/dist/stream/api/queryStreams.d.ts +1 -1
- package/dist/user/api/getUsers.d.ts.map +1 -1
- package/dist/utils/env.d.ts +5 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/version.d.ts.map +1 -1
- package/package.json +1 -3
- package/rollup.config.js +3 -0
- package/src/@types/core/cache.ts +2 -2
- package/src/@types/core/events.ts +6 -6
- package/src/@types/core/paging.ts +29 -44
- package/src/@types/core/payload.ts +2 -2
- package/src/@types/core/query.ts +7 -3
- package/src/@types/domains/client.ts +1 -1
- package/src/@types/domains/comment.ts +1 -0
- package/src/@types/domains/file.ts +2 -1
- package/src/@types/domains/mention.ts +26 -0
- package/src/@types/domains/message.ts +1 -0
- package/src/@types/domains/post.ts +2 -1
- package/src/@types/index.ts +2 -0
- package/src/channel/api/addChannelMembers.ts +1 -1
- package/src/channel/api/addChannelMembersRole.ts +1 -1
- package/src/channel/api/deleteChannel.ts +1 -1
- package/src/channel/api/getChannel.ts +1 -1
- package/src/channel/api/getChannels.ts +3 -1
- package/src/channel/api/joinChannel.ts +1 -1
- package/src/channel/api/leaveChannel.ts +1 -1
- package/src/channel/api/queryChannelMembers.ts +3 -2
- package/src/channel/api/removeChannelMembers.ts +1 -1
- package/src/channel/api/removeChannelMembersRole.ts +1 -1
- package/src/channel/api/updateChannel.ts +1 -1
- package/src/channel/events/onChannelCreated.ts +1 -3
- package/src/client/api/connectClient.ts +1 -1
- package/src/client/api/disconnectClient.ts +0 -1
- package/src/client/events/onConnectionError.ts +1 -1
- package/src/comment/api/createComment.ts +1 -2
- package/src/comment/api/deleteComment.ts +1 -1
- package/src/comment/api/getComment.ts +1 -1
- package/src/comment/api/getComments.ts +3 -1
- package/src/comment/api/updateComment.ts +2 -2
- package/src/comment/events/onCommentReactionAdded.ts +0 -7
- package/src/comment/events/onCommentReactionRemoved.ts +0 -7
- package/src/comment/events/utils.ts +3 -10
- package/src/community/api/addCommunityMembers.ts +3 -5
- package/src/community/api/joinCommunity.ts +1 -3
- package/src/community/api/leaveCommunity.ts +1 -3
- package/src/community/api/queryCommunityMembers.ts +1 -1
- package/src/community/api/removeCommunityMembers.ts +1 -3
- package/src/community/events/utils.ts +19 -33
- package/src/core/debug.ts +3 -1
- package/src/core/device.ts +3 -2
- package/src/core/events.ts +3 -1
- package/src/core/microtasks.ts +27 -0
- package/src/core/query/paging.ts +6 -41
- package/src/core/query/query.ts +5 -5
- package/src/core/subscription.ts +4 -4
- package/src/feed/api/queryGlobalFeed.ts +58 -5
- package/src/message/api/createMessage.ts +2 -2
- package/src/message/api/deleteMessage.ts +1 -1
- package/src/message/api/getMessage.ts +1 -1
- package/src/message/api/updateMessage.ts +3 -3
- package/src/post/api/createPost.ts +6 -5
- package/src/post/api/deletePost.ts +1 -1
- package/src/post/api/getPost.ts +1 -1
- package/src/post/api/getPosts.ts +3 -1
- package/src/post/api/queryPosts.ts +5 -5
- package/src/post/api/updatePost.ts +2 -2
- package/src/post/events/onPostReactionAdded.ts +0 -7
- package/src/post/events/onPostReactionRemoved.ts +0 -7
- package/src/post/events/utils.ts +2 -10
- package/src/report/api/createReport.ts +2 -2
- package/src/report/api/deleteReport.ts +2 -2
- package/src/user/api/getUser.ts +1 -1
- package/src/user/api/getUsers.ts +3 -1
- package/src/utils/env.ts +7 -0
- package/src/version.ts +3 -1
|
@@ -24,7 +24,7 @@ import { fireEvent } from '~/core/events'
|
|
|
24
24
|
* @async
|
|
25
25
|
*/
|
|
26
26
|
export const createMessage = async <T extends Amity.MessageContentType>(
|
|
27
|
-
bundle: Pick<Amity.Message<T>, 'channelId' | 'type' | 'data' | 'metadata'>
|
|
27
|
+
bundle: Pick<Amity.Message<T>, 'channelId' | 'type' | 'data' | 'metadata' | 'mentionees'>
|
|
28
28
|
): Promise<Amity.Cached<Amity.Message>> => {
|
|
29
29
|
const client = getActiveClient()
|
|
30
30
|
client.log('user/createMessage', bundle)
|
|
@@ -62,7 +62,7 @@ export const createMessage = async <T extends Amity.MessageContentType>(
|
|
|
62
62
|
* @category Message API
|
|
63
63
|
*/
|
|
64
64
|
createMessage.optimistically = (
|
|
65
|
-
bundle: Pick<Amity.Message, 'channelId' | 'type' | 'data' | 'metadata'>
|
|
65
|
+
bundle: Pick<Amity.Message, 'channelId' | 'type' | 'data' | 'metadata' | 'mentionees'>
|
|
66
66
|
): Amity.Cached<Amity.Message> | undefined => {
|
|
67
67
|
const client = getActiveClient()
|
|
68
68
|
client.log('user/createMessage.locally', bundle)
|
|
@@ -27,7 +27,7 @@ export const deleteMessage = async (
|
|
|
27
27
|
|
|
28
28
|
// API-FIX: This endpoint has not been implemented yet.
|
|
29
29
|
await client.http.delete<{ success: boolean }>(
|
|
30
|
-
`/api/v3/messages/${messageId}`
|
|
30
|
+
`/api/v3/messages/${encodeURIComponent(messageId)}`
|
|
31
31
|
)
|
|
32
32
|
|
|
33
33
|
const deleted = await getMessage(messageId)
|
|
@@ -25,7 +25,7 @@ export const getMessage = async (
|
|
|
25
25
|
|
|
26
26
|
// API-FIX: endpoint should not be /list, parameters should be querystring.
|
|
27
27
|
const { data } = await client.http.get<Amity.MessagePayload>(
|
|
28
|
-
`/api/v3/messages/${messageId}`,
|
|
28
|
+
`/api/v3/messages/${encodeURIComponent(messageId)}`,
|
|
29
29
|
)
|
|
30
30
|
|
|
31
31
|
const cachedAt = client.cache && Date.now()
|
|
@@ -23,13 +23,13 @@ import { fireEvent } from '~/core/events'
|
|
|
23
23
|
*/
|
|
24
24
|
export const updateMessage = async (
|
|
25
25
|
messageId: Amity.Message['messageId'],
|
|
26
|
-
patch: Patch<Amity.Message, 'data' | 'metadata'>,
|
|
26
|
+
patch: Patch<Amity.Message, 'data' | 'metadata' | 'mentionees'>,
|
|
27
27
|
): Promise<Amity.Cached<Amity.Message>> => {
|
|
28
28
|
const client = getActiveClient()
|
|
29
29
|
client.log('user/updateMessage', patch)
|
|
30
30
|
|
|
31
31
|
const { data } = await client.http.put<Amity.MessagePayload>(
|
|
32
|
-
`/api/v3/messages/${messageId}`, patch,
|
|
32
|
+
`/api/v3/messages/${encodeURIComponent(messageId)}`, patch,
|
|
33
33
|
)
|
|
34
34
|
|
|
35
35
|
const cachedAt = client.cache && Date.now()
|
|
@@ -61,7 +61,7 @@ export const updateMessage = async (
|
|
|
61
61
|
*/
|
|
62
62
|
updateMessage.optimistically = (
|
|
63
63
|
messageId: Amity.Message['messageId'],
|
|
64
|
-
patch: Patch<Amity.Message, 'data' | 'metadata'>,
|
|
64
|
+
patch: Patch<Amity.Message, 'data' | 'metadata' | 'mentionees'>,
|
|
65
65
|
): Amity.Cached<Amity.Message> | undefined => {
|
|
66
66
|
const client = getActiveClient()
|
|
67
67
|
client.log('user/updateMessage', patch)
|
|
@@ -22,25 +22,26 @@ import { fireEvent } from '~/core/events'
|
|
|
22
22
|
* @async
|
|
23
23
|
*/
|
|
24
24
|
export const createPost = async <T extends Amity.PostContentType | string>(
|
|
25
|
-
bundle: Pick<Amity.Post, 'targetType' | 'targetId' | 'metadata'> & {
|
|
26
|
-
dataType?: T,
|
|
25
|
+
bundle: Pick<Amity.Post, 'targetType' | 'targetId' | 'metadata' | 'mentionees'> & {
|
|
26
|
+
dataType?: T,
|
|
27
|
+
data?: { [k: string]: any },
|
|
28
|
+
attachments?: { type: T, fileId: Amity.File['fileId'] }[]
|
|
27
29
|
},
|
|
28
30
|
): Promise<Amity.Cached<Amity.Post>> => {
|
|
29
31
|
const client = getActiveClient()
|
|
30
32
|
client.log('post/createPost', bundle)
|
|
31
33
|
|
|
32
34
|
// API-FIX: backend rejects that we pass the dataType manually T_T
|
|
33
|
-
if (!bundle.dataType || ['text', 'image', 'file'].includes(bundle.dataType))
|
|
35
|
+
if (!bundle.dataType || ['text', 'image', 'file', 'video'].includes(bundle.dataType))
|
|
34
36
|
delete bundle.dataType
|
|
35
37
|
|
|
36
38
|
const { data } = await client.http.post<Amity.PostPayload>(
|
|
37
|
-
'/api/
|
|
39
|
+
'/api/v4/posts', bundle
|
|
38
40
|
)
|
|
39
41
|
|
|
40
42
|
const cachedAt = client.cache && Date.now()
|
|
41
43
|
if (client.cache) ingestInCache(data, { cachedAt })
|
|
42
44
|
|
|
43
|
-
fireEvent('community.updated', { communities: data.communities! })
|
|
44
45
|
fireEvent('post.created', data)
|
|
45
46
|
|
|
46
47
|
const { posts } = data
|
|
@@ -32,7 +32,7 @@ export const deletePost = async (
|
|
|
32
32
|
|
|
33
33
|
// API-FIX: This endpoint has not been implemented yet.
|
|
34
34
|
await client.http.delete<{ success: boolean }>(
|
|
35
|
-
`/api/v4/posts/${postId}`, {
|
|
35
|
+
`/api/v4/posts/${encodeURIComponent(postId)}`, {
|
|
36
36
|
params: {
|
|
37
37
|
postId,
|
|
38
38
|
permanent,
|
package/src/post/api/getPost.ts
CHANGED
|
@@ -28,7 +28,7 @@ export const getPost = async (
|
|
|
28
28
|
try {
|
|
29
29
|
// API-FIX: endpoint should not be /list, parameters should be querystring.
|
|
30
30
|
const response = await client.http.get<Amity.PostPayload>(
|
|
31
|
-
`/api/v3/posts/${postId}`,
|
|
31
|
+
`/api/v3/posts/${encodeURIComponent(postId)}`,
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
data = response.data;
|
package/src/post/api/getPosts.ts
CHANGED
|
@@ -23,10 +23,12 @@ export const getPosts = async (
|
|
|
23
23
|
const client = getActiveClient()
|
|
24
24
|
client.log('post/getPosts', postIds)
|
|
25
25
|
|
|
26
|
+
const encodedPostIds = postIds.map(postId => encodeURIComponent(postId));
|
|
27
|
+
|
|
26
28
|
// API-FIX: endpoint should not be /list, parameters should be querystring.
|
|
27
29
|
const { data } = await client.http.get<Amity.PostPayload>(
|
|
28
30
|
`/api/v3/posts/list`,
|
|
29
|
-
{ params: { postIds } }
|
|
31
|
+
{ params: { postIds: encodedPostIds } }
|
|
30
32
|
)
|
|
31
33
|
|
|
32
34
|
const cachedAt = client.cache && Date.now()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getActiveClient } from '~/client/api'
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { toToken, toPageRaw } from '~/core/query'
|
|
4
4
|
|
|
5
5
|
import { pullFromCache, pushToCache } from '~/cache/api'
|
|
6
6
|
import { ingestInCache } from '~/cache/api/ingestInCache'
|
|
@@ -31,9 +31,9 @@ export const queryPosts = async (
|
|
|
31
31
|
feedType?: 'reviewing' | 'published'
|
|
32
32
|
tags?: Amity.Taggable['tags'],
|
|
33
33
|
matchingOnlyParentPost?: boolean
|
|
34
|
-
page?: Amity.
|
|
34
|
+
page?: Amity.PageRaw
|
|
35
35
|
}
|
|
36
|
-
): Promise<Amity.Cached<Amity.
|
|
36
|
+
): Promise<Amity.Cached<Amity.Paged<Amity.Post>>> => {
|
|
37
37
|
const client = getActiveClient()
|
|
38
38
|
client.log('post/queryPosts', query)
|
|
39
39
|
|
|
@@ -41,7 +41,7 @@ export const queryPosts = async (
|
|
|
41
41
|
|
|
42
42
|
// API-FIX: parameters should be querystring. (1)
|
|
43
43
|
// API-FIX: backend should answer Amity.Response (2)
|
|
44
|
-
// const { data } = await client.http.get<Amity.Response<Amity.
|
|
44
|
+
// const { data } = await client.http.get<Amity.Response<Amity.PagedResponse<Amity.PostPayload>>>(
|
|
45
45
|
const { data } = await client.http.get<Amity.PostPayload & Amity.Pagination>(
|
|
46
46
|
`/api/v4/posts`, { params: {
|
|
47
47
|
...params,
|
|
@@ -87,7 +87,7 @@ export const queryPosts = async (
|
|
|
87
87
|
*/
|
|
88
88
|
queryPosts.locally = (
|
|
89
89
|
query: Parameters<typeof queryPosts>[0],
|
|
90
|
-
): Amity.Cached<Amity.
|
|
90
|
+
): Amity.Cached<Amity.Paged<Amity.Post>> | undefined => {
|
|
91
91
|
const client = getActiveClient()
|
|
92
92
|
client.log('post/queryPosts.locally', query)
|
|
93
93
|
|
|
@@ -22,13 +22,13 @@ import { fireEvent } from '~/core/events'
|
|
|
22
22
|
*/
|
|
23
23
|
export const updatePost = async (
|
|
24
24
|
postId: Amity.Post['postId'],
|
|
25
|
-
patch: Patch<Amity.Post, 'data' | 'metadata'>,
|
|
25
|
+
patch: Patch<Amity.Post, 'data' | 'metadata' | 'mentionees'>,
|
|
26
26
|
): Promise<Amity.Cached<Amity.Post>> => {
|
|
27
27
|
const client = getActiveClient()
|
|
28
28
|
client.log('user/updatePost', patch)
|
|
29
29
|
|
|
30
30
|
const { data } = await client.http.put<Amity.PostPayload>(
|
|
31
|
-
`/api/
|
|
31
|
+
`/api/v4/posts/${encodeURIComponent(postId)}`, patch,
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
const cachedAt = client.cache && Date.now()
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import isMatch from 'lodash.ismatch'
|
|
2
1
|
import { getActiveClient } from '~/client/api'
|
|
3
2
|
import { pullFromCache } from '~/cache/api'
|
|
4
3
|
import { ingestInCache } from '~/cache/api/ingestInCache'
|
|
@@ -27,8 +26,6 @@ export const onPostReactionAdded = (callback: Amity.Listener<Amity.Post>): Amity
|
|
|
27
26
|
if (!client.cache) {
|
|
28
27
|
callback(payload.posts[0])
|
|
29
28
|
} else {
|
|
30
|
-
const cached = pullFromCache<Amity.Post>(['post', 'get', payload.posts[0].postId])
|
|
31
|
-
|
|
32
29
|
preparePayloadForCache('post.addReaction', payload)
|
|
33
30
|
const { reactor, ...postPayload } = payload;
|
|
34
31
|
|
|
@@ -36,10 +33,6 @@ export const onPostReactionAdded = (callback: Amity.Listener<Amity.Post>): Amity
|
|
|
36
33
|
|
|
37
34
|
const post = pullFromCache<Amity.Post>(['post', 'get', payload.posts[0].postId])!
|
|
38
35
|
|
|
39
|
-
if (cached && isMatch(cached.data, post.data)) {
|
|
40
|
-
return
|
|
41
|
-
}
|
|
42
|
-
|
|
43
36
|
callback(post.data)
|
|
44
37
|
}
|
|
45
38
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import isMatch from 'lodash.ismatch'
|
|
2
1
|
import { getActiveClient } from '~/client/api'
|
|
3
2
|
import { pullFromCache } from '~/cache/api'
|
|
4
3
|
import { ingestInCache } from '~/cache/api/ingestInCache'
|
|
@@ -27,8 +26,6 @@ export const onPostReactionRemoved = (callback: Amity.Listener<Amity.Post>): Ami
|
|
|
27
26
|
if (!client.cache) {
|
|
28
27
|
callback(payload.posts[0])
|
|
29
28
|
} else {
|
|
30
|
-
const cached = pullFromCache<Amity.Post>(['post', 'get', payload.posts[0].postId])
|
|
31
|
-
|
|
32
29
|
preparePayloadForCache('post.removeReaction', payload)
|
|
33
30
|
const { reactor, ...postPayload } = payload;
|
|
34
31
|
|
|
@@ -36,10 +33,6 @@ export const onPostReactionRemoved = (callback: Amity.Listener<Amity.Post>): Ami
|
|
|
36
33
|
|
|
37
34
|
const post = pullFromCache<Amity.Post>(['post', 'get', payload.posts[0].postId])!
|
|
38
35
|
|
|
39
|
-
if (cached && isMatch(cached.data, post.data)) {
|
|
40
|
-
return
|
|
41
|
-
}
|
|
42
|
-
|
|
43
36
|
callback(post.data)
|
|
44
37
|
}
|
|
45
38
|
}
|
package/src/post/events/utils.ts
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import isMatch from 'lodash.ismatch'
|
|
2
1
|
import { getActiveClient } from '~/client/api'
|
|
3
|
-
import { pullFromCache } from '~/cache/api'
|
|
4
2
|
import { ingestInCache } from '~/cache/api/ingestInCache'
|
|
5
3
|
import { createEventSubscriber, fireEvent } from '~/core/events'
|
|
6
|
-
import { queryCache, upsertInCache } from '~/cache/api'
|
|
4
|
+
import { queryCache, upsertInCache, pullFromCache } from '~/cache/api'
|
|
7
5
|
|
|
8
6
|
export const createPostEventSubscriber = (
|
|
9
7
|
event: keyof Amity.MqttPostMessageEvents,
|
|
@@ -15,22 +13,16 @@ export const createPostEventSubscriber = (
|
|
|
15
13
|
if (!client.cache) {
|
|
16
14
|
callback(payload.posts[0])
|
|
17
15
|
} else {
|
|
18
|
-
const cached = pullFromCache<Amity.Post>(['post', 'get', payload.posts[0].postId])
|
|
19
|
-
|
|
20
16
|
const { communities, ...others } = payload
|
|
21
17
|
|
|
22
18
|
ingestInCache(others as Amity.PostPayload)
|
|
23
19
|
|
|
24
|
-
if (communities?.[0]) {
|
|
20
|
+
if (communities?.[0] && !['post.updated'].includes(event)) {
|
|
25
21
|
fireEvent('community.updated', { communities })
|
|
26
22
|
}
|
|
27
23
|
|
|
28
24
|
const post = pullFromCache<Amity.Post>(['post', 'get', payload.posts[0].postId])!
|
|
29
25
|
|
|
30
|
-
if (cached && isMatch(cached.data, post.data)) {
|
|
31
|
-
return
|
|
32
|
-
}
|
|
33
|
-
|
|
34
26
|
if (['post.created', 'post.approved', 'post.declined'].includes(event)) {
|
|
35
27
|
let queries = queryCache(['post', 'query'])
|
|
36
28
|
// @ts-ignore
|
|
@@ -28,14 +28,14 @@ export const createReport = async (
|
|
|
28
28
|
const { domainName } = REFERENCE_TYPES[referenceType]
|
|
29
29
|
|
|
30
30
|
const { data } = await client.http.post<Amity.PostPayload | Amity.CommentPayload | Amity.MessagePayload | Amity.UserPayload>(
|
|
31
|
-
`/api/v3/${domainName}/${referenceId}/flag`
|
|
31
|
+
`/api/v3/${domainName}/${(encodeURIComponent(referenceId))}/flag`
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
if (client.cache) ingestInCache(data)
|
|
35
35
|
|
|
36
36
|
const event = referenceType === 'message'
|
|
37
37
|
? 'v3.message.didUpdate' as const
|
|
38
|
-
: `${referenceType}.
|
|
38
|
+
: `${referenceType}.flagged` as const
|
|
39
39
|
|
|
40
40
|
fireEvent(event, data)
|
|
41
41
|
|
|
@@ -28,14 +28,14 @@ export const deleteReport = async (
|
|
|
28
28
|
const { domainName } = REFERENCE_TYPES[referenceType]
|
|
29
29
|
|
|
30
30
|
const { data } = await client.http.delete<Amity.PostPayload | Amity.CommentPayload | Amity.MessagePayload | Amity.UserPayload>(
|
|
31
|
-
`/api/v3/${domainName}/${referenceId}/unflag`
|
|
31
|
+
`/api/v3/${domainName}/${encodeURIComponent(referenceId)}/unflag`
|
|
32
32
|
)
|
|
33
33
|
|
|
34
34
|
if (client.cache) ingestInCache(data)
|
|
35
35
|
|
|
36
36
|
const event = referenceType === 'message'
|
|
37
37
|
? 'v3.message.didUpdate' as const
|
|
38
|
-
: `${referenceType}.
|
|
38
|
+
: `${referenceType}.unflagged` as const
|
|
39
39
|
|
|
40
40
|
fireEvent(event, data)
|
|
41
41
|
|
package/src/user/api/getUser.ts
CHANGED
|
@@ -25,7 +25,7 @@ export const getUser = async (
|
|
|
25
25
|
|
|
26
26
|
// API-FIX: endpoint should not be /list, parameters should be querystring.
|
|
27
27
|
const { data } = await client.http.get<Amity.UserPayload>(
|
|
28
|
-
`/api/v3/users/${userId}`,
|
|
28
|
+
`/api/v3/users/${encodeURIComponent(userId)}`,
|
|
29
29
|
)
|
|
30
30
|
|
|
31
31
|
const cachedAt = client.cache && Date.now()
|
package/src/user/api/getUsers.ts
CHANGED
|
@@ -23,10 +23,12 @@ export const getUsers = async (
|
|
|
23
23
|
const client = getActiveClient()
|
|
24
24
|
client.log('user/getUsers', userIds)
|
|
25
25
|
|
|
26
|
+
const encodedUserIds = userIds.map(userId => encodeURIComponent(userId));
|
|
27
|
+
|
|
26
28
|
// API-FIX: endpoint should not be /list, parameters should be querystring.
|
|
27
29
|
const { data } = await client.http.get<Amity.UserPayload>(
|
|
28
30
|
`/api/v3/users/list`,
|
|
29
|
-
{ params: { userIds } },
|
|
31
|
+
{ params: { userIds: encodedUserIds } },
|
|
30
32
|
)
|
|
31
33
|
|
|
32
34
|
const cachedAt = client.cache && Date.now()
|
package/src/utils/env.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const theGlobal = globalThis || global || window;
|
|
2
|
+
|
|
3
|
+
export const { process: safeProcess = {} }: { process: Partial<NodeJS.Process> } = theGlobal
|
|
4
|
+
|
|
5
|
+
export function getEnv() { return safeProcess.env ?? {} }
|
|
6
|
+
|
|
7
|
+
export const isProduction = safeProcess.env?.NODE_ENV === 'production'
|
package/src/version.ts
CHANGED