@sublay/js 7.9.2 → 8.0.0-beta.1
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/index.d.mts +388 -255
- package/dist/index.d.ts +388 -255
- package/dist/index.js +84 -32
- package/dist/index.mjs +84 -32
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -771,6 +771,19 @@ interface PaginatedResponse<T> {
|
|
|
771
771
|
data: T[];
|
|
772
772
|
pagination: PaginationMetadata;
|
|
773
773
|
}
|
|
774
|
+
/**
|
|
775
|
+
* Cursor pagination (comment lists). `nextCursor` continues after the last
|
|
776
|
+
* item of this page — pass it back as `cursor` — and is `null` when `hasMore`
|
|
777
|
+
* is `false`. `hasMore` is exact.
|
|
778
|
+
*/
|
|
779
|
+
interface CursorPagination {
|
|
780
|
+
nextCursor: string | null;
|
|
781
|
+
hasMore: boolean;
|
|
782
|
+
}
|
|
783
|
+
interface CursorPaginatedResponse<T> {
|
|
784
|
+
data: T[];
|
|
785
|
+
pagination: CursorPagination;
|
|
786
|
+
}
|
|
774
787
|
|
|
775
788
|
/**
|
|
776
789
|
* Shared optional params for text-searching a list of users
|
|
@@ -887,156 +900,22 @@ interface FetchConnectionsCountByUserIdProps {
|
|
|
887
900
|
}
|
|
888
901
|
declare function fetchConnectionsCountByUserId(client: SublayHttpClient, data: FetchConnectionsCountByUserIdProps): Promise<ConnectionCountResponse>;
|
|
889
902
|
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
userId: string;
|
|
893
|
-
}
|
|
894
|
-
declare function createFollow(client: SublayHttpClient, data: CreateFollowProps): Promise<Follow>;
|
|
895
|
-
|
|
896
|
-
interface DeleteFollowProps {
|
|
897
|
-
/** The user being unfollowed (the target). The follower is the token holder. */
|
|
898
|
-
userId: string;
|
|
899
|
-
}
|
|
900
|
-
declare function deleteFollow$1(client: SublayHttpClient, data: DeleteFollowProps): Promise<void>;
|
|
901
|
-
|
|
902
|
-
interface FetchFollowStatusProps {
|
|
903
|
-
/**
|
|
904
|
-
* The user whose follow relationship is being checked (the target). The
|
|
905
|
-
* status is from the perspective of the token holder.
|
|
906
|
-
*/
|
|
907
|
-
userId: string;
|
|
908
|
-
}
|
|
909
|
-
interface FollowStatusResponse {
|
|
910
|
-
isFollowing: boolean;
|
|
911
|
-
followId?: string;
|
|
912
|
-
followedAt?: string;
|
|
913
|
-
}
|
|
914
|
-
declare function fetchFollowStatus(client: SublayHttpClient, data: FetchFollowStatusProps): Promise<FollowStatusResponse>;
|
|
915
|
-
|
|
916
|
-
interface RequestConnectionProps {
|
|
917
|
-
/**
|
|
918
|
-
* The user the connection is requested with (the target). The requester is
|
|
919
|
-
* the token holder.
|
|
920
|
-
*/
|
|
921
|
-
userId: string;
|
|
922
|
-
message?: string;
|
|
923
|
-
}
|
|
924
|
-
declare function requestConnection(client: SublayHttpClient, data: RequestConnectionProps): Promise<ConnectionRequestResponse>;
|
|
925
|
-
|
|
926
|
-
interface FetchConnectionStatusProps {
|
|
927
|
-
/**
|
|
928
|
-
* The other user in the connection (the target). The status is from the
|
|
929
|
-
* perspective of the token holder.
|
|
930
|
-
*/
|
|
931
|
-
userId: string;
|
|
932
|
-
}
|
|
933
|
-
declare function fetchConnectionStatus(client: SublayHttpClient, data: FetchConnectionStatusProps): Promise<ConnectionStatusResponse>;
|
|
934
|
-
|
|
935
|
-
interface RemoveConnectionByUserIdProps {
|
|
936
|
-
/**
|
|
937
|
-
* The other user in the connection (the target). The token holder is the
|
|
938
|
-
* user withdrawing/declining/disconnecting.
|
|
939
|
-
*/
|
|
940
|
-
userId: string;
|
|
941
|
-
}
|
|
942
|
-
declare function removeConnectionByUserId(client: SublayHttpClient, data: RemoveConnectionByUserIdProps): Promise<RemoveConnectionByUserIdResponse>;
|
|
943
|
-
|
|
944
|
-
interface CreateBlockProps {
|
|
945
|
-
/** The user being blocked (the target). The blocker is the token holder. */
|
|
946
|
-
userId: string;
|
|
947
|
-
}
|
|
948
|
-
interface BlockResponse {
|
|
949
|
-
id: string;
|
|
950
|
-
blockerId: string;
|
|
951
|
-
blockedId: string;
|
|
952
|
-
createdAt: string;
|
|
953
|
-
}
|
|
954
|
-
/**
|
|
955
|
-
* POST /users/:userId/block — block `:userId`.
|
|
956
|
-
*
|
|
957
|
-
* The blocker is derived from the token (Rule A — no `actingUserId`). Idempotent:
|
|
958
|
-
* re-blocking an already-blocked user succeeds. Self-block is rejected server-side.
|
|
959
|
-
* On a new block the server tears down existing follows/connections both ways.
|
|
960
|
-
*/
|
|
961
|
-
declare function createBlock(client: SublayHttpClient, data: CreateBlockProps): Promise<BlockResponse>;
|
|
962
|
-
|
|
963
|
-
interface DeleteBlockProps {
|
|
964
|
-
/** The user being unblocked (the target). The blocker is the token holder. */
|
|
965
|
-
userId: string;
|
|
966
|
-
}
|
|
967
|
-
/**
|
|
968
|
-
* DELETE /users/:userId/block — unblock `:userId`.
|
|
969
|
-
*
|
|
970
|
-
* The blocker is derived from the token (Rule A — no `actingUserId`). Idempotent:
|
|
971
|
-
* unblocking a user who isn't blocked succeeds. Restores nothing (torn-down
|
|
972
|
-
* follows/connections are gone for good).
|
|
973
|
-
*/
|
|
974
|
-
declare function deleteBlock(client: SublayHttpClient, data: DeleteBlockProps): Promise<void>;
|
|
975
|
-
|
|
976
|
-
interface FetchBlockStatusProps {
|
|
977
|
-
/**
|
|
978
|
-
* The user whose block status is being checked (the target). The status is the
|
|
979
|
-
* token holder's OUTBOUND state only: do *I* block `:userId`?
|
|
980
|
-
*/
|
|
981
|
-
userId: string;
|
|
982
|
-
}
|
|
983
|
-
/**
|
|
984
|
-
* The block-status response is outbound-only by design: it reports whether the
|
|
985
|
-
* token holder blocks the target, and NEVER whether the target blocked the
|
|
986
|
-
* caller (the inbound direction is deliberately not disclosed).
|
|
987
|
-
*/
|
|
988
|
-
interface BlockStatusResponse {
|
|
989
|
-
blocked: boolean;
|
|
990
|
-
blockId?: string;
|
|
991
|
-
createdAt?: string;
|
|
992
|
-
}
|
|
903
|
+
/** Sorts that rank one way only: the server refuses `sortDir` with them. */
|
|
904
|
+
type OneWaySort = "hot" | "controversial";
|
|
993
905
|
/**
|
|
994
|
-
*
|
|
995
|
-
*
|
|
906
|
+
* A request's sort fields with `sortDir` ruled out for a one-way sort: with
|
|
907
|
+
* `sortBy: "hot"` or `"controversial"`, no `sortDir`; with any other sort (or
|
|
908
|
+
* none), `sortDir` as usual.
|
|
996
909
|
*/
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
blockedUser: User | null;
|
|
1007
|
-
createdAt: string;
|
|
1008
|
-
}
|
|
1009
|
-
/**
|
|
1010
|
-
* GET /blocks — the token holder's own block list (their outbound blocks),
|
|
1011
|
-
* paginated. This is the private "manage / way back to unblock" surface (Rule A
|
|
1012
|
-
* — the subject is derived from the token, no `actingUserId`).
|
|
1013
|
-
*/
|
|
1014
|
-
declare function fetchBlockedUsers(client: SublayHttpClient, data?: FetchBlockedUsersProps): Promise<PaginatedResponse<BlockedUserListItem>>;
|
|
1015
|
-
|
|
1016
|
-
declare const Users_checkUsernameAvailability: typeof checkUsernameAvailability;
|
|
1017
|
-
declare const Users_createBlock: typeof createBlock;
|
|
1018
|
-
declare const Users_createFollow: typeof createFollow;
|
|
1019
|
-
declare const Users_deleteBlock: typeof deleteBlock;
|
|
1020
|
-
declare const Users_fetchBlockStatus: typeof fetchBlockStatus;
|
|
1021
|
-
declare const Users_fetchBlockedUsers: typeof fetchBlockedUsers;
|
|
1022
|
-
declare const Users_fetchConnectionStatus: typeof fetchConnectionStatus;
|
|
1023
|
-
declare const Users_fetchConnectionsByUserId: typeof fetchConnectionsByUserId;
|
|
1024
|
-
declare const Users_fetchConnectionsCountByUserId: typeof fetchConnectionsCountByUserId;
|
|
1025
|
-
declare const Users_fetchFollowStatus: typeof fetchFollowStatus;
|
|
1026
|
-
declare const Users_fetchFollowersByUserId: typeof fetchFollowersByUserId;
|
|
1027
|
-
declare const Users_fetchFollowersCountByUserId: typeof fetchFollowersCountByUserId;
|
|
1028
|
-
declare const Users_fetchFollowingByUserId: typeof fetchFollowingByUserId;
|
|
1029
|
-
declare const Users_fetchFollowingCountByUserId: typeof fetchFollowingCountByUserId;
|
|
1030
|
-
declare const Users_fetchUserByForeignId: typeof fetchUserByForeignId;
|
|
1031
|
-
declare const Users_fetchUserById: typeof fetchUserById;
|
|
1032
|
-
declare const Users_fetchUserByUsername: typeof fetchUserByUsername;
|
|
1033
|
-
declare const Users_fetchUserSuggestions: typeof fetchUserSuggestions;
|
|
1034
|
-
declare const Users_removeConnectionByUserId: typeof removeConnectionByUserId;
|
|
1035
|
-
declare const Users_requestConnection: typeof requestConnection;
|
|
1036
|
-
declare const Users_updateUser: typeof updateUser;
|
|
1037
|
-
declare namespace Users {
|
|
1038
|
-
export { Users_checkUsernameAvailability as checkUsernameAvailability, Users_createBlock as createBlock, Users_createFollow as createFollow, Users_deleteBlock as deleteBlock, deleteFollow$1 as deleteFollow, Users_fetchBlockStatus as fetchBlockStatus, Users_fetchBlockedUsers as fetchBlockedUsers, Users_fetchConnectionStatus as fetchConnectionStatus, Users_fetchConnectionsByUserId as fetchConnectionsByUserId, Users_fetchConnectionsCountByUserId as fetchConnectionsCountByUserId, Users_fetchFollowStatus as fetchFollowStatus, Users_fetchFollowersByUserId as fetchFollowersByUserId, Users_fetchFollowersCountByUserId as fetchFollowersCountByUserId, Users_fetchFollowingByUserId as fetchFollowingByUserId, Users_fetchFollowingCountByUserId as fetchFollowingCountByUserId, Users_fetchUserByForeignId as fetchUserByForeignId, Users_fetchUserById as fetchUserById, Users_fetchUserByUsername as fetchUserByUsername, Users_fetchUserSuggestions as fetchUserSuggestions, Users_removeConnectionByUserId as removeConnectionByUserId, Users_requestConnection as requestConnection, Users_updateUser as updateUser };
|
|
1039
|
-
}
|
|
910
|
+
type WithOneWaySortDir<T extends {
|
|
911
|
+
sortBy?: unknown;
|
|
912
|
+
sortDir?: unknown;
|
|
913
|
+
}> = (Omit<T, "sortBy" | "sortDir"> & {
|
|
914
|
+
sortBy: Extract<NonNullable<T["sortBy"]>, OneWaySort>;
|
|
915
|
+
sortDir?: never;
|
|
916
|
+
}) | (Omit<T, "sortBy"> & {
|
|
917
|
+
sortBy?: Exclude<NonNullable<T["sortBy"]>, OneWaySort> | null;
|
|
918
|
+
});
|
|
1040
919
|
|
|
1041
920
|
/** The three grantable target kinds. Polymorphic — `targetId` carries no FK. */
|
|
1042
921
|
type ReputationGrantTargetType = "entity" | "comment" | "chat-message";
|
|
@@ -1288,13 +1167,6 @@ interface Reaction {
|
|
|
1288
1167
|
user?: User;
|
|
1289
1168
|
}
|
|
1290
1169
|
|
|
1291
|
-
interface TopComment {
|
|
1292
|
-
id: string;
|
|
1293
|
-
user: User;
|
|
1294
|
-
upvotesCount: number;
|
|
1295
|
-
content: string;
|
|
1296
|
-
createdAt: string;
|
|
1297
|
-
}
|
|
1298
1170
|
interface Entity {
|
|
1299
1171
|
id: string;
|
|
1300
1172
|
foreignId: string | null;
|
|
@@ -1315,7 +1187,7 @@ interface Entity {
|
|
|
1315
1187
|
downvotes: string[];
|
|
1316
1188
|
reactionCounts: ReactionCounts;
|
|
1317
1189
|
userReaction?: ReactionType | null;
|
|
1318
|
-
|
|
1190
|
+
commentsCount: number;
|
|
1319
1191
|
views: number;
|
|
1320
1192
|
score: number;
|
|
1321
1193
|
scoreUpdatedAt: string;
|
|
@@ -1326,7 +1198,7 @@ interface Entity {
|
|
|
1326
1198
|
metadata: Record<string, any>;
|
|
1327
1199
|
nsfw: boolean;
|
|
1328
1200
|
nsfwEffective: boolean;
|
|
1329
|
-
|
|
1201
|
+
topComments?: Comment[];
|
|
1330
1202
|
isSaved?: boolean;
|
|
1331
1203
|
/**
|
|
1332
1204
|
* Reputation-grant summary. Opt-in — present exactly when the read requested
|
|
@@ -1345,6 +1217,292 @@ interface Entity {
|
|
|
1345
1217
|
updatedAt: string;
|
|
1346
1218
|
deletedAt: string | null;
|
|
1347
1219
|
}
|
|
1220
|
+
/** `include` values the entity fetches (by id, short id, foreign id, and lists) accept. */
|
|
1221
|
+
type EntityInclude = "user" | "space" | "topComments" | "saved" | "files" | "grants";
|
|
1222
|
+
/** `include` values the collection-entities fetch accepts (no `saved`). */
|
|
1223
|
+
type CollectionEntityInclude = Exclude<EntityInclude, "saved">;
|
|
1224
|
+
type CollectionEntityIncludeArray = CollectionEntityInclude[];
|
|
1225
|
+
type CollectionEntityIncludeParam = CollectionEntityInclude | CollectionEntityIncludeArray;
|
|
1226
|
+
/** `include` values the drafts fetch accepts. */
|
|
1227
|
+
type DraftInclude = "user" | "space" | "files" | "grants";
|
|
1228
|
+
type DraftIncludeArray = DraftInclude[];
|
|
1229
|
+
type DraftIncludeParam = DraftInclude | DraftIncludeArray;
|
|
1230
|
+
/** Options for `include=topComments` (rejected without that include). */
|
|
1231
|
+
interface TopCommentsParams {
|
|
1232
|
+
/** How many top comments per entity (default 1, max 5). */
|
|
1233
|
+
topCommentsLimit?: number;
|
|
1234
|
+
/** Which reaction's raw count ranks them (default "upvote"). */
|
|
1235
|
+
topCommentsSortByReaction?: ReactionType;
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
interface GifData {
|
|
1239
|
+
id: string;
|
|
1240
|
+
url: string;
|
|
1241
|
+
gifUrl: string;
|
|
1242
|
+
gifPreviewUrl: string;
|
|
1243
|
+
altText: string;
|
|
1244
|
+
aspectRatio: string;
|
|
1245
|
+
}
|
|
1246
|
+
/**
|
|
1247
|
+
* The entity attached to a comment by `include=entity` / `include=space`: the
|
|
1248
|
+
* stored entity record only. The computed and associated fields an entity
|
|
1249
|
+
* fetch adds (`commentsCount`, `userReaction`, `nsfwEffective`, `user`,
|
|
1250
|
+
* `files`, `topComments`, `isSaved`, `grants`) are not included.
|
|
1251
|
+
*/
|
|
1252
|
+
type CommentEntity = Omit<Entity, "commentsCount" | "userReaction" | "nsfwEffective" | "user" | "files" | "topComments" | "isSaved" | "grants" | "space"> & {
|
|
1253
|
+
space?: Omit<Space, "avatarFile" | "bannerFile"> | null;
|
|
1254
|
+
};
|
|
1255
|
+
interface Comment {
|
|
1256
|
+
id: string;
|
|
1257
|
+
foreignId: string | null;
|
|
1258
|
+
entityId: string;
|
|
1259
|
+
spaceId: string | null;
|
|
1260
|
+
entity?: CommentEntity | null;
|
|
1261
|
+
userId: string | null;
|
|
1262
|
+
user?: User | null;
|
|
1263
|
+
parentId: string | null;
|
|
1264
|
+
parentComment?: Comment | null;
|
|
1265
|
+
referencedCommentId: string | null;
|
|
1266
|
+
content: string | null;
|
|
1267
|
+
gif: GifData | null;
|
|
1268
|
+
mentions: Mention[];
|
|
1269
|
+
attachments: Record<string, any>[];
|
|
1270
|
+
upvotes: string[];
|
|
1271
|
+
downvotes: string[];
|
|
1272
|
+
reactionCounts: ReactionCounts;
|
|
1273
|
+
userReaction?: ReactionType | null;
|
|
1274
|
+
repliesCount: number;
|
|
1275
|
+
/**
|
|
1276
|
+
* Reputation-grant summary. Opt-in — present exactly when the read requested
|
|
1277
|
+
* `include=grants`. Once requested the server always returns the object,
|
|
1278
|
+
* zero-filled rather than omitted, on projects with no grants and on projects
|
|
1279
|
+
* without the reputation bundle alike.
|
|
1280
|
+
*/
|
|
1281
|
+
grants?: GrantSummary;
|
|
1282
|
+
metadata: Record<string, any> | null;
|
|
1283
|
+
createdAt: string;
|
|
1284
|
+
updatedAt: string;
|
|
1285
|
+
deletedAt: string | null;
|
|
1286
|
+
parentDeletedAt: string | null;
|
|
1287
|
+
userDeletedAt: string | null;
|
|
1288
|
+
moderationStatus: "approved" | "removed" | null;
|
|
1289
|
+
moderatedAt: string | null;
|
|
1290
|
+
moderatedById: string | null;
|
|
1291
|
+
moderatedByType: "client" | "user" | null;
|
|
1292
|
+
moderationReason: string | null;
|
|
1293
|
+
/**
|
|
1294
|
+
* The viewer blocked this comment's author, and the comment is returned in
|
|
1295
|
+
* full. Present on thread, history, single-comment, `topComments` and
|
|
1296
|
+
* reaction responses.
|
|
1297
|
+
*/
|
|
1298
|
+
isAuthorBlocked?: boolean;
|
|
1299
|
+
/**
|
|
1300
|
+
* The comment exists but can't be shown to the viewer (a placeholder). The
|
|
1301
|
+
* server refuses replies and reactions on it.
|
|
1302
|
+
*/
|
|
1303
|
+
isUnavailable?: boolean;
|
|
1304
|
+
/**
|
|
1305
|
+
* Nested replies — present only on thread fetches with `replyDepth > 0`;
|
|
1306
|
+
* absent at the depth boundary ("not fetched").
|
|
1307
|
+
*/
|
|
1308
|
+
replies?: CursorPaginatedResponse<Comment>;
|
|
1309
|
+
}
|
|
1310
|
+
/** `include` values of a user's comment history and single-comment fetches. */
|
|
1311
|
+
type CommentInclude = "user" | "entity" | "space" | "parent" | "grants";
|
|
1312
|
+
type CommentIncludeArray = CommentInclude[];
|
|
1313
|
+
type CommentIncludeParam = CommentInclude | CommentIncludeArray;
|
|
1314
|
+
/** `include` values the thread endpoint (`GET /comments`) accepts. */
|
|
1315
|
+
type CommentThreadInclude = "user" | "grants";
|
|
1316
|
+
type CommentThreadIncludeArray = CommentThreadInclude[];
|
|
1317
|
+
type CommentThreadIncludeParam = CommentThreadInclude | CommentThreadIncludeArray;
|
|
1318
|
+
/** Comment sorts. Time order is `"createdAt"` with `sortDir`. */
|
|
1319
|
+
type CommentsSortBy = "createdAt" | "top" | "controversial";
|
|
1320
|
+
/** Sorts for the nested reply levels. */
|
|
1321
|
+
type CommentReplySortBy = "createdAt" | "top" | "controversial";
|
|
1322
|
+
|
|
1323
|
+
interface FetchCommentsByUserIdBaseProps extends SpaceReputationContextParams {
|
|
1324
|
+
userId: string;
|
|
1325
|
+
/** Only comments on this entity. */
|
|
1326
|
+
entityId?: string;
|
|
1327
|
+
/** Only comments on entities from this source. */
|
|
1328
|
+
sourceId?: string;
|
|
1329
|
+
/**
|
|
1330
|
+
* Comments by users block-edged with the viewer are hidden by default
|
|
1331
|
+
* ("exclude"). "include-outbound-blocked" re-includes ONLY the viewer's own
|
|
1332
|
+
* outbound-blocked authors; never inbound.
|
|
1333
|
+
*/
|
|
1334
|
+
blockedFilter?: "exclude" | "include-outbound-blocked";
|
|
1335
|
+
/** Server default "createdAt". */
|
|
1336
|
+
sortBy?: CommentsSortBy;
|
|
1337
|
+
/** Applies to every sort (server default "desc"). */
|
|
1338
|
+
sortDir?: "asc" | "desc";
|
|
1339
|
+
/** With `sortBy: "top"` only (server default "upvote"). */
|
|
1340
|
+
sortByReaction?: ReactionType;
|
|
1341
|
+
/** Server default 10, max 100. */
|
|
1342
|
+
limit?: number;
|
|
1343
|
+
/**
|
|
1344
|
+
* `pagination.nextCursor` from the previous response, passed as returned;
|
|
1345
|
+
* omit it (or pass `null`) for the first page.
|
|
1346
|
+
*/
|
|
1347
|
+
cursor?: string | null;
|
|
1348
|
+
include?: CommentIncludeParam;
|
|
1349
|
+
}
|
|
1350
|
+
/** `sortDir` is not accepted with `sortBy: "controversial"`. */
|
|
1351
|
+
type FetchCommentsByUserIdProps = WithOneWaySortDir<FetchCommentsByUserIdBaseProps>;
|
|
1352
|
+
/** A user's comment history (`GET /users/:userId/comments`): flat, any depth, cursor-paged. */
|
|
1353
|
+
declare function fetchCommentsByUserId(client: SublayHttpClient, data: FetchCommentsByUserIdProps): Promise<CursorPaginatedResponse<Comment>>;
|
|
1354
|
+
|
|
1355
|
+
interface CreateFollowProps {
|
|
1356
|
+
/** The user being followed (the target). The follower is the token holder. */
|
|
1357
|
+
userId: string;
|
|
1358
|
+
}
|
|
1359
|
+
declare function createFollow(client: SublayHttpClient, data: CreateFollowProps): Promise<Follow>;
|
|
1360
|
+
|
|
1361
|
+
interface DeleteFollowProps {
|
|
1362
|
+
/** The user being unfollowed (the target). The follower is the token holder. */
|
|
1363
|
+
userId: string;
|
|
1364
|
+
}
|
|
1365
|
+
declare function deleteFollow$1(client: SublayHttpClient, data: DeleteFollowProps): Promise<void>;
|
|
1366
|
+
|
|
1367
|
+
interface FetchFollowStatusProps {
|
|
1368
|
+
/**
|
|
1369
|
+
* The user whose follow relationship is being checked (the target). The
|
|
1370
|
+
* status is from the perspective of the token holder.
|
|
1371
|
+
*/
|
|
1372
|
+
userId: string;
|
|
1373
|
+
}
|
|
1374
|
+
interface FollowStatusResponse {
|
|
1375
|
+
isFollowing: boolean;
|
|
1376
|
+
followId?: string;
|
|
1377
|
+
followedAt?: string;
|
|
1378
|
+
}
|
|
1379
|
+
declare function fetchFollowStatus(client: SublayHttpClient, data: FetchFollowStatusProps): Promise<FollowStatusResponse>;
|
|
1380
|
+
|
|
1381
|
+
interface RequestConnectionProps {
|
|
1382
|
+
/**
|
|
1383
|
+
* The user the connection is requested with (the target). The requester is
|
|
1384
|
+
* the token holder.
|
|
1385
|
+
*/
|
|
1386
|
+
userId: string;
|
|
1387
|
+
message?: string;
|
|
1388
|
+
}
|
|
1389
|
+
declare function requestConnection(client: SublayHttpClient, data: RequestConnectionProps): Promise<ConnectionRequestResponse>;
|
|
1390
|
+
|
|
1391
|
+
interface FetchConnectionStatusProps {
|
|
1392
|
+
/**
|
|
1393
|
+
* The other user in the connection (the target). The status is from the
|
|
1394
|
+
* perspective of the token holder.
|
|
1395
|
+
*/
|
|
1396
|
+
userId: string;
|
|
1397
|
+
}
|
|
1398
|
+
declare function fetchConnectionStatus(client: SublayHttpClient, data: FetchConnectionStatusProps): Promise<ConnectionStatusResponse>;
|
|
1399
|
+
|
|
1400
|
+
interface RemoveConnectionByUserIdProps {
|
|
1401
|
+
/**
|
|
1402
|
+
* The other user in the connection (the target). The token holder is the
|
|
1403
|
+
* user withdrawing/declining/disconnecting.
|
|
1404
|
+
*/
|
|
1405
|
+
userId: string;
|
|
1406
|
+
}
|
|
1407
|
+
declare function removeConnectionByUserId(client: SublayHttpClient, data: RemoveConnectionByUserIdProps): Promise<RemoveConnectionByUserIdResponse>;
|
|
1408
|
+
|
|
1409
|
+
interface CreateBlockProps {
|
|
1410
|
+
/** The user being blocked (the target). The blocker is the token holder. */
|
|
1411
|
+
userId: string;
|
|
1412
|
+
}
|
|
1413
|
+
interface BlockResponse {
|
|
1414
|
+
id: string;
|
|
1415
|
+
blockerId: string;
|
|
1416
|
+
blockedId: string;
|
|
1417
|
+
createdAt: string;
|
|
1418
|
+
}
|
|
1419
|
+
/**
|
|
1420
|
+
* POST /users/:userId/block — block `:userId`.
|
|
1421
|
+
*
|
|
1422
|
+
* The blocker is derived from the token (Rule A — no `actingUserId`). Idempotent:
|
|
1423
|
+
* re-blocking an already-blocked user succeeds. Self-block is rejected server-side.
|
|
1424
|
+
* On a new block the server tears down existing follows/connections both ways.
|
|
1425
|
+
*/
|
|
1426
|
+
declare function createBlock(client: SublayHttpClient, data: CreateBlockProps): Promise<BlockResponse>;
|
|
1427
|
+
|
|
1428
|
+
interface DeleteBlockProps {
|
|
1429
|
+
/** The user being unblocked (the target). The blocker is the token holder. */
|
|
1430
|
+
userId: string;
|
|
1431
|
+
}
|
|
1432
|
+
/**
|
|
1433
|
+
* DELETE /users/:userId/block — unblock `:userId`.
|
|
1434
|
+
*
|
|
1435
|
+
* The blocker is derived from the token (Rule A — no `actingUserId`). Idempotent:
|
|
1436
|
+
* unblocking a user who isn't blocked succeeds. Restores nothing (torn-down
|
|
1437
|
+
* follows/connections are gone for good).
|
|
1438
|
+
*/
|
|
1439
|
+
declare function deleteBlock(client: SublayHttpClient, data: DeleteBlockProps): Promise<void>;
|
|
1440
|
+
|
|
1441
|
+
interface FetchBlockStatusProps {
|
|
1442
|
+
/**
|
|
1443
|
+
* The user whose block status is being checked (the target). The status is the
|
|
1444
|
+
* token holder's OUTBOUND state only: do *I* block `:userId`?
|
|
1445
|
+
*/
|
|
1446
|
+
userId: string;
|
|
1447
|
+
}
|
|
1448
|
+
/**
|
|
1449
|
+
* The block-status response is outbound-only by design: it reports whether the
|
|
1450
|
+
* token holder blocks the target, and NEVER whether the target blocked the
|
|
1451
|
+
* caller (the inbound direction is deliberately not disclosed).
|
|
1452
|
+
*/
|
|
1453
|
+
interface BlockStatusResponse {
|
|
1454
|
+
blocked: boolean;
|
|
1455
|
+
blockId?: string;
|
|
1456
|
+
createdAt?: string;
|
|
1457
|
+
}
|
|
1458
|
+
/**
|
|
1459
|
+
* GET /users/:userId/block — the token holder's outbound block status toward
|
|
1460
|
+
* `:userId` (Rule A — no `actingUserId`).
|
|
1461
|
+
*/
|
|
1462
|
+
declare function fetchBlockStatus(client: SublayHttpClient, data: FetchBlockStatusProps): Promise<BlockStatusResponse>;
|
|
1463
|
+
|
|
1464
|
+
interface FetchBlockedUsersProps {
|
|
1465
|
+
page?: number;
|
|
1466
|
+
limit?: number;
|
|
1467
|
+
}
|
|
1468
|
+
/** An entry in the token holder's own block list (their outbound blocks). */
|
|
1469
|
+
interface BlockedUserListItem {
|
|
1470
|
+
id: string;
|
|
1471
|
+
blockedUser: User | null;
|
|
1472
|
+
createdAt: string;
|
|
1473
|
+
}
|
|
1474
|
+
/**
|
|
1475
|
+
* GET /blocks — the token holder's own block list (their outbound blocks),
|
|
1476
|
+
* paginated. This is the private "manage / way back to unblock" surface (Rule A
|
|
1477
|
+
* — the subject is derived from the token, no `actingUserId`).
|
|
1478
|
+
*/
|
|
1479
|
+
declare function fetchBlockedUsers(client: SublayHttpClient, data?: FetchBlockedUsersProps): Promise<PaginatedResponse<BlockedUserListItem>>;
|
|
1480
|
+
|
|
1481
|
+
declare const Users_checkUsernameAvailability: typeof checkUsernameAvailability;
|
|
1482
|
+
declare const Users_createBlock: typeof createBlock;
|
|
1483
|
+
declare const Users_createFollow: typeof createFollow;
|
|
1484
|
+
declare const Users_deleteBlock: typeof deleteBlock;
|
|
1485
|
+
declare const Users_fetchBlockStatus: typeof fetchBlockStatus;
|
|
1486
|
+
declare const Users_fetchBlockedUsers: typeof fetchBlockedUsers;
|
|
1487
|
+
declare const Users_fetchCommentsByUserId: typeof fetchCommentsByUserId;
|
|
1488
|
+
declare const Users_fetchConnectionStatus: typeof fetchConnectionStatus;
|
|
1489
|
+
declare const Users_fetchConnectionsByUserId: typeof fetchConnectionsByUserId;
|
|
1490
|
+
declare const Users_fetchConnectionsCountByUserId: typeof fetchConnectionsCountByUserId;
|
|
1491
|
+
declare const Users_fetchFollowStatus: typeof fetchFollowStatus;
|
|
1492
|
+
declare const Users_fetchFollowersByUserId: typeof fetchFollowersByUserId;
|
|
1493
|
+
declare const Users_fetchFollowersCountByUserId: typeof fetchFollowersCountByUserId;
|
|
1494
|
+
declare const Users_fetchFollowingByUserId: typeof fetchFollowingByUserId;
|
|
1495
|
+
declare const Users_fetchFollowingCountByUserId: typeof fetchFollowingCountByUserId;
|
|
1496
|
+
declare const Users_fetchUserByForeignId: typeof fetchUserByForeignId;
|
|
1497
|
+
declare const Users_fetchUserById: typeof fetchUserById;
|
|
1498
|
+
declare const Users_fetchUserByUsername: typeof fetchUserByUsername;
|
|
1499
|
+
declare const Users_fetchUserSuggestions: typeof fetchUserSuggestions;
|
|
1500
|
+
declare const Users_removeConnectionByUserId: typeof removeConnectionByUserId;
|
|
1501
|
+
declare const Users_requestConnection: typeof requestConnection;
|
|
1502
|
+
declare const Users_updateUser: typeof updateUser;
|
|
1503
|
+
declare namespace Users {
|
|
1504
|
+
export { Users_checkUsernameAvailability as checkUsernameAvailability, Users_createBlock as createBlock, Users_createFollow as createFollow, Users_deleteBlock as deleteBlock, deleteFollow$1 as deleteFollow, Users_fetchBlockStatus as fetchBlockStatus, Users_fetchBlockedUsers as fetchBlockedUsers, Users_fetchCommentsByUserId as fetchCommentsByUserId, Users_fetchConnectionStatus as fetchConnectionStatus, Users_fetchConnectionsByUserId as fetchConnectionsByUserId, Users_fetchConnectionsCountByUserId as fetchConnectionsCountByUserId, Users_fetchFollowStatus as fetchFollowStatus, Users_fetchFollowersByUserId as fetchFollowersByUserId, Users_fetchFollowersCountByUserId as fetchFollowersCountByUserId, Users_fetchFollowingByUserId as fetchFollowingByUserId, Users_fetchFollowingCountByUserId as fetchFollowingCountByUserId, Users_fetchUserByForeignId as fetchUserByForeignId, Users_fetchUserById as fetchUserById, Users_fetchUserByUsername as fetchUserByUsername, Users_fetchUserSuggestions as fetchUserSuggestions, Users_removeConnectionByUserId as removeConnectionByUserId, Users_requestConnection as requestConnection, Users_updateUser as updateUser };
|
|
1505
|
+
}
|
|
1348
1506
|
|
|
1349
1507
|
interface CreateEntityProps {
|
|
1350
1508
|
foreignId?: string;
|
|
@@ -1367,20 +1525,20 @@ interface CreateEntityProps {
|
|
|
1367
1525
|
}
|
|
1368
1526
|
declare function createEntity(client: SublayHttpClient, data: CreateEntityProps): Promise<Entity>;
|
|
1369
1527
|
|
|
1370
|
-
interface FetchEntityProps extends SpaceReputationContextParams {
|
|
1528
|
+
interface FetchEntityProps extends SpaceReputationContextParams, TopCommentsParams {
|
|
1371
1529
|
entityId: string;
|
|
1372
1530
|
include?: string;
|
|
1373
1531
|
}
|
|
1374
1532
|
declare function fetchEntity(client: SublayHttpClient, data: FetchEntityProps): Promise<Entity>;
|
|
1375
1533
|
|
|
1376
|
-
interface FetchEntityByForeignIdProps {
|
|
1534
|
+
interface FetchEntityByForeignIdProps extends TopCommentsParams {
|
|
1377
1535
|
foreignId: string;
|
|
1378
1536
|
createIfNotFound?: boolean;
|
|
1379
1537
|
include?: string;
|
|
1380
1538
|
}
|
|
1381
1539
|
declare function fetchEntityByForeignId(client: SublayHttpClient, data: FetchEntityByForeignIdProps): Promise<Entity>;
|
|
1382
1540
|
|
|
1383
|
-
interface FetchEntityByShortIdProps {
|
|
1541
|
+
interface FetchEntityByShortIdProps extends TopCommentsParams {
|
|
1384
1542
|
shortId: string;
|
|
1385
1543
|
include?: string;
|
|
1386
1544
|
}
|
|
@@ -1416,16 +1574,13 @@ interface LocationFilters {
|
|
|
1416
1574
|
longitude: string;
|
|
1417
1575
|
radius: string;
|
|
1418
1576
|
}
|
|
1419
|
-
interface
|
|
1577
|
+
interface FetchManyEntitiesBaseProps extends SpaceReputationContextParams, TopCommentsParams {
|
|
1420
1578
|
sourceId?: string;
|
|
1421
1579
|
spaceId?: string;
|
|
1422
|
-
sortBy?: "createdAt" | "hot" | "top" | "controversial"
|
|
1423
|
-
/** @deprecated Use "createdAt" instead. "new" is a directional alias removed
|
|
1424
|
-
* in v8; the server still accepts it (identical behavior) but responds with
|
|
1425
|
-
* deprecation headers. */
|
|
1426
|
-
| "new" | (string & {});
|
|
1580
|
+
sortBy?: "createdAt" | "hot" | "top" | "controversial" | `metadata.${string}`;
|
|
1427
1581
|
sortDir?: "asc" | "desc";
|
|
1428
1582
|
sortType?: "auto" | "numeric" | "text" | "boolean" | "timestamp";
|
|
1583
|
+
/** Which reaction `top` ranks by (server default: "upvote"). Only valid with `sortBy: "top"` — the server rejects it otherwise. */
|
|
1429
1584
|
sortByReaction?: "upvote" | "downvote" | "like" | "love" | "wow" | "sad" | "angry" | "funny";
|
|
1430
1585
|
page?: number;
|
|
1431
1586
|
limit?: number;
|
|
@@ -1446,6 +1601,8 @@ interface FetchManyEntitiesProps extends SpaceReputationContextParams {
|
|
|
1446
1601
|
nsfwFilter?: "include-all" | "exclude" | "only";
|
|
1447
1602
|
blockedFilter?: "exclude" | "include-outbound-blocked";
|
|
1448
1603
|
}
|
|
1604
|
+
/** `sortDir` is not accepted with `sortBy: "hot"` or `"controversial"`. */
|
|
1605
|
+
type FetchManyEntitiesProps = WithOneWaySortDir<FetchManyEntitiesBaseProps>;
|
|
1449
1606
|
declare function fetchManyEntities(client: SublayHttpClient, data: FetchManyEntitiesProps): Promise<PaginatedResponse<Entity>>;
|
|
1450
1607
|
|
|
1451
1608
|
interface UpdateEntityProps {
|
|
@@ -1474,7 +1631,7 @@ interface FetchDraftsProps {
|
|
|
1474
1631
|
limit?: number;
|
|
1475
1632
|
sourceId?: string;
|
|
1476
1633
|
spaceId?: string;
|
|
1477
|
-
include?:
|
|
1634
|
+
include?: DraftIncludeParam;
|
|
1478
1635
|
}
|
|
1479
1636
|
declare function fetchDrafts(client: SublayHttpClient, data: FetchDraftsProps): Promise<PaginatedResponse<Entity>>;
|
|
1480
1637
|
|
|
@@ -1483,11 +1640,6 @@ interface PublishDraftProps {
|
|
|
1483
1640
|
}
|
|
1484
1641
|
declare function publishDraft(client: SublayHttpClient, data: PublishDraftProps): Promise<Entity>;
|
|
1485
1642
|
|
|
1486
|
-
interface FetchTopCommentProps {
|
|
1487
|
-
entityId: string;
|
|
1488
|
-
}
|
|
1489
|
-
declare function fetchTopComment(client: SublayHttpClient, data: FetchTopCommentProps): Promise<TopComment | null>;
|
|
1490
|
-
|
|
1491
1643
|
interface AddEntityReactionProps {
|
|
1492
1644
|
entityId: string;
|
|
1493
1645
|
reactionType: ReactionType;
|
|
@@ -1539,12 +1691,11 @@ declare const Entities_fetchEntity: typeof fetchEntity;
|
|
|
1539
1691
|
declare const Entities_fetchEntityByForeignId: typeof fetchEntityByForeignId;
|
|
1540
1692
|
declare const Entities_fetchEntityByShortId: typeof fetchEntityByShortId;
|
|
1541
1693
|
declare const Entities_fetchManyEntities: typeof fetchManyEntities;
|
|
1542
|
-
declare const Entities_fetchTopComment: typeof fetchTopComment;
|
|
1543
1694
|
declare const Entities_isEntitySaved: typeof isEntitySaved;
|
|
1544
1695
|
declare const Entities_publishDraft: typeof publishDraft;
|
|
1545
1696
|
declare const Entities_updateEntity: typeof updateEntity;
|
|
1546
1697
|
declare namespace Entities {
|
|
1547
|
-
export { addReaction$1 as addReaction, Entities_createEntity as createEntity, Entities_deleteEntity as deleteEntity, Entities_fetchDrafts as fetchDrafts, Entities_fetchEntity as fetchEntity, Entities_fetchEntityByForeignId as fetchEntityByForeignId, Entities_fetchEntityByShortId as fetchEntityByShortId, Entities_fetchManyEntities as fetchManyEntities, fetchReactions$1 as fetchReactions,
|
|
1698
|
+
export { addReaction$1 as addReaction, Entities_createEntity as createEntity, Entities_deleteEntity as deleteEntity, Entities_fetchDrafts as fetchDrafts, Entities_fetchEntity as fetchEntity, Entities_fetchEntityByForeignId as fetchEntityByForeignId, Entities_fetchEntityByShortId as fetchEntityByShortId, Entities_fetchManyEntities as fetchManyEntities, fetchReactions$1 as fetchReactions, getUserReaction$1 as getUserReaction, Entities_isEntitySaved as isEntitySaved, Entities_publishDraft as publishDraft, removeReaction$1 as removeReaction, Entities_updateEntity as updateEntity };
|
|
1548
1699
|
}
|
|
1549
1700
|
|
|
1550
1701
|
type EventType = "online" | "physical" | "hybrid";
|
|
@@ -1840,52 +1991,6 @@ declare namespace Events {
|
|
|
1840
1991
|
export { Events_addHost as addHost, Events_addInvite as addInvite, Events_cancelEvent as cancelEvent, Events_createEvent as createEvent, Events_deleteEvent as deleteEvent, Events_fetchEvent as fetchEvent, Events_fetchEventRsvps as fetchEventRsvps, Events_fetchInvitees as fetchInvitees, Events_fetchManyEvents as fetchManyEvents, Events_removeHost as removeHost, Events_removeInvite as removeInvite, Events_setRsvp as setRsvp, Events_updateEvent as updateEvent, Events_withdrawRsvp as withdrawRsvp };
|
|
1841
1992
|
}
|
|
1842
1993
|
|
|
1843
|
-
interface GifData {
|
|
1844
|
-
id: string;
|
|
1845
|
-
url: string;
|
|
1846
|
-
gifUrl: string;
|
|
1847
|
-
gifPreviewUrl: string;
|
|
1848
|
-
altText: string;
|
|
1849
|
-
aspectRatio: string;
|
|
1850
|
-
}
|
|
1851
|
-
interface Comment {
|
|
1852
|
-
id: string;
|
|
1853
|
-
projectId: string;
|
|
1854
|
-
foreignId: string | null;
|
|
1855
|
-
entityId: string;
|
|
1856
|
-
entity?: Entity;
|
|
1857
|
-
userId: string;
|
|
1858
|
-
user?: User;
|
|
1859
|
-
parentId: string | null;
|
|
1860
|
-
parentComment?: Comment;
|
|
1861
|
-
content: string | null;
|
|
1862
|
-
gif: GifData | null;
|
|
1863
|
-
mentions: Mention[];
|
|
1864
|
-
upvotes: string[];
|
|
1865
|
-
downvotes: string[];
|
|
1866
|
-
reactionCounts: ReactionCounts;
|
|
1867
|
-
userReaction?: ReactionType | null;
|
|
1868
|
-
repliesCount: number;
|
|
1869
|
-
/**
|
|
1870
|
-
* Reputation-grant summary. Opt-in — present exactly when the read requested
|
|
1871
|
-
* `include=grants`. Once requested the server always returns the object,
|
|
1872
|
-
* zero-filled rather than omitted, on projects with no grants and on projects
|
|
1873
|
-
* without the reputation bundle alike.
|
|
1874
|
-
*/
|
|
1875
|
-
grants?: GrantSummary;
|
|
1876
|
-
metadata: Record<string, any>;
|
|
1877
|
-
createdAt: string;
|
|
1878
|
-
updatedAt: string;
|
|
1879
|
-
deletedAt: string | null;
|
|
1880
|
-
parentDeletedAt: string | null;
|
|
1881
|
-
userDeletedAt: string | null;
|
|
1882
|
-
moderationStatus: "approved" | "removed" | null;
|
|
1883
|
-
moderatedAt: string | null;
|
|
1884
|
-
moderatedById: string | null;
|
|
1885
|
-
moderatedByType: "client" | "user" | null;
|
|
1886
|
-
moderationReason: string | null;
|
|
1887
|
-
}
|
|
1888
|
-
|
|
1889
1994
|
interface CreateCommentProps {
|
|
1890
1995
|
entityId: string;
|
|
1891
1996
|
foreignId?: string;
|
|
@@ -1925,28 +2030,45 @@ interface DeleteCommentProps {
|
|
|
1925
2030
|
}
|
|
1926
2031
|
declare function deleteComment(client: SublayHttpClient, data: DeleteCommentProps): Promise<void>;
|
|
1927
2032
|
|
|
1928
|
-
interface
|
|
1929
|
-
|
|
1930
|
-
userId?: string;
|
|
1931
|
-
parentId?: string;
|
|
1932
|
-
page?: number;
|
|
2033
|
+
interface FetchManyCommentsBaseProps extends SpaceReputationContextParams {
|
|
2034
|
+
/** How many comments at the level being fetched (server default 10, max 100). */
|
|
1933
2035
|
limit?: number;
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
*
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
/**
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
| "old";
|
|
1943
|
-
/** Sort direction for `sortBy: "createdAt"`. Defaults to "desc". */
|
|
2036
|
+
/**
|
|
2037
|
+
* `pagination.nextCursor` from the previous response, passed as returned;
|
|
2038
|
+
* omit it (or pass `null`) for the first page.
|
|
2039
|
+
*/
|
|
2040
|
+
cursor?: string | null;
|
|
2041
|
+
/** Sort for the level being fetched (server default "createdAt"). */
|
|
2042
|
+
sortBy?: CommentsSortBy;
|
|
2043
|
+
/** Applies to every sort (server default "desc"). */
|
|
1944
2044
|
sortDir?: "asc" | "desc";
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
2045
|
+
/** With `sortBy: "top"` only: rank by this reaction's raw count (server default "upvote"). */
|
|
2046
|
+
sortByReaction?: ReactionType;
|
|
2047
|
+
include?: CommentThreadIncludeParam;
|
|
2048
|
+
/** Levels of replies to nest under each returned comment (0–5, server default 0). */
|
|
2049
|
+
replyDepth?: number;
|
|
2050
|
+
/** Replies per comment in the nested levels only (≥ 1, server default 3). */
|
|
2051
|
+
replyLimit?: number;
|
|
2052
|
+
/** Sort for the nested levels; each defaults to the level's own. */
|
|
2053
|
+
replySortBy?: CommentReplySortBy;
|
|
2054
|
+
replySortDir?: "asc" | "desc";
|
|
2055
|
+
replySortByReaction?: ReactionType;
|
|
1948
2056
|
}
|
|
1949
|
-
|
|
2057
|
+
/**
|
|
2058
|
+
* A thread fetch (`GET /comments`): `entityId` → that entity's top-level
|
|
2059
|
+
* comments; `parentId` (alone — the parent decides the entity) → a comment's
|
|
2060
|
+
* direct replies. Exactly one of the two, and no `sortDir` with
|
|
2061
|
+
* `sortBy: "controversial"`. A user's comment history is
|
|
2062
|
+
* `users.fetchCommentsByUserId`.
|
|
2063
|
+
*/
|
|
2064
|
+
type FetchManyCommentsProps = WithOneWaySortDir<FetchManyCommentsBaseProps & {
|
|
2065
|
+
entityId: string;
|
|
2066
|
+
parentId?: null;
|
|
2067
|
+
}> | WithOneWaySortDir<FetchManyCommentsBaseProps & {
|
|
2068
|
+
parentId: string;
|
|
2069
|
+
entityId?: null;
|
|
2070
|
+
}>;
|
|
2071
|
+
declare function fetchManyComments(client: SublayHttpClient, data: FetchManyCommentsProps): Promise<CursorPaginatedResponse<Comment>>;
|
|
1950
2072
|
|
|
1951
2073
|
interface AddCommentReactionProps {
|
|
1952
2074
|
commentId: string;
|
|
@@ -2024,7 +2146,8 @@ declare function createSpace(client: SublayHttpClient, data: CreateSpaceProps):
|
|
|
2024
2146
|
interface FetchManySpacesProps {
|
|
2025
2147
|
page?: number;
|
|
2026
2148
|
limit?: number;
|
|
2027
|
-
sortBy?: "
|
|
2149
|
+
sortBy?: "createdAt" | "alphabetical" | "members";
|
|
2150
|
+
sortDir?: "asc" | "desc";
|
|
2028
2151
|
searchSlug?: string;
|
|
2029
2152
|
searchName?: string;
|
|
2030
2153
|
searchDescription?: string;
|
|
@@ -2054,7 +2177,8 @@ declare function fetchSpaceBySlug(client: SublayHttpClient, data: FetchSpaceBySl
|
|
|
2054
2177
|
interface FetchUserSpacesProps {
|
|
2055
2178
|
page?: number;
|
|
2056
2179
|
limit?: number;
|
|
2057
|
-
sortBy?: "
|
|
2180
|
+
sortBy?: "createdAt" | "alphabetical" | "members" | "joinedAt";
|
|
2181
|
+
sortDir?: "asc" | "desc";
|
|
2058
2182
|
include?: string;
|
|
2059
2183
|
role?: string;
|
|
2060
2184
|
all?: "true" | "false";
|
|
@@ -2113,7 +2237,8 @@ interface FetchChildSpacesProps {
|
|
|
2113
2237
|
spaceId: string;
|
|
2114
2238
|
page?: number;
|
|
2115
2239
|
limit?: number;
|
|
2116
|
-
sortBy?: "
|
|
2240
|
+
sortBy?: "createdAt" | "alphabetical" | "members";
|
|
2241
|
+
sortDir?: "asc" | "desc";
|
|
2117
2242
|
include?: string;
|
|
2118
2243
|
}
|
|
2119
2244
|
declare function fetchChildSpaces(client: SublayHttpClient, data: FetchChildSpacesProps): Promise<PaginatedResponse<Space>>;
|
|
@@ -2192,6 +2317,8 @@ declare function declineMembership(client: SublayHttpClient, data: DeclineMember
|
|
|
2192
2317
|
interface BanMemberProps {
|
|
2193
2318
|
spaceId: string;
|
|
2194
2319
|
memberId: string;
|
|
2320
|
+
/** Why the member is banned; kept in the space's ban log. */
|
|
2321
|
+
reason?: string;
|
|
2195
2322
|
}
|
|
2196
2323
|
interface BanMemberResponse {
|
|
2197
2324
|
message: string;
|
|
@@ -2283,9 +2410,9 @@ interface HandleEntityReportProps {
|
|
|
2283
2410
|
entityId: string;
|
|
2284
2411
|
actions: EntityReportAction[];
|
|
2285
2412
|
summary?: string;
|
|
2413
|
+
/** Why the user is banned, required when actions include "ban-user". The
|
|
2414
|
+
* banned user is always the author of the reported content. */
|
|
2286
2415
|
reason?: string;
|
|
2287
|
-
/** The user to ban (target), required when actions include "ban-user". */
|
|
2288
|
-
userId?: string;
|
|
2289
2416
|
}
|
|
2290
2417
|
interface HandleReportResponse {
|
|
2291
2418
|
message: string;
|
|
@@ -2300,9 +2427,9 @@ interface HandleCommentReportProps {
|
|
|
2300
2427
|
commentId: string;
|
|
2301
2428
|
actions: CommentReportAction[];
|
|
2302
2429
|
summary?: string;
|
|
2430
|
+
/** Why the user is banned, required when actions include "ban-user". The
|
|
2431
|
+
* banned user is always the author of the reported content. */
|
|
2303
2432
|
reason?: string;
|
|
2304
|
-
/** The user to ban (target), required when actions include "ban-user". */
|
|
2305
|
-
userId?: string;
|
|
2306
2433
|
}
|
|
2307
2434
|
declare function handleCommentReport(client: SublayHttpClient, data: HandleCommentReportProps): Promise<HandleReportResponse>;
|
|
2308
2435
|
|
|
@@ -2442,8 +2569,8 @@ interface HandleSpaceChatReportProps {
|
|
|
2442
2569
|
reportId: string;
|
|
2443
2570
|
actions: SpaceChatReportAction[];
|
|
2444
2571
|
summary?: string;
|
|
2445
|
-
/**
|
|
2446
|
-
|
|
2572
|
+
/** Why the user is banned, required when actions include "ban-user". The
|
|
2573
|
+
* banned user is always the author of the reported content. */
|
|
2447
2574
|
reason?: string;
|
|
2448
2575
|
/** The message to remove, required when actions include "remove-message". */
|
|
2449
2576
|
messageId?: string;
|
|
@@ -2519,15 +2646,19 @@ interface CreateNewCollectionProps {
|
|
|
2519
2646
|
}
|
|
2520
2647
|
declare function createNewCollection(client: SublayHttpClient, data: CreateNewCollectionProps): Promise<Collection>;
|
|
2521
2648
|
|
|
2522
|
-
interface
|
|
2649
|
+
interface FetchCollectionEntitiesBaseProps extends TopCommentsParams {
|
|
2523
2650
|
collectionId: string;
|
|
2524
2651
|
page?: number;
|
|
2525
2652
|
limit?: number;
|
|
2526
|
-
sortBy?: "
|
|
2653
|
+
sortBy?: "createdAt" | "addedAt" | "top" | "hot";
|
|
2654
|
+
/** Which reaction `top` ranks by (server default: "upvote"). Only valid with `sortBy: "top"` — the server rejects it otherwise. */
|
|
2655
|
+
sortByReaction?: "upvote" | "downvote" | "like" | "love" | "wow" | "sad" | "angry" | "funny";
|
|
2527
2656
|
sortDir?: "asc" | "desc";
|
|
2528
|
-
/**
|
|
2529
|
-
include?:
|
|
2657
|
+
/** Associations to populate (no "saved": every item in a collection is saved). */
|
|
2658
|
+
include?: CollectionEntityIncludeParam;
|
|
2530
2659
|
}
|
|
2660
|
+
/** `sortDir` is not accepted with `sortBy: "hot"`. */
|
|
2661
|
+
type FetchCollectionEntitiesProps = WithOneWaySortDir<FetchCollectionEntitiesBaseProps>;
|
|
2531
2662
|
declare function fetchCollectionEntities(client: SublayHttpClient, data: FetchCollectionEntitiesProps): Promise<PaginatedResponse<Entity>>;
|
|
2532
2663
|
|
|
2533
2664
|
interface AddEntityToCollectionProps {
|
|
@@ -2982,7 +3113,9 @@ interface FetchModeratedReportsProps extends SpaceReputationContextParams {
|
|
|
2982
3113
|
spaceId?: string;
|
|
2983
3114
|
targetType?: ReportTargetType;
|
|
2984
3115
|
status?: ReportStatus;
|
|
2985
|
-
|
|
3116
|
+
/** Time order: `createdAt` in `sortDir` (server default desc, newest first). */
|
|
3117
|
+
sortBy?: "createdAt";
|
|
3118
|
+
sortDir?: "asc" | "desc";
|
|
2986
3119
|
page?: number;
|
|
2987
3120
|
limit?: number;
|
|
2988
3121
|
}
|
|
@@ -3535,7 +3668,7 @@ interface ListMessagesProps extends SpaceReputationContextParams {
|
|
|
3535
3668
|
after?: string;
|
|
3536
3669
|
/** Page size (default 50, max 100). */
|
|
3537
3670
|
limit?: number;
|
|
3538
|
-
|
|
3671
|
+
sortDir?: "asc" | "desc";
|
|
3539
3672
|
/**
|
|
3540
3673
|
* Comma-separated associations to populate: `"files"` (message
|
|
3541
3674
|
* attachments) and `"grants"` (the reputation-grant summary). Combine
|
|
@@ -4395,4 +4528,4 @@ declare class SublayClient {
|
|
|
4395
4528
|
clearTokens(): void;
|
|
4396
4529
|
}
|
|
4397
4530
|
|
|
4398
|
-
export { type AuthTokens, type BulkDeleteProps, type BulkDeleteResult, type ClientConfig, type CreateGrantProps, type DbFilter, type DbFilterOperator, type DeleteResult, type GrantSummary, type ListGrantsProps, type ListGrantsResponse, MUTE_DURATIONS, type MuteConversationProps, type MuteConversationResponse, type MuteDuration, type MyWorkspaceInvitation, type NotificationPreferences, PUSH_EVENT_TYPES, type PaginatedResponse, type PaginationMetadata, type PushDeviceIdentifier, type PushEventType, type PushUnbindSkipReason, type RemoveWorkspaceMemberFromSubtreeResponse, type ReputationGrant, type ReputationGrantSourceType, type ReputationGrantTargetFilter, type ReputationGrantTargetType, type SignOutResult, type SkippedWorkspace, type SpaceReputationContextParams, type SpaceReputationUserParams, SublayClient, type TableAccessor, type TableQuery, type TableRow, type UpdateNotificationPreferencesProps, type UserSearchParams, type WebPushSubscription, type Workspace, type WorkspaceAuthority, type WorkspaceAuthorityReason, type WorkspaceAuthorityReasonDetail, type WorkspaceCapability, type WorkspaceInvitation, type WorkspaceInvitationInviter, type WorkspaceInvitationStatus, type WorkspaceMember, type WorkspaceMemberStanding, type WorkspaceRosterCountsResponse, type WorkspaceRosterEntry, type WorkspaceRosterReason, type WorkspaceRosterResponse, type WorkspaceStandingUser };
|
|
4531
|
+
export { type AuthTokens, type BulkDeleteProps, type BulkDeleteResult, type ClientConfig, type CollectionEntityInclude, type CollectionEntityIncludeArray, type CollectionEntityIncludeParam, type Comment, type CommentEntity, type CommentInclude, type CommentIncludeArray, type CommentIncludeParam, type CommentReplySortBy, type CommentThreadInclude, type CommentThreadIncludeArray, type CommentThreadIncludeParam, type CommentsSortBy, type CreateGrantProps, type CursorPaginatedResponse, type CursorPagination, type DbFilter, type DbFilterOperator, type DeleteResult, type DraftInclude, type DraftIncludeArray, type DraftIncludeParam, type Entity, type EntityInclude, type GifData, type GrantSummary, type ListGrantsProps, type ListGrantsResponse, MUTE_DURATIONS, type MuteConversationProps, type MuteConversationResponse, type MuteDuration, type MyWorkspaceInvitation, type NotificationPreferences, PUSH_EVENT_TYPES, type PaginatedResponse, type PaginationMetadata, type PushDeviceIdentifier, type PushEventType, type PushUnbindSkipReason, type RemoveWorkspaceMemberFromSubtreeResponse, type ReputationGrant, type ReputationGrantSourceType, type ReputationGrantTargetFilter, type ReputationGrantTargetType, type SignOutResult, type SkippedWorkspace, type SpaceReputationContextParams, type SpaceReputationUserParams, SublayClient, type TableAccessor, type TableQuery, type TableRow, type TopCommentsParams, type UpdateNotificationPreferencesProps, type UserSearchParams, type WebPushSubscription, type Workspace, type WorkspaceAuthority, type WorkspaceAuthorityReason, type WorkspaceAuthorityReasonDetail, type WorkspaceCapability, type WorkspaceInvitation, type WorkspaceInvitationInviter, type WorkspaceInvitationStatus, type WorkspaceMember, type WorkspaceMemberStanding, type WorkspaceRosterCountsResponse, type WorkspaceRosterEntry, type WorkspaceRosterReason, type WorkspaceRosterResponse, type WorkspaceStandingUser };
|