dating-schema 0.53.0 → 0.55.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/dist/responses/interactions.d.ts +17 -0
- package/dist/responses/interactions.d.ts.map +1 -1
- package/dist/responses/interactions.js.map +1 -1
- package/dist/responses/profile.d.ts +13 -0
- package/dist/responses/profile.d.ts.map +1 -1
- package/dist/responses/profile.js.map +1 -1
- package/package.json +1 -1
|
@@ -71,4 +71,21 @@ export interface ComplimentInteractionResult {
|
|
|
71
71
|
page: number;
|
|
72
72
|
limit: number;
|
|
73
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Result of marking every received compliment for the current user as read.
|
|
76
|
+
* Reports how many docs were flipped from `isRead: false` to `true` so the
|
|
77
|
+
* caller can decide whether to optimistically zero out the unread badge.
|
|
78
|
+
*/
|
|
79
|
+
export interface MarkAllComplimentsReadResult {
|
|
80
|
+
markedCount: number;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Unread compliment count for the current user. Drives the badge on the
|
|
84
|
+
* "Received" sub-tab of the find-partner interactions page; a separate
|
|
85
|
+
* lightweight endpoint instead of folding into every list response so the
|
|
86
|
+
* count is correct no matter which tab the user landed on.
|
|
87
|
+
*/
|
|
88
|
+
export interface UnreadComplimentsCount {
|
|
89
|
+
count: number;
|
|
90
|
+
}
|
|
74
91
|
//# sourceMappingURL=interactions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../../src/responses/interactions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,2BAA2B;AAC3B,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAChC;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAChC;AAED,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,6CAA6C;AAC7C,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
1
|
+
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../../src/responses/interactions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,+CAA+C;AAC/C,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,2BAA2B;AAC3B,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,iCAAiC;AACjC,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAChC;AAED,kFAAkF;AAClF,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;CAChC;AAED,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,6CAA6C;AAC7C,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,qBAAqB,EAAE,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../src/responses/interactions.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\n * Swipe, compliment, and interaction list response types.\n */\n\nimport type { ProfileSummary } from './common.js';\n\n/** Result of recording a swipe (like/pass). */\nexport interface SwipeResult {\n matched: boolean;\n matchId?: string;\n}\n\n/** Result of rewinding the last swipe. */\nexport interface RewindResult {\n undone: boolean;\n matchRemoved: boolean;\n}\n\n/** A compliment entity. */\nexport interface Compliment {\n _id: string;\n fromUserId: string;\n toUserId: string;\n text: string;\n isRead: boolean;\n createdAt: string;\n updatedAt: string;\n}\n\n/** Result of sending a compliment (may trigger a match). */\nexport interface SendComplimentResult {\n compliment: Compliment;\n matched: boolean;\n matchId?: string;\n}\n\n/** Paginated compliment list. */\nexport interface ComplimentListResult {\n compliments: Compliment[];\n total: number;\n page: number;\n limit: number;\n}\n\n/** A profile in the \"users I liked\" list. */\nexport interface LikedProfile {\n swipedAt: string;\n profile: ProfileSummary | null;\n}\n\n/** A profile in the \"users who liked me\" list (may be blurred for basic plan). */\nexport interface LikedMeProfile extends LikedProfile {\n isBlurred?: boolean;\n}\n\n/** A compliment with the sender/receiver's profile summary. */\nexport interface ComplimentWithProfile {\n compliment: Compliment;\n profile: ProfileSummary | null;\n}\n\n/** Paginated \"liked\" list result. */\nexport interface LikedResult {\n profiles: LikedProfile[];\n total: number;\n page: number;\n limit: number;\n}\n\n/** Paginated \"liked me\" list result (with upgrade prompt for free users). */\nexport interface LikedMeResult {\n profiles: LikedMeProfile[];\n total: number;\n page: number;\n limit: number;\n upgradeRequired?: boolean;\n}\n\n/** Paginated compliment interaction list. */\nexport interface ComplimentInteractionResult {\n compliments: ComplimentWithProfile[];\n total: number;\n page: number;\n limit: number;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../src/responses/interactions.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\n * Swipe, compliment, and interaction list response types.\n */\n\nimport type { ProfileSummary } from './common.js';\n\n/** Result of recording a swipe (like/pass). */\nexport interface SwipeResult {\n matched: boolean;\n matchId?: string;\n}\n\n/** Result of rewinding the last swipe. */\nexport interface RewindResult {\n undone: boolean;\n matchRemoved: boolean;\n}\n\n/** A compliment entity. */\nexport interface Compliment {\n _id: string;\n fromUserId: string;\n toUserId: string;\n text: string;\n isRead: boolean;\n createdAt: string;\n updatedAt: string;\n}\n\n/** Result of sending a compliment (may trigger a match). */\nexport interface SendComplimentResult {\n compliment: Compliment;\n matched: boolean;\n matchId?: string;\n}\n\n/** Paginated compliment list. */\nexport interface ComplimentListResult {\n compliments: Compliment[];\n total: number;\n page: number;\n limit: number;\n}\n\n/** A profile in the \"users I liked\" list. */\nexport interface LikedProfile {\n swipedAt: string;\n profile: ProfileSummary | null;\n}\n\n/** A profile in the \"users who liked me\" list (may be blurred for basic plan). */\nexport interface LikedMeProfile extends LikedProfile {\n isBlurred?: boolean;\n}\n\n/** A compliment with the sender/receiver's profile summary. */\nexport interface ComplimentWithProfile {\n compliment: Compliment;\n profile: ProfileSummary | null;\n}\n\n/** Paginated \"liked\" list result. */\nexport interface LikedResult {\n profiles: LikedProfile[];\n total: number;\n page: number;\n limit: number;\n}\n\n/** Paginated \"liked me\" list result (with upgrade prompt for free users). */\nexport interface LikedMeResult {\n profiles: LikedMeProfile[];\n total: number;\n page: number;\n limit: number;\n upgradeRequired?: boolean;\n}\n\n/** Paginated compliment interaction list. */\nexport interface ComplimentInteractionResult {\n compliments: ComplimentWithProfile[];\n total: number;\n page: number;\n limit: number;\n}\n\n/**\n * Result of marking every received compliment for the current user as read.\n * Reports how many docs were flipped from `isRead: false` to `true` so the\n * caller can decide whether to optimistically zero out the unread badge.\n */\nexport interface MarkAllComplimentsReadResult {\n markedCount: number;\n}\n\n/**\n * Unread compliment count for the current user. Drives the badge on the\n * \"Received\" sub-tab of the find-partner interactions page; a separate\n * lightweight endpoint instead of folding into every list response so the\n * count is correct no matter which tab the user landed on.\n */\nexport interface UnreadComplimentsCount {\n count: number;\n}\n"]}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import type { BadgeKey } from '../badges.js';
|
|
15
15
|
import type { PlanId } from '../plan-limits.js';
|
|
16
16
|
import type { AreaRef, DatingPhoto, TextPrompt, VoicePrompt } from './common.js';
|
|
17
|
+
import type { CompatibilityResult } from './discover.js';
|
|
17
18
|
/** Structured current location with area entity references. */
|
|
18
19
|
export interface CurrentLocation {
|
|
19
20
|
displayName?: string;
|
|
@@ -188,6 +189,18 @@ export interface DatingProfile {
|
|
|
188
189
|
};
|
|
189
190
|
isOnboarded: boolean;
|
|
190
191
|
isActive: boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Viewer→profile compatibility, attached by `getProfileById` when
|
|
194
|
+
* the viewer is NOT the profile owner. `breakdown` (dimensions) is
|
|
195
|
+
* only present for plans whose `scoreBreakdown` is `'breakdown'`
|
|
196
|
+
* (Premium / Black). Lower tiers receive `{ total }` only so the
|
|
197
|
+
* profile detail page stays consistent with what discover already
|
|
198
|
+
* gates. Absent for `self` views.
|
|
199
|
+
*/
|
|
200
|
+
compatibility?: {
|
|
201
|
+
total: number;
|
|
202
|
+
breakdown?: CompatibilityResult;
|
|
203
|
+
};
|
|
191
204
|
[key: string]: unknown;
|
|
192
205
|
}
|
|
193
206
|
/** Profile view for admin moderation panel. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/responses/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/responses/profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/responses/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG","sourcesContent":["/**\n * Dating profile entity and related response types.\n *\n * The DatingProfile interface covers the DISCOVER_PROJECTION fields (returned\n * in the discover feed) plus commonly accessed fields in the full profile view.\n * The index signature allows additional fields from the 190+ field model\n * without requiring every field to be explicitly typed.\n *\n * Field visibility tiers (enforced by backend getProfileById):\n * - TIER_1 (public): visible to anyone (discover feed fields)\n * - TIER_2 (on_match): visible after matching (intimacy, family, detailed preferences)\n * - TIER_3 (trust_gate): visible after 7+ days matched (finance, health, legal)\n */\n\nimport type { BadgeKey } from '../badges.js';\nimport type { PlanId } from '../plan-limits.js';\nimport type { AreaRef, DatingPhoto, TextPrompt, VoicePrompt } from './common.js';\n\n/** Structured current location with area entity references. */\nexport interface CurrentLocation {\n displayName?: string;\n country?: AreaRef;\n state?: AreaRef;\n district?: AreaRef;\n areaType?: 'RURAL' | 'URBAN';\n block?: AreaRef;\n gramPanchayat?: AreaRef;\n village?: AreaRef;\n hamlet?: AreaRef;\n urbanBodyType?: string;\n urbanBody?: AreaRef;\n urbanWard?: AreaRef;\n locality?: AreaRef;\n latitude?: number;\n longitude?: number;\n}\n\n/** Family member in the family structure. */\nexport interface FamilyMember {\n relation: string;\n alive: boolean;\n}\n\n/**\n * Full dating profile entity.\n *\n * Includes all DISCOVER_PROJECTION fields (returned in discover feed)\n * and commonly accessed fields in the full profile view.\n * Additional fields from the 190+ model are accessible via index signature.\n */\nexport interface DatingProfile {\n _id: string;\n userId: string;\n\n // ── TIER 1: Public (discover feed) ─────────────────────\n photos: DatingPhoto[];\n displayName: string;\n dateOfBirth: string;\n gender: string;\n pronouns?: string;\n currentLocation?: CurrentLocation;\n relationshipIntent?: string;\n sexualOrientation?: string;\n relationshipStructure?: string;\n mbtiType?: string;\n bio?: string;\n selfKeywords?: string[];\n height?: number;\n educationLevel?: string;\n institutionTier?: string;\n profession?: string;\n diet?: string;\n smoking?: string;\n alcohol?: string;\n hobbies?: string[];\n personalReligion?: string;\n motherTongue?: string;\n hometownState?: string;\n planId: PlanId;\n boostedUntil?: string;\n lastActiveAt?: string;\n blackCircleStatus?: string;\n isVerified?: boolean;\n isEliteInstitute?: boolean;\n isHighIq?: boolean;\n badges?: BadgeKey[];\n\n // ── Story & prompts ────────────────────────────────────\n myStory?: string;\n prompts?: TextPrompt[];\n voicePrompt?: VoicePrompt;\n bornTo?: string;\n senseOfSelf?: string;\n othersKeywords?: string[];\n\n // ── Basics (demographics) ──────────────────────────────\n familyReligion?: string;\n religionPracticeLevel?: string;\n religionPartnerPreference?: string;\n caste?: string;\n subCaste?: string;\n culturalImportance?: string;\n manglikStatus?: string;\n gotra?: string;\n languagesSpoken?: string[];\n relationshipStatus?: string;\n bodyBuild?: string;\n complexion?: string;\n weight?: number;\n childrenPlans?: string;\n numberOfChildren?: number;\n previousMarriages?: number;\n cannabis?: string;\n\n // ── Looking for ────────────────────────────────────────\n whatImLookingFor?: string;\n relationshipRole?: string[];\n preferredGenders?: string[];\n preferredAgeRange?: { min: number; max: number };\n dealbreakers?: string[];\n\n // ── Personality ────────────────────────────────────────\n oceanOpenness?: number;\n oceanConscientiousness?: number;\n oceanExtraversion?: number;\n oceanAgreeableness?: number;\n oceanNeuroticism?: number;\n attachmentStyle?: string;\n loveLanguage?: string;\n conflictStyle?: string;\n communicationStyle?: string[];\n humourStyle?: string[];\n emotionalIntelligence?: number;\n socialBattery?: string;\n relationshipPace?: string;\n\n // ── Self-assessment (1-10 sliders) ─────────────────────\n ratePatience?: number;\n rateRespect?: number;\n rateHonestyWithSelf?: number;\n rateHonestyWithOthers?: number;\n rateTemper?: number;\n rateSelfEsteem?: number;\n rateHumour?: number;\n rateBoredom?: number;\n rateBeauty?: number;\n rateBuild?: number;\n ratePersonality?: number;\n rateAbuseFrequency?: number;\n\n // ── Interests & favourites ─────────────────────────────\n musicGenres?: string[];\n eventPreference?: string[];\n knowledgeAreas?: string[];\n vacationStyle?: string[];\n gamingInterest?: string;\n readingHabit?: string;\n riskAppetite?: string;\n favouriteBooks?: string[];\n favouriteShows?: string[];\n favouriteDocumentaries?: string[];\n favouriteMusicArtists?: string[];\n favouriteYoutubeChannels?: string[];\n idols?: string[];\n favouriteQuotes?: string[];\n\n // ── Values ─────────────────────────────────────────────\n lifeGoals?: string[];\n politicalOrientation?: string;\n environmentalValues?: string;\n spiritualPractice?: string;\n outlookOnLife?: string;\n\n // ── Career ─────────────────────────────────────────────\n careerStage?: string;\n incomeRange?: string;\n cognitiveBand?: string;\n\n // ── Lifestyle ──────────────────────────────────────────\n chronotype?: string;\n fitnessLevel?: string;\n sleepSchedule?: string;\n cookingLevel?: string;\n tidiness?: string;\n petPreference?: string;\n travelFrequency?: string;\n urbanRural?: string;\n sunSign?: string;\n\n // ── Family ─────────────────────────────────────────────\n familyType?: string;\n familyValues?: string;\n familyMembers?: FamilyMember[];\n familyAffluence?: string;\n numberOfSiblings?: number;\n\n // ── Privacy & features ─────────────────────────────────\n phoneNumber?: string;\n phoneVisible?: boolean;\n personalPhone?: string;\n guardianContact?: { name?: string; phoneNumber?: string; relation?: string; visible?: boolean };\n incognitoEnabled?: boolean;\n travelModeEnabled?: boolean;\n discoverDimensions?: { socialFit?: boolean; personality?: boolean; intimacy?: boolean };\n\n // ── Meta ────────────────────────────────────────────────\n isOnboarded: boolean;\n isActive: boolean;\n\n // ── Index signature for 190+ model fields ──────────────\n [key: string]: unknown;\n}\n\n/** Profile view for admin moderation panel. */\nexport interface ModerationProfile {\n _id: string;\n userId: string;\n displayName: string;\n photos: DatingPhoto[];\n gender: string;\n dateOfBirth: string;\n planId: string;\n blackCircleStatus: string;\n isVerified: boolean;\n isEliteInstitute: boolean;\n isHighIq: boolean;\n isActive: boolean;\n createdAt: string;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/responses/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG","sourcesContent":["/**\n * Dating profile entity and related response types.\n *\n * The DatingProfile interface covers the DISCOVER_PROJECTION fields (returned\n * in the discover feed) plus commonly accessed fields in the full profile view.\n * The index signature allows additional fields from the 190+ field model\n * without requiring every field to be explicitly typed.\n *\n * Field visibility tiers (enforced by backend getProfileById):\n * - TIER_1 (public): visible to anyone (discover feed fields)\n * - TIER_2 (on_match): visible after matching (intimacy, family, detailed preferences)\n * - TIER_3 (trust_gate): visible after 7+ days matched (finance, health, legal)\n */\n\nimport type { BadgeKey } from '../badges.js';\nimport type { PlanId } from '../plan-limits.js';\nimport type { AreaRef, DatingPhoto, TextPrompt, VoicePrompt } from './common.js';\nimport type { CompatibilityResult } from './discover.js';\n\n/** Structured current location with area entity references. */\nexport interface CurrentLocation {\n displayName?: string;\n country?: AreaRef;\n state?: AreaRef;\n district?: AreaRef;\n areaType?: 'RURAL' | 'URBAN';\n block?: AreaRef;\n gramPanchayat?: AreaRef;\n village?: AreaRef;\n hamlet?: AreaRef;\n urbanBodyType?: string;\n urbanBody?: AreaRef;\n urbanWard?: AreaRef;\n locality?: AreaRef;\n latitude?: number;\n longitude?: number;\n}\n\n/** Family member in the family structure. */\nexport interface FamilyMember {\n relation: string;\n alive: boolean;\n}\n\n/**\n * Full dating profile entity.\n *\n * Includes all DISCOVER_PROJECTION fields (returned in discover feed)\n * and commonly accessed fields in the full profile view.\n * Additional fields from the 190+ model are accessible via index signature.\n */\nexport interface DatingProfile {\n _id: string;\n userId: string;\n\n // ── TIER 1: Public (discover feed) ─────────────────────\n photos: DatingPhoto[];\n displayName: string;\n dateOfBirth: string;\n gender: string;\n pronouns?: string;\n currentLocation?: CurrentLocation;\n relationshipIntent?: string;\n sexualOrientation?: string;\n relationshipStructure?: string;\n mbtiType?: string;\n bio?: string;\n selfKeywords?: string[];\n height?: number;\n educationLevel?: string;\n institutionTier?: string;\n profession?: string;\n diet?: string;\n smoking?: string;\n alcohol?: string;\n hobbies?: string[];\n personalReligion?: string;\n motherTongue?: string;\n hometownState?: string;\n planId: PlanId;\n boostedUntil?: string;\n lastActiveAt?: string;\n blackCircleStatus?: string;\n isVerified?: boolean;\n isEliteInstitute?: boolean;\n isHighIq?: boolean;\n badges?: BadgeKey[];\n\n // ── Story & prompts ────────────────────────────────────\n myStory?: string;\n prompts?: TextPrompt[];\n voicePrompt?: VoicePrompt;\n bornTo?: string;\n senseOfSelf?: string;\n othersKeywords?: string[];\n\n // ── Basics (demographics) ──────────────────────────────\n familyReligion?: string;\n religionPracticeLevel?: string;\n religionPartnerPreference?: string;\n caste?: string;\n subCaste?: string;\n culturalImportance?: string;\n manglikStatus?: string;\n gotra?: string;\n languagesSpoken?: string[];\n relationshipStatus?: string;\n bodyBuild?: string;\n complexion?: string;\n weight?: number;\n childrenPlans?: string;\n numberOfChildren?: number;\n previousMarriages?: number;\n cannabis?: string;\n\n // ── Looking for ────────────────────────────────────────\n whatImLookingFor?: string;\n relationshipRole?: string[];\n preferredGenders?: string[];\n preferredAgeRange?: { min: number; max: number };\n dealbreakers?: string[];\n\n // ── Personality ────────────────────────────────────────\n oceanOpenness?: number;\n oceanConscientiousness?: number;\n oceanExtraversion?: number;\n oceanAgreeableness?: number;\n oceanNeuroticism?: number;\n attachmentStyle?: string;\n loveLanguage?: string;\n conflictStyle?: string;\n communicationStyle?: string[];\n humourStyle?: string[];\n emotionalIntelligence?: number;\n socialBattery?: string;\n relationshipPace?: string;\n\n // ── Self-assessment (1-10 sliders) ─────────────────────\n ratePatience?: number;\n rateRespect?: number;\n rateHonestyWithSelf?: number;\n rateHonestyWithOthers?: number;\n rateTemper?: number;\n rateSelfEsteem?: number;\n rateHumour?: number;\n rateBoredom?: number;\n rateBeauty?: number;\n rateBuild?: number;\n ratePersonality?: number;\n rateAbuseFrequency?: number;\n\n // ── Interests & favourites ─────────────────────────────\n musicGenres?: string[];\n eventPreference?: string[];\n knowledgeAreas?: string[];\n vacationStyle?: string[];\n gamingInterest?: string;\n readingHabit?: string;\n riskAppetite?: string;\n favouriteBooks?: string[];\n favouriteShows?: string[];\n favouriteDocumentaries?: string[];\n favouriteMusicArtists?: string[];\n favouriteYoutubeChannels?: string[];\n idols?: string[];\n favouriteQuotes?: string[];\n\n // ── Values ─────────────────────────────────────────────\n lifeGoals?: string[];\n politicalOrientation?: string;\n environmentalValues?: string;\n spiritualPractice?: string;\n outlookOnLife?: string;\n\n // ── Career ─────────────────────────────────────────────\n careerStage?: string;\n incomeRange?: string;\n cognitiveBand?: string;\n\n // ── Lifestyle ──────────────────────────────────────────\n chronotype?: string;\n fitnessLevel?: string;\n sleepSchedule?: string;\n cookingLevel?: string;\n tidiness?: string;\n petPreference?: string;\n travelFrequency?: string;\n urbanRural?: string;\n sunSign?: string;\n\n // ── Family ─────────────────────────────────────────────\n familyType?: string;\n familyValues?: string;\n familyMembers?: FamilyMember[];\n familyAffluence?: string;\n numberOfSiblings?: number;\n\n // ── Privacy & features ─────────────────────────────────\n phoneNumber?: string;\n phoneVisible?: boolean;\n personalPhone?: string;\n guardianContact?: { name?: string; phoneNumber?: string; relation?: string; visible?: boolean };\n incognitoEnabled?: boolean;\n travelModeEnabled?: boolean;\n discoverDimensions?: { socialFit?: boolean; personality?: boolean; intimacy?: boolean };\n\n // ── Meta ────────────────────────────────────────────────\n isOnboarded: boolean;\n isActive: boolean;\n\n /**\n * Viewer→profile compatibility, attached by `getProfileById` when\n * the viewer is NOT the profile owner. `breakdown` (dimensions) is\n * only present for plans whose `scoreBreakdown` is `'breakdown'`\n * (Premium / Black). Lower tiers receive `{ total }` only so the\n * profile detail page stays consistent with what discover already\n * gates. Absent for `self` views.\n */\n compatibility?: { total: number; breakdown?: CompatibilityResult };\n\n // ── Index signature for 190+ model fields ──────────────\n [key: string]: unknown;\n}\n\n/** Profile view for admin moderation panel. */\nexport interface ModerationProfile {\n _id: string;\n userId: string;\n displayName: string;\n photos: DatingPhoto[];\n gender: string;\n dateOfBirth: string;\n planId: string;\n blackCircleStatus: string;\n isVerified: boolean;\n isEliteInstitute: boolean;\n isHighIq: boolean;\n isActive: boolean;\n createdAt: string;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dating-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.55.0",
|
|
4
4
|
"description": "Shared Zod schemas for the Dating feature — single source of truth for API contracts, validation, and TypeScript types (frontend + backend).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|