@openora/core 0.4.1-canary.59 → 0.4.1-canary.62

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.
Files changed (214) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +2 -0
  3. package/dist/admin-console/plugin.d.ts.map +1 -1
  4. package/dist/analytics/plugin.d.ts +2 -0
  5. package/dist/analytics/plugin.d.ts.map +1 -1
  6. package/dist/audit/plugin.d.ts +2 -0
  7. package/dist/audit/plugin.d.ts.map +1 -1
  8. package/dist/audit/plugin.js +13 -0
  9. package/dist/audit/plugin.js.map +1 -1
  10. package/dist/casino/gaming/plugin.d.ts +2 -0
  11. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  12. package/dist/casino/lobby/plugin.d.ts +2 -0
  13. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  14. package/dist/cms/plugin.d.ts +2 -0
  15. package/dist/cms/plugin.d.ts.map +1 -1
  16. package/dist/compliance/plugin.d.ts +2 -0
  17. package/dist/compliance/plugin.d.ts.map +1 -1
  18. package/dist/contracts/adapters/audit.d.ts +1 -1
  19. package/dist/contracts/adapters/audit.d.ts.map +1 -1
  20. package/dist/contracts/adapters/audit.js.map +1 -1
  21. package/dist/contracts/adapters/gift-commands.d.ts +54 -0
  22. package/dist/contracts/adapters/gift-commands.d.ts.map +1 -0
  23. package/dist/contracts/adapters/gift-commands.js +11 -0
  24. package/dist/contracts/adapters/gift-commands.js.map +1 -0
  25. package/dist/contracts/adapters/index.d.ts +4 -0
  26. package/dist/contracts/adapters/index.d.ts.map +1 -1
  27. package/dist/contracts/adapters/index.js +2 -0
  28. package/dist/contracts/adapters/index.js.map +1 -1
  29. package/dist/contracts/adapters/rain-commands.d.ts +23 -0
  30. package/dist/contracts/adapters/rain-commands.d.ts.map +1 -0
  31. package/dist/contracts/adapters/rain-commands.js +12 -0
  32. package/dist/contracts/adapters/rain-commands.js.map +1 -0
  33. package/dist/contracts/schemas/chat-command-metadata.d.ts +12 -0
  34. package/dist/contracts/schemas/chat-command-metadata.d.ts.map +1 -1
  35. package/dist/contracts/schemas/chat-command-metadata.js +10 -0
  36. package/dist/contracts/schemas/chat-command-metadata.js.map +1 -1
  37. package/dist/contracts/schemas/chat-command.d.ts +25 -0
  38. package/dist/contracts/schemas/chat-command.d.ts.map +1 -1
  39. package/dist/contracts/schemas/chat-command.js +13 -1
  40. package/dist/contracts/schemas/chat-command.js.map +1 -1
  41. package/dist/contracts/schemas/events.d.ts +15 -3
  42. package/dist/contracts/schemas/events.d.ts.map +1 -1
  43. package/dist/contracts/schemas/events.js +17 -6
  44. package/dist/contracts/schemas/events.js.map +1 -1
  45. package/dist/contracts/schemas/identity.d.ts +2 -1
  46. package/dist/contracts/schemas/identity.d.ts.map +1 -1
  47. package/dist/contracts/schemas/identity.js +5 -1
  48. package/dist/contracts/schemas/identity.js.map +1 -1
  49. package/dist/engagement/chat/__tests__/chat.service.int.test.js +211 -8
  50. package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -1
  51. package/dist/engagement/chat/contract/index.d.ts +154 -8
  52. package/dist/engagement/chat/contract/index.d.ts.map +1 -1
  53. package/dist/engagement/chat/contract/index.js +44 -2
  54. package/dist/engagement/chat/contract/index.js.map +1 -1
  55. package/dist/engagement/chat/drizzle/migrations/0004_panoramic_robin_chapel.sql +6 -0
  56. package/dist/engagement/chat/drizzle/migrations/meta/0004_snapshot.json +666 -0
  57. package/dist/engagement/chat/drizzle/migrations/meta/_journal.json +7 -0
  58. package/dist/engagement/chat/plugin.d.ts +2 -0
  59. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  60. package/dist/engagement/chat/router/index.d.ts +126 -8
  61. package/dist/engagement/chat/router/index.d.ts.map +1 -1
  62. package/dist/engagement/chat/router/index.js +10 -2
  63. package/dist/engagement/chat/router/index.js.map +1 -1
  64. package/dist/engagement/chat/schema/index.d.ts +50 -0
  65. package/dist/engagement/chat/schema/index.d.ts.map +1 -1
  66. package/dist/engagement/chat/schema/index.js +15 -3
  67. package/dist/engagement/chat/schema/index.js.map +1 -1
  68. package/dist/engagement/chat/service/chat.service.d.ts +95 -9
  69. package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
  70. package/dist/engagement/chat/service/chat.service.js +115 -24
  71. package/dist/engagement/chat/service/chat.service.js.map +1 -1
  72. package/dist/engagement/chat-commands/contract/index.d.ts +143 -71
  73. package/dist/engagement/chat-commands/contract/index.d.ts.map +1 -1
  74. package/dist/engagement/chat-commands/contract/index.js +48 -70
  75. package/dist/engagement/chat-commands/contract/index.js.map +1 -1
  76. package/dist/engagement/chat-commands/plugin.d.ts +3 -1
  77. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  78. package/dist/engagement/chat-commands/plugin.js +4 -4
  79. package/dist/engagement/chat-commands/plugin.js.map +1 -1
  80. package/dist/engagement/chat-commands/router/index.d.ts +149 -83
  81. package/dist/engagement/chat-commands/router/index.d.ts.map +1 -1
  82. package/dist/engagement/chat-commands/router/index.js +36 -26
  83. package/dist/engagement/chat-commands/router/index.js.map +1 -1
  84. package/dist/engagement/chat-commands/seed/index.d.ts.map +1 -1
  85. package/dist/engagement/chat-commands/seed/index.js +12 -0
  86. package/dist/engagement/chat-commands/seed/index.js.map +1 -1
  87. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js +197 -733
  88. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js.map +1 -1
  89. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts +43 -68
  90. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts.map +1 -1
  91. package/dist/engagement/chat-commands/service/chat-commands.service.js +138 -571
  92. package/dist/engagement/chat-commands/service/chat-commands.service.js.map +1 -1
  93. package/dist/engagement/contracts.d.ts +1 -0
  94. package/dist/engagement/contracts.d.ts.map +1 -1
  95. package/dist/engagement/contracts.js +1 -0
  96. package/dist/engagement/contracts.js.map +1 -1
  97. package/dist/engagement/index.d.ts +1 -0
  98. package/dist/engagement/index.d.ts.map +1 -1
  99. package/dist/engagement/index.js +1 -0
  100. package/dist/engagement/index.js.map +1 -1
  101. package/dist/engagement/notifications/plugin.d.ts +2 -0
  102. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  103. package/dist/engagement/server.d.ts +1 -0
  104. package/dist/engagement/server.d.ts.map +1 -1
  105. package/dist/engagement/server.js +1 -0
  106. package/dist/engagement/server.js.map +1 -1
  107. package/dist/engagement/social-transfers/contract/index.d.ts +67 -0
  108. package/dist/engagement/social-transfers/contract/index.d.ts.map +1 -0
  109. package/dist/engagement/social-transfers/contract/index.js +21 -0
  110. package/dist/engagement/social-transfers/contract/index.js.map +1 -0
  111. package/dist/engagement/social-transfers/drizzle/migrations/0000_clammy_rattler.sql +46 -0
  112. package/dist/engagement/social-transfers/drizzle/migrations/meta/0000_snapshot.json +287 -0
  113. package/dist/engagement/social-transfers/drizzle/migrations/meta/_journal.json +13 -0
  114. package/dist/engagement/social-transfers/drizzle.config.d.ts +4 -0
  115. package/dist/engagement/social-transfers/drizzle.config.d.ts.map +1 -0
  116. package/dist/engagement/social-transfers/drizzle.config.js +21 -0
  117. package/dist/engagement/social-transfers/drizzle.config.js.map +1 -0
  118. package/dist/engagement/social-transfers/index.d.ts +3 -0
  119. package/dist/engagement/social-transfers/index.d.ts.map +1 -0
  120. package/dist/engagement/social-transfers/index.js +6 -0
  121. package/dist/engagement/social-transfers/index.js.map +1 -0
  122. package/dist/engagement/social-transfers/migrate.d.ts +5 -0
  123. package/dist/engagement/social-transfers/migrate.d.ts.map +1 -0
  124. package/dist/engagement/social-transfers/migrate.js +17 -0
  125. package/dist/engagement/social-transfers/migrate.js.map +1 -0
  126. package/dist/engagement/social-transfers/plugin.d.ts +111 -0
  127. package/dist/engagement/social-transfers/plugin.d.ts.map +1 -0
  128. package/dist/engagement/social-transfers/plugin.js +24 -0
  129. package/dist/engagement/social-transfers/plugin.js.map +1 -0
  130. package/dist/engagement/social-transfers/router/index.d.ts +59 -0
  131. package/dist/engagement/social-transfers/router/index.d.ts.map +1 -0
  132. package/dist/engagement/social-transfers/router/index.js +25 -0
  133. package/dist/engagement/social-transfers/router/index.js.map +1 -0
  134. package/dist/engagement/social-transfers/schema/index.d.ts +609 -0
  135. package/dist/engagement/social-transfers/schema/index.d.ts.map +1 -0
  136. package/dist/engagement/social-transfers/schema/index.js +61 -0
  137. package/dist/engagement/social-transfers/schema/index.js.map +1 -0
  138. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.d.ts +2 -0
  139. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.d.ts.map +1 -0
  140. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js +672 -0
  141. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js.map +1 -0
  142. package/dist/engagement/social-transfers/service/social-transfers.service.d.ts +72 -0
  143. package/dist/engagement/social-transfers/service/social-transfers.service.d.ts.map +1 -0
  144. package/dist/engagement/social-transfers/service/social-transfers.service.js +726 -0
  145. package/dist/engagement/social-transfers/service/social-transfers.service.js.map +1 -0
  146. package/dist/iam/plugin.d.ts +2 -0
  147. package/dist/iam/plugin.d.ts.map +1 -1
  148. package/dist/iam/service/iam.service.d.ts +1 -1
  149. package/dist/pam/identity/__tests__/identity.service.int.test.js +47 -2
  150. package/dist/pam/identity/__tests__/identity.service.int.test.js.map +1 -1
  151. package/dist/pam/identity/__tests__/phone-login.service.int.test.js +23 -2
  152. package/dist/pam/identity/__tests__/phone-login.service.int.test.js.map +1 -1
  153. package/dist/pam/identity/plugin.d.ts +2 -0
  154. package/dist/pam/identity/plugin.d.ts.map +1 -1
  155. package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
  156. package/dist/pam/identity/service/identity.service.js +29 -1
  157. package/dist/pam/identity/service/identity.service.js.map +1 -1
  158. package/dist/pam/identity/service/phone-login.service.d.ts.map +1 -1
  159. package/dist/pam/identity/service/phone-login.service.js +23 -0
  160. package/dist/pam/identity/service/phone-login.service.js.map +1 -1
  161. package/dist/pam/player-management/__tests__/player.router.int.test.js +27 -4
  162. package/dist/pam/player-management/__tests__/player.router.int.test.js.map +1 -1
  163. package/dist/pam/player-management/__tests__/player.service.int.test.js +159 -6
  164. package/dist/pam/player-management/__tests__/player.service.int.test.js.map +1 -1
  165. package/dist/pam/player-management/contract/index.d.ts +39 -0
  166. package/dist/pam/player-management/contract/index.d.ts.map +1 -1
  167. package/dist/pam/player-management/contract/index.js +33 -1
  168. package/dist/pam/player-management/contract/index.js.map +1 -1
  169. package/dist/pam/player-management/plugin.d.ts +3 -1
  170. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  171. package/dist/pam/player-management/plugin.js +3 -3
  172. package/dist/pam/player-management/plugin.js.map +1 -1
  173. package/dist/pam/player-management/router/index.d.ts +21 -0
  174. package/dist/pam/player-management/router/index.d.ts.map +1 -1
  175. package/dist/pam/player-management/router/index.js +12 -2
  176. package/dist/pam/player-management/router/index.js.map +1 -1
  177. package/dist/pam/player-management/service/player.service.d.ts +10 -3
  178. package/dist/pam/player-management/service/player.service.d.ts.map +1 -1
  179. package/dist/pam/player-management/service/player.service.js +66 -3
  180. package/dist/pam/player-management/service/player.service.js.map +1 -1
  181. package/dist/pam/player-note/__tests__/player-note.router.int.test.d.ts +2 -0
  182. package/dist/pam/player-note/__tests__/player-note.router.int.test.d.ts.map +1 -0
  183. package/dist/pam/player-note/__tests__/player-note.router.int.test.js +52 -0
  184. package/dist/pam/player-note/__tests__/player-note.router.int.test.js.map +1 -0
  185. package/dist/pam/player-note/plugin.d.ts +49 -46
  186. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  187. package/dist/pam/player-note/plugin.js +3 -1
  188. package/dist/pam/player-note/plugin.js.map +1 -1
  189. package/dist/pam/player-note/router/index.d.ts +2 -1
  190. package/dist/pam/player-note/router/index.d.ts.map +1 -1
  191. package/dist/pam/player-note/router/index.js +13 -2
  192. package/dist/pam/player-note/router/index.js.map +1 -1
  193. package/dist/pam/profile/plugin.d.ts +2 -0
  194. package/dist/pam/profile/plugin.d.ts.map +1 -1
  195. package/dist/pam/tag/plugin.d.ts +2 -0
  196. package/dist/pam/tag/plugin.d.ts.map +1 -1
  197. package/dist/server/auth/permissions.d.ts +24 -0
  198. package/dist/server/auth/permissions.d.ts.map +1 -1
  199. package/dist/server/auth/permissions.js +4 -0
  200. package/dist/server/auth/permissions.js.map +1 -1
  201. package/dist/server/runtime/core-token-catalog.d.ts +2 -0
  202. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  203. package/dist/server/runtime/core-token-catalog.js +3 -1
  204. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  205. package/dist/wallet/__tests__/wallet.service.int.test.js +7 -0
  206. package/dist/wallet/__tests__/wallet.service.int.test.js.map +1 -1
  207. package/dist/wallet/plugin.d.ts +2 -0
  208. package/dist/wallet/plugin.d.ts.map +1 -1
  209. package/dist/wallet/router/index.js +1 -1
  210. package/dist/wallet/router/index.js.map +1 -1
  211. package/dist/wallet/service/wallet.service.d.ts.map +1 -1
  212. package/dist/wallet/service/wallet.service.js +16 -0
  213. package/dist/wallet/service/wallet.service.js.map +1 -1
  214. package/package.json +21 -1
