@amityco/ts-sdk 7.24.0 → 7.24.1-28d52fa.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/domains/user.d.ts +12 -0
- package/dist/@types/domains/user.d.ts.map +1 -1
- package/dist/index.cjs.js +46 -19
- package/dist/index.esm.js +47 -20
- package/dist/index.umd.js +3 -3
- package/dist/report/api/createReport.d.ts +7 -1
- package/dist/report/api/createReport.d.ts.map +1 -1
- package/dist/userRepository/api/flagUser.d.ts +11 -3
- package/dist/userRepository/api/flagUser.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,12 @@ export declare enum SearchUsersByEnum {
|
|
|
9
9
|
PROFILE_HANDLE = "profileHandle",
|
|
10
10
|
USER_ID = "userId"
|
|
11
11
|
}
|
|
12
|
+
export declare enum UserReportTypeEnum {
|
|
13
|
+
DISPLAY_NAME = "displayName",
|
|
14
|
+
DESCRIPTION = "description",
|
|
15
|
+
AVATAR = "avatarFileId",
|
|
16
|
+
BEHAVIOR = "behavior"
|
|
17
|
+
}
|
|
12
18
|
export {};
|
|
13
19
|
declare global {
|
|
14
20
|
namespace Amity {
|
|
@@ -27,6 +33,12 @@ declare global {
|
|
|
27
33
|
type SearchUsersBy = SearchUsersByEnum;
|
|
28
34
|
type UserActionType = 'onFetch' | 'onUpdate' | 'onDelete' | 'onFlagged' | 'onUnflagged' | 'onFlagCleared';
|
|
29
35
|
type UserType = `${UserTypeEnum}`;
|
|
36
|
+
type UserReportType = UserReportTypeEnum;
|
|
37
|
+
type UserReportOptions = {
|
|
38
|
+
reportType?: Amity.UserReportType;
|
|
39
|
+
reason?: Amity.ContentFlagReason;
|
|
40
|
+
comment?: string;
|
|
41
|
+
};
|
|
30
42
|
type RawUser = {
|
|
31
43
|
_id: string;
|
|
32
44
|
userId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,0BAAkB,YAAY;IAC5B,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED,oBAAY,iBAAiB;IAC3B,YAAY,gBAAgB;IAC5B,cAAc,kBAAkB;IAChC,OAAO,WAAW;CACnB;AAED,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,WAAW,cAAc;YACvB,YAAY,iBAAiB;YAC7B,WAAW,gBAAgB;SAC5B;QAED,KAAK,mBAAmB,GAAG,wBAAwB,CAAC;QAEpD,KAAK,UAAU,GAAG,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QAE5C,WAAW,oBAAoB;YAC7B,YAAY,iBAAiB;YAC7B,WAAW,gBAAgB;YAC3B,WAAW,gBAAgB;SAC5B;QAED,KAAK,gBAAgB,GAAG,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAExD,KAAK,aAAa,GAAG,iBAAiB,CAAC;QAEvC,KAAK,cAAc,GACf,SAAS,GACT,UAAU,GACV,UAAU,GACV,WAAW,GACX,aAAa,GACb,eAAe,CAAC;QAEpB,KAAK,QAAQ,GAAG,GAAG,YAAY,EAAE,CAAC;QAElC,KAAK,OAAO,GAAG;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM,CAAC;YACf,cAAc,EAAE,MAAM,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,OAAO,EAAE,OAAO,CAAC;YACjB,WAAW,EAAE,OAAO,CAAC;SACtB,GAAG,KAAK,CAAC,QAAQ,GAChB,KAAK,CAAC,QAAQ,GACd,KAAK,CAAC,SAAS,GACf,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,YAAY,CAAC;QAErB,KAAK,YAAY,GAAG,KAAK,CAAC,OAAO,GAAG;YAClC,cAAc,EAAE,OAAO,CAAC;SACzB,GAAG,KAAK,CAAC,QAAQ,GAChB,KAAK,CAAC,QAAQ,GACd,KAAK,CAAC,SAAS,GACf,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,UAAU,GAChB,KAAK,CAAC,YAAY,CAAC;QAErB,KAAK,IAAI,GAAG,KAAK,CAAC,YAAY,GAAG;YAC/B,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;SACrC,CAAC;QAEF,KAAK,UAAU,GAAG;YAChB,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;YAC3B,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC;YACjD,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,SAAS,CAAC,EAAE,mBAAmB,CAAC;SACjC,CAAC;QAEF,KAAK,gBAAgB,GAAG;YACtB,WAAW,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YAChD,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;YAC3B,MAAM,CAAC,EAAE,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,oBAAoB,CAAC;YAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,SAAS,CAAC,EAAE,mBAAmB,CAAC;YAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC;SAClC,CAAC;QAEF,KAAK,kBAAkB,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;QAErF,KAAK,wBAAwB,GAAG,KAAK,CAAC,oBAAoB,CACxD,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CACvC,CAAC;QAEF,KAAK,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,CAAC;QAE/D,KAAK,uBAAuB,GAAG,KAAK,CAAC,mBAAmB,CACtD,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CACzB,CAAC;KACH;CACF"}
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/user.ts"],"names":[],"mappings":"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"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -48,6 +48,13 @@ exports.SearchUsersByEnum = void 0;
|
|
|
48
48
|
SearchUsersByEnum["PROFILE_HANDLE"] = "profileHandle";
|
|
49
49
|
SearchUsersByEnum["USER_ID"] = "userId";
|
|
50
50
|
})(exports.SearchUsersByEnum || (exports.SearchUsersByEnum = {}));
|
|
51
|
+
exports.UserReportTypeEnum = void 0;
|
|
52
|
+
(function (UserReportTypeEnum) {
|
|
53
|
+
UserReportTypeEnum["DISPLAY_NAME"] = "displayName";
|
|
54
|
+
UserReportTypeEnum["DESCRIPTION"] = "description";
|
|
55
|
+
UserReportTypeEnum["AVATAR"] = "avatarFileId";
|
|
56
|
+
UserReportTypeEnum["BEHAVIOR"] = "behavior";
|
|
57
|
+
})(exports.UserReportTypeEnum || (exports.UserReportTypeEnum = {}));
|
|
51
58
|
|
|
52
59
|
const FileType = Object.freeze({
|
|
53
60
|
FILE: 'file',
|
|
@@ -15012,7 +15019,7 @@ const getWatchSessionStorage = () => {
|
|
|
15012
15019
|
return storageInstance;
|
|
15013
15020
|
};
|
|
15014
15021
|
|
|
15015
|
-
const privateKey = "
|
|
15022
|
+
const privateKey = "MIIEpQIBAAKCAQEAwAEc/oZgYIvKSUG/C3mONYLR4ZPgAjMEX4bJ+xqqakUDRtqlNO+eZs2blQ1Ko0DBkqPExyQezvjibH5W2UZBV5RaBTlTcNVKTToMBEGesAfaEcM3qUyQHxdbFYZv6P4sb14dcwxTQ8usmaV8ooiR1Fcaso5ZWYcZ8Hb46FbQ7OoVumsBtPWwfZ4f003o5VCl6AIM6lcLv9UDLlFVYhE+PeXpRHtfWlGqxMvqC9oinlwhL6nWv6VjQXW4nhcib72dPBzfHT7k/PMKto2SxALYdb68ENiAGuJLWi3AUHSyYCJK2w7wIlWfJUAI0v26ub10IpExr6D5QuW2577jjP93iwIDAQABAoIBAFWfqXhwIIatkFY+9Z1+ZcbDQimgsmMIsUiQaX6Lk7e0cxOj6czDlxYtVtaPiNtow2pLkjNkjkCqiP7tEHnwdK9DvylZOTa2R15NJpK3WLcTqVIGhsn/FL5owfvFah6zSsmXZParZm5zY9NZE03ALZhOB9/cz0e3kf/EbpfeL2mW7MApyiUt5i09ycchroOpcWp73ipIxvgigtZyUGFmsQicWhUs28F0D7w4Qfk76yG3nqXeb+BAMhCaIaa/k/aAxhiZG/ygEQWQrcC8gfe+jyicMAQPDEVS9YuUMGsLjIjKuVLZzp2xirQnhc2i2zVNEIvG6soprPOBEMQugzrtX5ECgYEA3b7KAbBIbDl1e4ZSCWhHdHkiWVZHaopsR/LhqDDNhXjWjq3AesgV6k0j9EdziMn/HmmOso0bz99GTV3JZf4A9ztTLumJlkHbdVtlgOqSjrFLj12rH9KXTheyIhWSpUmm8+WB1xasFbqpvJaGo7F3pd2Fqj1XR4mp5BO7c/t7LJ0CgYEA3aouEzXQ9THRKYocdfY69EI1Il1t/d/RSqqd9BxEjxBgxkM13ZiYIn/R4WW/nCUrlmhxG44Aa2Gob4Ahfsui2xKTg/g/3Zk/rAxAEGkfOLGoenaJMD41fH4wUq3FRYwkvnaMb9Hd6f/TlBHslIRa2NN58bSBGJCyBP2b59+2+EcCgYEAixDVRXvV37GlYUOa/XVdosk5Zoe6oDGRuQm0xbNdoUBoZvDHDvme7ONWEiQha/8qtVsD+CyQ7awcPfb8kK9c0bBt+bTS6d4BkTcxkEkMgtrkBVR8Nqfu5jXsLH4VCv4G61zbMhZw8+ut+az5YX2yCN7Frj9sFlxapMRPQmzMEe0CgYEAumsAzM8ZqNv4mAK65Mnr0rhLj1cbxcKRdUYACOgtEFQpzxN/HZnTeFAe5nx3pI3uFlRHq3DFEYnT6dHMWaJQmAULYpVIwMi9L6gtyJ9fzoI6uqMtxRDMUqKdaSsTGOY/kJ6KhQ/unXi1K3XXjR+yd1+C0q+HUm1+CYxvrZYLfskCgYEArsEy+IQOiqniJ0NE2vVUF+UK/IRZaic9YKcpov5Ot7Vvzm/MnnW4N1ljVskocETBWMmPUvNSExVjPebi+rxd8fa5kY8BJScPTzMFbunZn/wjtGdcM10qdlVQ9doG61A/9P3ezFKCfS4AvF/H/59LcSx2Bh28fp3/efiVIOpVd4Y=";
|
|
15016
15023
|
/*
|
|
15017
15024
|
* The crypto algorithm used for importing key and signing string
|
|
15018
15025
|
*/
|
|
@@ -16575,6 +16582,18 @@ const updateUser = async (userId, patch) => {
|
|
|
16575
16582
|
};
|
|
16576
16583
|
/* end_public_function */
|
|
16577
16584
|
|
|
16585
|
+
const buildFlagUserBody = (options) => {
|
|
16586
|
+
if (!options)
|
|
16587
|
+
return undefined;
|
|
16588
|
+
const body = {};
|
|
16589
|
+
if (options.reportType !== undefined)
|
|
16590
|
+
body.reportType = options.reportType;
|
|
16591
|
+
if (options.reason !== undefined)
|
|
16592
|
+
body.reason = options.reason;
|
|
16593
|
+
if (options.comment !== undefined)
|
|
16594
|
+
body.comment = options.comment;
|
|
16595
|
+
return Object.keys(body).length > 0 ? body : undefined;
|
|
16596
|
+
};
|
|
16578
16597
|
/* begin_public_function
|
|
16579
16598
|
id: user.flag
|
|
16580
16599
|
*/
|
|
@@ -16582,24 +16601,34 @@ const updateUser = async (userId, patch) => {
|
|
|
16582
16601
|
* ```js
|
|
16583
16602
|
* import { UserRepository } from '@amityco/ts-sdk'
|
|
16584
16603
|
* const flagged = await UserRepository.flagUser('userId')
|
|
16604
|
+
* const flaggedBehavior = await UserRepository.flagUser('userId', {
|
|
16605
|
+
* reportType: 'behavior',
|
|
16606
|
+
* reason: 'Harassment or bullying',
|
|
16607
|
+
* comment: 'optional free-text',
|
|
16608
|
+
* })
|
|
16585
16609
|
* ```
|
|
16586
16610
|
*
|
|
16587
|
-
* @param userId The ID of the user to
|
|
16588
|
-
* @
|
|
16611
|
+
* @param userId The ID of the user to be flagged
|
|
16612
|
+
* @param options Optional report metadata forwarded to the server as the request
|
|
16613
|
+
* body: `reportType`, `reason`, `comment`. Only non-null fields are included.
|
|
16614
|
+
* All validation is server-side; a bodyless call produces a typeless report.
|
|
16615
|
+
* @returns the flagged {@link Amity.User}
|
|
16589
16616
|
*
|
|
16590
16617
|
* @category User API
|
|
16591
16618
|
* @async
|
|
16592
16619
|
* */
|
|
16593
|
-
const flagUser = async (userId) => {
|
|
16620
|
+
const flagUser = async (userId, options) => {
|
|
16621
|
+
var _a;
|
|
16594
16622
|
const client = getActiveClient();
|
|
16595
|
-
client.log('user/flagUser', userId);
|
|
16596
|
-
const
|
|
16623
|
+
client.log('user/flagUser', { userId, options });
|
|
16624
|
+
const body = buildFlagUserBody(options);
|
|
16625
|
+
const { data } = await client.http.post(`/api/v4/me/flags/${encodeURIComponent(userId)}`, body);
|
|
16597
16626
|
const payload = prepareUserPayload(data);
|
|
16598
16627
|
if (client.cache) {
|
|
16599
16628
|
ingestInCache(payload);
|
|
16600
16629
|
}
|
|
16601
16630
|
fireEvent('user.flagged', data);
|
|
16602
|
-
return
|
|
16631
|
+
return (_a = payload.users.find(user => user.userId === userId)) !== null && _a !== void 0 ? _a : payload.users[0];
|
|
16603
16632
|
};
|
|
16604
16633
|
/* end_public_function */
|
|
16605
16634
|
|
|
@@ -20145,15 +20174,7 @@ const createPostReport = async ({ client, referenceId, }) => {
|
|
|
20145
20174
|
fireEvent(`post.flagged`, payload);
|
|
20146
20175
|
return !!payload;
|
|
20147
20176
|
};
|
|
20148
|
-
const createUserReport = async ({
|
|
20149
|
-
const { data: payload } = await client.http.post(`/api/v4/me/flags/${encodeURIComponent(referenceId)}`);
|
|
20150
|
-
if (client.cache) {
|
|
20151
|
-
const userPayload = await prepareUserPayload(payload);
|
|
20152
|
-
ingestInCache(userPayload);
|
|
20153
|
-
}
|
|
20154
|
-
fireEvent(`user.flagged`, payload);
|
|
20155
|
-
return !!payload;
|
|
20156
|
-
};
|
|
20177
|
+
const createUserReport = async ({ referenceId, options, }) => !!(await flagUser(referenceId, options));
|
|
20157
20178
|
const createCommentReport = async ({ client, referenceId, }) => {
|
|
20158
20179
|
const { data: payload } = await client.http.post(`/api/v3/comments/${encodeURIComponent(referenceId)}/flag`);
|
|
20159
20180
|
if (client.cache) {
|
|
@@ -20167,20 +20188,26 @@ const createCommentReport = async ({ client, referenceId, }) => {
|
|
|
20167
20188
|
* ```js
|
|
20168
20189
|
* import { createReport } from '@amityco/ts-sdk'
|
|
20169
20190
|
* const flagged = await createReport('post', postId)
|
|
20191
|
+
* const flaggedUser = await createReport('user', userId, {
|
|
20192
|
+
* reportType: 'behavior',
|
|
20193
|
+
* reason: 'Harassment or bullying',
|
|
20194
|
+
* })
|
|
20170
20195
|
* ```
|
|
20171
20196
|
*
|
|
20172
20197
|
* @param referenceType The type of thing to add a report to, such as a post or a comment.
|
|
20173
20198
|
* @param referenceId The ID of the thing to add a new report to.
|
|
20199
|
+
* @param options Optional report metadata. Only honored when `referenceType === 'user'`.
|
|
20200
|
+
* See `UserRepository.flagUser` for the accepted shape and validation rules.
|
|
20174
20201
|
* @returns the created report result
|
|
20175
20202
|
*
|
|
20176
20203
|
* @category Report API
|
|
20177
20204
|
* @async
|
|
20178
20205
|
* */
|
|
20179
|
-
const createReport = async (referenceType, referenceId) => {
|
|
20206
|
+
const createReport = async (referenceType, referenceId, options) => {
|
|
20180
20207
|
const client = getActiveClient();
|
|
20181
|
-
client.log('report/createReport', { referenceType, referenceId });
|
|
20208
|
+
client.log('report/createReport', { referenceType, referenceId, options });
|
|
20182
20209
|
if (referenceType === 'user') {
|
|
20183
|
-
return createUserReport({
|
|
20210
|
+
return createUserReport({ referenceId, options });
|
|
20184
20211
|
}
|
|
20185
20212
|
if (referenceType === 'message') {
|
|
20186
20213
|
return createMessageReport({ client, referenceId });
|
package/dist/index.esm.js
CHANGED
|
@@ -33,6 +33,13 @@ var SearchUsersByEnum;
|
|
|
33
33
|
SearchUsersByEnum["PROFILE_HANDLE"] = "profileHandle";
|
|
34
34
|
SearchUsersByEnum["USER_ID"] = "userId";
|
|
35
35
|
})(SearchUsersByEnum || (SearchUsersByEnum = {}));
|
|
36
|
+
var UserReportTypeEnum;
|
|
37
|
+
(function (UserReportTypeEnum) {
|
|
38
|
+
UserReportTypeEnum["DISPLAY_NAME"] = "displayName";
|
|
39
|
+
UserReportTypeEnum["DESCRIPTION"] = "description";
|
|
40
|
+
UserReportTypeEnum["AVATAR"] = "avatarFileId";
|
|
41
|
+
UserReportTypeEnum["BEHAVIOR"] = "behavior";
|
|
42
|
+
})(UserReportTypeEnum || (UserReportTypeEnum = {}));
|
|
36
43
|
|
|
37
44
|
const FileType = Object.freeze({
|
|
38
45
|
FILE: 'file',
|
|
@@ -31104,7 +31111,7 @@ const getWatchSessionStorage = () => {
|
|
|
31104
31111
|
return storageInstance;
|
|
31105
31112
|
};
|
|
31106
31113
|
|
|
31107
|
-
const privateKey = "
|
|
31114
|
+
const privateKey = "MIIEpQIBAAKCAQEAwAEc/oZgYIvKSUG/C3mONYLR4ZPgAjMEX4bJ+xqqakUDRtqlNO+eZs2blQ1Ko0DBkqPExyQezvjibH5W2UZBV5RaBTlTcNVKTToMBEGesAfaEcM3qUyQHxdbFYZv6P4sb14dcwxTQ8usmaV8ooiR1Fcaso5ZWYcZ8Hb46FbQ7OoVumsBtPWwfZ4f003o5VCl6AIM6lcLv9UDLlFVYhE+PeXpRHtfWlGqxMvqC9oinlwhL6nWv6VjQXW4nhcib72dPBzfHT7k/PMKto2SxALYdb68ENiAGuJLWi3AUHSyYCJK2w7wIlWfJUAI0v26ub10IpExr6D5QuW2577jjP93iwIDAQABAoIBAFWfqXhwIIatkFY+9Z1+ZcbDQimgsmMIsUiQaX6Lk7e0cxOj6czDlxYtVtaPiNtow2pLkjNkjkCqiP7tEHnwdK9DvylZOTa2R15NJpK3WLcTqVIGhsn/FL5owfvFah6zSsmXZParZm5zY9NZE03ALZhOB9/cz0e3kf/EbpfeL2mW7MApyiUt5i09ycchroOpcWp73ipIxvgigtZyUGFmsQicWhUs28F0D7w4Qfk76yG3nqXeb+BAMhCaIaa/k/aAxhiZG/ygEQWQrcC8gfe+jyicMAQPDEVS9YuUMGsLjIjKuVLZzp2xirQnhc2i2zVNEIvG6soprPOBEMQugzrtX5ECgYEA3b7KAbBIbDl1e4ZSCWhHdHkiWVZHaopsR/LhqDDNhXjWjq3AesgV6k0j9EdziMn/HmmOso0bz99GTV3JZf4A9ztTLumJlkHbdVtlgOqSjrFLj12rH9KXTheyIhWSpUmm8+WB1xasFbqpvJaGo7F3pd2Fqj1XR4mp5BO7c/t7LJ0CgYEA3aouEzXQ9THRKYocdfY69EI1Il1t/d/RSqqd9BxEjxBgxkM13ZiYIn/R4WW/nCUrlmhxG44Aa2Gob4Ahfsui2xKTg/g/3Zk/rAxAEGkfOLGoenaJMD41fH4wUq3FRYwkvnaMb9Hd6f/TlBHslIRa2NN58bSBGJCyBP2b59+2+EcCgYEAixDVRXvV37GlYUOa/XVdosk5Zoe6oDGRuQm0xbNdoUBoZvDHDvme7ONWEiQha/8qtVsD+CyQ7awcPfb8kK9c0bBt+bTS6d4BkTcxkEkMgtrkBVR8Nqfu5jXsLH4VCv4G61zbMhZw8+ut+az5YX2yCN7Frj9sFlxapMRPQmzMEe0CgYEAumsAzM8ZqNv4mAK65Mnr0rhLj1cbxcKRdUYACOgtEFQpzxN/HZnTeFAe5nx3pI3uFlRHq3DFEYnT6dHMWaJQmAULYpVIwMi9L6gtyJ9fzoI6uqMtxRDMUqKdaSsTGOY/kJ6KhQ/unXi1K3XXjR+yd1+C0q+HUm1+CYxvrZYLfskCgYEArsEy+IQOiqniJ0NE2vVUF+UK/IRZaic9YKcpov5Ot7Vvzm/MnnW4N1ljVskocETBWMmPUvNSExVjPebi+rxd8fa5kY8BJScPTzMFbunZn/wjtGdcM10qdlVQ9doG61A/9P3ezFKCfS4AvF/H/59LcSx2Bh28fp3/efiVIOpVd4Y=";
|
|
31108
31115
|
/*
|
|
31109
31116
|
* The crypto algorithm used for importing key and signing string
|
|
31110
31117
|
*/
|
|
@@ -32667,6 +32674,18 @@ const updateUser = async (userId, patch) => {
|
|
|
32667
32674
|
};
|
|
32668
32675
|
/* end_public_function */
|
|
32669
32676
|
|
|
32677
|
+
const buildFlagUserBody = (options) => {
|
|
32678
|
+
if (!options)
|
|
32679
|
+
return undefined;
|
|
32680
|
+
const body = {};
|
|
32681
|
+
if (options.reportType !== undefined)
|
|
32682
|
+
body.reportType = options.reportType;
|
|
32683
|
+
if (options.reason !== undefined)
|
|
32684
|
+
body.reason = options.reason;
|
|
32685
|
+
if (options.comment !== undefined)
|
|
32686
|
+
body.comment = options.comment;
|
|
32687
|
+
return Object.keys(body).length > 0 ? body : undefined;
|
|
32688
|
+
};
|
|
32670
32689
|
/* begin_public_function
|
|
32671
32690
|
id: user.flag
|
|
32672
32691
|
*/
|
|
@@ -32674,24 +32693,34 @@ const updateUser = async (userId, patch) => {
|
|
|
32674
32693
|
* ```js
|
|
32675
32694
|
* import { UserRepository } from '@amityco/ts-sdk'
|
|
32676
32695
|
* const flagged = await UserRepository.flagUser('userId')
|
|
32696
|
+
* const flaggedBehavior = await UserRepository.flagUser('userId', {
|
|
32697
|
+
* reportType: 'behavior',
|
|
32698
|
+
* reason: 'Harassment or bullying',
|
|
32699
|
+
* comment: 'optional free-text',
|
|
32700
|
+
* })
|
|
32677
32701
|
* ```
|
|
32678
32702
|
*
|
|
32679
|
-
* @param userId The ID of the user to
|
|
32680
|
-
* @
|
|
32703
|
+
* @param userId The ID of the user to be flagged
|
|
32704
|
+
* @param options Optional report metadata forwarded to the server as the request
|
|
32705
|
+
* body: `reportType`, `reason`, `comment`. Only non-null fields are included.
|
|
32706
|
+
* All validation is server-side; a bodyless call produces a typeless report.
|
|
32707
|
+
* @returns the flagged {@link Amity.User}
|
|
32681
32708
|
*
|
|
32682
32709
|
* @category User API
|
|
32683
32710
|
* @async
|
|
32684
32711
|
* */
|
|
32685
|
-
const flagUser = async (userId) => {
|
|
32712
|
+
const flagUser = async (userId, options) => {
|
|
32713
|
+
var _a;
|
|
32686
32714
|
const client = getActiveClient();
|
|
32687
|
-
client.log('user/flagUser', userId);
|
|
32688
|
-
const
|
|
32715
|
+
client.log('user/flagUser', { userId, options });
|
|
32716
|
+
const body = buildFlagUserBody(options);
|
|
32717
|
+
const { data } = await client.http.post(`/api/v4/me/flags/${encodeURIComponent(userId)}`, body);
|
|
32689
32718
|
const payload = prepareUserPayload(data);
|
|
32690
32719
|
if (client.cache) {
|
|
32691
32720
|
ingestInCache(payload);
|
|
32692
32721
|
}
|
|
32693
32722
|
fireEvent('user.flagged', data);
|
|
32694
|
-
return
|
|
32723
|
+
return (_a = payload.users.find(user => user.userId === userId)) !== null && _a !== void 0 ? _a : payload.users[0];
|
|
32695
32724
|
};
|
|
32696
32725
|
/* end_public_function */
|
|
32697
32726
|
|
|
@@ -36237,15 +36266,7 @@ const createPostReport = async ({ client, referenceId, }) => {
|
|
|
36237
36266
|
fireEvent(`post.flagged`, payload);
|
|
36238
36267
|
return !!payload;
|
|
36239
36268
|
};
|
|
36240
|
-
const createUserReport = async ({
|
|
36241
|
-
const { data: payload } = await client.http.post(`/api/v4/me/flags/${encodeURIComponent(referenceId)}`);
|
|
36242
|
-
if (client.cache) {
|
|
36243
|
-
const userPayload = await prepareUserPayload(payload);
|
|
36244
|
-
ingestInCache(userPayload);
|
|
36245
|
-
}
|
|
36246
|
-
fireEvent(`user.flagged`, payload);
|
|
36247
|
-
return !!payload;
|
|
36248
|
-
};
|
|
36269
|
+
const createUserReport = async ({ referenceId, options, }) => !!(await flagUser(referenceId, options));
|
|
36249
36270
|
const createCommentReport = async ({ client, referenceId, }) => {
|
|
36250
36271
|
const { data: payload } = await client.http.post(`/api/v3/comments/${encodeURIComponent(referenceId)}/flag`);
|
|
36251
36272
|
if (client.cache) {
|
|
@@ -36259,20 +36280,26 @@ const createCommentReport = async ({ client, referenceId, }) => {
|
|
|
36259
36280
|
* ```js
|
|
36260
36281
|
* import { createReport } from '@amityco/ts-sdk'
|
|
36261
36282
|
* const flagged = await createReport('post', postId)
|
|
36283
|
+
* const flaggedUser = await createReport('user', userId, {
|
|
36284
|
+
* reportType: 'behavior',
|
|
36285
|
+
* reason: 'Harassment or bullying',
|
|
36286
|
+
* })
|
|
36262
36287
|
* ```
|
|
36263
36288
|
*
|
|
36264
36289
|
* @param referenceType The type of thing to add a report to, such as a post or a comment.
|
|
36265
36290
|
* @param referenceId The ID of the thing to add a new report to.
|
|
36291
|
+
* @param options Optional report metadata. Only honored when `referenceType === 'user'`.
|
|
36292
|
+
* See `UserRepository.flagUser` for the accepted shape and validation rules.
|
|
36266
36293
|
* @returns the created report result
|
|
36267
36294
|
*
|
|
36268
36295
|
* @category Report API
|
|
36269
36296
|
* @async
|
|
36270
36297
|
* */
|
|
36271
|
-
const createReport = async (referenceType, referenceId) => {
|
|
36298
|
+
const createReport = async (referenceType, referenceId, options) => {
|
|
36272
36299
|
const client = getActiveClient();
|
|
36273
|
-
client.log('report/createReport', { referenceType, referenceId });
|
|
36300
|
+
client.log('report/createReport', { referenceType, referenceId, options });
|
|
36274
36301
|
if (referenceType === 'user') {
|
|
36275
|
-
return createUserReport({
|
|
36302
|
+
return createUserReport({ referenceId, options });
|
|
36276
36303
|
}
|
|
36277
36304
|
if (referenceType === 'message') {
|
|
36278
36305
|
return createMessageReport({ client, referenceId });
|
|
@@ -53998,4 +54025,4 @@ class AmityAttachmentProductTags {
|
|
|
53998
54025
|
}
|
|
53999
54026
|
}
|
|
54000
54027
|
|
|
54001
|
-
export { API_REGIONS, index$5 as AdRepository, AmityAttachmentProductTags, AmityAutoSubscription, AmityChannelNotificationModeEnum, AmityCommunityType, AmityEventOrderOption, AmityEventOriginType, AmityEventResponseStatus, AmityEventSortOption, AmityEventStatus, AmityEventType, AmitySharableContentType, AnalyticsSourceTypeEnum, index$f as CategoryRepository, index$j as ChannelRepository, index$s as Client, index$e as CommentRepository, CommunityNotificationEventNameEnum, CommunityPostSettingMaps, CommunityPostSettings, index$g as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, index$1 as EventRepository, FeedDataTypeEnum, index$d as FeedRepository, FeedSortByEnum, FeedSourceEnum, FeedTypeEnum, FileAccessTypeEnum, index$p as FileRepository, FileType, GET_WATCHER_URLS, index$3 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTargetTypeEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index$2 as LiveReactionRepository, index$7 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$n as MessageRepository, NotificationRolesFilterTypeEnum, NotificationSettingsLevelEnum, index$8 as PollRepository, PostContentType, index$b as PostRepository, PostStructureType, index as ProductRepository, index$o as ReactionRepository, index$9 as RoomPresenceRepository, index$c as RoomRepository, SearchUsersByEnum, index$6 as StoryRepository, index$a as StreamRepository, index$m as SubChannelRepository, SubscriptionLevels, UserNotificationModuleNameEnum, index$q as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, exceedsUntilAtBoundary, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, filterByUntilAt, filterCommentsByBlockUsers, filterPostsByBlockUsers, getBlockUsersId, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkId, getNetworkTopic, getPostTopic, getRole, getRoomStreamerTopic, getRoomWatcherTopic, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$4 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, validateUntilAt, wipeCache };
|
|
54028
|
+
export { API_REGIONS, index$5 as AdRepository, AmityAttachmentProductTags, AmityAutoSubscription, AmityChannelNotificationModeEnum, AmityCommunityType, AmityEventOrderOption, AmityEventOriginType, AmityEventResponseStatus, AmityEventSortOption, AmityEventStatus, AmityEventType, AmitySharableContentType, AnalyticsSourceTypeEnum, index$f as CategoryRepository, index$j as ChannelRepository, index$s as Client, index$e as CommentRepository, CommunityNotificationEventNameEnum, CommunityPostSettingMaps, CommunityPostSettings, index$g as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, index$1 as EventRepository, FeedDataTypeEnum, index$d as FeedRepository, FeedSortByEnum, FeedSourceEnum, FeedTypeEnum, FileAccessTypeEnum, index$p as FileRepository, FileType, GET_WATCHER_URLS, index$3 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTargetTypeEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index$2 as LiveReactionRepository, index$7 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$n as MessageRepository, NotificationRolesFilterTypeEnum, NotificationSettingsLevelEnum, index$8 as PollRepository, PostContentType, index$b as PostRepository, PostStructureType, index as ProductRepository, index$o as ReactionRepository, index$9 as RoomPresenceRepository, index$c as RoomRepository, SearchUsersByEnum, index$6 as StoryRepository, index$a as StreamRepository, index$m as SubChannelRepository, SubscriptionLevels, UserNotificationModuleNameEnum, UserReportTypeEnum, index$q as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, exceedsUntilAtBoundary, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, filterByUntilAt, filterCommentsByBlockUsers, filterPostsByBlockUsers, getBlockUsersId, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkId, getNetworkTopic, getPostTopic, getRole, getRoomStreamerTopic, getRoomWatcherTopic, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$4 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, validateUntilAt, wipeCache };
|