@openora/core 0.4.1-canary.87 → 0.4.1-canary.89
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 +7 -0
- package/dist/admin-console/plugin.d.ts.map +1 -1
- package/dist/analytics/plugin.d.ts +7 -0
- package/dist/analytics/plugin.d.ts.map +1 -1
- package/dist/audit/__tests__/audit.service.int.test.js +1 -1
- package/dist/audit/__tests__/audit.service.int.test.js.map +1 -1
- package/dist/audit/plugin.d.ts +7 -0
- package/dist/audit/plugin.d.ts.map +1 -1
- package/dist/casino/gaming/plugin.d.ts +7 -0
- package/dist/casino/gaming/plugin.d.ts.map +1 -1
- package/dist/casino/lobby/plugin.d.ts +7 -0
- package/dist/casino/lobby/plugin.d.ts.map +1 -1
- package/dist/cms/plugin.d.ts +7 -0
- package/dist/cms/plugin.d.ts.map +1 -1
- package/dist/compliance/__tests__/kyc-admin.router.int.test.js +0 -1
- package/dist/compliance/__tests__/kyc-admin.router.int.test.js.map +1 -1
- package/dist/compliance/__tests__/kyc.service.int.test.js +0 -1
- package/dist/compliance/__tests__/kyc.service.int.test.js.map +1 -1
- package/dist/compliance/__tests__/rg-monitoring.service.int.test.js +7 -1
- package/dist/compliance/__tests__/rg-monitoring.service.int.test.js.map +1 -1
- package/dist/compliance/plugin.d.ts +7 -0
- package/dist/compliance/plugin.d.ts.map +1 -1
- package/dist/compliance/plugin.js +4 -2
- package/dist/compliance/plugin.js.map +1 -1
- package/dist/compliance/service/compliance.service.d.ts +10 -3
- package/dist/compliance/service/compliance.service.d.ts.map +1 -1
- package/dist/compliance/service/compliance.service.js +14 -10
- package/dist/compliance/service/compliance.service.js.map +1 -1
- package/dist/contracts/adapters/admin-user-directory.d.ts +1 -1
- package/dist/contracts/adapters/geo-check-commands.d.ts +8 -0
- package/dist/contracts/adapters/geo-check-commands.d.ts.map +1 -0
- package/dist/contracts/adapters/geo-check-commands.js +3 -0
- package/dist/contracts/adapters/geo-check-commands.js.map +1 -0
- package/dist/contracts/adapters/identity.d.ts +11 -0
- package/dist/contracts/adapters/identity.d.ts.map +1 -1
- package/dist/contracts/adapters/identity.js +1 -0
- package/dist/contracts/adapters/identity.js.map +1 -1
- package/dist/contracts/adapters/index.d.ts +6 -1
- package/dist/contracts/adapters/index.d.ts.map +1 -1
- package/dist/contracts/adapters/index.js +3 -1
- package/dist/contracts/adapters/index.js.map +1 -1
- package/dist/contracts/adapters/player-provisioning.d.ts +21 -0
- package/dist/contracts/adapters/player-provisioning.d.ts.map +1 -0
- package/dist/contracts/adapters/player-provisioning.js +3 -0
- package/dist/contracts/adapters/player-provisioning.js.map +1 -0
- package/dist/contracts/schemas/events.d.ts +2 -2
- package/dist/contracts/schemas/events.js +2 -2
- package/dist/contracts/schemas/events.js.map +1 -1
- package/dist/contracts/schemas/identity.d.ts +17 -1
- package/dist/contracts/schemas/identity.d.ts.map +1 -1
- package/dist/contracts/schemas/identity.js +13 -1
- package/dist/contracts/schemas/identity.js.map +1 -1
- package/dist/contracts/schemas/platform-config.d.ts +12 -0
- package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
- package/dist/contracts/schemas/platform-config.js +10 -0
- package/dist/contracts/schemas/platform-config.js.map +1 -1
- package/dist/contracts/schemas/player.d.ts +4 -5
- package/dist/contracts/schemas/player.d.ts.map +1 -1
- package/dist/contracts/schemas/player.js +2 -3
- package/dist/contracts/schemas/player.js.map +1 -1
- package/dist/engagement/chat/__tests__/chat.service.int.test.js +7 -14
- package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -1
- package/dist/engagement/chat/plugin.d.ts +7 -0
- package/dist/engagement/chat/plugin.d.ts.map +1 -1
- package/dist/engagement/chat/service/chat.service.d.ts +1 -1
- package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
- package/dist/engagement/chat/service/chat.service.js +7 -7
- package/dist/engagement/chat/service/chat.service.js.map +1 -1
- package/dist/engagement/chat-commands/plugin.d.ts +7 -0
- package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
- package/dist/engagement/notifications/plugin.d.ts +7 -0
- package/dist/engagement/notifications/plugin.d.ts.map +1 -1
- package/dist/engagement/notifications/plugin.js +2 -2
- package/dist/engagement/notifications/plugin.js.map +1 -1
- package/dist/engagement/social/__tests__/social.plugin.int.test.js +4 -10
- package/dist/engagement/social/__tests__/social.plugin.int.test.js.map +1 -1
- package/dist/engagement/social/__tests__/social.router.int.test.js +13 -17
- package/dist/engagement/social/__tests__/social.router.int.test.js.map +1 -1
- package/dist/engagement/social/__tests__/social.service.int.test.js +51 -55
- package/dist/engagement/social/__tests__/social.service.int.test.js.map +1 -1
- package/dist/engagement/social/contract/index.d.ts +4 -4
- package/dist/engagement/social/contract/index.js +2 -2
- package/dist/engagement/social/contract/index.js.map +1 -1
- package/dist/engagement/social/plugin.d.ts +7 -0
- package/dist/engagement/social/plugin.d.ts.map +1 -1
- package/dist/engagement/social/router/index.d.ts +2 -2
- package/dist/engagement/social/service/social.service.d.ts +2 -0
- package/dist/engagement/social/service/social.service.d.ts.map +1 -1
- package/dist/engagement/social/service/social.service.js +25 -32
- package/dist/engagement/social/service/social.service.js.map +1 -1
- package/dist/engagement/social-transfers/plugin.d.ts +7 -0
- package/dist/engagement/social-transfers/plugin.d.ts.map +1 -1
- package/dist/engagement/social-transfers/router/index.d.ts.map +1 -1
- package/dist/engagement/social-transfers/router/index.js +2 -1
- package/dist/engagement/social-transfers/router/index.js.map +1 -1
- package/dist/iam/__tests__/admin-player-activity.int.test.js +13 -20
- package/dist/iam/__tests__/admin-player-activity.int.test.js.map +1 -1
- package/dist/iam/__tests__/iam.service.int.test.js +5 -12
- package/dist/iam/__tests__/iam.service.int.test.js.map +1 -1
- package/dist/iam/plugin.d.ts +7 -0
- package/dist/iam/plugin.d.ts.map +1 -1
- package/dist/pam/identity/__tests__/admin-user-directory.int.test.js +39 -49
- package/dist/pam/identity/__tests__/admin-user-directory.int.test.js.map +1 -1
- package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js +36 -7
- package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js.map +1 -1
- package/dist/pam/identity/__tests__/identity.registration-gates.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/identity.registration-gates.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/identity.registration-gates.int.test.js +94 -0
- package/dist/pam/identity/__tests__/identity.registration-gates.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/identity.service.int.test.js +4 -12
- package/dist/pam/identity/__tests__/identity.service.int.test.js.map +1 -1
- package/dist/pam/identity/__tests__/login-enforcement.service.int.test.js +7 -19
- package/dist/pam/identity/__tests__/login-enforcement.service.int.test.js.map +1 -1
- package/dist/pam/identity/__tests__/phone-login.service.int.test.js +4 -19
- package/dist/pam/identity/__tests__/phone-login.service.int.test.js.map +1 -1
- package/dist/pam/identity/__tests__/user-commands.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/user-commands.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/user-commands.int.test.js +39 -0
- package/dist/pam/identity/__tests__/user-commands.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/username-backfill.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/username-backfill.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/username-backfill.int.test.js +103 -0
- package/dist/pam/identity/__tests__/username-backfill.int.test.js.map +1 -0
- package/dist/pam/identity/admin-user-directory.js +4 -4
- package/dist/pam/identity/admin-user-directory.js.map +1 -1
- package/dist/pam/identity/contract/index.d.ts +13 -18
- package/dist/pam/identity/contract/index.d.ts.map +1 -1
- package/dist/pam/identity/contract/index.js +6 -2
- package/dist/pam/identity/contract/index.js.map +1 -1
- package/dist/pam/identity/drizzle/migrations/0007_fuzzy_barracuda.sql +44 -0
- package/dist/pam/identity/drizzle/migrations/meta/0007_snapshot.json +737 -0
- package/dist/pam/identity/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/pam/identity/plugin.d.ts +7 -0
- package/dist/pam/identity/plugin.d.ts.map +1 -1
- package/dist/pam/identity/plugin.js +5 -1
- package/dist/pam/identity/plugin.js.map +1 -1
- package/dist/pam/identity/react/account.d.ts +1 -0
- package/dist/pam/identity/react/account.d.ts.map +1 -1
- package/dist/pam/identity/react/auth.d.ts +6 -14
- package/dist/pam/identity/react/auth.d.ts.map +1 -1
- package/dist/pam/identity/router/index.d.ts +13 -18
- package/dist/pam/identity/router/index.d.ts.map +1 -1
- package/dist/pam/identity/router/index.js +3 -2
- package/dist/pam/identity/router/index.js.map +1 -1
- package/dist/pam/identity/schema/index.d.ts +17 -0
- package/dist/pam/identity/schema/index.d.ts.map +1 -1
- package/dist/pam/identity/schema/index.js +4 -1
- package/dist/pam/identity/schema/index.js.map +1 -1
- package/dist/pam/identity/service/identity.service.d.ts +31 -23
- package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
- package/dist/pam/identity/service/identity.service.js +134 -16
- package/dist/pam/identity/service/identity.service.js.map +1 -1
- package/dist/pam/identity/service/phone-login.service.d.ts +1 -0
- package/dist/pam/identity/service/phone-login.service.d.ts.map +1 -1
- package/dist/pam/identity/service/phone-login.service.js +2 -0
- package/dist/pam/identity/service/phone-login.service.js.map +1 -1
- package/dist/pam/identity/service/user-commands.service.d.ts +11 -0
- package/dist/pam/identity/service/user-commands.service.d.ts.map +1 -0
- package/dist/pam/identity/service/user-commands.service.js +32 -0
- package/dist/pam/identity/service/user-commands.service.js.map +1 -0
- package/dist/pam/player-management/__tests__/kyc-status-writer.int.test.js +1 -1
- package/dist/pam/player-management/__tests__/kyc-status-writer.int.test.js.map +1 -1
- package/dist/pam/player-management/__tests__/player.router.int.test.js +21 -18
- package/dist/pam/player-management/__tests__/player.router.int.test.js.map +1 -1
- package/dist/pam/player-management/__tests__/player.service.int.test.js +33 -30
- package/dist/pam/player-management/__tests__/player.service.int.test.js.map +1 -1
- package/dist/pam/player-management/contract/index.d.ts +7 -8
- package/dist/pam/player-management/contract/index.d.ts.map +1 -1
- package/dist/pam/player-management/contract/index.js +2 -3
- package/dist/pam/player-management/contract/index.js.map +1 -1
- package/dist/pam/player-management/plugin.d.ts +7 -0
- package/dist/pam/player-management/plugin.d.ts.map +1 -1
- package/dist/pam/player-management/plugin.js +2 -2
- package/dist/pam/player-management/plugin.js.map +1 -1
- package/dist/pam/player-management/router/index.d.ts +6 -7
- package/dist/pam/player-management/router/index.d.ts.map +1 -1
- package/dist/pam/player-management/router/index.js +3 -8
- package/dist/pam/player-management/router/index.js.map +1 -1
- package/dist/pam/player-management/service/player.service.d.ts +13 -9
- package/dist/pam/player-management/service/player.service.d.ts.map +1 -1
- package/dist/pam/player-management/service/player.service.js +24 -29
- package/dist/pam/player-management/service/player.service.js.map +1 -1
- package/dist/pam/player-note/plugin.d.ts +7 -0
- package/dist/pam/player-note/plugin.d.ts.map +1 -1
- package/dist/pam/profile/__tests__/profile.service.int.test.js +14 -22
- package/dist/pam/profile/__tests__/profile.service.int.test.js.map +1 -1
- package/dist/pam/profile/contract/index.d.ts +2 -3
- package/dist/pam/profile/contract/index.d.ts.map +1 -1
- package/dist/pam/profile/drizzle/migrations/0002_sour_alex_wilder.sql +7 -0
- package/dist/pam/profile/drizzle/migrations/meta/0002_snapshot.json +200 -0
- package/dist/pam/profile/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/pam/profile/migrate.d.ts.map +1 -1
- package/dist/pam/profile/migrate.js +3 -1
- package/dist/pam/profile/migrate.js.map +1 -1
- package/dist/pam/profile/plugin.d.ts +59 -52
- package/dist/pam/profile/plugin.d.ts.map +1 -1
- package/dist/pam/profile/plugin.js +4 -1
- package/dist/pam/profile/plugin.js.map +1 -1
- package/dist/pam/profile/react/profile.d.ts +2 -3
- package/dist/pam/profile/react/profile.d.ts.map +1 -1
- package/dist/pam/profile/router/index.d.ts +2 -3
- package/dist/pam/profile/router/index.d.ts.map +1 -1
- package/dist/pam/profile/schema/index.d.ts +85 -17
- package/dist/pam/profile/schema/index.d.ts.map +1 -1
- package/dist/pam/profile/schema/index.js +6 -9
- package/dist/pam/profile/schema/index.js.map +1 -1
- package/dist/pam/profile/service/profile.service.d.ts +18 -4
- package/dist/pam/profile/service/profile.service.d.ts.map +1 -1
- package/dist/pam/profile/service/profile.service.js +26 -16
- package/dist/pam/profile/service/profile.service.js.map +1 -1
- package/dist/pam/shared/player-mapper.d.ts +7 -3
- package/dist/pam/shared/player-mapper.d.ts.map +1 -1
- package/dist/pam/shared/player-mapper.js +6 -5
- package/dist/pam/shared/player-mapper.js.map +1 -1
- package/dist/pam/tag/__tests__/get-active-tag-keys.int.test.js +1 -4
- package/dist/pam/tag/__tests__/get-active-tag-keys.int.test.js.map +1 -1
- package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.js +3 -10
- package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.js.map +1 -1
- package/dist/pam/tag/__tests__/tag.service.int.test.js +1 -1
- package/dist/pam/tag/__tests__/tag.service.int.test.js.map +1 -1
- package/dist/pam/tag/plugin.d.ts +7 -0
- package/dist/pam/tag/plugin.d.ts.map +1 -1
- package/dist/server/auth/__tests__/admin-guard.int.test.js +1 -1
- package/dist/server/auth/__tests__/admin-guard.int.test.js.map +1 -1
- package/dist/server/auth/auth.d.ts +5 -0
- package/dist/server/auth/auth.d.ts.map +1 -1
- package/dist/server/auth/auth.js +18 -1
- package/dist/server/auth/auth.js.map +1 -1
- package/dist/server/kernel/__tests__/router-utils.test.js +15 -8
- package/dist/server/kernel/__tests__/router-utils.test.js.map +1 -1
- package/dist/server/kernel/router-utils.d.ts +3 -1
- package/dist/server/kernel/router-utils.d.ts.map +1 -1
- package/dist/server/kernel/router-utils.js +16 -5
- package/dist/server/kernel/router-utils.js.map +1 -1
- package/dist/server/runtime/core-token-catalog.d.ts +7 -0
- package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
- package/dist/server/runtime/core-token-catalog.js +4 -1
- package/dist/server/runtime/core-token-catalog.js.map +1 -1
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -0
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/seed-player.d.ts +88 -0
- package/dist/testing/seed-player.d.ts.map +1 -0
- package/dist/testing/seed-player.js +43 -0
- package/dist/testing/seed-player.js.map +1 -0
- package/dist/wallet/plugin.d.ts +7 -0
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social.service.d.ts","sourceRoot":"","sources":["../../../../src/engagement/social/service/social.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,QAAQ,EAOd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EACnB,KAAK,IAAI,EACV,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"social.service.d.ts","sourceRoot":"","sources":["../../../../src/engagement/social/service/social.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,QAAQ,EAOd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,cAAc,EACnB,KAAK,IAAI,EACV,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAS9B,eAAO,MAAM,sBAAsB,iBAGlC,CAAC;AAKF,eAAO,MAAM,gCAAgC,2BAA2C,CAAC;AAOzF,eAAO,MAAM,6BAA6B,iBAGzC,CAAC;AAGF,eAAO,MAAM,kBAAkB,iBAG9B,CAAC;AACF,eAAO,MAAM,mBAAmB,iBAG/B,CAAC;AACF,eAAO,MAAM,0BAA0B,iBAGtC,CAAC;AACF,eAAO,MAAM,yBAAyB,iBAGrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,2BAAkC,CAAC;AAEvE,eAAO,MAAM,0BAA0B,2BAAqC,CAAC;AAkC7E,qBAAa,aAAa;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAFd,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,QAAQ,EAChB,cAAc,EAAE,cAAc;IAGjD,4DAA4D;IAC5D,OAAO,CAAC,mBAAmB;IAarB,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;YAuElE,mBAAmB;IAuCjC;;;;OAIG;IACG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,IAAI,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAuFjF,kBAAkB;IAgC1B,YAAY,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,yBAAyB,CAC7B,EAAE,EAAE,OAAO,EACX,SAAS,EAAE,IAAI,EACf,SAAS,EAAE,IAAI,GACd,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC;IAWvC,WAAW,CACf,QAAQ,EAAE,IAAI,EACd,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAC/C,OAAO,CAAC;QAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAiF9E,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IA8D5E,oBAAoB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BvE,mBAAmB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BtE,kBAAkB,CACtB,QAAQ,EAAE,IAAI,EACd,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAAE,SAAS,EAAE,sBAAsB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAC7F,OAAO,CAAC;QAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;YAmGzE,sBAAsB;CA0DrC"}
|
|
@@ -2,6 +2,7 @@ import { and, count, desc, eq, inArray, isNotNull, isNull, or, SQL, sql } from '
|
|
|
2
2
|
import { createDomainError, createLogger, makeConflictError, makeNotFoundError, pageToOffset, serializeRow, } from '@openora/core/server';
|
|
3
3
|
import { chatUserBlock, chatUserIgnore } from '@openora/core/engagement/schema/chat';
|
|
4
4
|
import { player } from '@openora/core/pam/schema/profile';
|
|
5
|
+
import { user } from '@openora/core/pam/schema/identity';
|
|
5
6
|
import { friendship } from '../schema/index.js';
|
|
6
7
|
const logger = createLogger('social');
|
|
7
8
|
const ONLINE_STATUS_WINDOW_MS = 3 * 60 * 1000;
|
|
@@ -58,15 +59,25 @@ export class SocialService {
|
|
|
58
59
|
this.events = events;
|
|
59
60
|
this.identityReader = identityReader;
|
|
60
61
|
}
|
|
62
|
+
/** `player` rows widened with the identity-owned handle. */
|
|
63
|
+
playersWithUsername(where) {
|
|
64
|
+
return this.drizzle.db
|
|
65
|
+
.select({
|
|
66
|
+
userId: player.userId,
|
|
67
|
+
username: user.username,
|
|
68
|
+
status: player.status,
|
|
69
|
+
lastSeenAt: player.lastSeenAt,
|
|
70
|
+
})
|
|
71
|
+
.from(player)
|
|
72
|
+
.innerJoin(user, eq(user.id, player.userId))
|
|
73
|
+
.where(where);
|
|
74
|
+
}
|
|
61
75
|
async sendFriendRequest(callerId, targetUserId) {
|
|
62
76
|
if (targetUserId === callerId) {
|
|
63
77
|
throw new SelfFriendRequestError();
|
|
64
78
|
}
|
|
65
79
|
// Batched: caller + target resolved in one query rather than two round trips.
|
|
66
|
-
const players = await this.
|
|
67
|
-
.select({ userId: player.userId, displayName: player.displayName, status: player.status })
|
|
68
|
-
.from(player)
|
|
69
|
-
.where(inArray(player.userId, [callerId, targetUserId]));
|
|
80
|
+
const players = await this.playersWithUsername(inArray(player.userId, [callerId, targetUserId]));
|
|
70
81
|
const targetPlayer = players.find((p) => p.userId === targetUserId);
|
|
71
82
|
const callerPlayer = players.find((p) => p.userId === callerId);
|
|
72
83
|
if (!targetPlayer) {
|
|
@@ -110,7 +121,7 @@ export class SocialService {
|
|
|
110
121
|
friendshipId: inserted.id,
|
|
111
122
|
requesterId: inserted.requesterId,
|
|
112
123
|
addresseeId: inserted.addresseeId,
|
|
113
|
-
|
|
124
|
+
requesterUsername: callerPlayer.username,
|
|
114
125
|
});
|
|
115
126
|
return toFriendshipDto(inserted);
|
|
116
127
|
}
|
|
@@ -120,7 +131,7 @@ export class SocialService {
|
|
|
120
131
|
requesterId: accepted.requesterId,
|
|
121
132
|
addresseeId: accepted.addresseeId,
|
|
122
133
|
accepterId: callerId,
|
|
123
|
-
|
|
134
|
+
accepterUsername: callerPlayer.username,
|
|
124
135
|
});
|
|
125
136
|
return toFriendshipDto(accepted);
|
|
126
137
|
}
|
|
@@ -262,15 +273,7 @@ export class SocialService {
|
|
|
262
273
|
const otherUserIds = rows.map((row) => row.requesterId === callerId ? row.addresseeId : row.requesterId);
|
|
263
274
|
const [players, ignores] = otherUserIds.length > 0
|
|
264
275
|
? await Promise.all([
|
|
265
|
-
this.
|
|
266
|
-
.select({
|
|
267
|
-
userId: player.userId,
|
|
268
|
-
displayName: player.displayName,
|
|
269
|
-
lastSeenAt: player.lastSeenAt,
|
|
270
|
-
status: player.status,
|
|
271
|
-
})
|
|
272
|
-
.from(player)
|
|
273
|
-
.where(inArray(player.userId, otherUserIds)),
|
|
276
|
+
this.playersWithUsername(inArray(player.userId, otherUserIds)),
|
|
274
277
|
this.drizzle.db
|
|
275
278
|
.select({ ignoredId: chatUserIgnore.ignoredId })
|
|
276
279
|
.from(chatUserIgnore)
|
|
@@ -284,7 +287,7 @@ export class SocialService {
|
|
|
284
287
|
const userId = row.requesterId === callerId ? row.addresseeId : row.requesterId;
|
|
285
288
|
const targetPlayer = playerByUserId.get(userId);
|
|
286
289
|
if (!targetPlayer) {
|
|
287
|
-
logger.error({ friendshipId: row.id, userId }, 'listFriends: player
|
|
290
|
+
logger.error({ friendshipId: row.id, userId }, 'listFriends: no player+user pair for friend');
|
|
288
291
|
return [];
|
|
289
292
|
}
|
|
290
293
|
if (targetPlayer.status === 'suspended' || targetPlayer.status === 'closed') {
|
|
@@ -296,7 +299,7 @@ export class SocialService {
|
|
|
296
299
|
serializeRow({
|
|
297
300
|
userId,
|
|
298
301
|
friendshipId: row.id,
|
|
299
|
-
|
|
302
|
+
username: targetPlayer.username,
|
|
300
303
|
status: isOnline ? 'online' : 'offline',
|
|
301
304
|
lastSeenAt: targetPlayer.lastSeenAt,
|
|
302
305
|
isIgnored: ignoredIds.has(userId),
|
|
@@ -329,10 +332,7 @@ export class SocialService {
|
|
|
329
332
|
if (!updated) {
|
|
330
333
|
throw new FriendRequestNotFoundError(friendshipId);
|
|
331
334
|
}
|
|
332
|
-
const [callerPlayer] = await this.
|
|
333
|
-
.select({ displayName: player.displayName })
|
|
334
|
-
.from(player)
|
|
335
|
-
.where(eq(player.userId, callerId));
|
|
335
|
+
const [callerPlayer] = await this.playersWithUsername(eq(player.userId, callerId));
|
|
336
336
|
if (!callerPlayer) {
|
|
337
337
|
// Invariant: an authenticated caller always has a player row (see
|
|
338
338
|
// sendFriendRequest's same guard).
|
|
@@ -343,7 +343,7 @@ export class SocialService {
|
|
|
343
343
|
requesterId: updated.requesterId,
|
|
344
344
|
addresseeId: updated.addresseeId,
|
|
345
345
|
accepterId: callerId,
|
|
346
|
-
|
|
346
|
+
accepterUsername: callerPlayer.username,
|
|
347
347
|
});
|
|
348
348
|
return toFriendshipDto(updated);
|
|
349
349
|
}
|
|
@@ -404,14 +404,7 @@ export class SocialService {
|
|
|
404
404
|
const counterpartIds = rows.map((row) => direction === 'incoming' ? row.requesterId : row.addresseeId);
|
|
405
405
|
const [players, mutualCounts, blocks] = await Promise.all([
|
|
406
406
|
counterpartIds.length > 0
|
|
407
|
-
? this.
|
|
408
|
-
.select({
|
|
409
|
-
userId: player.userId,
|
|
410
|
-
displayName: player.displayName,
|
|
411
|
-
status: player.status,
|
|
412
|
-
})
|
|
413
|
-
.from(player)
|
|
414
|
-
.where(inArray(player.userId, counterpartIds))
|
|
407
|
+
? this.playersWithUsername(inArray(player.userId, counterpartIds))
|
|
415
408
|
: Promise.resolve([]),
|
|
416
409
|
direction === 'incoming' && counterpartIds.length > 0
|
|
417
410
|
? this.getMutualFriendsCounts(callerId, counterpartIds)
|
|
@@ -430,7 +423,7 @@ export class SocialService {
|
|
|
430
423
|
const counterpartId = direction === 'incoming' ? row.requesterId : row.addresseeId;
|
|
431
424
|
const counterpartPlayer = playerByUserId.get(counterpartId);
|
|
432
425
|
if (!counterpartPlayer) {
|
|
433
|
-
logger.error({ friendshipId: row.id, counterpartId }, 'listFriendRequests: player
|
|
426
|
+
logger.error({ friendshipId: row.id, counterpartId }, 'listFriendRequests: no player+user pair for counterpart');
|
|
434
427
|
return [];
|
|
435
428
|
}
|
|
436
429
|
if (counterpartPlayer.status === 'suspended' || counterpartPlayer.status === 'closed') {
|
|
@@ -443,7 +436,7 @@ export class SocialService {
|
|
|
443
436
|
serializeRow({
|
|
444
437
|
friendshipId: row.id,
|
|
445
438
|
userId: counterpartId,
|
|
446
|
-
|
|
439
|
+
username: counterpartPlayer.username,
|
|
447
440
|
direction,
|
|
448
441
|
createdAt: row.createdAt,
|
|
449
442
|
mutualFriendsCount: direction === 'incoming' ? (mutualCounts.get(counterpartId) ?? 0) : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social.service.js","sourceRoot":"","sources":["../../../../src/engagement/social/service/social.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"social.service.js","sourceRoot":"","sources":["../../../../src/engagement/social/service/social.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ declare const _default: {
|
|
|
23
23
|
ERROR_TRACKING: import("@openora/core/contracts").Token<import("@openora/core/contracts").ErrorTrackingAdapter>;
|
|
24
24
|
EVENT_BUS: import("@openora/core/contracts").Token<import("@openora/core/server").EventBus>;
|
|
25
25
|
GAME_ADAPTER: import("@openora/core/contracts").Token<import("@openora/core/contracts").GameAdapter>;
|
|
26
|
+
GEO_CHECK_COMMANDS: import("@openora/core/contracts").Token<import("@openora/core/contracts").GeoCheckCommands>;
|
|
26
27
|
GEO_IP_ADAPTER: import("@openora/core/contracts").Token<import("@openora/core/contracts").GeoIpAdapter>;
|
|
27
28
|
GIFT_COMMANDS: import("@openora/core/contracts").Token<import("@openora/core/contracts").GiftCommands>;
|
|
28
29
|
IDENTITY_OPTIONS: import("@openora/core/contracts").Token<import("@openora/core/contracts").IdentityServiceOptions>;
|
|
@@ -92,9 +93,14 @@ declare const _default: {
|
|
|
92
93
|
wallet?: {
|
|
93
94
|
cryptoCurrencies?: string[] | undefined;
|
|
94
95
|
} | undefined;
|
|
96
|
+
registration?: {
|
|
97
|
+
termsVersion: string;
|
|
98
|
+
webUrl: string;
|
|
99
|
+
} | undefined;
|
|
95
100
|
supportedLanguages?: string[] | undefined;
|
|
96
101
|
}, string>;
|
|
97
102
|
PLAYER_ACTIVITY_TRACKER: import("@openora/core/contracts").Token<import("@openora/core/contracts").PlayerActivityTracker>;
|
|
103
|
+
PLAYER_PROVISIONING: import("@openora/core/contracts").Token<import("@openora/core/contracts").PlayerProvisioning>;
|
|
98
104
|
PLAYER_TAGS: import("@openora/core/contracts").Token<import("@openora/core/contracts").PlayerTags>;
|
|
99
105
|
PLAY_ELIGIBILITY: import("@openora/core/contracts").Token<import("@openora/core/contracts").PlayEligibilityPort>;
|
|
100
106
|
RAIN_COMMANDS: import("@openora/core/contracts").Token<import("@openora/core/contracts").RainCommands>;
|
|
@@ -104,6 +110,7 @@ declare const _default: {
|
|
|
104
110
|
RNG_ADAPTER: import("@openora/core/contracts").Token<import("@openora/core/contracts").RngAdapter>;
|
|
105
111
|
SEND_EMAIL: import("@openora/core/contracts").Token<import("@openora/core/contracts").SendEmailPort>;
|
|
106
112
|
SESSION_COMMANDS: import("@openora/core/contracts").Token<import("@openora/core/contracts").SessionCommands>;
|
|
113
|
+
USER_COMMANDS: import("@openora/core/contracts").Token<import("@openora/core/contracts").UserCommands>;
|
|
107
114
|
SMS_ADAPTER: import("@openora/core/contracts").Token<import("@openora/core/contracts").SmsAdapter>;
|
|
108
115
|
SOCIAL_COMMANDS: import("@openora/core/contracts").Token<import("@openora/core/contracts").SocialCommands>;
|
|
109
116
|
TAG_EVALUATION_COMMANDS: import("@openora/core/contracts").Token<import("@openora/core/contracts").TagEvaluationCommands>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/engagement/social-transfers/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/engagement/social-transfers/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,wBA2B8C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/social-transfers/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/social-transfers/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,sBAAsB,EAWvB,MAAM,wCAAwC,CAAC;AAEhD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBtE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { implement } from '@orpc/server';
|
|
2
2
|
import { mapErrors, getUserId } from '@openora/core/server';
|
|
3
3
|
import { socialTransfersContract } from '../contract/index.js';
|
|
4
|
-
import { CommandDisabledError, InsufficientBalanceError, ExceedsLimitError, BelowMinimumError, DonateSelfError, ChatPlayerNotFoundError, ChatCommandIdempotencyKeyReuseError, ConcurrentCommandReplayError, ChatRoomNotMemberError, } from '../service/social-transfers.service.js';
|
|
4
|
+
import { CommandDisabledError, InsufficientBalanceError, ExceedsLimitError, BelowMinimumError, DonateSelfError, BlockedRecipientError, ChatPlayerNotFoundError, ChatCommandIdempotencyKeyReuseError, ConcurrentCommandReplayError, ChatRoomNotMemberError, } from '../service/social-transfers.service.js';
|
|
5
5
|
export function createSocialTransfersRouter(svc) {
|
|
6
6
|
const os = implement(socialTransfersContract).$context();
|
|
7
7
|
return os.router({
|
|
@@ -14,6 +14,7 @@ export function createSocialTransfersRouter(svc) {
|
|
|
14
14
|
ExceedsLimitError,
|
|
15
15
|
BelowMinimumError,
|
|
16
16
|
DonateSelfError,
|
|
17
|
+
BlockedRecipientError,
|
|
17
18
|
ChatCommandIdempotencyKeyReuseError,
|
|
18
19
|
ConcurrentCommandReplayError,
|
|
19
20
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/social-transfers/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAEL,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,mCAAmC,EACnC,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,UAAU,2BAA2B,CAAC,GAA2B;IACrE,MAAM,EAAE,GAAG,SAAS,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAc,CAAC;IAErE,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACvD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,SAAS,CACd;gBACE,SAAS,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;gBAC1D,QAAQ,EAAE;oBACR,wBAAwB;oBACxB,iBAAiB;oBACjB,iBAAiB;oBACjB,eAAe;oBACf,mCAAmC;oBACnC,4BAA4B;iBAC7B;gBACD,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC,EACD,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CACrC,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/social-transfers/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAEL,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mCAAmC,EACnC,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,UAAU,2BAA2B,CAAC,GAA2B;IACrE,MAAM,EAAE,GAAG,SAAS,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAc,CAAC;IAErE,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACvD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,SAAS,CACd;gBACE,SAAS,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;gBAC1D,QAAQ,EAAE;oBACR,wBAAwB;oBACxB,iBAAiB;oBACjB,iBAAiB;oBACjB,eAAe;oBACf,qBAAqB;oBACrB,mCAAmC;oBACnC,4BAA4B;iBAC7B;gBACD,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC,EACD,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CACrC,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,20 +1,13 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { describe, it, expect, beforeAll, afterAll, beforeEach } from 'vitest';
|
|
3
3
|
import { sql } from 'drizzle-orm';
|
|
4
|
-
import { createTestDb } from '@openora/core/testing';
|
|
4
|
+
import { createTestDb, seedUser } from '@openora/core/testing';
|
|
5
5
|
import { migrate as migrateIdentity } from '@openora/core/pam/migrate/identity';
|
|
6
6
|
import { user, session } from '@openora/core/pam/schema/identity';
|
|
7
7
|
import { DrizzleAdminPlayerActivity } from '../adapters/admin-player-activity.js';
|
|
8
8
|
let db;
|
|
9
9
|
let activity;
|
|
10
10
|
const AT = (iso) => new Date(iso);
|
|
11
|
-
async function seedUser(createdAt) {
|
|
12
|
-
const [row] = await db.drizzle.db
|
|
13
|
-
.insert(user)
|
|
14
|
-
.values({ name: 'U', email: `${randomUUID()}@x.dev`, createdAt })
|
|
15
|
-
.returning();
|
|
16
|
-
return row;
|
|
17
|
-
}
|
|
18
11
|
async function seedSession(userId, updatedAt) {
|
|
19
12
|
await db.drizzle.db.insert(session).values({
|
|
20
13
|
userId,
|
|
@@ -36,9 +29,9 @@ beforeEach(async () => {
|
|
|
36
29
|
});
|
|
37
30
|
describe('DrizzleAdminPlayerActivity.getRegistrationsOverTime (real PG)', () => {
|
|
38
31
|
it('counts registrations per day and includes zero-registration days', async () => {
|
|
39
|
-
await seedUser(AT('2026-01-01T10:00:00.000Z'));
|
|
40
|
-
await seedUser(AT('2026-01-01T15:00:00.000Z'));
|
|
41
|
-
await seedUser(AT('2026-01-03T00:00:00.000Z'));
|
|
32
|
+
await seedUser(db, { name: 'U', createdAt: AT('2026-01-01T10:00:00.000Z') });
|
|
33
|
+
await seedUser(db, { name: 'U', createdAt: AT('2026-01-01T15:00:00.000Z') });
|
|
34
|
+
await seedUser(db, { name: 'U', createdAt: AT('2026-01-03T00:00:00.000Z') });
|
|
42
35
|
const rows = await activity.getRegistrationsOverTime({
|
|
43
36
|
dateFrom: AT('2026-01-01T00:00:00.000Z'),
|
|
44
37
|
dateTo: AT('2026-01-03T00:00:00.000Z'),
|
|
@@ -52,8 +45,8 @@ describe('DrizzleAdminPlayerActivity.getRegistrationsOverTime (real PG)', () =>
|
|
|
52
45
|
});
|
|
53
46
|
describe('DrizzleAdminPlayerActivity.getActiveUsersTrend (real PG)', () => {
|
|
54
47
|
it('computes distinct DAU/WAU/MAU per day from session activity', async () => {
|
|
55
|
-
const alice = await seedUser(AT('2025-11-01T00:00:00.000Z'));
|
|
56
|
-
const bob = await seedUser(AT('2025-11-01T00:00:00.000Z'));
|
|
48
|
+
const alice = await seedUser(db, { name: 'U', createdAt: AT('2025-11-01T00:00:00.000Z') });
|
|
49
|
+
const bob = await seedUser(db, { name: 'U', createdAt: AT('2025-11-01T00:00:00.000Z') });
|
|
57
50
|
// Alice active on the target day; Bob active 5 days earlier (inside WAU/MAU, outside DAU).
|
|
58
51
|
await seedSession(alice.id, AT('2026-01-10T12:00:00.000Z'));
|
|
59
52
|
await seedSession(bob.id, AT('2026-01-05T12:00:00.000Z'));
|
|
@@ -64,7 +57,7 @@ describe('DrizzleAdminPlayerActivity.getActiveUsersTrend (real PG)', () => {
|
|
|
64
57
|
expect(rows).toEqual([{ date: '2026-01-10', dau: 1, wau: 2, mau: 2 }]);
|
|
65
58
|
});
|
|
66
59
|
it('excludes a session outside every window from all three counts', async () => {
|
|
67
|
-
const alice = await seedUser(AT('2025-11-01T00:00:00.000Z'));
|
|
60
|
+
const alice = await seedUser(db, { name: 'U', createdAt: AT('2025-11-01T00:00:00.000Z') });
|
|
68
61
|
await seedSession(alice.id, AT('2025-12-01T00:00:00.000Z'));
|
|
69
62
|
const rows = await activity.getActiveUsersTrend({
|
|
70
63
|
dateFrom: AT('2026-01-10T00:00:00.000Z'),
|
|
@@ -73,7 +66,7 @@ describe('DrizzleAdminPlayerActivity.getActiveUsersTrend (real PG)', () => {
|
|
|
73
66
|
expect(rows).toEqual([{ date: '2026-01-10', dau: 0, wau: 0, mau: 0 }]);
|
|
74
67
|
});
|
|
75
68
|
it('counts a user with two sessions on the same day only once', async () => {
|
|
76
|
-
const alice = await seedUser(AT('2025-11-01T00:00:00.000Z'));
|
|
69
|
+
const alice = await seedUser(db, { name: 'U', createdAt: AT('2025-11-01T00:00:00.000Z') });
|
|
77
70
|
await seedSession(alice.id, AT('2026-01-10T08:00:00.000Z'));
|
|
78
71
|
await seedSession(alice.id, AT('2026-01-10T18:00:00.000Z'));
|
|
79
72
|
const rows = await activity.getActiveUsersTrend({
|
|
@@ -85,7 +78,7 @@ describe('DrizzleAdminPlayerActivity.getActiveUsersTrend (real PG)', () => {
|
|
|
85
78
|
});
|
|
86
79
|
describe('DrizzleAdminPlayerActivity.getRetentionCohorts (real PG)', () => {
|
|
87
80
|
it('does not count the registration-day session itself as a return', async () => {
|
|
88
|
-
const alice = await seedUser(AT('2026-01-01T10:00:00.000Z'));
|
|
81
|
+
const alice = await seedUser(db, { name: 'U', createdAt: AT('2026-01-01T10:00:00.000Z') });
|
|
89
82
|
// Only session is the one created at registration - should NOT count as returned.
|
|
90
83
|
await seedSession(alice.id, AT('2026-01-01T10:00:00.000Z'));
|
|
91
84
|
const rows = await activity.getRetentionCohorts({ dateFrom: AT('2026-01-01T00:00:00.000Z'), dateTo: AT('2026-01-02T00:00:00.000Z') }, 7);
|
|
@@ -94,26 +87,26 @@ describe('DrizzleAdminPlayerActivity.getRetentionCohorts (real PG)', () => {
|
|
|
94
87
|
]);
|
|
95
88
|
});
|
|
96
89
|
it('counts a session the next calendar day even if less than 24h after registration', async () => {
|
|
97
|
-
const alice = await seedUser(AT('2026-01-01T23:00:00.000Z'));
|
|
90
|
+
const alice = await seedUser(db, { name: 'U', createdAt: AT('2026-01-01T23:00:00.000Z') });
|
|
98
91
|
await seedSession(alice.id, AT('2026-01-02T09:00:00.000Z'));
|
|
99
92
|
const rows = await activity.getRetentionCohorts({ dateFrom: AT('2026-01-01T00:00:00.000Z'), dateTo: AT('2026-01-02T00:00:00.000Z') }, 7);
|
|
100
93
|
expect(rows[0]).toMatchObject({ cohortSize: 1, returned: 1, returnRate: 1 });
|
|
101
94
|
});
|
|
102
95
|
it('counts a session on the day after registration as returned', async () => {
|
|
103
|
-
const alice = await seedUser(AT('2026-01-01T10:00:00.000Z'));
|
|
96
|
+
const alice = await seedUser(db, { name: 'U', createdAt: AT('2026-01-01T10:00:00.000Z') });
|
|
104
97
|
await seedSession(alice.id, AT('2026-01-02T10:00:00.000Z'));
|
|
105
98
|
const rows = await activity.getRetentionCohorts({ dateFrom: AT('2026-01-01T00:00:00.000Z'), dateTo: AT('2026-01-02T00:00:00.000Z') }, 7);
|
|
106
99
|
expect(rows[0]).toMatchObject({ cohortSize: 1, returned: 1, returnRate: 1 });
|
|
107
100
|
});
|
|
108
101
|
it('excludes a session after the retention window from the count', async () => {
|
|
109
|
-
const alice = await seedUser(AT('2026-01-01T10:00:00.000Z'));
|
|
102
|
+
const alice = await seedUser(db, { name: 'U', createdAt: AT('2026-01-01T10:00:00.000Z') });
|
|
110
103
|
await seedSession(alice.id, AT('2026-01-10T10:00:00.000Z'));
|
|
111
104
|
const rows = await activity.getRetentionCohorts({ dateFrom: AT('2026-01-01T00:00:00.000Z'), dateTo: AT('2026-01-02T00:00:00.000Z') }, 7);
|
|
112
105
|
expect(rows[0]).toMatchObject({ cohortSize: 1, returned: 0, returnRate: 0 });
|
|
113
106
|
});
|
|
114
107
|
it('flags an incomplete cohort whose window has not elapsed yet', async () => {
|
|
115
108
|
const now = new Date();
|
|
116
|
-
await seedUser(now);
|
|
109
|
+
await seedUser(db, { name: 'U', createdAt: now });
|
|
117
110
|
const rows = await activity.getRetentionCohorts({ dateFrom: now, dateTo: now }, 30);
|
|
118
111
|
expect(rows).toHaveLength(1);
|
|
119
112
|
expect(rows[0]?.isComplete).toBe(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-player-activity.int.test.js","sourceRoot":"","sources":["../../../src/iam/__tests__/admin-player-activity.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,YAAY,EAAe,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-player-activity.int.test.js","sourceRoot":"","sources":["../../../src/iam/__tests__/admin-player-activity.int.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { describe, it, expect, vi, beforeAll, afterAll, beforeEach } from 'vites
|
|
|
3
3
|
import { sql, eq } from 'drizzle-orm';
|
|
4
4
|
import { makeIdentityReader, mock, NO_CLIENT_META, makeEventBus } from '../../testing/mock.js';
|
|
5
5
|
import { statement, findOneOrThrow, RedisCache, RedisRateLimiter, } from '@openora/core/server';
|
|
6
|
-
import { createTestDb, createTestRedis } from '@openora/core/testing';
|
|
6
|
+
import { createTestDb, createTestRedis, seedUser, } from '@openora/core/testing';
|
|
7
7
|
import { migrate as migrateIam } from '@openora/core/iam/migrate';
|
|
8
8
|
import { migrate as migrateIdentity } from '@openora/core/pam/migrate/identity';
|
|
9
9
|
import { user } from '@openora/core/pam/schema/identity';
|
|
@@ -32,13 +32,6 @@ async function seedRole(overrides = {}) {
|
|
|
32
32
|
.returning();
|
|
33
33
|
return row;
|
|
34
34
|
}
|
|
35
|
-
async function seedUser(role) {
|
|
36
|
-
const [row] = await db.drizzle.db
|
|
37
|
-
.insert(user)
|
|
38
|
-
.values({ name: 'U', email: `${randomUUID()}@x.dev`, role })
|
|
39
|
-
.returning();
|
|
40
|
-
return row;
|
|
41
|
-
}
|
|
42
35
|
async function seedAssignment(userId, roleId) {
|
|
43
36
|
await db.drizzle.db.insert(adminRoleAssignment).values({ userId, roleId });
|
|
44
37
|
}
|
|
@@ -293,7 +286,7 @@ describe('IamService.deleteRole', () => {
|
|
|
293
286
|
describe('IamService.assignRole', () => {
|
|
294
287
|
it('dedupes an existing assignment without inserting again (unique index)', async () => {
|
|
295
288
|
const role = await seedRole();
|
|
296
|
-
const target = await seedUser('admin');
|
|
289
|
+
const target = await seedUser(db, { name: 'U', role: 'admin' });
|
|
297
290
|
await seedAssignment(target.id, role.id);
|
|
298
291
|
const events = makeEventBus();
|
|
299
292
|
const svc = makeIamService(db.drizzle, events, makeEmail());
|
|
@@ -310,7 +303,7 @@ describe('IamService.assignRole', () => {
|
|
|
310
303
|
});
|
|
311
304
|
it('rejects assigning a role to a non-admin (player) account', async () => {
|
|
312
305
|
const role = await seedRole();
|
|
313
|
-
const player = await seedUser('player');
|
|
306
|
+
const player = await seedUser(db, { name: 'U', role: 'player' });
|
|
314
307
|
const svc = makeIamService(db.drizzle, makeEventBus(), makeEmail());
|
|
315
308
|
await expect(svc.assignRole({ userId: player.id, roleId: role.id, caller: ADMIN_CALLER })).rejects.toThrow(NotAnAdminUserError);
|
|
316
309
|
});
|
|
@@ -321,7 +314,7 @@ describe('IamService.assignRole', () => {
|
|
|
321
314
|
});
|
|
322
315
|
it('the unique index keeps two concurrent assigns from double-inserting', async () => {
|
|
323
316
|
const role = await seedRole();
|
|
324
|
-
const target = await seedUser('admin');
|
|
317
|
+
const target = await seedUser(db, { name: 'U', role: 'admin' });
|
|
325
318
|
const svc = makeIamService(db.drizzle, makeEventBus(), makeEmail());
|
|
326
319
|
await Promise.allSettled([
|
|
327
320
|
svc.assignRole({ userId: target.id, roleId: role.id, caller: ADMIN_CALLER }),
|
|
@@ -405,7 +398,7 @@ describe('IamService.previewEffectivePermissions', () => {
|
|
|
405
398
|
expect(result.permissions.every((p) => p.level === 'read_write')).toBe(true);
|
|
406
399
|
});
|
|
407
400
|
it('falls back to static role permissions when the user has no dynamic role assignments', async () => {
|
|
408
|
-
const u = await seedUser('support');
|
|
401
|
+
const u = await seedUser(db, { name: 'U', role: 'support' });
|
|
409
402
|
const svc = makeIamService(db.drizzle, makeEventBus(), makeEmail());
|
|
410
403
|
const result = await svc.previewEffectivePermissions({ userId: u.id });
|
|
411
404
|
expect(result.permissions).not.toHaveLength(0);
|