founder-schema 0.18.0 → 0.20.0
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/README.md +110 -3
- package/dist/access/permissions.d.ts +3 -3
- package/dist/access/permissions.d.ts.map +1 -1
- package/dist/access/permissions.js.map +1 -1
- package/dist/core/common.d.ts +49 -28
- package/dist/core/common.d.ts.map +1 -1
- package/dist/core/common.js +65 -26
- package/dist/core/common.js.map +1 -1
- package/dist/core/deletion.d.ts +40 -0
- package/dist/core/deletion.d.ts.map +1 -0
- package/dist/core/deletion.js +39 -0
- package/dist/core/deletion.js.map +1 -0
- package/dist/core/limits.d.ts +25 -0
- package/dist/core/limits.d.ts.map +1 -1
- package/dist/core/limits.js +25 -0
- package/dist/core/limits.js.map +1 -1
- package/dist/core/validation.d.ts +13 -0
- package/dist/core/validation.d.ts.map +1 -1
- package/dist/core/validation.js +13 -0
- package/dist/core/validation.js.map +1 -1
- package/dist/domains/audit/audit.d.ts +36 -12
- package/dist/domains/audit/audit.d.ts.map +1 -1
- package/dist/domains/audit/audit.js +9 -10
- package/dist/domains/audit/audit.js.map +1 -1
- package/dist/domains/billing/billing.d.ts +29 -13
- package/dist/domains/billing/billing.d.ts.map +1 -1
- package/dist/domains/billing/billing.js +2 -3
- package/dist/domains/billing/billing.js.map +1 -1
- package/dist/domains/chat/chat.d.ts +19 -5
- package/dist/domains/chat/chat.d.ts.map +1 -1
- package/dist/domains/chat/chat.js +10 -10
- package/dist/domains/chat/chat.js.map +1 -1
- package/dist/domains/communities/communities.d.ts +95 -57
- package/dist/domains/communities/communities.d.ts.map +1 -1
- package/dist/domains/contributions/contributions.d.ts +28 -12
- package/dist/domains/contributions/contributions.d.ts.map +1 -1
- package/dist/domains/contributions/contributions.js +3 -0
- package/dist/domains/contributions/contributions.js.map +1 -1
- package/dist/domains/discover/discover.d.ts +2 -2
- package/dist/domains/feed/feed.d.ts +111 -63
- package/dist/domains/feed/feed.d.ts.map +1 -1
- package/dist/domains/feed/feed.js +3 -0
- package/dist/domains/feed/feed.js.map +1 -1
- package/dist/domains/location/areas.d.ts +338 -0
- package/dist/domains/location/areas.d.ts.map +1 -0
- package/dist/domains/location/areas.js +241 -0
- package/dist/domains/location/areas.js.map +1 -0
- package/dist/domains/location/india.d.ts +31 -123
- package/dist/domains/location/india.d.ts.map +1 -1
- package/dist/domains/location/india.js +98 -64
- package/dist/domains/location/india.js.map +1 -1
- package/dist/domains/media/media.d.ts +22 -0
- package/dist/domains/media/media.d.ts.map +1 -1
- package/dist/domains/media/media.js +20 -0
- package/dist/domains/media/media.js.map +1 -1
- package/dist/domains/members/members.d.ts +26 -9
- package/dist/domains/members/members.d.ts.map +1 -1
- package/dist/domains/members/members.js +9 -10
- package/dist/domains/members/members.js.map +1 -1
- package/dist/domains/membership/membership.d.ts +19 -0
- package/dist/domains/membership/membership.d.ts.map +1 -1
- package/dist/domains/membership/membership.js +10 -0
- package/dist/domains/membership/membership.js.map +1 -1
- package/dist/domains/moderation/moderation.d.ts +8 -2
- package/dist/domains/moderation/moderation.d.ts.map +1 -1
- package/dist/domains/moderation/moderation.js +3 -6
- package/dist/domains/moderation/moderation.js.map +1 -1
- package/dist/domains/notifications/notifications.d.ts +10 -6
- package/dist/domains/notifications/notifications.d.ts.map +1 -1
- package/dist/domains/onboarding/onboarding-answers.d.ts +9 -12
- package/dist/domains/onboarding/onboarding-answers.d.ts.map +1 -1
- package/dist/domains/onboarding/onboarding-answers.js +12 -19
- package/dist/domains/onboarding/onboarding-answers.js.map +1 -1
- package/dist/domains/onboarding/onboarding.d.ts +121 -98
- package/dist/domains/onboarding/onboarding.d.ts.map +1 -1
- package/dist/domains/onboarding/onboarding.js +30 -28
- package/dist/domains/onboarding/onboarding.js.map +1 -1
- package/dist/domains/people/person.d.ts +54 -0
- package/dist/domains/people/person.d.ts.map +1 -0
- package/dist/domains/people/person.js +73 -0
- package/dist/domains/people/person.js.map +1 -0
- package/dist/domains/products/products.d.ts +62 -33
- package/dist/domains/products/products.d.ts.map +1 -1
- package/dist/domains/products/products.js +3 -0
- package/dist/domains/products/products.js.map +1 -1
- package/dist/domains/profile/founder-profile.d.ts +93 -60
- package/dist/domains/profile/founder-profile.d.ts.map +1 -1
- package/dist/domains/profile/founder-profile.js +55 -25
- package/dist/domains/profile/founder-profile.js.map +1 -1
- package/dist/domains/reviews/reviews.d.ts +25 -15
- package/dist/domains/reviews/reviews.d.ts.map +1 -1
- package/dist/domains/support/support.d.ts +47 -10
- package/dist/domains/support/support.d.ts.map +1 -1
- package/dist/domains/support/support.js +4 -2
- package/dist/domains/support/support.js.map +1 -1
- package/dist/domains/team/team.d.ts +9 -3
- package/dist/domains/team/team.d.ts.map +1 -1
- package/dist/domains/team/team.js +3 -6
- package/dist/domains/team/team.js.map +1 -1
- package/dist/index.d.ts +13 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -11
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/account.d.ts +0 -40
- package/dist/account.d.ts.map +0 -1
- package/dist/account.js +0 -39
- package/dist/account.js.map +0 -1
- package/dist/chat.d.ts +0 -187
- package/dist/chat.d.ts.map +0 -1
- package/dist/chat.js +0 -189
- package/dist/chat.js.map +0 -1
- package/dist/common.d.ts +0 -304
- package/dist/common.d.ts.map +0 -1
- package/dist/common.js +0 -340
- package/dist/common.js.map +0 -1
- package/dist/discover.d.ts +0 -245
- package/dist/discover.d.ts.map +0 -1
- package/dist/discover.js +0 -68
- package/dist/discover.js.map +0 -1
- package/dist/errors.d.ts +0 -85
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -89
- package/dist/errors.js.map +0 -1
- package/dist/feed.d.ts +0 -1658
- package/dist/feed.d.ts.map +0 -1
- package/dist/feed.js +0 -623
- package/dist/feed.js.map +0 -1
- package/dist/founder-profile.d.ts +0 -387
- package/dist/founder-profile.d.ts.map +0 -1
- package/dist/founder-profile.js +0 -180
- package/dist/founder-profile.js.map +0 -1
- package/dist/limits.d.ts +0 -76
- package/dist/limits.d.ts.map +0 -1
- package/dist/limits.js +0 -84
- package/dist/limits.js.map +0 -1
- package/dist/onboarding.d.ts +0 -1018
- package/dist/onboarding.d.ts.map +0 -1
- package/dist/onboarding.js +0 -717
- package/dist/onboarding.js.map +0 -1
- package/dist/responses/common.d.ts +0 -167
- package/dist/responses/common.d.ts.map +0 -1
- package/dist/responses/common.js +0 -67
- package/dist/responses/common.js.map +0 -1
- package/dist/responses/index.d.ts +0 -7
- package/dist/responses/index.d.ts.map +0 -1
- package/dist/responses/index.js +0 -7
- package/dist/responses/index.js.map +0 -1
- package/dist/uploads.d.ts +0 -113
- package/dist/uploads.d.ts.map +0 -1
- package/dist/uploads.js +0 -106
- package/dist/uploads.js.map +0 -1
- package/dist/validation.d.ts +0 -136
- package/dist/validation.d.ts.map +0 -1
- package/dist/validation.js +0 -142
- package/dist/validation.js.map +0 -1
|
@@ -381,10 +381,12 @@ export type CommunityViewer = z.infer<typeof communityViewerSchema>;
|
|
|
381
381
|
* last admin).
|
|
382
382
|
*/
|
|
383
383
|
export declare const communityMemberSchema: z.ZodObject<{
|
|
384
|
-
userId: z.ZodString
|
|
385
|
-
username: z.ZodString
|
|
384
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
385
|
+
username: z.ZodNullable<z.ZodString>;
|
|
386
386
|
displayName: z.ZodString;
|
|
387
|
-
|
|
387
|
+
firstName: z.ZodString;
|
|
388
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
389
|
+
former: z.ZodBoolean;
|
|
388
390
|
headline: z.ZodOptional<z.ZodString>;
|
|
389
391
|
role: z.ZodEnum<{
|
|
390
392
|
admin: "admin";
|
|
@@ -502,10 +504,12 @@ export declare const communitySchema: z.ZodObject<{
|
|
|
502
504
|
postCount: z.ZodNumber;
|
|
503
505
|
rules: z.ZodArray<z.ZodString>;
|
|
504
506
|
team: z.ZodArray<z.ZodObject<{
|
|
505
|
-
userId: z.ZodString
|
|
506
|
-
username: z.ZodString
|
|
507
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
508
|
+
username: z.ZodNullable<z.ZodString>;
|
|
507
509
|
displayName: z.ZodString;
|
|
508
|
-
|
|
510
|
+
firstName: z.ZodString;
|
|
511
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
512
|
+
former: z.ZodBoolean;
|
|
509
513
|
headline: z.ZodOptional<z.ZodString>;
|
|
510
514
|
role: z.ZodEnum<{
|
|
511
515
|
admin: "admin";
|
|
@@ -552,10 +556,12 @@ export type Community = z.infer<typeof communitySchema>;
|
|
|
552
556
|
/** A request to join a private community, as its moderators see it. */
|
|
553
557
|
export declare const communityRequestSchema: z.ZodObject<{
|
|
554
558
|
member: z.ZodObject<{
|
|
555
|
-
userId: z.ZodString
|
|
556
|
-
username: z.ZodString
|
|
559
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
560
|
+
username: z.ZodNullable<z.ZodString>;
|
|
557
561
|
displayName: z.ZodString;
|
|
558
|
-
|
|
562
|
+
firstName: z.ZodString;
|
|
563
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
564
|
+
former: z.ZodBoolean;
|
|
559
565
|
headline: z.ZodOptional<z.ZodString>;
|
|
560
566
|
}, z.core.$strip>;
|
|
561
567
|
requestedAt: z.ZodISODateTime;
|
|
@@ -564,17 +570,21 @@ export type CommunityRequest = z.infer<typeof communityRequestSchema>;
|
|
|
564
570
|
/** An invitation nobody has answered yet, as its moderators see it. */
|
|
565
571
|
export declare const communityPendingInviteSchema: z.ZodObject<{
|
|
566
572
|
member: z.ZodObject<{
|
|
567
|
-
userId: z.ZodString
|
|
568
|
-
username: z.ZodString
|
|
573
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
574
|
+
username: z.ZodNullable<z.ZodString>;
|
|
569
575
|
displayName: z.ZodString;
|
|
570
|
-
|
|
576
|
+
firstName: z.ZodString;
|
|
577
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
578
|
+
former: z.ZodBoolean;
|
|
571
579
|
headline: z.ZodOptional<z.ZodString>;
|
|
572
580
|
}, z.core.$strip>;
|
|
573
581
|
invitedBy: z.ZodNullable<z.ZodObject<{
|
|
574
|
-
userId: z.ZodString
|
|
575
|
-
username: z.ZodString
|
|
582
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
583
|
+
username: z.ZodNullable<z.ZodString>;
|
|
576
584
|
displayName: z.ZodString;
|
|
577
|
-
|
|
585
|
+
firstName: z.ZodString;
|
|
586
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
587
|
+
former: z.ZodBoolean;
|
|
578
588
|
headline: z.ZodOptional<z.ZodString>;
|
|
579
589
|
}, z.core.$strip>>;
|
|
580
590
|
invitedAt: z.ZodISODateTime;
|
|
@@ -596,10 +606,12 @@ export declare const communityInviteSchema: z.ZodObject<{
|
|
|
596
606
|
description: z.ZodString;
|
|
597
607
|
}, z.core.$strip>;
|
|
598
608
|
invitedBy: z.ZodNullable<z.ZodObject<{
|
|
599
|
-
userId: z.ZodString
|
|
600
|
-
username: z.ZodString
|
|
609
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
610
|
+
username: z.ZodNullable<z.ZodString>;
|
|
601
611
|
displayName: z.ZodString;
|
|
602
|
-
|
|
612
|
+
firstName: z.ZodString;
|
|
613
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
614
|
+
former: z.ZodBoolean;
|
|
603
615
|
headline: z.ZodOptional<z.ZodString>;
|
|
604
616
|
}, z.core.$strip>>;
|
|
605
617
|
invitedAt: z.ZodISODateTime;
|
|
@@ -622,10 +634,12 @@ export declare const communityInvitesSchema: z.ZodObject<{
|
|
|
622
634
|
description: z.ZodString;
|
|
623
635
|
}, z.core.$strip>;
|
|
624
636
|
invitedBy: z.ZodNullable<z.ZodObject<{
|
|
625
|
-
userId: z.ZodString
|
|
626
|
-
username: z.ZodString
|
|
637
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
638
|
+
username: z.ZodNullable<z.ZodString>;
|
|
627
639
|
displayName: z.ZodString;
|
|
628
|
-
|
|
640
|
+
firstName: z.ZodString;
|
|
641
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
642
|
+
former: z.ZodBoolean;
|
|
629
643
|
headline: z.ZodOptional<z.ZodString>;
|
|
630
644
|
}, z.core.$strip>>;
|
|
631
645
|
invitedAt: z.ZodISODateTime;
|
|
@@ -635,17 +649,21 @@ export type CommunityInvites = z.infer<typeof communityInvitesSchema>;
|
|
|
635
649
|
/** Someone banned from a community, as its admins see it. */
|
|
636
650
|
export declare const communityBanSchema: z.ZodObject<{
|
|
637
651
|
member: z.ZodObject<{
|
|
638
|
-
userId: z.ZodString
|
|
639
|
-
username: z.ZodString
|
|
652
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
653
|
+
username: z.ZodNullable<z.ZodString>;
|
|
640
654
|
displayName: z.ZodString;
|
|
641
|
-
|
|
655
|
+
firstName: z.ZodString;
|
|
656
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
657
|
+
former: z.ZodBoolean;
|
|
642
658
|
headline: z.ZodOptional<z.ZodString>;
|
|
643
659
|
}, z.core.$strip>;
|
|
644
660
|
bannedBy: z.ZodNullable<z.ZodObject<{
|
|
645
|
-
userId: z.ZodString
|
|
646
|
-
username: z.ZodString
|
|
661
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
662
|
+
username: z.ZodNullable<z.ZodString>;
|
|
647
663
|
displayName: z.ZodString;
|
|
648
|
-
|
|
664
|
+
firstName: z.ZodString;
|
|
665
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
666
|
+
former: z.ZodBoolean;
|
|
649
667
|
headline: z.ZodOptional<z.ZodString>;
|
|
650
668
|
}, z.core.$strip>>;
|
|
651
669
|
bannedAt: z.ZodISODateTime;
|
|
@@ -656,10 +674,12 @@ export type CommunityBan = z.infer<typeof communityBanSchema>;
|
|
|
656
674
|
export declare const communitySuggestionSchema: z.ZodObject<{
|
|
657
675
|
id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
658
676
|
suggestedBy: z.ZodNullable<z.ZodObject<{
|
|
659
|
-
userId: z.ZodString
|
|
660
|
-
username: z.ZodString
|
|
677
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
678
|
+
username: z.ZodNullable<z.ZodString>;
|
|
661
679
|
displayName: z.ZodString;
|
|
662
|
-
|
|
680
|
+
firstName: z.ZodString;
|
|
681
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
682
|
+
former: z.ZodBoolean;
|
|
663
683
|
headline: z.ZodOptional<z.ZodString>;
|
|
664
684
|
}, z.core.$strip>>;
|
|
665
685
|
name: z.ZodString;
|
|
@@ -748,10 +768,12 @@ export declare const communitySuggestionSchema: z.ZodObject<{
|
|
|
748
768
|
open: "open";
|
|
749
769
|
}>;
|
|
750
770
|
decidedBy: z.ZodNullable<z.ZodObject<{
|
|
751
|
-
userId: z.ZodString
|
|
752
|
-
username: z.ZodString
|
|
771
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
772
|
+
username: z.ZodNullable<z.ZodString>;
|
|
753
773
|
displayName: z.ZodString;
|
|
754
|
-
|
|
774
|
+
firstName: z.ZodString;
|
|
775
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
776
|
+
former: z.ZodBoolean;
|
|
755
777
|
headline: z.ZodOptional<z.ZodString>;
|
|
756
778
|
}, z.core.$strip>>;
|
|
757
779
|
decidedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
@@ -890,10 +912,12 @@ export declare const communityCardPageSchema: z.ZodObject<{
|
|
|
890
912
|
export type CommunityCardPage = z.infer<typeof communityCardPageSchema>;
|
|
891
913
|
export declare const communityMemberPageSchema: z.ZodObject<{
|
|
892
914
|
items: z.ZodArray<z.ZodObject<{
|
|
893
|
-
userId: z.ZodString
|
|
894
|
-
username: z.ZodString
|
|
915
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
916
|
+
username: z.ZodNullable<z.ZodString>;
|
|
895
917
|
displayName: z.ZodString;
|
|
896
|
-
|
|
918
|
+
firstName: z.ZodString;
|
|
919
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
920
|
+
former: z.ZodBoolean;
|
|
897
921
|
headline: z.ZodOptional<z.ZodString>;
|
|
898
922
|
role: z.ZodEnum<{
|
|
899
923
|
admin: "admin";
|
|
@@ -913,10 +937,12 @@ export type CommunityMemberPage = z.infer<typeof communityMemberPageSchema>;
|
|
|
913
937
|
export declare const communityRequestPageSchema: z.ZodObject<{
|
|
914
938
|
items: z.ZodArray<z.ZodObject<{
|
|
915
939
|
member: z.ZodObject<{
|
|
916
|
-
userId: z.ZodString
|
|
917
|
-
username: z.ZodString
|
|
940
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
941
|
+
username: z.ZodNullable<z.ZodString>;
|
|
918
942
|
displayName: z.ZodString;
|
|
919
|
-
|
|
943
|
+
firstName: z.ZodString;
|
|
944
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
945
|
+
former: z.ZodBoolean;
|
|
920
946
|
headline: z.ZodOptional<z.ZodString>;
|
|
921
947
|
}, z.core.$strip>;
|
|
922
948
|
requestedAt: z.ZodISODateTime;
|
|
@@ -927,17 +953,21 @@ export type CommunityRequestPage = z.infer<typeof communityRequestPageSchema>;
|
|
|
927
953
|
export declare const communityPendingInvitePageSchema: z.ZodObject<{
|
|
928
954
|
items: z.ZodArray<z.ZodObject<{
|
|
929
955
|
member: z.ZodObject<{
|
|
930
|
-
userId: z.ZodString
|
|
931
|
-
username: z.ZodString
|
|
956
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
957
|
+
username: z.ZodNullable<z.ZodString>;
|
|
932
958
|
displayName: z.ZodString;
|
|
933
|
-
|
|
959
|
+
firstName: z.ZodString;
|
|
960
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
961
|
+
former: z.ZodBoolean;
|
|
934
962
|
headline: z.ZodOptional<z.ZodString>;
|
|
935
963
|
}, z.core.$strip>;
|
|
936
964
|
invitedBy: z.ZodNullable<z.ZodObject<{
|
|
937
|
-
userId: z.ZodString
|
|
938
|
-
username: z.ZodString
|
|
965
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
966
|
+
username: z.ZodNullable<z.ZodString>;
|
|
939
967
|
displayName: z.ZodString;
|
|
940
|
-
|
|
968
|
+
firstName: z.ZodString;
|
|
969
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
970
|
+
former: z.ZodBoolean;
|
|
941
971
|
headline: z.ZodOptional<z.ZodString>;
|
|
942
972
|
}, z.core.$strip>>;
|
|
943
973
|
invitedAt: z.ZodISODateTime;
|
|
@@ -948,17 +978,21 @@ export type CommunityPendingInvitePage = z.infer<typeof communityPendingInvitePa
|
|
|
948
978
|
export declare const communityBanPageSchema: z.ZodObject<{
|
|
949
979
|
items: z.ZodArray<z.ZodObject<{
|
|
950
980
|
member: z.ZodObject<{
|
|
951
|
-
userId: z.ZodString
|
|
952
|
-
username: z.ZodString
|
|
981
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
982
|
+
username: z.ZodNullable<z.ZodString>;
|
|
953
983
|
displayName: z.ZodString;
|
|
954
|
-
|
|
984
|
+
firstName: z.ZodString;
|
|
985
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
986
|
+
former: z.ZodBoolean;
|
|
955
987
|
headline: z.ZodOptional<z.ZodString>;
|
|
956
988
|
}, z.core.$strip>;
|
|
957
989
|
bannedBy: z.ZodNullable<z.ZodObject<{
|
|
958
|
-
userId: z.ZodString
|
|
959
|
-
username: z.ZodString
|
|
990
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
991
|
+
username: z.ZodNullable<z.ZodString>;
|
|
960
992
|
displayName: z.ZodString;
|
|
961
|
-
|
|
993
|
+
firstName: z.ZodString;
|
|
994
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
995
|
+
former: z.ZodBoolean;
|
|
962
996
|
headline: z.ZodOptional<z.ZodString>;
|
|
963
997
|
}, z.core.$strip>>;
|
|
964
998
|
bannedAt: z.ZodISODateTime;
|
|
@@ -971,10 +1005,12 @@ export declare const communitySuggestionPageSchema: z.ZodObject<{
|
|
|
971
1005
|
items: z.ZodArray<z.ZodObject<{
|
|
972
1006
|
id: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
973
1007
|
suggestedBy: z.ZodNullable<z.ZodObject<{
|
|
974
|
-
userId: z.ZodString
|
|
975
|
-
username: z.ZodString
|
|
1008
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
1009
|
+
username: z.ZodNullable<z.ZodString>;
|
|
976
1010
|
displayName: z.ZodString;
|
|
977
|
-
|
|
1011
|
+
firstName: z.ZodString;
|
|
1012
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
1013
|
+
former: z.ZodBoolean;
|
|
978
1014
|
headline: z.ZodOptional<z.ZodString>;
|
|
979
1015
|
}, z.core.$strip>>;
|
|
980
1016
|
name: z.ZodString;
|
|
@@ -1063,10 +1099,12 @@ export declare const communitySuggestionPageSchema: z.ZodObject<{
|
|
|
1063
1099
|
open: "open";
|
|
1064
1100
|
}>;
|
|
1065
1101
|
decidedBy: z.ZodNullable<z.ZodObject<{
|
|
1066
|
-
userId: z.ZodString
|
|
1067
|
-
username: z.ZodString
|
|
1102
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
1103
|
+
username: z.ZodNullable<z.ZodString>;
|
|
1068
1104
|
displayName: z.ZodString;
|
|
1069
|
-
|
|
1105
|
+
firstName: z.ZodString;
|
|
1106
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
1107
|
+
former: z.ZodBoolean;
|
|
1070
1108
|
headline: z.ZodOptional<z.ZodString>;
|
|
1071
1109
|
}, z.core.$strip>>;
|
|
1072
1110
|
decidedAt: z.ZodNullable<z.ZodISODateTime>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"communities.d.ts","sourceRoot":"","sources":["../../../src/domains/communities/communities.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"communities.d.ts","sourceRoot":"","sources":["../../../src/domains/communities/communities.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,10 +70,12 @@ export declare const contributionEntrySchema: z.ZodObject<{
|
|
|
70
70
|
}>;
|
|
71
71
|
points: z.ZodNumber;
|
|
72
72
|
actor: z.ZodNullable<z.ZodObject<{
|
|
73
|
-
userId: z.ZodString
|
|
74
|
-
username: z.ZodString
|
|
73
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
74
|
+
username: z.ZodNullable<z.ZodString>;
|
|
75
75
|
displayName: z.ZodString;
|
|
76
|
-
|
|
76
|
+
firstName: z.ZodString;
|
|
77
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
78
|
+
former: z.ZodBoolean;
|
|
77
79
|
headline: z.ZodOptional<z.ZodString>;
|
|
78
80
|
}, z.core.$strip>>;
|
|
79
81
|
product: z.ZodOptional<z.ZodObject<{
|
|
@@ -105,10 +107,12 @@ export declare const contributionPageSchema: z.ZodObject<{
|
|
|
105
107
|
}>;
|
|
106
108
|
points: z.ZodNumber;
|
|
107
109
|
actor: z.ZodNullable<z.ZodObject<{
|
|
108
|
-
userId: z.ZodString
|
|
109
|
-
username: z.ZodString
|
|
110
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
111
|
+
username: z.ZodNullable<z.ZodString>;
|
|
110
112
|
displayName: z.ZodString;
|
|
111
|
-
|
|
113
|
+
firstName: z.ZodString;
|
|
114
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
115
|
+
former: z.ZodBoolean;
|
|
112
116
|
headline: z.ZodOptional<z.ZodString>;
|
|
113
117
|
}, z.core.$strip>>;
|
|
114
118
|
product: z.ZodOptional<z.ZodObject<{
|
|
@@ -143,6 +147,14 @@ export declare const contributionPeriodSchema: z.ZodEnum<{
|
|
|
143
147
|
recent: "recent";
|
|
144
148
|
}>;
|
|
145
149
|
export type ContributionPeriod = z.infer<typeof contributionPeriodSchema>;
|
|
150
|
+
/** What a ledger row was earned on: a comment, a product or a review. The backend's storage's own values, from here like every other list (0.20.0). */
|
|
151
|
+
export declare const CONTRIBUTION_SOURCE_VALUES: readonly ["comment", "product", "review"];
|
|
152
|
+
export declare const contributionSourceSchema: z.ZodEnum<{
|
|
153
|
+
product: "product";
|
|
154
|
+
comment: "comment";
|
|
155
|
+
review: "review";
|
|
156
|
+
}>;
|
|
157
|
+
export type ContributionSource = z.infer<typeof contributionSourceSchema>;
|
|
146
158
|
/** `GET /api/v1/contributions/leaderboard?period=` (0.10.0). A query string, so the default is the server's. */
|
|
147
159
|
export declare const contributionLeaderboardQuerySchema: z.ZodObject<{
|
|
148
160
|
period: z.ZodPreprocess<z.ZodDefault<z.ZodEnum<{
|
|
@@ -155,10 +167,12 @@ export type ContributionLeaderboardQuery = z.infer<typeof contributionLeaderboar
|
|
|
155
167
|
export declare const contributionLeaderEntrySchema: z.ZodObject<{
|
|
156
168
|
rank: z.ZodNumber;
|
|
157
169
|
member: z.ZodObject<{
|
|
158
|
-
userId: z.ZodString
|
|
159
|
-
username: z.ZodString
|
|
170
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
171
|
+
username: z.ZodNullable<z.ZodString>;
|
|
160
172
|
displayName: z.ZodString;
|
|
161
|
-
|
|
173
|
+
firstName: z.ZodString;
|
|
174
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
175
|
+
former: z.ZodBoolean;
|
|
162
176
|
headline: z.ZodOptional<z.ZodString>;
|
|
163
177
|
}, z.core.$strip>;
|
|
164
178
|
points: z.ZodNumber;
|
|
@@ -196,10 +210,12 @@ export declare const contributionLeaderboardSchema: z.ZodObject<{
|
|
|
196
210
|
items: z.ZodArray<z.ZodObject<{
|
|
197
211
|
rank: z.ZodNumber;
|
|
198
212
|
member: z.ZodObject<{
|
|
199
|
-
userId: z.ZodString
|
|
200
|
-
username: z.ZodString
|
|
213
|
+
userId: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
|
|
214
|
+
username: z.ZodNullable<z.ZodString>;
|
|
201
215
|
displayName: z.ZodString;
|
|
202
|
-
|
|
216
|
+
firstName: z.ZodString;
|
|
217
|
+
avatarUrl: z.ZodNullable<z.ZodURL>;
|
|
218
|
+
former: z.ZodBoolean;
|
|
203
219
|
headline: z.ZodOptional<z.ZodString>;
|
|
204
220
|
}, z.core.$strip>;
|
|
205
221
|
points: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contributions.d.ts","sourceRoot":"","sources":["../../../src/domains/contributions/contributions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,uFAK3B,CAAC;AACX,eAAO,MAAM,sBAAsB;;;;;EAAmC,CAAC;AACvE;;;GAGG;AACH,eAAO,MAAM,gCAAgC,gEAG5C,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKqB,CAAC;AAEtD,4CAA4C;AAC5C,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"contributions.d.ts","sourceRoot":"","sources":["../../../src/domains/contributions/contributions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,4CAA4C;AAC5C,eAAO,MAAM,wBAAwB,uFAK3B,CAAC;AACX,eAAO,MAAM,sBAAsB;;;;;EAAmC,CAAC;AACvE;;;GAGG;AACH,eAAO,MAAM,gCAAgC,gEAG5C,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKqB,CAAC;AAEtD,4CAA4C;AAC5C,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoBlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAA2C,CAAC;AAC/E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,4BAA6B,CAAC;AACrE,eAAO,MAAM,wBAAwB;;;EAAqC,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,uJAAuJ;AACvJ,eAAO,MAAM,0BAA0B,2CAA4C,CAAC;AACpF,eAAO,MAAM,wBAAwB;;;;EAAqC,CAAC;AAC3E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,gHAAgH;AAChH,eAAO,MAAM,kCAAkC;;;;;iBAG7C,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAC;AAE9F,yEAAyE;AACzE,eAAO,MAAM,6BAA6B;;;;;;;;;;;;iBAKxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;iBAKxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
|
|
@@ -94,6 +94,9 @@ export const contributionPageSchema = paginatedSchema(contributionEntrySchema);
|
|
|
94
94
|
*/
|
|
95
95
|
export const CONTRIBUTION_PERIOD_VALUES = ['recent', 'all'];
|
|
96
96
|
export const contributionPeriodSchema = z.enum(CONTRIBUTION_PERIOD_VALUES);
|
|
97
|
+
/** What a ledger row was earned on: a comment, a product or a review. The backend's storage's own values, from here like every other list (0.20.0). */
|
|
98
|
+
export const CONTRIBUTION_SOURCE_VALUES = ['comment', 'product', 'review'];
|
|
99
|
+
export const contributionSourceSchema = z.enum(CONTRIBUTION_SOURCE_VALUES);
|
|
97
100
|
/** `GET /api/v1/contributions/leaderboard?period=` (0.10.0). A query string, so the default is the server's. */
|
|
98
101
|
export const contributionLeaderboardQuerySchema = z.object({
|
|
99
102
|
// `?period=` with nothing after it is no period, as on every other query.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contributions.js","sourceRoot":"","sources":["../../../src/domains/contributions/contributions.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * founder-schema — Contribution: the help a member gives, recognised\n *\n * The score counts HELP GIVEN, and only what OTHER members recognise:\n *\n * feedback_helpful a product's team marks your comment \"this helped\" +10\n * tester_confirmed a product's team confirms you tested their product +15\n * review_helpful another member finds your review helpful +2\n * (at most `REVIEW_HELPFUL_POINTS_MAX` per review)\n *\n * `review_written` is still listed so older rows and clients parse, but it is\n * NEVER awarded (0.7.0): writing a review is your own act, and the score\n * counts only what others recognise. A review earns through Helpful votes.\n *\n * Nothing a member does for their OWN product counts, and nothing their own\n * product receives, so the score cannot be bought with a popular product.\n *\n * Against farming: one member can earn at most `CONTRIBUTION_PAIR_POINTS_MAX`\n * points from any ONE other member over `CONTRIBUTION_PAIR_WINDOW_DAYS`, so two founders cannot trade\n * Helpful marks into a high score.\n *\n * EVERY POINT IS A ROW (the ledger), so a score can be explained (\"how did I\n * earn this?\"), checked and re-tuned. A point stands while what earned it\n * stands: unmarking, withdrawing a vote, deleting the review or comment, or\n * staff removing it takes the point back. An hourly job recounts every score\n * from the ledger, so a total can never drift for long.\n *\n * Routes (all signed in):\n * GET /api/v1/contributions/me paginationQuerySchema -> contributionPageSchema\n * GET /api/v1/contributions/leaderboard contributionLeaderboardQuerySchema\n * -> contributionLeaderboardSchema\n *\n * The score itself is on the profile and the card (`contributionSummarySchema`).\n *\n * @module founder-schema/domains/contributions\n */\n\nimport { z } from 'zod';\nimport { emptyStringToUndefined, objectIdSchema } from '../../core/common.js';\nimport { paginatedSchema } from '../../core/responses.js';\nimport { contentKindSchema } from '../feed/feed.js';\nimport { productChipSchema } from '../products/products.js';\nimport { memberBylineSchema } from '../profile/founder-profile.js';\n\n/** ⚠ Stored per ledger row: append only. */\nexport const CONTRIBUTION_KIND_VALUES = [\n 'feedback_helpful',\n 'tester_confirmed',\n 'review_helpful',\n 'review_written',\n] as const;\nexport const contributionKindSchema = z.enum(CONTRIBUTION_KIND_VALUES);\n/**\n * The kinds that are actually awarded (0.7.0): every kind but `review_written`,\n * which is never awarded any more. \"How points are earned\" lists these.\n */\nexport const CONTRIBUTION_AWARDED_KIND_VALUES = CONTRIBUTION_KIND_VALUES.filter(\n (k): k is Exclude<(typeof CONTRIBUTION_KIND_VALUES)[number], 'review_written'> =>\n k !== 'review_written',\n);\nexport type ContributionKind = z.infer<typeof contributionKindSchema>;\n\n/**\n * Points per kind. Exhaustive by type. Changing a number changes FUTURE rows;\n * the hourly recount sums what each row was actually awarded.\n */\nexport const CONTRIBUTION_POINTS = {\n feedback_helpful: 10,\n tester_confirmed: 15,\n review_helpful: 2,\n review_written: 3,\n} as const satisfies Record<ContributionKind, number>;\n\n/** One line of \"how I earned my points\". */\nexport const contributionEntrySchema = z.object({\n id: objectIdSchema,\n kind: contributionKindSchema,\n /** What it was actually awarded: below the kind's points when a cap applied. */\n points: z.number().int().positive(),\n /**\n * Who recognised it; null for a deleted account, and for `review_helpful`\n * (a Helpful vote is anonymous: the review shows only a count).\n */\n actor: memberBylineSchema.nullable(),\n /** The product it was about, while it exists. */\n product: productChipSchema.optional(),\n /**\n * What earned it, so the row opens it: the post or poll and the comment for\n * `feedback_helpful`, the review for `review_helpful`.\n */\n content: z.object({ kind: contentKindSchema, id: objectIdSchema }).optional(),\n commentId: objectIdSchema.optional(),\n reviewId: objectIdSchema.optional(),\n createdAt: z.iso.datetime(),\n});\nexport type ContributionEntry = z.infer<typeof contributionEntrySchema>;\n\nexport const contributionPageSchema = paginatedSchema(contributionEntrySchema);\nexport type ContributionPage = z.infer<typeof contributionPageSchema>;\n\n/**\n * Which points a board ranks by (0.10.0): `recent`, the last\n * `CONTRIBUTION_RECENT_DAYS` days (the default, so a newer member can still\n * climb), or `all`, every point ever earned. Every board is GLOBAL: one list\n * for the whole circle (the user's ruling, 2026-10-11).\n */\nexport const CONTRIBUTION_PERIOD_VALUES = ['recent', 'all'] as const;\nexport const contributionPeriodSchema = z.enum(CONTRIBUTION_PERIOD_VALUES);\nexport type ContributionPeriod = z.infer<typeof contributionPeriodSchema>;\n\n/** `GET /api/v1/contributions/leaderboard?period=` (0.10.0). A query string, so the default is the server's. */\nexport const contributionLeaderboardQuerySchema = z.object({\n // `?period=` with nothing after it is no period, as on every other query.\n period: z.preprocess(emptyStringToUndefined, contributionPeriodSchema.default('recent')),\n});\nexport type ContributionLeaderboardQuery = z.infer<typeof contributionLeaderboardQuerySchema>;\n\n/** One row of a board: its rank, who, and their points in the period. */\nexport const contributionLeaderEntrySchema = z.object({\n rank: z.number().int().positive(),\n member: memberBylineSchema,\n /** Points earned in the period. */\n points: z.number().int().positive(),\n});\nexport type ContributionLeaderEntry = z.infer<typeof contributionLeaderEntrySchema>;\n\n/**\n * The signed-in member's own place on the board (0.10.0), on its first page or\n * not. Ranked in the SAME order, among the SAME members, as the list, so their\n * rank is always their position. `rank` is null while they are not on the\n * board: no points in the period (a board ranks help given, and nobody is\n * 40th for nothing), or a profile no longer listed. `points` are theirs either\n * way.\n */\nexport const contributionYouSchema = z.object({\n rank: z.number().int().positive().nullable(),\n points: z.number().int().nonnegative(),\n});\nexport type ContributionYou = z.infer<typeof contributionYouSchema>;\n\n/**\n * Top helpers, best first, at most `CONTRIBUTION_LEADERBOARD_SIZE`. Read from\n * the live counters, which move the moment help is recognised; only points\n * leaving the `recent` window wait for the hourly recount. `computedAt` is the\n * latest recount among the rows shown (null before the first run, and for an\n * empty board).\n *\n * `period` and `you` (0.10.0) are OPTIONAL on read, so this client keeps\n * parsing a server from before them: without `you` the board simply shows no\n * row of the member's own.\n */\nexport const contributionLeaderboardSchema = z.object({\n period: contributionPeriodSchema.optional(),\n items: z.array(contributionLeaderEntrySchema),\n you: contributionYouSchema.optional(),\n computedAt: z.iso.datetime().nullable(),\n});\nexport type ContributionLeaderboard = z.infer<typeof contributionLeaderboardSchema>;\n"]}
|
|
1
|
+
{"version":3,"file":"contributions.js","sourceRoot":"","sources":["../../../src/domains/contributions/contributions.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * founder-schema — Contribution: the help a member gives, recognised\n *\n * The score counts HELP GIVEN, and only what OTHER members recognise:\n *\n * feedback_helpful a product's team marks your comment \"this helped\" +10\n * tester_confirmed a product's team confirms you tested their product +15\n * review_helpful another member finds your review helpful +2\n * (at most `REVIEW_HELPFUL_POINTS_MAX` per review)\n *\n * `review_written` is still listed so older rows and clients parse, but it is\n * NEVER awarded (0.7.0): writing a review is your own act, and the score\n * counts only what others recognise. A review earns through Helpful votes.\n *\n * Nothing a member does for their OWN product counts, and nothing their own\n * product receives, so the score cannot be bought with a popular product.\n *\n * Against farming: one member can earn at most `CONTRIBUTION_PAIR_POINTS_MAX`\n * points from any ONE other member over `CONTRIBUTION_PAIR_WINDOW_DAYS`, so two founders cannot trade\n * Helpful marks into a high score.\n *\n * EVERY POINT IS A ROW (the ledger), so a score can be explained (\"how did I\n * earn this?\"), checked and re-tuned. A point stands while what earned it\n * stands: unmarking, withdrawing a vote, deleting the review or comment, or\n * staff removing it takes the point back. An hourly job recounts every score\n * from the ledger, so a total can never drift for long.\n *\n * Routes (all signed in):\n * GET /api/v1/contributions/me paginationQuerySchema -> contributionPageSchema\n * GET /api/v1/contributions/leaderboard contributionLeaderboardQuerySchema\n * -> contributionLeaderboardSchema\n *\n * The score itself is on the profile and the card (`contributionSummarySchema`).\n *\n * @module founder-schema/domains/contributions\n */\n\nimport { z } from 'zod';\nimport { emptyStringToUndefined, objectIdSchema } from '../../core/common.js';\nimport { paginatedSchema } from '../../core/responses.js';\nimport { contentKindSchema } from '../feed/feed.js';\nimport { productChipSchema } from '../products/products.js';\nimport { memberBylineSchema } from '../profile/founder-profile.js';\n\n/** ⚠ Stored per ledger row: append only. */\nexport const CONTRIBUTION_KIND_VALUES = [\n 'feedback_helpful',\n 'tester_confirmed',\n 'review_helpful',\n 'review_written',\n] as const;\nexport const contributionKindSchema = z.enum(CONTRIBUTION_KIND_VALUES);\n/**\n * The kinds that are actually awarded (0.7.0): every kind but `review_written`,\n * which is never awarded any more. \"How points are earned\" lists these.\n */\nexport const CONTRIBUTION_AWARDED_KIND_VALUES = CONTRIBUTION_KIND_VALUES.filter(\n (k): k is Exclude<(typeof CONTRIBUTION_KIND_VALUES)[number], 'review_written'> =>\n k !== 'review_written',\n);\nexport type ContributionKind = z.infer<typeof contributionKindSchema>;\n\n/**\n * Points per kind. Exhaustive by type. Changing a number changes FUTURE rows;\n * the hourly recount sums what each row was actually awarded.\n */\nexport const CONTRIBUTION_POINTS = {\n feedback_helpful: 10,\n tester_confirmed: 15,\n review_helpful: 2,\n review_written: 3,\n} as const satisfies Record<ContributionKind, number>;\n\n/** One line of \"how I earned my points\". */\nexport const contributionEntrySchema = z.object({\n id: objectIdSchema,\n kind: contributionKindSchema,\n /** What it was actually awarded: below the kind's points when a cap applied. */\n points: z.number().int().positive(),\n /**\n * Who recognised it; null for a deleted account, and for `review_helpful`\n * (a Helpful vote is anonymous: the review shows only a count).\n */\n actor: memberBylineSchema.nullable(),\n /** The product it was about, while it exists. */\n product: productChipSchema.optional(),\n /**\n * What earned it, so the row opens it: the post or poll and the comment for\n * `feedback_helpful`, the review for `review_helpful`.\n */\n content: z.object({ kind: contentKindSchema, id: objectIdSchema }).optional(),\n commentId: objectIdSchema.optional(),\n reviewId: objectIdSchema.optional(),\n createdAt: z.iso.datetime(),\n});\nexport type ContributionEntry = z.infer<typeof contributionEntrySchema>;\n\nexport const contributionPageSchema = paginatedSchema(contributionEntrySchema);\nexport type ContributionPage = z.infer<typeof contributionPageSchema>;\n\n/**\n * Which points a board ranks by (0.10.0): `recent`, the last\n * `CONTRIBUTION_RECENT_DAYS` days (the default, so a newer member can still\n * climb), or `all`, every point ever earned. Every board is GLOBAL: one list\n * for the whole circle (the user's ruling, 2026-10-11).\n */\nexport const CONTRIBUTION_PERIOD_VALUES = ['recent', 'all'] as const;\nexport const contributionPeriodSchema = z.enum(CONTRIBUTION_PERIOD_VALUES);\nexport type ContributionPeriod = z.infer<typeof contributionPeriodSchema>;\n\n/** What a ledger row was earned on: a comment, a product or a review. The backend's storage's own values, from here like every other list (0.20.0). */\nexport const CONTRIBUTION_SOURCE_VALUES = ['comment', 'product', 'review'] as const;\nexport const contributionSourceSchema = z.enum(CONTRIBUTION_SOURCE_VALUES);\nexport type ContributionSource = z.infer<typeof contributionSourceSchema>;\n\n/** `GET /api/v1/contributions/leaderboard?period=` (0.10.0). A query string, so the default is the server's. */\nexport const contributionLeaderboardQuerySchema = z.object({\n // `?period=` with nothing after it is no period, as on every other query.\n period: z.preprocess(emptyStringToUndefined, contributionPeriodSchema.default('recent')),\n});\nexport type ContributionLeaderboardQuery = z.infer<typeof contributionLeaderboardQuerySchema>;\n\n/** One row of a board: its rank, who, and their points in the period. */\nexport const contributionLeaderEntrySchema = z.object({\n rank: z.number().int().positive(),\n member: memberBylineSchema,\n /** Points earned in the period. */\n points: z.number().int().positive(),\n});\nexport type ContributionLeaderEntry = z.infer<typeof contributionLeaderEntrySchema>;\n\n/**\n * The signed-in member's own place on the board (0.10.0), on its first page or\n * not. Ranked in the SAME order, among the SAME members, as the list, so their\n * rank is always their position. `rank` is null while they are not on the\n * board: no points in the period (a board ranks help given, and nobody is\n * 40th for nothing), or a profile no longer listed. `points` are theirs either\n * way.\n */\nexport const contributionYouSchema = z.object({\n rank: z.number().int().positive().nullable(),\n points: z.number().int().nonnegative(),\n});\nexport type ContributionYou = z.infer<typeof contributionYouSchema>;\n\n/**\n * Top helpers, best first, at most `CONTRIBUTION_LEADERBOARD_SIZE`. Read from\n * the live counters, which move the moment help is recognised; only points\n * leaving the `recent` window wait for the hourly recount. `computedAt` is the\n * latest recount among the rows shown (null before the first run, and for an\n * empty board).\n *\n * `period` and `you` (0.10.0) are OPTIONAL on read, so this client keeps\n * parsing a server from before them: without `you` the board simply shows no\n * row of the member's own.\n */\nexport const contributionLeaderboardSchema = z.object({\n period: contributionPeriodSchema.optional(),\n items: z.array(contributionLeaderEntrySchema),\n you: contributionYouSchema.optional(),\n computedAt: z.iso.datetime().nullable(),\n});\nexport type ContributionLeaderboard = z.infer<typeof contributionLeaderboardSchema>;\n"]}
|
|
@@ -86,9 +86,9 @@ export declare const discoverPageSchema: z.ZodObject<{
|
|
|
86
86
|
state: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string | undefined, string>>>;
|
|
87
87
|
country: z.ZodString;
|
|
88
88
|
}, z.core.$strip>>;
|
|
89
|
-
displayName: z.ZodString;
|
|
90
|
-
username: z.ZodString;
|
|
91
89
|
userId: z.ZodString;
|
|
90
|
+
username: z.ZodString;
|
|
91
|
+
displayName: z.ZodString;
|
|
92
92
|
avatarUrl: z.ZodOptional<z.ZodURL>;
|
|
93
93
|
headline: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<string | undefined, string>>>;
|
|
94
94
|
contribution: z.ZodObject<{
|