@openora/core 0.4.1-canary.78 → 0.4.1-canary.80
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/__tests__/backoffice.router.test.js +4 -1
- package/dist/admin-console/__tests__/backoffice.router.test.js.map +1 -1
- package/dist/admin-console/__tests__/backoffice.service.int.test.js +62 -12
- package/dist/admin-console/__tests__/backoffice.service.int.test.js.map +1 -1
- package/dist/admin-console/contract/index.d.ts +16 -0
- package/dist/admin-console/contract/index.d.ts.map +1 -1
- package/dist/admin-console/contract/index.js +1 -0
- package/dist/admin-console/contract/index.js.map +1 -1
- package/dist/admin-console/plugin.d.ts +1 -0
- package/dist/admin-console/plugin.d.ts.map +1 -1
- package/dist/admin-console/plugin.js +2 -2
- package/dist/admin-console/plugin.js.map +1 -1
- package/dist/admin-console/router/index.d.ts +12 -0
- package/dist/admin-console/router/index.d.ts.map +1 -1
- package/dist/admin-console/service/backoffice.service.d.ts +45 -5
- package/dist/admin-console/service/backoffice.service.d.ts.map +1 -1
- package/dist/admin-console/service/backoffice.service.js +29 -6
- package/dist/admin-console/service/backoffice.service.js.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 +24 -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-role-assignment-directory.d.ts +12 -0
- package/dist/contracts/adapters/admin-role-assignment-directory.d.ts.map +1 -0
- package/dist/contracts/adapters/admin-role-assignment-directory.js +3 -0
- package/dist/contracts/adapters/admin-role-assignment-directory.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/schemas/events.d.ts +14 -0
- package/dist/contracts/schemas/events.d.ts.map +1 -1
- package/dist/contracts/schemas/events.js +10 -9
- package/dist/contracts/schemas/events.js.map +1 -1
- package/dist/engagement/chat/plugin.d.ts +1 -0
- package/dist/engagement/chat/plugin.d.ts.map +1 -1
- package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
- package/dist/engagement/chat/service/chat.service.js +8 -0
- package/dist/engagement/chat/service/chat.service.js.map +1 -1
- package/dist/engagement/chat-commands/plugin.d.ts +1 -0
- package/dist/engagement/chat-commands/plugin.d.ts.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/__tests__/social.router.int.test.js +80 -0
- package/dist/engagement/social/__tests__/social.router.int.test.js.map +1 -1
- package/dist/engagement/social/__tests__/social.service.int.test.js +336 -1
- package/dist/engagement/social/__tests__/social.service.int.test.js.map +1 -1
- package/dist/engagement/social/contract/index.d.ts +74 -0
- package/dist/engagement/social/contract/index.d.ts.map +1 -1
- package/dist/engagement/social/contract/index.js +33 -0
- package/dist/engagement/social/contract/index.js.map +1 -1
- package/dist/engagement/social/drizzle/migrations/0004_friendship-cancel-constraint.sql +2 -0
- package/dist/engagement/social/drizzle/migrations/meta/0004_snapshot.json +145 -0
- package/dist/engagement/social/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/engagement/social/plugin.d.ts +1 -0
- package/dist/engagement/social/plugin.d.ts.map +1 -1
- package/dist/engagement/social/router/index.d.ts +43 -0
- package/dist/engagement/social/router/index.d.ts.map +1 -1
- package/dist/engagement/social/router/index.js +27 -1
- package/dist/engagement/social/router/index.js.map +1 -1
- package/dist/engagement/social/schema/index.js +1 -1
- package/dist/engagement/social/schema/index.js.map +1 -1
- package/dist/engagement/social/service/social.service.d.ts +16 -16
- package/dist/engagement/social/service/social.service.d.ts.map +1 -1
- package/dist/engagement/social/service/social.service.js +183 -39
- package/dist/engagement/social/service/social.service.js.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/iam/adapters/admin-role-assignment-directory.d.ts +8 -0
- package/dist/iam/adapters/admin-role-assignment-directory.d.ts.map +1 -0
- package/dist/iam/adapters/admin-role-assignment-directory.js +23 -0
- package/dist/iam/adapters/admin-role-assignment-directory.js.map +1 -0
- package/dist/iam/plugin.d.ts +1 -0
- package/dist/iam/plugin.d.ts.map +1 -1
- package/dist/iam/plugin.js +3 -1
- package/dist/iam/plugin.js.map +1 -1
- package/dist/pam/identity/adapters/identity-reader.service.d.ts.map +1 -1
- package/dist/pam/identity/adapters/identity-reader.service.js +5 -2
- package/dist/pam/identity/adapters/identity-reader.service.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/plugin.d.ts +1 -0
- package/dist/pam/tag/plugin.d.ts.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/wallet/plugin.d.ts +1 -0
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -9,7 +9,7 @@ import { migrate as migrateProfile } from '@openora/core/pam/migrate/profile';
|
|
|
9
9
|
import { makeEventBus, makeIdentityReader } from '../../../testing/mock.js';
|
|
10
10
|
import { migrate } from '../migrate.js';
|
|
11
11
|
import { friendship } from '../schema/index.js';
|
|
12
|
-
import { SocialService, SelfFriendRequestError, FriendRequestTargetNotFoundError, FriendRequestUnavailableError, AlreadyFriendsError, RequestAlreadyPendingError, FriendRequestRefusedError, BlockedBySelfError, FriendshipNotFoundError, } from '../service/social.service.js';
|
|
12
|
+
import { SocialService, SelfFriendRequestError, FriendRequestTargetNotFoundError, FriendRequestUnavailableError, AlreadyFriendsError, RequestAlreadyPendingError, FriendRequestRefusedError, BlockedBySelfError, FriendshipNotFoundError, FriendRequestNotFoundError, } from '../service/social.service.js';
|
|
13
13
|
let db;
|
|
14
14
|
function realIdentityReader() {
|
|
15
15
|
return {
|
|
@@ -184,6 +184,21 @@ describe('SocialService.getRelationships (real PG)', () => {
|
|
|
184
184
|
{ userId: other.userId, status: 'none', friendshipId: null, canSendRequest: true },
|
|
185
185
|
]);
|
|
186
186
|
});
|
|
187
|
+
it('returns none + canSendRequest true for both sides after a decline (regression: previously stuck on refused/canSendRequest:false forever)', async () => {
|
|
188
|
+
const { svc } = makeService();
|
|
189
|
+
const requester = await seedPlayer();
|
|
190
|
+
const addressee = await seedPlayer();
|
|
191
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
192
|
+
await svc.declineFriendRequest(addressee.userId, request.id);
|
|
193
|
+
const fromRequester = await svc.getRelationships(requester.userId, [addressee.userId]);
|
|
194
|
+
const fromAddressee = await svc.getRelationships(addressee.userId, [requester.userId]);
|
|
195
|
+
expect(fromRequester).toEqual([
|
|
196
|
+
{ userId: addressee.userId, status: 'none', friendshipId: null, canSendRequest: true },
|
|
197
|
+
]);
|
|
198
|
+
expect(fromAddressee).toEqual([
|
|
199
|
+
{ userId: requester.userId, status: 'none', friendshipId: null, canSendRequest: true },
|
|
200
|
+
]);
|
|
201
|
+
});
|
|
187
202
|
it('returns unavailable for a nonexistent user', async () => {
|
|
188
203
|
const { svc } = makeService();
|
|
189
204
|
const caller = await seedPlayer();
|
|
@@ -476,4 +491,324 @@ describe('SocialService.listFriends (real PG)', () => {
|
|
|
476
491
|
expect(result.items.map((i) => i.userId)).toEqual([friend.userId]);
|
|
477
492
|
});
|
|
478
493
|
});
|
|
494
|
+
describe('SocialService.acceptFriendRequest (real PG)', () => {
|
|
495
|
+
it('accepts a pending incoming request and emits social.friend_request.accepted', async () => {
|
|
496
|
+
const { svc, events } = makeService();
|
|
497
|
+
const requester = await seedPlayer({ displayName: 'Alice' });
|
|
498
|
+
const addressee = await seedPlayer({ displayName: 'Bob' });
|
|
499
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
500
|
+
events.emit.mockClear();
|
|
501
|
+
const result = await svc.acceptFriendRequest(addressee.userId, request.id);
|
|
502
|
+
expect(result.id).toBe(request.id);
|
|
503
|
+
expect(result.acceptedAt).toEqual(expect.any(String));
|
|
504
|
+
expect(events.emit).toHaveBeenCalledWith('social.friend_request.accepted', {
|
|
505
|
+
friendshipId: request.id,
|
|
506
|
+
requesterId: requester.userId,
|
|
507
|
+
addresseeId: addressee.userId,
|
|
508
|
+
accepterId: addressee.userId,
|
|
509
|
+
accepterDisplayName: 'Bob',
|
|
510
|
+
});
|
|
511
|
+
const [row] = await db.drizzle.db
|
|
512
|
+
.select()
|
|
513
|
+
.from(friendship)
|
|
514
|
+
.where(eq(friendship.id, request.id));
|
|
515
|
+
expect(row?.acceptedAt).toBeInstanceOf(Date);
|
|
516
|
+
});
|
|
517
|
+
it('throws FriendRequestNotFoundError when the caller is not the addressee', async () => {
|
|
518
|
+
const { svc, events } = makeService();
|
|
519
|
+
const requester = await seedPlayer();
|
|
520
|
+
const addressee = await seedPlayer();
|
|
521
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
522
|
+
events.emit.mockClear();
|
|
523
|
+
// The requester (wrong side) tries to accept their own outgoing request.
|
|
524
|
+
await expect(svc.acceptFriendRequest(requester.userId, request.id)).rejects.toBeInstanceOf(FriendRequestNotFoundError);
|
|
525
|
+
expect(events.emit).not.toHaveBeenCalled();
|
|
526
|
+
});
|
|
527
|
+
it('throws FriendRequestNotFoundError on a nonexistent friendshipId', async () => {
|
|
528
|
+
const { svc } = makeService();
|
|
529
|
+
const addressee = await seedPlayer();
|
|
530
|
+
await expect(svc.acceptFriendRequest(addressee.userId, randomUUID())).rejects.toBeInstanceOf(FriendRequestNotFoundError);
|
|
531
|
+
});
|
|
532
|
+
it('throws FriendRequestNotFoundError on a double-accept', async () => {
|
|
533
|
+
const { svc, events } = makeService();
|
|
534
|
+
const requester = await seedPlayer();
|
|
535
|
+
const addressee = await seedPlayer();
|
|
536
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
537
|
+
await svc.acceptFriendRequest(addressee.userId, request.id);
|
|
538
|
+
events.emit.mockClear();
|
|
539
|
+
await expect(svc.acceptFriendRequest(addressee.userId, request.id)).rejects.toBeInstanceOf(FriendRequestNotFoundError);
|
|
540
|
+
expect(events.emit).not.toHaveBeenCalled();
|
|
541
|
+
});
|
|
542
|
+
it.each([
|
|
543
|
+
[
|
|
544
|
+
'addressee blocked requester',
|
|
545
|
+
(requesterId, addresseeId) => seedBlock(addresseeId, requesterId),
|
|
546
|
+
],
|
|
547
|
+
[
|
|
548
|
+
'requester blocked addressee',
|
|
549
|
+
(requesterId, addresseeId) => seedBlock(requesterId, addresseeId),
|
|
550
|
+
],
|
|
551
|
+
])('throws FriendRequestUnavailableError when a block landed after the request was sent (%s)', async (_label, seedTheBlock) => {
|
|
552
|
+
const { svc, events } = makeService();
|
|
553
|
+
const requester = await seedPlayer();
|
|
554
|
+
const addressee = await seedPlayer();
|
|
555
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
556
|
+
await seedTheBlock(requester.userId, addressee.userId);
|
|
557
|
+
events.emit.mockClear();
|
|
558
|
+
await expect(svc.acceptFriendRequest(addressee.userId, request.id)).rejects.toBeInstanceOf(FriendRequestUnavailableError);
|
|
559
|
+
expect(events.emit).not.toHaveBeenCalled();
|
|
560
|
+
const [row] = await db.drizzle.db
|
|
561
|
+
.select()
|
|
562
|
+
.from(friendship)
|
|
563
|
+
.where(eq(friendship.id, request.id));
|
|
564
|
+
expect(row?.acceptedAt).toBeNull();
|
|
565
|
+
});
|
|
566
|
+
});
|
|
567
|
+
describe('SocialService.declineFriendRequest (real PG)', () => {
|
|
568
|
+
it('refuses a pending incoming request, emits social.friend_request.declined, and never emits a notification-triggering event', async () => {
|
|
569
|
+
const { svc, events } = makeService();
|
|
570
|
+
const requester = await seedPlayer();
|
|
571
|
+
const addressee = await seedPlayer();
|
|
572
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
573
|
+
events.emit.mockClear();
|
|
574
|
+
await svc.declineFriendRequest(addressee.userId, request.id);
|
|
575
|
+
expect(events.emit).toHaveBeenCalledWith('social.friend_request.declined', {
|
|
576
|
+
friendshipId: request.id,
|
|
577
|
+
requesterId: requester.userId,
|
|
578
|
+
addresseeId: addressee.userId,
|
|
579
|
+
});
|
|
580
|
+
expect(events.emit).not.toHaveBeenCalledWith('social.friend_request.accepted', expect.anything());
|
|
581
|
+
const [row] = await db.drizzle.db
|
|
582
|
+
.select()
|
|
583
|
+
.from(friendship)
|
|
584
|
+
.where(eq(friendship.id, request.id));
|
|
585
|
+
expect(row?.refusedAt).toBeNull();
|
|
586
|
+
expect(row?.removedAt).toBeInstanceOf(Date);
|
|
587
|
+
});
|
|
588
|
+
it('allows re-requesting the pair after a decline (regression: previously blocked forever)', async () => {
|
|
589
|
+
const { svc } = makeService();
|
|
590
|
+
const requester = await seedPlayer();
|
|
591
|
+
const addressee = await seedPlayer();
|
|
592
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
593
|
+
await svc.declineFriendRequest(addressee.userId, request.id);
|
|
594
|
+
const resent = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
595
|
+
expect(resent.id).not.toBe(request.id);
|
|
596
|
+
expect(resent.acceptedAt).toBeNull();
|
|
597
|
+
const rows = await db.drizzle.db.select().from(friendship);
|
|
598
|
+
expect(rows).toHaveLength(2);
|
|
599
|
+
});
|
|
600
|
+
it('throws FriendRequestNotFoundError when the caller is not the addressee', async () => {
|
|
601
|
+
const { svc } = makeService();
|
|
602
|
+
const requester = await seedPlayer();
|
|
603
|
+
const addressee = await seedPlayer();
|
|
604
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
605
|
+
await expect(svc.declineFriendRequest(requester.userId, request.id)).rejects.toBeInstanceOf(FriendRequestNotFoundError);
|
|
606
|
+
});
|
|
607
|
+
});
|
|
608
|
+
describe('SocialService.cancelFriendRequest (real PG)', () => {
|
|
609
|
+
it('soft-removes a pending outgoing request, emits social.friend_request.cancelled, and never emits a notification-triggering event', async () => {
|
|
610
|
+
const { svc, events } = makeService();
|
|
611
|
+
const requester = await seedPlayer();
|
|
612
|
+
const addressee = await seedPlayer();
|
|
613
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
614
|
+
events.emit.mockClear();
|
|
615
|
+
await svc.cancelFriendRequest(requester.userId, request.id);
|
|
616
|
+
expect(events.emit).toHaveBeenCalledWith('social.friend_request.cancelled', {
|
|
617
|
+
friendshipId: request.id,
|
|
618
|
+
requesterId: requester.userId,
|
|
619
|
+
addresseeId: addressee.userId,
|
|
620
|
+
});
|
|
621
|
+
expect(events.emit).not.toHaveBeenCalledWith('social.friend_request.accepted', expect.anything());
|
|
622
|
+
const [row] = await db.drizzle.db
|
|
623
|
+
.select()
|
|
624
|
+
.from(friendship)
|
|
625
|
+
.where(eq(friendship.id, request.id));
|
|
626
|
+
expect(row?.removedAt).toBeInstanceOf(Date);
|
|
627
|
+
expect(row?.refusedAt).toBeNull();
|
|
628
|
+
});
|
|
629
|
+
it('allows re-requesting the pair after a cancel (new behavior enabled by the constraint change)', async () => {
|
|
630
|
+
const { svc } = makeService();
|
|
631
|
+
const requester = await seedPlayer();
|
|
632
|
+
const addressee = await seedPlayer();
|
|
633
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
634
|
+
await svc.cancelFriendRequest(requester.userId, request.id);
|
|
635
|
+
const resent = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
636
|
+
expect(resent.id).not.toBe(request.id);
|
|
637
|
+
expect(resent.acceptedAt).toBeNull();
|
|
638
|
+
const rows = await db.drizzle.db.select().from(friendship);
|
|
639
|
+
expect(rows).toHaveLength(2);
|
|
640
|
+
});
|
|
641
|
+
it('throws FriendRequestNotFoundError when the caller is not the requester', async () => {
|
|
642
|
+
const { svc } = makeService();
|
|
643
|
+
const requester = await seedPlayer();
|
|
644
|
+
const addressee = await seedPlayer();
|
|
645
|
+
const request = await svc.sendFriendRequest(requester.userId, addressee.userId);
|
|
646
|
+
await expect(svc.cancelFriendRequest(addressee.userId, request.id)).rejects.toBeInstanceOf(FriendRequestNotFoundError);
|
|
647
|
+
});
|
|
648
|
+
});
|
|
649
|
+
describe('SocialService.listFriendRequests (real PG)', () => {
|
|
650
|
+
it('lists incoming pending requests, newest first, with mutualFriendsCount', async () => {
|
|
651
|
+
const { svc } = makeService();
|
|
652
|
+
const caller = await seedPlayer({ displayName: 'Caller' });
|
|
653
|
+
const senderA = await seedPlayer({ displayName: 'SenderA' });
|
|
654
|
+
const senderB = await seedPlayer({ displayName: 'SenderB' });
|
|
655
|
+
await svc.sendFriendRequest(senderA.userId, caller.userId);
|
|
656
|
+
await svc.sendFriendRequest(senderB.userId, caller.userId);
|
|
657
|
+
const result = await svc.listFriendRequests(caller.userId, {
|
|
658
|
+
direction: 'incoming',
|
|
659
|
+
page: 1,
|
|
660
|
+
limit: 20,
|
|
661
|
+
});
|
|
662
|
+
expect(result.total).toBe(2);
|
|
663
|
+
// newest first: senderB requested after senderA.
|
|
664
|
+
expect(result.items.map((i) => i.userId)).toEqual([senderB.userId, senderA.userId]);
|
|
665
|
+
for (const item of result.items) {
|
|
666
|
+
expect(item.direction).toBe('incoming');
|
|
667
|
+
expect(item.mutualFriendsCount).toBe(0);
|
|
668
|
+
}
|
|
669
|
+
});
|
|
670
|
+
it('lists outgoing pending requests with a null mutualFriendsCount', async () => {
|
|
671
|
+
const { svc } = makeService();
|
|
672
|
+
const caller = await seedPlayer({ displayName: 'Caller' });
|
|
673
|
+
const target = await seedPlayer({ displayName: 'Target' });
|
|
674
|
+
await svc.sendFriendRequest(caller.userId, target.userId);
|
|
675
|
+
const result = await svc.listFriendRequests(caller.userId, {
|
|
676
|
+
direction: 'outgoing',
|
|
677
|
+
page: 1,
|
|
678
|
+
limit: 20,
|
|
679
|
+
});
|
|
680
|
+
expect(result.total).toBe(1);
|
|
681
|
+
expect(result.items[0]).toMatchObject({
|
|
682
|
+
userId: target.userId,
|
|
683
|
+
displayName: 'Target',
|
|
684
|
+
direction: 'outgoing',
|
|
685
|
+
mutualFriendsCount: null,
|
|
686
|
+
});
|
|
687
|
+
});
|
|
688
|
+
it('excludes accepted, refused, and removed rows', async () => {
|
|
689
|
+
const { svc } = makeService();
|
|
690
|
+
const caller = await seedPlayer();
|
|
691
|
+
const accepted = await seedPlayer();
|
|
692
|
+
const refused = await seedPlayer();
|
|
693
|
+
const cancelled = await seedPlayer();
|
|
694
|
+
const pending = await seedPlayer({ displayName: 'StillPending' });
|
|
695
|
+
await makeFriends(svc, caller.userId, accepted.userId);
|
|
696
|
+
const refusedReq = await svc.sendFriendRequest(refused.userId, caller.userId);
|
|
697
|
+
await svc.declineFriendRequest(caller.userId, refusedReq.id);
|
|
698
|
+
const cancelledReq = await svc.sendFriendRequest(caller.userId, cancelled.userId);
|
|
699
|
+
await svc.cancelFriendRequest(caller.userId, cancelledReq.id);
|
|
700
|
+
await svc.sendFriendRequest(pending.userId, caller.userId);
|
|
701
|
+
const incoming = await svc.listFriendRequests(caller.userId, {
|
|
702
|
+
direction: 'incoming',
|
|
703
|
+
page: 1,
|
|
704
|
+
limit: 20,
|
|
705
|
+
});
|
|
706
|
+
expect(incoming.total).toBe(1);
|
|
707
|
+
expect(incoming.items[0]?.userId).toBe(pending.userId);
|
|
708
|
+
});
|
|
709
|
+
it.each(['suspended', 'closed'])('drops a pending sender whose account is %s', async (status) => {
|
|
710
|
+
const { svc } = makeService();
|
|
711
|
+
const caller = await seedPlayer();
|
|
712
|
+
const sender = await seedPlayer({ displayName: 'Sender' });
|
|
713
|
+
const unavailableSender = await seedPlayer({ displayName: 'Unavailable' });
|
|
714
|
+
await svc.sendFriendRequest(sender.userId, caller.userId);
|
|
715
|
+
await svc.sendFriendRequest(unavailableSender.userId, caller.userId);
|
|
716
|
+
await db.drizzle.db
|
|
717
|
+
.update(player)
|
|
718
|
+
.set({ status })
|
|
719
|
+
.where(eq(player.userId, unavailableSender.userId));
|
|
720
|
+
const result = await svc.listFriendRequests(caller.userId, {
|
|
721
|
+
direction: 'incoming',
|
|
722
|
+
page: 1,
|
|
723
|
+
limit: 20,
|
|
724
|
+
});
|
|
725
|
+
expect(result.items.map((i) => i.userId)).toEqual([sender.userId]);
|
|
726
|
+
});
|
|
727
|
+
it.each([
|
|
728
|
+
[
|
|
729
|
+
'caller blocked the sender',
|
|
730
|
+
(callerId, senderId) => seedBlock(callerId, senderId),
|
|
731
|
+
],
|
|
732
|
+
[
|
|
733
|
+
'sender blocked the caller',
|
|
734
|
+
(callerId, senderId) => seedBlock(senderId, callerId),
|
|
735
|
+
],
|
|
736
|
+
])('drops an incoming pending sender who is blocked (%s)', async (_label, seedTheBlock) => {
|
|
737
|
+
const { svc } = makeService();
|
|
738
|
+
const caller = await seedPlayer();
|
|
739
|
+
const sender = await seedPlayer({ displayName: 'Sender' });
|
|
740
|
+
const blockedSender = await seedPlayer({ displayName: 'Blocked' });
|
|
741
|
+
await svc.sendFriendRequest(sender.userId, caller.userId);
|
|
742
|
+
await svc.sendFriendRequest(blockedSender.userId, caller.userId);
|
|
743
|
+
await seedTheBlock(caller.userId, blockedSender.userId);
|
|
744
|
+
const result = await svc.listFriendRequests(caller.userId, {
|
|
745
|
+
direction: 'incoming',
|
|
746
|
+
page: 1,
|
|
747
|
+
limit: 20,
|
|
748
|
+
});
|
|
749
|
+
expect(result.items.map((i) => i.userId)).toEqual([sender.userId]);
|
|
750
|
+
});
|
|
751
|
+
it('drops an outgoing pending target who is blocked', async () => {
|
|
752
|
+
const { svc } = makeService();
|
|
753
|
+
const caller = await seedPlayer();
|
|
754
|
+
const target = await seedPlayer({ displayName: 'Target' });
|
|
755
|
+
await svc.sendFriendRequest(caller.userId, target.userId);
|
|
756
|
+
await seedBlock(target.userId, caller.userId);
|
|
757
|
+
const result = await svc.listFriendRequests(caller.userId, {
|
|
758
|
+
direction: 'outgoing',
|
|
759
|
+
page: 1,
|
|
760
|
+
limit: 20,
|
|
761
|
+
});
|
|
762
|
+
expect(result.items).toEqual([]);
|
|
763
|
+
});
|
|
764
|
+
it('paginates results', async () => {
|
|
765
|
+
const { svc } = makeService();
|
|
766
|
+
const caller = await seedPlayer();
|
|
767
|
+
for (let i = 0; i < 3; i++) {
|
|
768
|
+
const sender = await seedPlayer({ displayName: `Sender${i}` });
|
|
769
|
+
await svc.sendFriendRequest(sender.userId, caller.userId);
|
|
770
|
+
}
|
|
771
|
+
const page1 = await svc.listFriendRequests(caller.userId, {
|
|
772
|
+
direction: 'incoming',
|
|
773
|
+
page: 1,
|
|
774
|
+
limit: 2,
|
|
775
|
+
});
|
|
776
|
+
const page2 = await svc.listFriendRequests(caller.userId, {
|
|
777
|
+
direction: 'incoming',
|
|
778
|
+
page: 2,
|
|
779
|
+
limit: 2,
|
|
780
|
+
});
|
|
781
|
+
expect(page1.total).toBe(3);
|
|
782
|
+
expect(page1.items).toHaveLength(2);
|
|
783
|
+
expect(page2.items).toHaveLength(1);
|
|
784
|
+
});
|
|
785
|
+
it('computes mutualFriendsCount via one batched query across exactly 2 shared accepted friends', async () => {
|
|
786
|
+
const { svc } = makeService();
|
|
787
|
+
const caller = await seedPlayer({ displayName: 'Caller' });
|
|
788
|
+
const requester = await seedPlayer({ displayName: 'Requester' });
|
|
789
|
+
const mutualA = await seedPlayer({ displayName: 'MutualA' });
|
|
790
|
+
const mutualB = await seedPlayer({ displayName: 'MutualB' });
|
|
791
|
+
const callerOnlyFriend = await seedPlayer({ displayName: 'CallerOnlyFriend' });
|
|
792
|
+
const requesterOnlyFriend = await seedPlayer({ displayName: 'RequesterOnlyFriend' });
|
|
793
|
+
// Shared friends: caller <-> mutualA/mutualB, requester <-> mutualA/mutualB.
|
|
794
|
+
await makeFriends(svc, caller.userId, mutualA.userId);
|
|
795
|
+
await makeFriends(svc, caller.userId, mutualB.userId);
|
|
796
|
+
await makeFriends(svc, requester.userId, mutualA.userId);
|
|
797
|
+
await makeFriends(svc, requester.userId, mutualB.userId);
|
|
798
|
+
// Non-shared friends on each side - must not inflate the count.
|
|
799
|
+
await makeFriends(svc, caller.userId, callerOnlyFriend.userId);
|
|
800
|
+
await makeFriends(svc, requester.userId, requesterOnlyFriend.userId);
|
|
801
|
+
await svc.sendFriendRequest(requester.userId, caller.userId);
|
|
802
|
+
const result = await svc.listFriendRequests(caller.userId, {
|
|
803
|
+
direction: 'incoming',
|
|
804
|
+
page: 1,
|
|
805
|
+
limit: 20,
|
|
806
|
+
});
|
|
807
|
+
expect(result.items).toHaveLength(1);
|
|
808
|
+
expect(result.items[0]).toMatchObject({
|
|
809
|
+
userId: requester.userId,
|
|
810
|
+
mutualFriendsCount: 2,
|
|
811
|
+
});
|
|
812
|
+
});
|
|
813
|
+
});
|
|
479
814
|
//# sourceMappingURL=social.service.int.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social.service.int.test.js","sourceRoot":"","sources":["../../../../src/engagement/social/__tests__/social.service.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAe,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,gCAAgC,EAChC,6BAA6B,EAC7B,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAEtC,IAAI,EAAU,CAAC;AAEf,SAAS,kBAAkB;IACzB,OAAO;QACL,GAAG,kBAAkB,EAAE;QACvB,uBAAuB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;iBAC9B,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;iBACzB,IAAI,CAAC,MAAM,CAAC;iBACZ,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YACpC,OAAO,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC;QACzB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,OAAO,EAAE,GAAG,EAAE,IAAI,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,YAAiD,EAAE;IAC3E,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;SAC9B,MAAM,CAAC,MAAM,CAAC;SACd,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;SACrE,SAAS,EAAE,CAAC;IACf,OAAO,GAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,SAAiB,EAAE,SAAiB;IAC3D,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,SAAiB;IAC5D,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,EAAE,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;AAClE,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,KAAK,IAAI,EAAE;IACpB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CACzB,GAAG,CAAA,YAAY,UAAU,KAAK,aAAa,KAAK,cAAc,KAAK,MAAM,2BAA2B,CACrG,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAE/E,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,WAAW,EAAE,SAAS,CAAC,MAAM;YAC7B,WAAW,EAAE,SAAS,CAAC,MAAM;YAC7B,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,4BAA4B,EAAE;YACrE,YAAY,EAAE,MAAM,CAAC,EAAE;YACvB,WAAW,EAAE,SAAS,CAAC,MAAM;YAC7B,WAAW,EAAE,SAAS,CAAC,MAAM;YAC7B,oBAAoB,EAAE,OAAO;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAC;QAE7B,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAC5E,sBAAsB,CACvB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;QAErC,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CACxF,gCAAgC,CACjC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAU,CAAC,CACvC,4DAA4D,EAC5D,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5C,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CACzF,6BAA6B,CAC9B,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,EAAE,CAAC,0HAA0H,EAAE,KAAK,IAAI,EAAE;QACxI,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CACzF,6BAA6B,CAC9B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CACzF,kBAAkB,CACnB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uGAAuG,EAAE,KAAK,IAAI,EAAE;QACrH,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAExB,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CACzF,0BAA0B,CAC3B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,qBAAqB;QACnF,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAExB,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CACzF,mBAAmB,CACpB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4GAA4G,EAAE,KAAK,IAAI,EAAE;QAC1H,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAExB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAErE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC3B,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,WAAW,EAAE,GAAG,CAAC,MAAM;YACvB,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,gCAAgC,EAAE;YACzE,YAAY,EAAE,KAAK,CAAC,EAAE;YACtB,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,WAAW,EAAE,GAAG,CAAC,MAAM;YACvB,UAAU,EAAE,GAAG,CAAC,MAAM;YACtB,mBAAmB,EAAE,KAAK;SAC3B,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;QACnG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,UAAU,EAAE,CAAC;QACrC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;aAClC,MAAM,CAAC,UAAU,CAAC;aAClB,MAAM,CAAC;YACN,WAAW,EAAE,SAAS,CAAC,MAAM;YAC7B,WAAW,EAAE,SAAS,CAAC,MAAM;YAC7B,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;aACD,SAAS,EAAE,CAAC;QAEf,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtF,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC;YAC3B;gBACE,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,MAAM,EAAE,SAAS;gBACjB,YAAY,EAAE,OAAO,EAAE,EAAE;gBACzB,cAAc,EAAE,KAAK;aACtB;SACF,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAC5F,yBAAyB,CAC1B,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE;SACnF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAEzE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAU,CAAC,CACvC,qCAAqC,EACrC,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1E,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,CAAC,CACF,CAAC;IAEF,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1E,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1E,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YAC9B,MAAM,EAAE,eAAe;YACvB,YAAY,EAAE,IAAI;YAClB,cAAc,EAAE,KAAK;SACtB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEvE,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAE9E,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3F,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,kBAAkB,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAC;QAE7B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEzF,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,KAAK,UAAU,WAAW,CAAC,GAAkB,EAAE,OAAe,EAAE,OAAe;IAC7E,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,GAAG,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,qBAAqB;IACpE,OAAO,KAAK,CAAC;AACf,CAAC;AAED,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;QACxG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAExB,MAAM,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,2BAA2B,EAAE;YACpE,YAAY,EAAE,aAAa,CAAC,EAAE;YAC9B,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,aAAa,EAAE,KAAK,CAAC,EAAE;YACvB,WAAW,EAAE,GAAG,CAAC,MAAM;YACvB,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;QACxG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAExB,MAAM,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,2BAA2B,EAAE;YACpE,YAAY,EAAE,aAAa,CAAC,EAAE;YAC9B,OAAO,EAAE,GAAG,CAAC,MAAM;YACnB,aAAa,EAAE,GAAG,CAAC,EAAE;YACrB,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,MAAM,EAAE,mBAAmB;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,UAAU,EAAE,CAAC,CAAC,0CAA0C;QAC9E,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5C,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,UAAU,EAAE,IAAI,IAAI,EAAE;SACvB,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAEpD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,2BAA2B,EAC3B,MAAM,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CACzE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;QAE/B,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAC7E,uBAAuB,CACxB,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtD,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAC7E,uBAAuB,CACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;QAC/B,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;aAChB,MAAM,CAAC,UAAU,CAAC;aAClB,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAEzF,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAC7E,uBAAuB,CACxB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wGAAwG,EAAE,KAAK,IAAI,EAAE;QACtH,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;QAC/B,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAEjD,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAC7E,uBAAuB,CACxB,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;IACjE,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;QAE/B,MAAM,MAAM,CACV,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CACvE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAExB,MAAM,MAAM,CACV,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CACvE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAEtB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sFAAsF,EAAE,KAAK,IAAI,EAAE;QACpG,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,UAAU,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,UAAU,EAAE,CAAC;QAC/B,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAExB,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAE/F,6EAA6E;QAC7E,gFAAgF;QAChF,oEAAoE;QACpE,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YACxB,YAAY,EAAE,aAAa,CAAC,EAAE;YAC9B,OAAO,EAAE,KAAK,CAAC,MAAM;YACrB,aAAa,EAAE,KAAK,CAAC,EAAE;YACvB,WAAW,EAAE,GAAG,CAAC,MAAM;YACvB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;QAEjE,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5C,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,WAAW,EAAE,aAAa,CAAC,MAAM;YACjC,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAE3D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;YACpC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,WAAW,EAAE,QAAQ;YACrB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QACrE,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,UAAU,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,KAAK,IAAI,EAAE;QACrG,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC;YACnC,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;SAClD,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/D,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAE1E,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAErD,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC;YAC5C,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,WAAW,EAAE,UAAU,EAAE;YACzB,UAAU,EAAE,IAAI,IAAI,EAAE;SACvB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,CAAU,CAAC,CACvC,oCAAoC,EACpC,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3E,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE;aAChB,MAAM,CAAC,MAAM,CAAC;aACd,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;aACf,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAE5E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"social.service.int.test.js","sourceRoot":"","sources":["../../../../src/engagement/social/__tests__/social.service.int.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,37 @@ export declare const RemoveFriendInputSchema: z.ZodObject<{
|
|
|
58
58
|
targetUserId: z.ZodUUID;
|
|
59
59
|
}, z.core.$strip>;
|
|
60
60
|
export type RemoveFriendInput = z.infer<typeof RemoveFriendInputSchema>;
|
|
61
|
+
export declare const FRIEND_REQUEST_DIRECTIONS: readonly ["incoming", "outgoing"];
|
|
62
|
+
export declare const FriendRequestDirectionSchema: z.ZodEnum<{
|
|
63
|
+
incoming: "incoming";
|
|
64
|
+
outgoing: "outgoing";
|
|
65
|
+
}>;
|
|
66
|
+
export type FriendRequestDirection = z.infer<typeof FriendRequestDirectionSchema>;
|
|
67
|
+
export declare const ListFriendRequestsInputSchema: z.ZodObject<{
|
|
68
|
+
direction: z.ZodEnum<{
|
|
69
|
+
incoming: "incoming";
|
|
70
|
+
outgoing: "outgoing";
|
|
71
|
+
}>;
|
|
72
|
+
page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
73
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
74
|
+
}, z.core.$strip>;
|
|
75
|
+
export type ListFriendRequestsInput = z.infer<typeof ListFriendRequestsInputSchema>;
|
|
76
|
+
export declare const FriendRequestEntrySchema: z.ZodObject<{
|
|
77
|
+
friendshipId: z.ZodUUID;
|
|
78
|
+
userId: z.ZodUUID;
|
|
79
|
+
displayName: z.ZodString;
|
|
80
|
+
direction: z.ZodEnum<{
|
|
81
|
+
incoming: "incoming";
|
|
82
|
+
outgoing: "outgoing";
|
|
83
|
+
}>;
|
|
84
|
+
createdAt: z.ZodISODateTime;
|
|
85
|
+
mutualFriendsCount: z.ZodNullable<z.ZodNumber>;
|
|
86
|
+
}, z.core.$strip>;
|
|
87
|
+
export type FriendRequestEntry = z.infer<typeof FriendRequestEntrySchema>;
|
|
88
|
+
export declare const FriendRequestIdInputSchema: z.ZodObject<{
|
|
89
|
+
friendshipId: z.ZodUUID;
|
|
90
|
+
}, z.core.$strip>;
|
|
91
|
+
export type FriendRequestIdInput = z.infer<typeof FriendRequestIdInputSchema>;
|
|
61
92
|
export declare const socialContract: {
|
|
62
93
|
sendFriendRequest: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
63
94
|
targetUserId: z.ZodUUID;
|
|
@@ -109,5 +140,48 @@ export declare const socialContract: {
|
|
|
109
140
|
}, z.core.$strip>, z.ZodObject<{
|
|
110
141
|
success: z.ZodLiteral<true>;
|
|
111
142
|
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
143
|
+
listFriendRequests: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
144
|
+
direction: z.ZodEnum<{
|
|
145
|
+
incoming: "incoming";
|
|
146
|
+
outgoing: "outgoing";
|
|
147
|
+
}>;
|
|
148
|
+
page: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
149
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
150
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
151
|
+
items: z.ZodArray<z.ZodObject<{
|
|
152
|
+
friendshipId: z.ZodUUID;
|
|
153
|
+
userId: z.ZodUUID;
|
|
154
|
+
displayName: z.ZodString;
|
|
155
|
+
direction: z.ZodEnum<{
|
|
156
|
+
incoming: "incoming";
|
|
157
|
+
outgoing: "outgoing";
|
|
158
|
+
}>;
|
|
159
|
+
createdAt: z.ZodISODateTime;
|
|
160
|
+
mutualFriendsCount: z.ZodNullable<z.ZodNumber>;
|
|
161
|
+
}, z.core.$strip>>;
|
|
162
|
+
total: z.ZodNumber;
|
|
163
|
+
page: z.ZodNumber;
|
|
164
|
+
limit: z.ZodNumber;
|
|
165
|
+
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
166
|
+
acceptFriendRequest: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
167
|
+
friendshipId: z.ZodUUID;
|
|
168
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
169
|
+
id: z.ZodUUID;
|
|
170
|
+
requesterId: z.ZodUUID;
|
|
171
|
+
addresseeId: z.ZodUUID;
|
|
172
|
+
createdAt: z.ZodISODateTime;
|
|
173
|
+
acceptedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
174
|
+
refusedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
175
|
+
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
176
|
+
declineFriendRequest: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
177
|
+
friendshipId: z.ZodUUID;
|
|
178
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
179
|
+
success: z.ZodLiteral<true>;
|
|
180
|
+
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
181
|
+
cancelFriendRequest: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
182
|
+
friendshipId: z.ZodUUID;
|
|
183
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
184
|
+
success: z.ZodLiteral<true>;
|
|
185
|
+
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
112
186
|
};
|
|
113
187
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/social/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB,eAAO,MAAM,4BAA4B;;iBAEvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,gBAAgB;;;;;;;iBAO3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,eAAO,MAAM,qBAAqB,iHAQxB,CAAC;AACX,eAAO,MAAM,wBAAwB;;;;;;;;EAAgC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;iBAK7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAOhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/social/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB,eAAO,MAAM,4BAA4B;;iBAEvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,gBAAgB;;;;;;;iBAO3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,eAAO,MAAM,qBAAqB,iHAQxB,CAAC;AACX,eAAO,MAAM,wBAAwB;;;;;;;;EAAgC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B;;iBAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;iBAK7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;;;;;;;;iBAOhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,uBAAuB;;iBAElC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,yBAAyB,mCAAoC,CAAC;AAC3E,eAAO,MAAM,4BAA4B;;;EAAoC,CAAC;AAC9E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,6BAA6B;;;;;;;iBAGxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAOnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,0BAA0B;;iBAErC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyC1B,CAAC"}
|