dating-schema 0.45.0 → 0.47.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.
@@ -1,32 +1,58 @@
1
1
  /**
2
2
  * Dating profile entity and related response types.
3
+ *
4
+ * The DatingProfile interface covers the DISCOVER_PROJECTION fields (returned
5
+ * in the discover feed) plus commonly accessed fields in the full profile view.
6
+ * The index signature allows additional fields from the 190+ field model
7
+ * without requiring every field to be explicitly typed.
8
+ *
9
+ * Field visibility tiers (enforced by backend getProfileById):
10
+ * - TIER_1 (public): visible to anyone (discover feed fields)
11
+ * - TIER_2 (on_match): visible after matching (intimacy, family, detailed preferences)
12
+ * - TIER_3 (trust_gate): visible after 7+ days matched (finance, health, legal)
3
13
  */
4
14
  import type { BadgeKey } from '../badges.js';
5
15
  import type { PlanId } from '../plan-limits.js';
6
- import type { DatingPhoto } from './common.js';
7
- /** Full dating profile (own profile or tier-filtered view of another user). */
16
+ import type { AreaRef, DatingPhoto, TextPrompt, VoicePrompt } from './common.js';
17
+ /** Structured current location with area entity references. */
18
+ export interface CurrentLocation {
19
+ displayName?: string;
20
+ country?: AreaRef;
21
+ state?: AreaRef;
22
+ district?: AreaRef;
23
+ areaType?: 'RURAL' | 'URBAN';
24
+ block?: AreaRef;
25
+ gramPanchayat?: AreaRef;
26
+ village?: AreaRef;
27
+ hamlet?: AreaRef;
28
+ urbanBodyType?: string;
29
+ urbanBody?: AreaRef;
30
+ urbanWard?: AreaRef;
31
+ locality?: AreaRef;
32
+ latitude?: number;
33
+ longitude?: number;
34
+ }
35
+ /** Family member in the family structure. */
36
+ export interface FamilyMember {
37
+ relation: string;
38
+ alive: boolean;
39
+ }
40
+ /**
41
+ * Full dating profile entity.
42
+ *
43
+ * Includes all DISCOVER_PROJECTION fields (returned in discover feed)
44
+ * and commonly accessed fields in the full profile view.
45
+ * Additional fields from the 190+ model are accessible via index signature.
46
+ */
8
47
  export interface DatingProfile {
9
48
  _id: string;
10
49
  userId: string;
11
- displayName: string;
12
50
  photos: DatingPhoto[];
51
+ displayName: string;
13
52
  dateOfBirth: string;
14
53
  gender: string;
15
54
  pronouns?: string;
16
- currentLocation?: {
17
- displayName?: string;
18
- state?: {
19
- _id: string;
20
- name: string;
21
- };
22
- district?: {
23
- _id: string;
24
- name: string;
25
- };
26
- latitude?: number;
27
- longitude?: number;
28
- };
29
- hometown?: string;
55
+ currentLocation?: CurrentLocation;
30
56
  relationshipIntent?: string;
31
57
  sexualOrientation?: string;
32
58
  relationshipStructure?: string;
@@ -35,17 +61,132 @@ export interface DatingProfile {
35
61
  selfKeywords?: string[];
36
62
  height?: number;
37
63
  educationLevel?: string;
64
+ institutionTier?: string;
38
65
  profession?: string;
39
66
  diet?: string;
40
67
  smoking?: string;
41
68
  alcohol?: string;
42
69
  hobbies?: string[];
70
+ personalReligion?: string;
71
+ motherTongue?: string;
72
+ hometownState?: string;
43
73
  planId: PlanId;
44
- isOnboarded: boolean;
45
- isActive: boolean;
46
- lastActiveAt?: string;
47
74
  boostedUntil?: string;
75
+ lastActiveAt?: string;
76
+ blackCircleStatus?: string;
77
+ isVerified?: boolean;
78
+ isEliteInstitute?: boolean;
79
+ isHighIq?: boolean;
48
80
  badges?: BadgeKey[];
81
+ myStory?: string;
82
+ prompts?: TextPrompt[];
83
+ voicePrompt?: VoicePrompt;
84
+ bornTo?: string;
85
+ senseOfSelf?: string;
86
+ othersKeywords?: string[];
87
+ familyReligion?: string;
88
+ religionPracticeLevel?: string;
89
+ religionPartnerPreference?: string;
90
+ caste?: string;
91
+ subCaste?: string;
92
+ culturalImportance?: string;
93
+ manglikStatus?: string;
94
+ gotra?: string;
95
+ languagesSpoken?: string[];
96
+ relationshipStatus?: string;
97
+ bodyBuild?: string;
98
+ complexion?: string;
99
+ weight?: number;
100
+ childrenPlans?: string;
101
+ numberOfChildren?: number;
102
+ previousMarriages?: number;
103
+ cannabis?: string;
104
+ whatImLookingFor?: string;
105
+ relationshipRole?: string[];
106
+ preferredGenders?: string[];
107
+ preferredAgeRange?: {
108
+ min: number;
109
+ max: number;
110
+ };
111
+ dealbreakers?: string[];
112
+ oceanOpenness?: number;
113
+ oceanConscientiousness?: number;
114
+ oceanExtraversion?: number;
115
+ oceanAgreeableness?: number;
116
+ oceanNeuroticism?: number;
117
+ attachmentStyle?: string;
118
+ loveLanguage?: string;
119
+ conflictStyle?: string;
120
+ communicationStyle?: string[];
121
+ humourStyle?: string[];
122
+ emotionalIntelligence?: number;
123
+ socialBattery?: string;
124
+ relationshipPace?: string;
125
+ ratePatience?: number;
126
+ rateRespect?: number;
127
+ rateHonestyWithSelf?: number;
128
+ rateHonestyWithOthers?: number;
129
+ rateTemper?: number;
130
+ rateSelfEsteem?: number;
131
+ rateHumour?: number;
132
+ rateBoredom?: number;
133
+ rateBeauty?: number;
134
+ rateBuild?: number;
135
+ ratePersonality?: number;
136
+ rateAbuseFrequency?: number;
137
+ musicGenres?: string[];
138
+ eventPreference?: string[];
139
+ knowledgeAreas?: string[];
140
+ vacationStyle?: string[];
141
+ gamingInterest?: string;
142
+ readingHabit?: string;
143
+ riskAppetite?: string;
144
+ favouriteBooks?: string[];
145
+ favouriteShows?: string[];
146
+ favouriteDocumentaries?: string[];
147
+ favouriteMusicArtists?: string[];
148
+ favouriteYoutubeChannels?: string[];
149
+ idols?: string[];
150
+ favouriteQuotes?: string[];
151
+ lifeGoals?: string[];
152
+ politicalOrientation?: string;
153
+ environmentalValues?: string;
154
+ spiritualPractice?: string;
155
+ outlookOnLife?: string;
156
+ careerStage?: string;
157
+ incomeRange?: string;
158
+ cognitiveBand?: string;
159
+ chronotype?: string;
160
+ fitnessLevel?: string;
161
+ sleepSchedule?: string;
162
+ cookingLevel?: string;
163
+ tidiness?: string;
164
+ petPreference?: string;
165
+ travelFrequency?: string;
166
+ urbanRural?: string;
167
+ sunSign?: string;
168
+ familyType?: string;
169
+ familyValues?: string;
170
+ familyMembers?: FamilyMember[];
171
+ familyAffluence?: string;
172
+ numberOfSiblings?: number;
173
+ phoneNumber?: string;
174
+ phoneVisible?: boolean;
175
+ guardianContact?: {
176
+ name?: string;
177
+ phoneNumber?: string;
178
+ relation?: string;
179
+ visible?: boolean;
180
+ };
181
+ incognitoEnabled?: boolean;
182
+ travelModeEnabled?: boolean;
183
+ discoverDimensions?: {
184
+ socialFit?: boolean;
185
+ personality?: boolean;
186
+ intimacy?: boolean;
187
+ };
188
+ isOnboarded: boolean;
189
+ isActive: boolean;
49
190
  [key: string]: unknown;
50
191
  }
51
192
  /** Profile view for admin moderation panel. */
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/responses/profile.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACtC,QAAQ,CAAC,EAAE;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/responses/profile.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
1
  /**
2
2
  * Dating profile entity and related response types.
3
+ *
4
+ * The DatingProfile interface covers the DISCOVER_PROJECTION fields (returned
5
+ * in the discover feed) plus commonly accessed fields in the full profile view.
6
+ * The index signature allows additional fields from the 190+ field model
7
+ * without requiring every field to be explicitly typed.
8
+ *
9
+ * Field visibility tiers (enforced by backend getProfileById):
10
+ * - TIER_1 (public): visible to anyone (discover feed fields)
11
+ * - TIER_2 (on_match): visible after matching (intimacy, family, detailed preferences)
12
+ * - TIER_3 (trust_gate): visible after 7+ days matched (finance, health, legal)
3
13
  */
4
14
  export {};
5
15
  //# sourceMappingURL=profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/responses/profile.ts"],"names":[],"mappings":"AAAA;;GAEG","sourcesContent":["/**\n * Dating profile entity and related response types.\n */\n\nimport type { BadgeKey } from '../badges.js';\nimport type { PlanId } from '../plan-limits.js';\nimport type { DatingPhoto } from './common.js';\n\n/** Full dating profile (own profile or tier-filtered view of another user). */\nexport interface DatingProfile {\n _id: string;\n userId: string;\n displayName: string;\n photos: DatingPhoto[];\n dateOfBirth: string;\n gender: string;\n pronouns?: string;\n currentLocation?: {\n displayName?: string;\n state?: { _id: string; name: string };\n district?: { _id: string; name: string };\n latitude?: number;\n longitude?: number;\n };\n hometown?: string;\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 profession?: string;\n diet?: string;\n smoking?: string;\n alcohol?: string;\n hobbies?: string[];\n planId: PlanId;\n isOnboarded: boolean;\n isActive: boolean;\n lastActiveAt?: string;\n boostedUntil?: string;\n badges?: BadgeKey[];\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';\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 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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dating-schema",
3
- "version": "0.45.0",
3
+ "version": "0.47.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",