@openora/core 0.4.1-canary.72 → 0.4.1-canary.74
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/.tsbuildinfo +1 -1
- package/dist/admin-console/plugin.d.ts +1 -0
- package/dist/admin-console/plugin.d.ts.map +1 -1
- package/dist/analytics/plugin.d.ts +1 -0
- package/dist/analytics/plugin.d.ts.map +1 -1
- package/dist/audit/plugin.d.ts +1 -0
- package/dist/audit/plugin.d.ts.map +1 -1
- package/dist/audit/plugin.js +6 -0
- package/dist/audit/plugin.js.map +1 -1
- package/dist/casino/gaming/plugin.d.ts +1 -0
- package/dist/casino/gaming/plugin.d.ts.map +1 -1
- package/dist/casino/lobby/plugin.d.ts +1 -0
- package/dist/casino/lobby/plugin.d.ts.map +1 -1
- package/dist/cms/plugin.d.ts +1 -0
- package/dist/cms/plugin.d.ts.map +1 -1
- package/dist/compliance/plugin.d.ts +1 -0
- package/dist/compliance/plugin.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-user-directory.d.ts +2 -1
- package/dist/contracts/adapters/admin-user-directory.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-user-directory.js.map +1 -1
- package/dist/contracts/adapters/chat-moderation.d.ts +75 -0
- package/dist/contracts/adapters/chat-moderation.d.ts.map +1 -0
- package/dist/contracts/adapters/chat-moderation.js +3 -0
- package/dist/contracts/adapters/chat-moderation.js.map +1 -0
- package/dist/contracts/adapters/index.d.ts +2 -0
- package/dist/contracts/adapters/index.d.ts.map +1 -1
- package/dist/contracts/adapters/index.js +1 -0
- package/dist/contracts/adapters/index.js.map +1 -1
- package/dist/contracts/adapters/realtime.d.ts +9 -1
- package/dist/contracts/adapters/realtime.d.ts.map +1 -1
- package/dist/contracts/adapters/realtime.js.map +1 -1
- package/dist/contracts/schemas/events.d.ts +19 -4
- package/dist/contracts/schemas/events.d.ts.map +1 -1
- package/dist/contracts/schemas/events.js +12 -5
- package/dist/contracts/schemas/events.js.map +1 -1
- package/dist/engagement/chat/__tests__/chat.service.int.test.js +314 -19
- package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -1
- package/dist/engagement/chat/contract/constants.d.ts +1 -1
- package/dist/engagement/chat/contract/constants.d.ts.map +1 -1
- package/dist/engagement/chat/contract/constants.js +1 -1
- package/dist/engagement/chat/contract/constants.js.map +1 -1
- package/dist/engagement/chat/contract/index.d.ts +764 -18
- package/dist/engagement/chat/contract/index.d.ts.map +1 -1
- package/dist/engagement/chat/contract/index.js +236 -5
- package/dist/engagement/chat/contract/index.js.map +1 -1
- package/dist/engagement/chat/drizzle/migrations/0005_tranquil_gwen_stacy.sql +100 -0
- package/dist/engagement/chat/drizzle/migrations/0006_tiny_ultron.sql +3 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0005_snapshot.json +1422 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0006_snapshot.json +1456 -0
- package/dist/engagement/chat/drizzle/migrations/meta/_journal.json +14 -0
- package/dist/engagement/chat/plugin.d.ts +2 -1
- package/dist/engagement/chat/plugin.d.ts.map +1 -1
- package/dist/engagement/chat/plugin.js +25 -13
- package/dist/engagement/chat/plugin.js.map +1 -1
- package/dist/engagement/chat/router/index.d.ts +518 -18
- package/dist/engagement/chat/router/index.d.ts.map +1 -1
- package/dist/engagement/chat/router/index.js +140 -20
- package/dist/engagement/chat/router/index.js.map +1 -1
- package/dist/engagement/chat/schema/index.d.ts +1017 -16
- package/dist/engagement/chat/schema/index.d.ts.map +1 -1
- package/dist/engagement/chat/schema/index.js +110 -4
- package/dist/engagement/chat/schema/index.js.map +1 -1
- package/dist/engagement/chat/service/chat-ban.service.d.ts +26 -0
- package/dist/engagement/chat/service/chat-ban.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-ban.service.js +139 -0
- package/dist/engagement/chat/service/chat-ban.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-message-moderation.service.d.ts +14 -0
- package/dist/engagement/chat/service/chat-message-moderation.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-message-moderation.service.js +48 -0
- package/dist/engagement/chat/service/chat-message-moderation.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-moderation.service.d.ts +30 -0
- package/dist/engagement/chat/service/chat-moderation.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-moderation.service.js +40 -0
- package/dist/engagement/chat/service/chat-moderation.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-mute.service.d.ts +26 -0
- package/dist/engagement/chat/service/chat-mute.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-mute.service.js +143 -0
- package/dist/engagement/chat/service/chat-mute.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-room-ban.service.d.ts +29 -0
- package/dist/engagement/chat/service/chat-room-ban.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-room-ban.service.js +105 -0
- package/dist/engagement/chat/service/chat-room-ban.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-room-membership.service.d.ts +72 -0
- package/dist/engagement/chat/service/chat-room-membership.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-room-membership.service.js +176 -0
- package/dist/engagement/chat/service/chat-room-membership.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-room-mute.service.d.ts +25 -0
- package/dist/engagement/chat/service/chat-room-mute.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-room-mute.service.js +89 -0
- package/dist/engagement/chat/service/chat-room-mute.service.js.map +1 -0
- package/dist/engagement/chat/service/chat.service.d.ts +348 -61
- package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
- package/dist/engagement/chat/service/chat.service.js +460 -194
- package/dist/engagement/chat/service/chat.service.js.map +1 -1
- package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts +21 -0
- package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts.map +1 -0
- package/dist/engagement/chat/service/errors/chat-moderation.errors.js +31 -0
- package/dist/engagement/chat/service/errors/chat-moderation.errors.js.map +1 -0
- package/dist/engagement/chat-commands/contract/index.js +1 -1
- package/dist/engagement/chat-commands/contract/index.js.map +1 -1
- package/dist/engagement/chat-commands/drizzle/migrations/0001_sturdy_barracuda.sql +1 -0
- package/dist/engagement/chat-commands/drizzle/migrations/meta/0001_snapshot.json +83 -0
- package/dist/engagement/chat-commands/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/engagement/chat-commands/plugin.d.ts +1 -0
- package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
- package/dist/engagement/chat-commands/schema/index.d.ts +0 -199
- package/dist/engagement/chat-commands/schema/index.d.ts.map +1 -1
- package/dist/engagement/chat-commands/schema/index.js +1 -19
- package/dist/engagement/chat-commands/schema/index.js.map +1 -1
- package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js +15 -1
- package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js.map +1 -1
- package/dist/engagement/chat-commands/service/chat-commands.service.d.ts +1 -0
- package/dist/engagement/chat-commands/service/chat-commands.service.d.ts.map +1 -1
- package/dist/engagement/chat-commands/service/chat-commands.service.js +38 -3
- package/dist/engagement/chat-commands/service/chat-commands.service.js.map +1 -1
- package/dist/engagement/notifications/plugin.d.ts +1 -0
- package/dist/engagement/notifications/plugin.d.ts.map +1 -1
- package/dist/engagement/social/plugin.d.ts +1 -0
- package/dist/engagement/social/plugin.d.ts.map +1 -1
- package/dist/engagement/social-transfers/plugin.d.ts +1 -0
- package/dist/engagement/social-transfers/plugin.d.ts.map +1 -1
- package/dist/engagement/social-transfers/schema/index.d.ts +1 -2
- package/dist/engagement/social-transfers/schema/index.d.ts.map +1 -1
- package/dist/engagement/social-transfers/schema/index.js +1 -2
- package/dist/engagement/social-transfers/schema/index.js.map +1 -1
- package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js +10 -0
- package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js.map +1 -1
- package/dist/iam/plugin.d.ts +1 -0
- package/dist/iam/plugin.d.ts.map +1 -1
- package/dist/iam/seed/data/default-admin-roles.d.ts.map +1 -1
- package/dist/iam/seed/data/default-admin-roles.js +3 -0
- package/dist/iam/seed/data/default-admin-roles.js.map +1 -1
- package/dist/pam/identity/admin-user-directory.d.ts +10 -0
- package/dist/pam/identity/admin-user-directory.d.ts.map +1 -1
- package/dist/pam/identity/admin-user-directory.js +12 -2
- package/dist/pam/identity/admin-user-directory.js.map +1 -1
- package/dist/pam/identity/plugin.d.ts +1 -0
- package/dist/pam/identity/plugin.d.ts.map +1 -1
- package/dist/pam/player-management/plugin.d.ts +1 -0
- package/dist/pam/player-management/plugin.d.ts.map +1 -1
- package/dist/pam/player-note/plugin.d.ts +1 -0
- package/dist/pam/player-note/plugin.d.ts.map +1 -1
- package/dist/pam/profile/plugin.d.ts +1 -0
- package/dist/pam/profile/plugin.d.ts.map +1 -1
- package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.js +1 -1
- package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.js.map +1 -1
- package/dist/pam/tag/contract/index.d.ts +1 -0
- package/dist/pam/tag/contract/index.d.ts.map +1 -1
- package/dist/pam/tag/contract/index.js +1 -0
- package/dist/pam/tag/contract/index.js.map +1 -1
- package/dist/pam/tag/plugin.d.ts +1 -0
- package/dist/pam/tag/plugin.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-evaluation.service.js +1 -1
- package/dist/pam/tag/service/tag-evaluation.service.js.map +1 -1
- package/dist/pam/tag/service/tag-mappers.d.ts +0 -1
- package/dist/pam/tag/service/tag-mappers.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-mappers.js +0 -1
- package/dist/pam/tag/service/tag-mappers.js.map +1 -1
- package/dist/pam/tag/service/tag.service.d.ts +1 -1
- package/dist/pam/tag/service/tag.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag.service.js +2 -1
- package/dist/pam/tag/service/tag.service.js.map +1 -1
- package/dist/server/auth/permissions.d.ts +12 -12
- package/dist/server/auth/permissions.js +2 -2
- package/dist/server/auth/permissions.js.map +1 -1
- package/dist/server/kernel/__tests__/realtime-transport.test.js +7 -0
- package/dist/server/kernel/__tests__/realtime-transport.test.js.map +1 -1
- package/dist/server/kernel/orpc-error-map.d.ts.map +1 -1
- package/dist/server/kernel/orpc-error-map.js +4 -1
- package/dist/server/kernel/orpc-error-map.js.map +1 -1
- package/dist/server/kernel/realtime-transport.d.ts +3 -1
- package/dist/server/kernel/realtime-transport.d.ts.map +1 -1
- package/dist/server/kernel/realtime-transport.js +22 -4
- package/dist/server/kernel/realtime-transport.js.map +1 -1
- package/dist/server/runtime/core-token-catalog.d.ts +1 -0
- package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
- package/dist/server/runtime/core-token-catalog.js +2 -1
- package/dist/server/runtime/core-token-catalog.js.map +1 -1
- package/dist/testing/realtime-transport-conformance.d.ts.map +1 -1
- package/dist/testing/realtime-transport-conformance.js +4 -0
- package/dist/testing/realtime-transport-conformance.js.map +1 -1
- package/dist/wallet/plugin.d.ts +1 -0
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat/router/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat/router/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,UAAU,EAEV,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,WAAW,EAcZ,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AA6B3E,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,OAAO,GACR,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,yBAAyB,CAAC;IAC7C,cAAc,EAAE,kBAAkB,CAAC;IACnC,eAAe,EAAE,mBAAmB,CAAC;IACrC,iBAAiB,EAAE,cAAc,CAAC;IAClC,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqfA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
1
2
|
import { implement } from '@orpc/server';
|
|
2
3
|
import { populateContractRouterPaths } from '@orpc/contract';
|
|
3
4
|
import { mapErrors, createEventStreamGenerator, getUserId, assertRateLimit, } from '@openora/core/server';
|
|
4
5
|
import { makeRateLimitKey, RATE_LIMIT_KEYS, chatChannel, } from '@openora/core/contracts';
|
|
5
6
|
import { chatContract } from '../contract/index.js';
|
|
6
|
-
import {
|
|
7
|
+
import { ChatRoomOwnershipError, ChatRoomNotModeratorError, ChatRoomSelfModerationError, ChatRoomLastModeratorError, ChatRoomLimitReachedError, ChatMessageBlockedError, ChatSelfBlockError, ChatSelfIgnoreError, ChatRoomSlugConflictError, ChatRoomJoinCodeNotFoundError, ChatRoomBannedError, ChatRoomNotMemberError, ChatRoomRuleNotFoundError, } from '../service/chat.service.js';
|
|
8
|
+
import { ChatMessageNotFoundError, ChatPlayerMutedError, ChatPlayerBannedError, ChatAdminPrivateRoomModerationError, ChatRoomNotFoundError, } from '../service/chat-moderation.service.js';
|
|
7
9
|
const chat = populateContractRouterPaths({ chat: chatContract }).chat;
|
|
8
10
|
const JOIN_ROOM_RATE_LIMIT = {
|
|
9
11
|
limit: 5,
|
|
@@ -27,15 +29,19 @@ function resolveUsername(context, fallback = 'anonymous') {
|
|
|
27
29
|
function resolveViewerId(context) {
|
|
28
30
|
return context.auth?.userId;
|
|
29
31
|
}
|
|
30
|
-
export function createChatRouter({ chatService, authorizer, adminGuard, limiter, }) {
|
|
32
|
+
export function createChatRouter({ chatService, membershipService, roomBanService, roomMuteService, moderationService, authorizer, adminGuard, limiter, }) {
|
|
31
33
|
const os = implement(chat).$context();
|
|
32
34
|
return os.router({
|
|
33
35
|
listRooms: os.listRooms.handler(({ context }) => {
|
|
34
36
|
return chatService.listRooms(resolveViewerId(context));
|
|
35
37
|
}),
|
|
38
|
+
listModeratedRooms: os.listModeratedRooms.handler(({ input, context }) => chatService.listModeratedRooms({ ...input, viewerId: getUserId(context) })),
|
|
36
39
|
getRoomMessages: os.getRoomMessages.handler(({ input, context }) => {
|
|
37
40
|
const viewerId = resolveViewerId(context);
|
|
38
|
-
return mapErrors({
|
|
41
|
+
return mapErrors({
|
|
42
|
+
NOT_FOUND: ChatRoomNotFoundError,
|
|
43
|
+
FORBIDDEN: [ChatRoomNotMemberError, ChatPlayerMutedError, ChatPlayerBannedError],
|
|
44
|
+
}, () => chatService.getRoomMessages({
|
|
39
45
|
roomId: input.roomId,
|
|
40
46
|
limit: input.limit,
|
|
41
47
|
before: input.before,
|
|
@@ -48,7 +54,7 @@ export function createChatRouter({ chatService, authorizer, adminGuard, limiter,
|
|
|
48
54
|
await assertRateLimit(limiter, makeRateLimitKey(RATE_LIMIT_KEYS.CHAT_SEND, userId), SEND_MESSAGE_RATE_LIMIT);
|
|
49
55
|
return mapErrors({
|
|
50
56
|
NOT_FOUND: ChatRoomNotFoundError,
|
|
51
|
-
FORBIDDEN: ChatRoomNotMemberError,
|
|
57
|
+
FORBIDDEN: [ChatRoomNotMemberError, ChatPlayerMutedError, ChatPlayerBannedError],
|
|
52
58
|
BAD_REQUEST: ChatMessageBlockedError,
|
|
53
59
|
}, () => chatService.sendRoomMessage({
|
|
54
60
|
userId,
|
|
@@ -59,37 +65,85 @@ export function createChatRouter({ chatService, authorizer, adminGuard, limiter,
|
|
|
59
65
|
}),
|
|
60
66
|
deleteMessage: os.deleteMessage.handler(({ input, context }) => {
|
|
61
67
|
const userId = getUserId(context);
|
|
62
|
-
return mapErrors({
|
|
68
|
+
return mapErrors({
|
|
69
|
+
NOT_FOUND: [ChatMessageNotFoundError, ChatRoomNotFoundError],
|
|
70
|
+
FORBIDDEN: [ChatRoomNotMemberError, ChatRoomNotModeratorError],
|
|
71
|
+
}, () => chatService.deleteMessage(input.id, userId, context.clientMeta));
|
|
72
|
+
}),
|
|
73
|
+
adminListRoomMessages: os.adminListRoomMessages.handler(async ({ input, context }) => {
|
|
74
|
+
await adminGuard.assert(context, 'chat-moderation', 'view');
|
|
75
|
+
return mapErrors({ NOT_FOUND: ChatRoomNotFoundError }, () => chatService.listAdminRoomMessages(input));
|
|
63
76
|
}),
|
|
64
|
-
|
|
77
|
+
adminListMessages: os.adminListMessages.handler(async ({ input, context }) => {
|
|
78
|
+
await adminGuard.assert(context, 'chat-moderation', 'view');
|
|
79
|
+
return chatService.listAdminMessages(input);
|
|
80
|
+
}),
|
|
81
|
+
adminDeleteMessage: os.adminDeleteMessage.handler(async ({ input, context }) => {
|
|
82
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-moderation', 'moderate');
|
|
83
|
+
return mapErrors({ NOT_FOUND: ChatMessageNotFoundError }, () => moderationService.deleteMessage(input.id, userId, { ip, userAgent }, 'admin'));
|
|
84
|
+
}),
|
|
85
|
+
getGlobalMessages: os.getGlobalMessages.handler(({ context }) => mapErrors({ FORBIDDEN: ChatPlayerBannedError }, () => chatService.getGlobalMessages(undefined, resolveViewerId(context)))),
|
|
65
86
|
sendGlobalMessage: os.sendGlobalMessage.handler(async ({ input, context }) => {
|
|
66
87
|
const userId = getUserId(context);
|
|
67
88
|
const username = resolveUsername(context);
|
|
68
89
|
await assertRateLimit(limiter, makeRateLimitKey(RATE_LIMIT_KEYS.CHAT_SEND, userId), SEND_MESSAGE_RATE_LIMIT);
|
|
69
|
-
return mapErrors({
|
|
90
|
+
return mapErrors({
|
|
91
|
+
BAD_REQUEST: ChatMessageBlockedError,
|
|
92
|
+
FORBIDDEN: [ChatPlayerMutedError, ChatPlayerBannedError],
|
|
93
|
+
}, () => chatService.sendGlobalMessage(userId, username, input.content));
|
|
70
94
|
}),
|
|
71
95
|
// Grant includes all rooms the player has access to (public + private memberships)
|
|
72
96
|
// so Ably clients can subscribe to any accessible room without re-auth.
|
|
73
97
|
getConnection: os.getConnection.handler(async ({ input, context }) => {
|
|
74
|
-
const userId = getUserId(context);
|
|
75
98
|
context.resHeaders?.set('cache-control', 'no-store');
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
99
|
+
const viewerId = resolveViewerId(context);
|
|
100
|
+
if (!viewerId) {
|
|
101
|
+
const anonymousId = `anonymous:${randomUUID()}`;
|
|
102
|
+
return authorizer.issueGrant({
|
|
103
|
+
userId: anonymousId,
|
|
104
|
+
clientId: anonymousId,
|
|
105
|
+
channels: [chatChannel(null)],
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
const rooms = await chatService.listRooms(viewerId);
|
|
109
|
+
const globalRoom = rooms.find((room) => room.slug === '__global');
|
|
110
|
+
const channels = [
|
|
111
|
+
...(globalRoom && !globalRoom.isBanned ? [chatChannel(null)] : []),
|
|
112
|
+
...rooms
|
|
113
|
+
.filter((room) => room.slug !== '__global' && !room.isBanned)
|
|
114
|
+
.map((room) => chatChannel(room.id)),
|
|
115
|
+
];
|
|
116
|
+
return authorizer.issueGrant({
|
|
117
|
+
userId: viewerId,
|
|
118
|
+
clientId: input.clientId ?? viewerId,
|
|
119
|
+
channels,
|
|
120
|
+
});
|
|
79
121
|
}),
|
|
80
122
|
streamMessages: os.streamMessages.handler(async ({ input, signal, context }) => {
|
|
81
|
-
const roomId = input.roomId
|
|
123
|
+
const roomId = input.roomId === '__global' || input.roomId === undefined ? null : input.roomId;
|
|
82
124
|
// Private-room streams require membership; public-room and global streams are readable anonymously.
|
|
83
125
|
const viewerId = resolveViewerId(context);
|
|
84
126
|
if (roomId) {
|
|
85
|
-
await mapErrors({
|
|
127
|
+
await mapErrors({
|
|
128
|
+
NOT_FOUND: ChatRoomNotFoundError,
|
|
129
|
+
FORBIDDEN: [ChatRoomNotMemberError, ChatPlayerBannedError],
|
|
130
|
+
}, () => chatService.verifyRoomAccess(roomId, viewerId));
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
await mapErrors({ FORBIDDEN: ChatPlayerBannedError }, () => chatService.verifyGlobalAccess(viewerId));
|
|
86
134
|
}
|
|
87
135
|
return createEventStreamGenerator((push) => chatService.subscribeMessages(roomId, push, viewerId), { signal });
|
|
88
136
|
}),
|
|
89
137
|
getOnlineCount: os.getOnlineCount.handler(async ({ input, context }) => {
|
|
90
138
|
const roomId = input.roomId ?? null;
|
|
91
139
|
if (roomId) {
|
|
92
|
-
await mapErrors({
|
|
140
|
+
await mapErrors({
|
|
141
|
+
NOT_FOUND: ChatRoomNotFoundError,
|
|
142
|
+
FORBIDDEN: [ChatRoomNotMemberError, ChatPlayerBannedError],
|
|
143
|
+
}, () => chatService.verifyRoomAccess(roomId, resolveViewerId(context)));
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
await mapErrors({ FORBIDDEN: ChatPlayerBannedError }, () => chatService.verifyGlobalAccess(resolveViewerId(context)));
|
|
93
147
|
}
|
|
94
148
|
return chatService.getOnlineCount(roomId);
|
|
95
149
|
}),
|
|
@@ -120,39 +174,75 @@ export function createChatRouter({ chatService, authorizer, adminGuard, limiter,
|
|
|
120
174
|
joinRoom: os.joinRoom.handler(async ({ input, context }) => {
|
|
121
175
|
const userId = getUserId(context);
|
|
122
176
|
await assertRateLimit(limiter, makeRateLimitKey(RATE_LIMIT_KEYS.CHAT_ROOM_JOIN, userId), JOIN_ROOM_RATE_LIMIT);
|
|
123
|
-
return mapErrors({ NOT_FOUND: ChatRoomJoinCodeNotFoundError, FORBIDDEN: ChatRoomBannedError }, () =>
|
|
177
|
+
return mapErrors({ NOT_FOUND: ChatRoomJoinCodeNotFoundError, FORBIDDEN: ChatRoomBannedError }, () => membershipService.joinRoom({ userId, joinCode: input.joinCode, ...context.clientMeta }));
|
|
178
|
+
}),
|
|
179
|
+
joinPublicRoom: os.joinPublicRoom.handler(async ({ input, context }) => {
|
|
180
|
+
const userId = getUserId(context);
|
|
181
|
+
await assertRateLimit(limiter, makeRateLimitKey(RATE_LIMIT_KEYS.CHAT_ROOM_JOIN, userId), JOIN_ROOM_RATE_LIMIT);
|
|
182
|
+
return mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomBannedError }, () => membershipService.joinPublicRoom({ roomId: input.roomId, userId, ...context.clientMeta }));
|
|
183
|
+
}),
|
|
184
|
+
adminJoinRoom: os.adminJoinRoom.handler(async ({ input, context }) => {
|
|
185
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-room', 'view');
|
|
186
|
+
return mapErrors({ NOT_FOUND: ChatRoomNotFoundError }, () => membershipService.adminJoinRoom({ roomId: input.roomId, userId, ip, userAgent }));
|
|
124
187
|
}),
|
|
125
188
|
leaveRoom: os.leaveRoom.handler(({ input, context }) => {
|
|
126
189
|
const userId = getUserId(context);
|
|
127
|
-
return mapErrors({ BAD_REQUEST: ChatRoomLastModeratorError }, () =>
|
|
190
|
+
return mapErrors({ BAD_REQUEST: ChatRoomLastModeratorError }, () => membershipService.leaveRoom({ userId, roomId: input.roomId, ...context.clientMeta }));
|
|
128
191
|
}),
|
|
129
192
|
getRoom: os.getRoom.handler(({ input, context }) => mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.getRoom({ roomId: input.roomId, viewerId: resolveViewerId(context) }))),
|
|
130
|
-
|
|
193
|
+
getRoomRules: os.getRoomRules.handler(({ input, context }) => mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.listRoomRules(input.roomId, resolveViewerId(context)))),
|
|
194
|
+
updatePrivateRoom: os.updatePrivateRoom.handler(({ input, context }) => mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomOwnershipError }, () => chatService.updatePrivateRoom({
|
|
195
|
+
...input,
|
|
196
|
+
actorId: getUserId(context),
|
|
197
|
+
...context.clientMeta,
|
|
198
|
+
}))),
|
|
199
|
+
createRoomRule: os.createRoomRule.handler(({ input, context }) => mapErrors({
|
|
200
|
+
NOT_FOUND: ChatRoomNotFoundError,
|
|
201
|
+
FORBIDDEN: [ChatRoomNotMemberError, ChatRoomNotModeratorError],
|
|
202
|
+
}, () => chatService.createRoomRule({ ...input, actorId: getUserId(context) }))),
|
|
203
|
+
updateRoomRule: os.updateRoomRule.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError, BAD_REQUEST: ChatRoomRuleNotFoundError }, () => chatService.updateRoomRule({ ...input, actorId: getUserId(context) }))),
|
|
204
|
+
deleteRoomRule: os.deleteRoomRule.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError, BAD_REQUEST: ChatRoomRuleNotFoundError }, () => chatService.deleteRoomRule({ ...input, actorId: getUserId(context) }))),
|
|
205
|
+
getRoomConfiguration: os.getRoomConfiguration.handler(({ input, context }) => mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.getRoomConfiguration(input.roomId, resolveViewerId(context)))),
|
|
206
|
+
updateRoomConfiguration: os.updateRoomConfiguration.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => chatService.updateRoomConfiguration({ ...input, actorId: getUserId(context) }))),
|
|
207
|
+
listRoomUsers: os.listRoomUsers.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => chatService.listRoomUsers({ ...input, actorId: getUserId(context) }))),
|
|
208
|
+
listRoomBlockedUsers: os.listRoomBlockedUsers.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => chatService.listRoomBlockedUsers({ ...input, actorId: getUserId(context) }))),
|
|
209
|
+
removeMember: os.removeMember.handler(({ input, context }) => {
|
|
131
210
|
const moderatorId = getUserId(context);
|
|
132
211
|
return mapErrors({
|
|
133
212
|
NOT_FOUND: ChatRoomNotFoundError,
|
|
134
213
|
FORBIDDEN: ChatRoomNotModeratorError,
|
|
135
214
|
BAD_REQUEST: ChatRoomSelfModerationError,
|
|
136
|
-
}, () =>
|
|
215
|
+
}, () => membershipService.removeMember({
|
|
137
216
|
moderatorId,
|
|
138
217
|
roomId: input.roomId,
|
|
139
218
|
userId: input.userId,
|
|
140
219
|
...context.clientMeta,
|
|
141
220
|
}));
|
|
142
221
|
}),
|
|
143
|
-
|
|
222
|
+
banRoomMember: os.banRoomMember.handler(({ input, context }) => {
|
|
144
223
|
const moderatorId = getUserId(context);
|
|
145
224
|
return mapErrors({
|
|
146
225
|
NOT_FOUND: ChatRoomNotFoundError,
|
|
147
226
|
FORBIDDEN: ChatRoomNotModeratorError,
|
|
148
227
|
BAD_REQUEST: ChatRoomSelfModerationError,
|
|
149
|
-
}, () =>
|
|
228
|
+
}, () => roomBanService.banMember({
|
|
150
229
|
moderatorId,
|
|
151
230
|
roomId: input.roomId,
|
|
152
231
|
userId: input.userId,
|
|
232
|
+
durationSeconds: input.durationSeconds,
|
|
233
|
+
reason: input.reason,
|
|
153
234
|
...context.clientMeta,
|
|
154
235
|
}));
|
|
155
236
|
}),
|
|
237
|
+
unbanRoomMember: os.unbanRoomMember.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => roomBanService.unbanMember({ ...input, moderatorId: getUserId(context) }))),
|
|
238
|
+
muteRoomMember: os.muteRoomMember.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => roomMuteService.muteRoomMember({
|
|
239
|
+
roomId: input.roomId,
|
|
240
|
+
userId: input.userId,
|
|
241
|
+
moderatorId: getUserId(context),
|
|
242
|
+
durationSeconds: input.durationSeconds,
|
|
243
|
+
reason: input.reason,
|
|
244
|
+
}))),
|
|
245
|
+
unmuteRoomMember: os.unmuteRoomMember.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => roomMuteService.unmuteRoomMember({ ...input, moderatorId: getUserId(context) }))),
|
|
156
246
|
listRoomMembers: os.listRoomMembers.handler(({ input, context }) => mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.listRoomMembers({
|
|
157
247
|
roomId: input.roomId,
|
|
158
248
|
viewerId: getUserId(context),
|
|
@@ -181,6 +271,36 @@ export function createChatRouter({ chatService, authorizer, adminGuard, limiter,
|
|
|
181
271
|
await adminGuard.assert(context, 'chat-moderation', 'view');
|
|
182
272
|
return chatService.adminListIgnoredUsers(input);
|
|
183
273
|
}),
|
|
274
|
+
adminMute: os.adminMute.handler(async ({ input, context }) => {
|
|
275
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-moderation', 'moderate');
|
|
276
|
+
return mapErrors({
|
|
277
|
+
NOT_FOUND: ChatRoomNotFoundError,
|
|
278
|
+
BAD_REQUEST: ChatAdminPrivateRoomModerationError,
|
|
279
|
+
}, () => moderationService.mute({ ...input, actorId: userId, ip, userAgent }));
|
|
280
|
+
}),
|
|
281
|
+
adminUnmute: os.adminUnmute.handler(async ({ input, context }) => {
|
|
282
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-moderation', 'moderate');
|
|
283
|
+
return moderationService.unmute({ ...input, actorId: userId, ip, userAgent });
|
|
284
|
+
}),
|
|
285
|
+
adminListMutes: os.adminListMutes.handler(async ({ input, context }) => {
|
|
286
|
+
await adminGuard.assert(context, 'chat-moderation', 'view');
|
|
287
|
+
return moderationService.listMutes(input.userId);
|
|
288
|
+
}),
|
|
289
|
+
adminBan: os.adminBan.handler(async ({ input, context }) => {
|
|
290
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-moderation', 'moderate');
|
|
291
|
+
return mapErrors({
|
|
292
|
+
NOT_FOUND: ChatRoomNotFoundError,
|
|
293
|
+
BAD_REQUEST: ChatAdminPrivateRoomModerationError,
|
|
294
|
+
}, () => moderationService.ban({ ...input, actorId: userId, ip, userAgent }));
|
|
295
|
+
}),
|
|
296
|
+
adminUnban: os.adminUnban.handler(async ({ input, context }) => {
|
|
297
|
+
const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-moderation', 'moderate');
|
|
298
|
+
return moderationService.unban({ ...input, actorId: userId, ip, userAgent });
|
|
299
|
+
}),
|
|
300
|
+
adminListBans: os.adminListBans.handler(async ({ input, context }) => {
|
|
301
|
+
await adminGuard.assert(context, 'chat-moderation', 'view');
|
|
302
|
+
return moderationService.listBans(input.userId);
|
|
303
|
+
}),
|
|
184
304
|
});
|
|
185
305
|
}
|
|
186
306
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat/router/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat/router/index.ts"],"names":[],"mappings":"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"}
|