@@ -28,10 +28,18 @@ export declare const CommandMetadataSchema: z.ZodDiscriminatedUnion<[z.ZodObject
28
28
  command: z.ZodLiteral<"block">;
29
29
  targetUserId: z.ZodUUID;
30
30
  displayName: z.ZodString;
31
+ }, z.core.$strip>, z.ZodObject<{
32
+ command: z.ZodLiteral<"unblock">;
33
+ targetUserId: z.ZodUUID;
34
+ displayName: z.ZodString;
31
35
  }, z.core.$strip>, z.ZodObject<{
32
36
  command: z.ZodLiteral<"ignore">;
33
37
  targetUserId: z.ZodUUID;
34
38
  displayName: z.ZodString;
39
+ }, z.core.$strip>, z.ZodObject<{
40
+ command: z.ZodLiteral<"unignore">;
41
+ targetUserId: z.ZodUUID;
42
+ displayName: z.ZodString;
35
43
  }, z.core.$strip>, z.ZodObject<{
36
44
  command: z.ZodLiteral<"donate">;
37
45
  recipientId: z.ZodUUID;
@@ -68,10 +76,18 @@ export declare const SystemChatMessageSchema: z.ZodObject<{
68
76
  command: z.ZodLiteral<"block">;
69
77
  targetUserId: z.ZodUUID;
70
78
  displayName: z.ZodString;
79
+ }, z.core.$strip>, z.ZodObject<{
80
+ command: z.ZodLiteral<"unblock">;
81
+ targetUserId: z.ZodUUID;
82
+ displayName: z.ZodString;
71
83
  }, z.core.$strip>, z.ZodObject<{
72
84
  command: z.ZodLiteral<"ignore">;
73
85
  targetUserId: z.ZodUUID;
74
86
  displayName: z.ZodString;
87
+ }, z.core.$strip>, z.ZodObject<{
88
+ command: z.ZodLiteral<"unignore">;
89
+ targetUserId: z.ZodUUID;
90
+ displayName: z.ZodString;
75
91
  }, z.core.$strip>, z.ZodObject<{
76
92
  command: z.ZodLiteral<"donate">;
77
93
  recipientId: z.ZodUUID;
@@ -82,6 +98,15 @@ export declare const SystemChatMessageSchema: z.ZodObject<{
82
98
  createdAt: z.ZodString;
83
99
  }, z.core.$strip>;
84
100
  export type SystemChatMessage = z.infer<typeof SystemChatMessageSchema>;
101
+ /**
102
+ * Client-facing sentinel for global chat wherever a chat command's `roomId`
103
+ * field is otherwise a real room UUID (`/gift`, `/rain`, `/donate`) - the
104
+ * single canonical way to address global chat on the wire, so callers never
105
+ * send a raw `null`.
106
+ */
107
+ export declare const GLOBAL_CHAT_ROOM_ID = "__global";
108
+ export declare const ChatRoomIdSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodUUID, z.ZodLiteral<"__global">]>, z.ZodTransform<string | null, string>>;
109
+ export type ChatRoomIdInput = z.input<typeof ChatRoomIdSchema>;
85
110
  /** Canonical chat channel name used by both the chat and chat-commands modules. */
86
111
  export declare function chatChannel(roomId: string | null): string;
87
112
  //# sourceMappingURL=chat-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-command.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/chat-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAWzB,eAAO,MAAM,kBAAkB,6BAA8B,CAAC;AAC9D,eAAO,MAAM,qBAAqB;;;EAA6B,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAOhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEzD"}
1
+ {"version":3,"file":"chat-command.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/chat-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAazB,eAAO,MAAM,kBAAkB,6BAA8B,CAAC;AAC9D,eAAO,MAAM,qBAAqB;;;EAA6B,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAShC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C,eAAO,MAAM,gBAAgB,8GAE0C,CAAC;AACxE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE/D,mFAAmF;AACnF,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEzD"}
@@ -1,6 +1,6 @@
1
1
  import * as z from 'zod';
2
2
  import { UuidSchema } from './common.js';
3
- import { ProfileCommandMetadataSchema, GiftCommandMetadataSchema, RainCommandMetadataSchema, BlockCommandMetadataSchema, IgnoreCommandMetadataSchema, DonateCommandMetadataSchema, } from './chat-command-metadata.js';
3
+ import { ProfileCommandMetadataSchema, GiftCommandMetadataSchema, RainCommandMetadataSchema, BlockCommandMetadataSchema, UnblockCommandMetadataSchema, IgnoreCommandMetadataSchema, UnignoreCommandMetadataSchema, DonateCommandMetadataSchema, } from './chat-command-metadata.js';
4
4
  export const CHAT_MESSAGE_TYPES = ['user', 'system'];
5
5
  export const ChatMessageTypeSchema = z.enum(CHAT_MESSAGE_TYPES);
6
6
  export const CommandMetadataSchema = z.discriminatedUnion('command', [
@@ -8,7 +8,9 @@ export const CommandMetadataSchema = z.discriminatedUnion('command', [
8
8
  GiftCommandMetadataSchema,
9
9
  RainCommandMetadataSchema,
10
10
  BlockCommandMetadataSchema,
11
+ UnblockCommandMetadataSchema,
11
12
  IgnoreCommandMetadataSchema,
13
+ UnignoreCommandMetadataSchema,
12
14
  DonateCommandMetadataSchema,
13
15
  ]);
14
16
  export const SystemChatMessageSchema = z.object({
@@ -19,6 +21,16 @@ export const SystemChatMessageSchema = z.object({
19
21
  metadata: CommandMetadataSchema,
20
22
  createdAt: z.string(),
21
23
  });
24
+ /**
25
+ * Client-facing sentinel for global chat wherever a chat command's `roomId`
26
+ * field is otherwise a real room UUID (`/gift`, `/rain`, `/donate`) - the
27
+ * single canonical way to address global chat on the wire, so callers never
28
+ * send a raw `null`.
29
+ */
30
+ export const GLOBAL_CHAT_ROOM_ID = '__global';
31
+ export const ChatRoomIdSchema = z
32
+ .union([UuidSchema, z.literal(GLOBAL_CHAT_ROOM_ID)])
33
+ .transform((value) => (value === GLOBAL_CHAT_ROOM_ID ? null : value));
22
34
  /** Canonical chat channel name used by both the chat and chat-commands modules. */
23
35
  export function chatChannel(roomId) {
24
36
  return roomId ? `chat:room:${roomId}` : 'chat:global';
@@ -1 +1 @@
1
- {"version":3,"file":"chat-command.js","sourceRoot":"","sources":["../../../src/contracts/schemas/chat-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAGhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IACnE,4BAA4B;IAC5B,yBAAyB;IACzB,yBAAyB;IACzB,0BAA0B;IAC1B,2BAA2B;IAC3B,2BAA2B;CAC5B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,UAAU;IACd,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,MAAqB;IAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"chat-command.js","sourceRoot":"","sources":["../../../src/contracts/schemas/chat-command.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,4BAA4B,CAAC;AAEpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAU,CAAC;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAGhE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IACnE,4BAA4B;IAC5B,yBAAyB;IACzB,yBAAyB;IACzB,0BAA0B;IAC1B,4BAA4B;IAC5B,2BAA2B;IAC3B,6BAA6B;IAC7B,2BAA2B;CAC5B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,EAAE,EAAE,UAAU;IACd,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC7B,OAAO,EAAE,UAAU;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAC;AAE9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,KAAK,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;KACnD,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAGxE,mFAAmF;AACnF,MAAM,UAAU,WAAW,CAAC,MAAqB;IAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;AACxD,CAAC"}
@@ -674,7 +674,7 @@ export declare const domainEventSchemas: {
674
674
  senderUsername: z.ZodString;
675
675
  amount: z.ZodString;
676
676
  currency: z.ZodString;
677
- roomId: z.ZodUUID;
677
+ roomId: z.ZodNullable<z.ZodUUID>;
678
678
  messageId: z.ZodUUID;
679
679
  }, z.core.$strip>;
680
680
  readonly 'chat.gift.claimed': z.ZodObject<{
@@ -684,7 +684,7 @@ export declare const domainEventSchemas: {
684
684
  senderId: z.ZodUUID;
685
685
  amount: z.ZodString;
686
686
  currency: z.ZodString;
687
- roomId: z.ZodUUID;
687
+ roomId: z.ZodNullable<z.ZodUUID>;
688
688
  }, z.core.$strip>;
689
689
  readonly 'chat.rain.distributed': z.ZodObject<{
690
690
  fromUserId: z.ZodUUID;
@@ -692,7 +692,7 @@ export declare const domainEventSchemas: {
692
692
  recipientCount: z.ZodNumber;
693
693
  totalAmount: z.ZodString;
694
694
  currency: z.ZodString;
695
- roomId: z.ZodUUID;
695
+ roomId: z.ZodNullable<z.ZodUUID>;
696
696
  }, z.core.$strip>;
697
697
  readonly 'chat.donate.sent': z.ZodObject<{
698
698
  senderId: z.ZodUUID;
@@ -715,6 +715,18 @@ export declare const domainEventSchemas: {
715
715
  newLevel: z.ZodNumber;
716
716
  actorId: z.ZodUUID;
717
717
  }, z.core.$strip>;
718
+ readonly 'player.login_blocked': z.ZodObject<{
719
+ ip: z.ZodOptional<z.ZodNullable<z.ZodString>>;
720
+ userAgent: z.ZodOptional<z.ZodNullable<z.ZodString>>;
721
+ userId: z.ZodUUID;
722
+ status: z.ZodEnum<{
723
+ active: "active";
724
+ self_excluded: "self_excluded";
725
+ dormant: "dormant";
726
+ suspended: "suspended";
727
+ closed: "closed";
728
+ }>;
729
+ }, z.core.$strip>;
718
730
  };
719
731
  export type DomainEventName = keyof typeof domainEventSchemas;
720
732
  export type DomainEventPayload<K extends DomainEventName> = z.infer<(typeof domainEventSchemas)[K]>;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAyCzB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOjC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8TrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAC9D,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAIpG,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAwBxE,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,eAAO,MAAM,oBAAoB,EAAsC,eAAe,EAAE,CAAC;AAEzF,sIAAsI;AACtI,wBAAgB,YAAY,IAAI,aAAa,CAAC;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAKzF"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAyCzB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOjC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqUrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAC9D,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAIpG,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CA4BxE,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,eAAO,MAAM,oBAAoB,EAAsC,eAAe,EAAE,CAAC;AAEzF,sIAAsI;AACtI,wBAAgB,YAAY,IAAI,aAAa,CAAC;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAKzF"}
@@ -4,7 +4,7 @@ import { GeoRuleActionSchema, LimitTypeSchema, LimitPeriodSchema, ExclusionKindS
4
4
  import { TagKeySchema } from './tag.js';
5
5
  import { CurrencyCodeSchema, CountryCodeSchema } from './igaming-config.js';
6
6
  import { PermissionLevelSchema } from './iam.js';
7
- import { KycStatusSchema, KycStatusSourceSchema } from './player.js';
7
+ import { KycStatusSchema, KycStatusSourceSchema, PlayerStatusSchema } from './player.js';
8
8
  // Optional request-origin metadata shared by HTTP-triggered events; both fields may be absent.
9
9
  const authContextBase = ClientMetaSchema.partial();
10
10
  const iamRoleEventBase = z
@@ -294,7 +294,7 @@ export const domainEventSchemas = {
294
294
  senderUsername: z.string(),
295
295
  amount: MoneyAmountSchema,
296
296
  currency: z.string(),
297
- roomId: UuidSchema,
297
+ roomId: UuidSchema.nullable(),
298
298
  messageId: UuidSchema,
299
299
  }),
300
300
  'chat.gift.claimed': z.object({
@@ -304,7 +304,7 @@ export const domainEventSchemas = {
304
304
  senderId: UuidSchema,
305
305
  amount: MoneyAmountSchema,
306
306
  currency: z.string(),
307
- roomId: UuidSchema,
307
+ roomId: UuidSchema.nullable(),
308
308
  }),
309
309
  'chat.rain.distributed': z.object({
310
310
  fromUserId: UuidSchema,
@@ -312,7 +312,7 @@ export const domainEventSchemas = {
312
312
  recipientCount: z.number().int(),
313
313
  totalAmount: MoneyAmountSchema,
314
314
  currency: z.string(),
315
- roomId: UuidSchema,
315
+ roomId: UuidSchema.nullable(),
316
316
  }),
317
317
  'chat.donate.sent': z.object({
318
318
  senderId: UuidSchema,
@@ -335,6 +335,13 @@ export const domainEventSchemas = {
335
335
  newLevel: z.number().int(),
336
336
  actorId: UuidSchema,
337
337
  }),
338
+ // System-driven login rejection for a player the Backoffice blocked (status
339
+ // suspended/closed). No admin acted at login time - the block was set earlier; this
340
+ // is a failure outcome. userId = the subject player; status = the blocking status.
341
+ 'player.login_blocked': authContextBase.extend({
342
+ userId: UuidSchema,
343
+ status: PlayerStatusSchema,
344
+ }),
338
345
  };
339
346
  // Bump an entry only when its payload shape changes in a non-additive way, in the SAME commit
340
347
  // that edits the schema above. Events not listed default to version 1.
@@ -346,9 +353,13 @@ export const domainEventVersions = {
346
353
  // must never be persisted to the audit log or handed back to any caller.
347
354
  'identity.session.revoked': 2,
348
355
  // v2: claimable gift-card mechanic - giftId/senderId/senderUsername/roomId replaces fromUserId/toUserId.
349
- 'chat.gift.sent': 2,
356
+ // v3: roomId nullable - a gift can be sent into global chat (GLOBAL_CHAT_ROOM_ID sentinel on the wire).
357
+ 'chat.gift.sent': 3,
358
+ // v2: roomId nullable - a claimed gift's room can be global chat.
359
+ 'chat.gift.claimed': 2,
350
360
  // v2: recipients array added for per-player notification delivery.
351
- 'chat.rain.distributed': 2,
361
+ // v3: roomId nullable - rain can be sent into global chat (GLOBAL_CHAT_ROOM_ID sentinel on the wire).
362
+ 'chat.rain.distributed': 3,
352
363
  // v2: exact decimal-string amount (+ currency), never a JS number.
353
364
  'wallet.deposit.completed': 2,
354
365
  'wallet.withdrawal.completed': 2,
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/contracts/schemas/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/contracts/schemas/events.ts"],"names":[],"mappings":"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"}
@@ -39,10 +39,11 @@ export declare const PhoneLoginVerifyInputSchema: z.ZodObject<{
39
39
  code: z.ZodString;
40
40
  rememberMe: z.ZodOptional<z.ZodBoolean>;
41
41
  }, z.core.$strip>;
42
- export declare const PHONE_LOGIN_ERROR_REASONS: readonly ["otp_cancelled", "rg_blocked"];
42
+ export declare const PHONE_LOGIN_ERROR_REASONS: readonly ["otp_cancelled", "rg_blocked", "account_suspended"];
43
43
  export declare const PhoneLoginErrorReasonSchema: z.ZodEnum<{
44
44
  otp_cancelled: "otp_cancelled";
45
45
  rg_blocked: "rg_blocked";
46
+ account_suspended: "account_suspended";
46
47
  }>;
47
48
  export declare const PHONE_LOGIN_OTP_INVALID_REASONS: readonly ["expired", "wrong_code"];
48
49
  export declare const PhoneLoginOtpInvalidReasonSchema: z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/identity.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,11 @@ export const PhoneLoginVerifyInputSchema = z.object({
30
30
  code: z.string().regex(/^[0-9]{6}$/),
31
31
  rememberMe: z.boolean().optional(),
32
32
  });
33
- export const PHONE_LOGIN_ERROR_REASONS = ['otp_cancelled', 'rg_blocked'];
33
+ export const PHONE_LOGIN_ERROR_REASONS = [
34
+ 'otp_cancelled',
35
+ 'rg_blocked',
36
+ 'account_suspended',
37
+ ];
34
38
  export const PhoneLoginErrorReasonSchema = z.enum(PHONE_LOGIN_ERROR_REASONS);
35
39
  export const PHONE_LOGIN_OTP_INVALID_REASONS = ['expired', 'wrong_code'];
36
40
  export const PhoneLoginOtpInvalidReasonSchema = z.enum(PHONE_LOGIN_OTP_INVALID_REASONS);
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/contracts/schemas/identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/contracts/schemas/identity.ts"],"names":[],"mappings":"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"}
@@ -351,9 +351,25 @@ describe('ChatService block list (real PG)', () => {
351
351
  await svc.blockUser(blockerId, blockedId);
352
352
  await svc.unblockUser(blockerId, blockedId, NO_CLIENT_META);
353
353
  await svc.unblockUser(blockerId, blockedId, NO_CLIENT_META);
354
- expect(await db.drizzle.db.select().from(chatUserBlock)).toHaveLength(0);
354
+ // Soft-delete: the row survives with removedAt set, not physically removed.
355
+ const rows = await db.drizzle.db.select().from(chatUserBlock);
356
+ expect(rows).toHaveLength(1);
357
+ expect(rows[0]?.removedAt).not.toBeNull();
355
358
  expect(events.emit.mock.calls.filter(([topic]) => topic === 'chat.user.unblocked')).toHaveLength(1);
356
359
  });
360
+ it('re-blocking after an unblock inserts a fresh active row and re-excludes the sender', async () => {
361
+ const { svc, events } = makeService();
362
+ const blockerId = randomUUID();
363
+ const blockedId = randomUUID();
364
+ await svc.blockUser(blockerId, blockedId);
365
+ await svc.unblockUser(blockerId, blockedId, NO_CLIENT_META);
366
+ await svc.blockUser(blockerId, blockedId);
367
+ const rows = await db.drizzle.db.select().from(chatUserBlock);
368
+ expect(rows).toHaveLength(2);
369
+ expect(rows.filter((r) => r.removedAt === null)).toHaveLength(1);
370
+ expect(events.emit.mock.calls.filter(([topic]) => topic === 'chat.user.blocked')).toHaveLength(2);
371
+ expect(await svc.getExcludedUserIds(blockerId)).toContain(blockedId);
372
+ });
357
373
  it('lists the blocked ids newest-first', async () => {
358
374
  const { svc } = makeService();
359
375
  const blockerId = randomUUID();
@@ -363,8 +379,97 @@ describe('ChatService block list (real PG)', () => {
363
379
  { blockerId, blockedId: first, createdAt: new Date('2026-01-01T00:00:00.000Z') },
364
380
  { blockerId, blockedId: second, createdAt: new Date('2026-02-01T00:00:00.000Z') },
365
381
  ]);
366
- const rows = await svc.listBlockedUsers(blockerId);
367
- expect(rows.map((r) => r.blockedId)).toEqual([second, first]);
382
+ const { items } = await svc.listBlockedUsers({
383
+ blockerId,
384
+ page: 1,
385
+ limit: 100,
386
+ sortBy: 'createdAt',
387
+ sortOrder: 'desc',
388
+ });
389
+ expect(items.map((r) => r.blockedId)).toEqual([second, first]);
390
+ });
391
+ it('paginates and sorts oldest-first when asked, reporting the total across all pages', async () => {
392
+ const { svc } = makeService();
393
+ const blockerId = randomUUID();
394
+ const first = randomUUID();
395
+ const second = randomUUID();
396
+ const third = randomUUID();
397
+ await db.drizzle.db.insert(chatUserBlock).values([
398
+ { blockerId, blockedId: first, createdAt: new Date('2026-01-01T00:00:00.000Z') },
399
+ { blockerId, blockedId: second, createdAt: new Date('2026-02-01T00:00:00.000Z') },
400
+ { blockerId, blockedId: third, createdAt: new Date('2026-03-01T00:00:00.000Z') },
401
+ ]);
402
+ const page1 = await svc.listBlockedUsers({
403
+ blockerId,
404
+ page: 1,
405
+ limit: 2,
406
+ sortBy: 'createdAt',
407
+ sortOrder: 'asc',
408
+ });
409
+ const page2 = await svc.listBlockedUsers({
410
+ blockerId,
411
+ page: 2,
412
+ limit: 2,
413
+ sortBy: 'createdAt',
414
+ sortOrder: 'asc',
415
+ });
416
+ expect(page1.items.map((r) => r.blockedId)).toEqual([first, second]);
417
+ expect(page1.total).toBe(3);
418
+ expect(page2.items.map((r) => r.blockedId)).toEqual([third]);
419
+ expect(page2.total).toBe(3);
420
+ });
421
+ it('excludes an unblocked user from the list', async () => {
422
+ const { svc } = makeService();
423
+ const blockerId = randomUUID();
424
+ const blockedId = randomUUID();
425
+ await svc.blockUser(blockerId, blockedId);
426
+ await svc.unblockUser(blockerId, blockedId);
427
+ const { items, total } = await svc.listBlockedUsers({
428
+ blockerId,
429
+ page: 1,
430
+ limit: 100,
431
+ sortBy: 'createdAt',
432
+ sortOrder: 'desc',
433
+ });
434
+ expect(items).toHaveLength(0);
435
+ expect(total).toBe(0);
436
+ });
437
+ });
438
+ describe('ChatService.adminListBlockedUsers (real PG, site-wide)', () => {
439
+ it('lists every users blocks, not just one callers, including who blocked whom', async () => {
440
+ const { svc } = makeService();
441
+ const blockerA = randomUUID();
442
+ const blockerB = randomUUID();
443
+ const blockedA = randomUUID();
444
+ const blockedB = randomUUID();
445
+ await svc.blockUser(blockerA, blockedA);
446
+ await svc.blockUser(blockerB, blockedB);
447
+ const { items, total } = await svc.adminListBlockedUsers({
448
+ page: 1,
449
+ limit: 100,
450
+ sortBy: 'createdAt',
451
+ sortOrder: 'desc',
452
+ });
453
+ expect(total).toBe(2);
454
+ expect(items).toEqual(expect.arrayContaining([
455
+ expect.objectContaining({ blockerId: blockerA, blockedId: blockedA }),
456
+ expect.objectContaining({ blockerId: blockerB, blockedId: blockedB }),
457
+ ]));
458
+ });
459
+ it('excludes an unblocked (soft-removed) relationship', async () => {
460
+ const { svc } = makeService();
461
+ const blockerId = randomUUID();
462
+ const blockedId = randomUUID();
463
+ await svc.blockUser(blockerId, blockedId);
464
+ await svc.unblockUser(blockerId, blockedId);
465
+ const { items, total } = await svc.adminListBlockedUsers({
466
+ page: 1,
467
+ limit: 100,
468
+ sortBy: 'createdAt',
469
+ sortOrder: 'desc',
470
+ });
471
+ expect(items).toHaveLength(0);
472
+ expect(total).toBe(0);
368
473
  });
369
474
  });
370
475
  describe('ChatService ignore list (real PG)', () => {
@@ -389,7 +494,10 @@ describe('ChatService ignore list (real PG)', () => {
389
494
  await svc.ignoreUser(ignorerId, ignoredId);
390
495
  await svc.unignoreUser(ignorerId, ignoredId, NO_CLIENT_META);
391
496
  await svc.unignoreUser(ignorerId, ignoredId, NO_CLIENT_META);
392
- expect(await db.drizzle.db.select().from(chatUserIgnore)).toHaveLength(0);
497
+ // Soft-delete: the row survives with removedAt set, not physically removed.
498
+ const rows = await db.drizzle.db.select().from(chatUserIgnore);
499
+ expect(rows).toHaveLength(1);
500
+ expect(rows[0]?.removedAt).not.toBeNull();
393
501
  expect(events.emit.mock.calls.filter(([topic]) => topic === 'chat.user.unignored')).toHaveLength(1);
394
502
  });
395
503
  it('lists the ignored ids newest-first', async () => {
@@ -401,8 +509,60 @@ describe('ChatService ignore list (real PG)', () => {
401
509
  { ignorerId, ignoredId: first, createdAt: new Date('2026-01-01T00:00:00.000Z') },
402
510
  { ignorerId, ignoredId: second, createdAt: new Date('2026-02-01T00:00:00.000Z') },
403
511
  ]);
404
- const rows = await svc.listIgnoredUsers(ignorerId);
405
- expect(rows.map((r) => r.ignoredId)).toEqual([second, first]);
512
+ const { items } = await svc.listIgnoredUsers({
513
+ ignorerId,
514
+ page: 1,
515
+ limit: 100,
516
+ sortBy: 'createdAt',
517
+ sortOrder: 'desc',
518
+ });
519
+ expect(items.map((r) => r.ignoredId)).toEqual([second, first]);
520
+ });
521
+ it('paginates and sorts oldest-first when asked, reporting the total across all pages', async () => {
522
+ const { svc } = makeService();
523
+ const ignorerId = randomUUID();
524
+ const first = randomUUID();
525
+ const second = randomUUID();
526
+ const third = randomUUID();
527
+ await db.drizzle.db.insert(chatUserIgnore).values([
528
+ { ignorerId, ignoredId: first, createdAt: new Date('2026-01-01T00:00:00.000Z') },
529
+ { ignorerId, ignoredId: second, createdAt: new Date('2026-02-01T00:00:00.000Z') },
530
+ { ignorerId, ignoredId: third, createdAt: new Date('2026-03-01T00:00:00.000Z') },
531
+ ]);
532
+ const page1 = await svc.listIgnoredUsers({
533
+ ignorerId,
534
+ page: 1,
535
+ limit: 2,
536
+ sortBy: 'createdAt',
537
+ sortOrder: 'asc',
538
+ });
539
+ const page2 = await svc.listIgnoredUsers({
540
+ ignorerId,
541
+ page: 2,
542
+ limit: 2,
543
+ sortBy: 'createdAt',
544
+ sortOrder: 'asc',
545
+ });
546
+ expect(page1.items.map((r) => r.ignoredId)).toEqual([first, second]);
547
+ expect(page1.total).toBe(3);
548
+ expect(page2.items.map((r) => r.ignoredId)).toEqual([third]);
549
+ expect(page2.total).toBe(3);
550
+ });
551
+ it('excludes an unignored user from the list', async () => {
552
+ const { svc } = makeService();
553
+ const ignorerId = randomUUID();
554
+ const ignoredId = randomUUID();
555
+ await svc.ignoreUser(ignorerId, ignoredId);
556
+ await svc.unignoreUser(ignorerId, ignoredId);
557
+ const { items, total } = await svc.listIgnoredUsers({
558
+ ignorerId,
559
+ page: 1,
560
+ limit: 100,
561
+ sortBy: 'createdAt',
562
+ sortOrder: 'desc',
563
+ });
564
+ expect(items).toHaveLength(0);
565
+ expect(total).toBe(0);
406
566
  });
407
567
  it('a block and an ignore are independent relationships (blocking does not ignore, and vice versa)', async () => {
408
568
  const { svc } = makeService();
@@ -411,8 +571,51 @@ describe('ChatService ignore list (real PG)', () => {
411
571
  const ignoredId = randomUUID();
412
572
  await svc.blockUser(viewerId, blockedId);
413
573
  await svc.ignoreUser(viewerId, ignoredId);
414
- expect((await svc.listBlockedUsers(viewerId)).map((r) => r.blockedId)).toEqual([blockedId]);
415
- expect((await svc.listIgnoredUsers(viewerId)).map((r) => r.ignoredId)).toEqual([ignoredId]);
574
+ const defaultPage = {
575
+ page: 1,
576
+ limit: 100,
577
+ sortBy: 'createdAt',
578
+ sortOrder: 'desc',
579
+ };
580
+ expect((await svc.listBlockedUsers({ blockerId: viewerId, ...defaultPage })).items.map((r) => r.blockedId)).toEqual([blockedId]);
581
+ expect((await svc.listIgnoredUsers({ ignorerId: viewerId, ...defaultPage })).items.map((r) => r.ignoredId)).toEqual([ignoredId]);
582
+ });
583
+ });
584
+ describe('ChatService.adminListIgnoredUsers (real PG, site-wide)', () => {
585
+ it('lists every users ignores, not just one callers, including who ignored whom', async () => {
586
+ const { svc } = makeService();
587
+ const ignorerA = randomUUID();
588
+ const ignorerB = randomUUID();
589
+ const ignoredA = randomUUID();
590
+ const ignoredB = randomUUID();
591
+ await svc.ignoreUser(ignorerA, ignoredA);
592
+ await svc.ignoreUser(ignorerB, ignoredB);
593
+ const { items, total } = await svc.adminListIgnoredUsers({
594
+ page: 1,
595
+ limit: 100,
596
+ sortBy: 'createdAt',
597
+ sortOrder: 'desc',
598
+ });
599
+ expect(total).toBe(2);
600
+ expect(items).toEqual(expect.arrayContaining([
601
+ expect.objectContaining({ ignorerId: ignorerA, ignoredId: ignoredA }),
602
+ expect.objectContaining({ ignorerId: ignorerB, ignoredId: ignoredB }),
603
+ ]));
604
+ });
605
+ it('excludes an unignored (soft-removed) relationship', async () => {
606
+ const { svc } = makeService();
607
+ const ignorerId = randomUUID();
608
+ const ignoredId = randomUUID();
609
+ await svc.ignoreUser(ignorerId, ignoredId);
610
+ await svc.unignoreUser(ignorerId, ignoredId);
611
+ const { items, total } = await svc.adminListIgnoredUsers({
612
+ page: 1,
613
+ limit: 100,
614
+ sortBy: 'createdAt',
615
+ sortOrder: 'desc',
616
+ });
617
+ expect(items).toHaveLength(0);
618
+ expect(total).toBe(0);
416
619
  });
417
620
  });
418
621
  describe('ChatService admin rooms (real PG)', () => {