onehook-api-client 1.0.12 → 1.0.15

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.
Files changed (50) hide show
  1. package/README.md +63 -0
  2. package/dist-cjs/OneHook.js +18 -0
  3. package/dist-cjs/commands/CreateMediaDownloadUrlCommand.js +21 -0
  4. package/dist-cjs/commands/CreateMediaUploadUrlCommand.js +21 -0
  5. package/dist-cjs/commands/DeletePushTokenCommand.js +21 -0
  6. package/dist-cjs/commands/GetChatSettingsCommand.js +21 -0
  7. package/dist-cjs/commands/GetNotificationPreferencesCommand.js +21 -0
  8. package/dist-cjs/commands/GetUserIdByUsernameCommand.js +21 -0
  9. package/dist-cjs/commands/RegisterPushTokenCommand.js +21 -0
  10. package/dist-cjs/commands/SwipeByUsernameCommand.js +21 -0
  11. package/dist-cjs/commands/UpdateChatSettingsCommand.js +21 -0
  12. package/dist-cjs/commands/index.js +9 -0
  13. package/dist-cjs/graphql/types.js +6 -1
  14. package/dist-cjs/models/models_0.js +17 -6
  15. package/dist-cjs/protocols/Aws_restJson1.js +345 -3
  16. package/dist-es/OneHook.js +18 -0
  17. package/dist-es/commands/CreateMediaDownloadUrlCommand.js +17 -0
  18. package/dist-es/commands/CreateMediaUploadUrlCommand.js +17 -0
  19. package/dist-es/commands/DeletePushTokenCommand.js +17 -0
  20. package/dist-es/commands/GetChatSettingsCommand.js +17 -0
  21. package/dist-es/commands/GetNotificationPreferencesCommand.js +17 -0
  22. package/dist-es/commands/GetUserIdByUsernameCommand.js +17 -0
  23. package/dist-es/commands/RegisterPushTokenCommand.js +17 -0
  24. package/dist-es/commands/SwipeByUsernameCommand.js +17 -0
  25. package/dist-es/commands/UpdateChatSettingsCommand.js +17 -0
  26. package/dist-es/commands/index.js +9 -0
  27. package/dist-es/graphql/types.js +5 -0
  28. package/dist-es/models/models_0.js +16 -5
  29. package/dist-es/protocols/Aws_restJson1.js +324 -1
  30. package/dist-types/OneHook.d.ts +65 -0
  31. package/dist-types/OneHookClient.d.ts +11 -2
  32. package/dist-types/commands/CreateMediaDownloadUrlCommand.d.ts +87 -0
  33. package/dist-types/commands/CreateMediaUploadUrlCommand.d.ts +92 -0
  34. package/dist-types/commands/DeletePushTokenCommand.d.ts +85 -0
  35. package/dist-types/commands/GetChatSettingsCommand.d.ts +85 -0
  36. package/dist-types/commands/GetMyProfileCommand.d.ts +4 -1
  37. package/dist-types/commands/GetNotificationPreferencesCommand.d.ts +91 -0
  38. package/dist-types/commands/GetPreferencesCommand.d.ts +37 -1
  39. package/dist-types/commands/GetProfileCommand.d.ts +4 -1
  40. package/dist-types/commands/GetUserIdByUsernameCommand.d.ts +84 -0
  41. package/dist-types/commands/RegisterPushTokenCommand.d.ts +93 -0
  42. package/dist-types/commands/SwipeByUsernameCommand.d.ts +93 -0
  43. package/dist-types/commands/UpdateChatSettingsCommand.d.ts +95 -0
  44. package/dist-types/commands/UpdatePreferencesCommand.d.ts +37 -1
  45. package/dist-types/commands/UpdateProfileCommand.d.ts +4 -1
  46. package/dist-types/commands/index.d.ts +9 -0
  47. package/dist-types/graphql/types.d.ts +33 -0
  48. package/dist-types/models/models_0.d.ts +511 -16
  49. package/dist-types/protocols/Aws_restJson1.d.ts +81 -0
  50. package/package.json +1 -1
@@ -84,6 +84,7 @@ export type Mutation = {
84
84
  deleteMessage?: Maybe<DeletedMessage>;
85
85
  markAsDelivered?: Maybe<MessageReceipt>;
86
86
  markAsRead?: Maybe<MessageReceipt>;
87
+ publishNotification?: Maybe<Notification>;
87
88
  requestKeyRecovery?: Maybe<KeyRecoverySession>;
88
89
  sendMessage?: Maybe<Message>;
89
90
  updateKeyRecovery?: Maybe<KeyRecoverySession>;
@@ -104,6 +105,14 @@ export type MutationMarkAsReadArgs = {
104
105
  timestamp: Scalars['AWSTimestamp']['input'];
105
106
  userId: Scalars['String']['input'];
106
107
  };
108
+ export type MutationPublishNotificationArgs = {
109
+ body: Scalars['String']['input'];
110
+ id?: InputMaybe<Scalars['ID']['input']>;
111
+ kind: NotificationKind;
112
+ matchId?: InputMaybe<Scalars['ID']['input']>;
113
+ title: Scalars['String']['input'];
114
+ userId: Scalars['ID']['input'];
115
+ };
107
116
  export type MutationRequestKeyRecoveryArgs = {
108
117
  challenge: Scalars['String']['input'];
109
118
  sourceDeviceId: Scalars['ID']['input'];
@@ -121,6 +130,26 @@ export type MutationUpdateKeyRecoveryArgs = {
121
130
  status: KeyRecoveryStatus;
122
131
  targetDeviceId: Scalars['ID']['input'];
123
132
  };
133
+ export type Notification = {
134
+ __typename?: 'Notification';
135
+ /** Server-authored copy. Never message content (the backend cannot read it). */
136
+ body: Scalars['String']['output'];
137
+ createdAt: Scalars['AWSTimestamp']['output'];
138
+ /** Idempotency/dedup key, so a redelivered event renders once. */
139
+ id: Scalars['ID']['output'];
140
+ kind: NotificationKind;
141
+ /** Present on MUTUAL_MATCH so the client can deep-link to the conversation. */
142
+ matchId?: Maybe<Scalars['ID']['output']>;
143
+ title: Scalars['String']['output'];
144
+ /** Recipient. Always the subscriber's own subject — the resolver enforces it. */
145
+ userId: Scalars['ID']['output'];
146
+ };
147
+ export declare enum NotificationKind {
148
+ /** Both people liked each other and State created the hook. */
149
+ MutualMatch = "MUTUAL_MATCH",
150
+ /** Someone liked this user. Does NOT reveal whether the like was reciprocated. */
151
+ ProfileLiked = "PROFILE_LIKED"
152
+ }
124
153
  export type Query = {
125
154
  __typename?: 'Query';
126
155
  getKeyRecoveryRequests?: Maybe<Array<Maybe<KeyRecoverySession>>>;
@@ -145,6 +174,7 @@ export type Subscription = {
145
174
  onMessageDeleted?: Maybe<DeletedMessage>;
146
175
  onMessageStatusUpdate?: Maybe<MessageReceipt>;
147
176
  onNewMessage?: Maybe<Message>;
177
+ onNotification?: Maybe<Notification>;
148
178
  };
149
179
  export type SubscriptionOnKeyRecoveryRequestedArgs = {
150
180
  sourceDeviceId: Scalars['ID']['input'];
@@ -163,3 +193,6 @@ export type SubscriptionOnMessageStatusUpdateArgs = {
163
193
  export type SubscriptionOnNewMessageArgs = {
164
194
  matchId: Scalars['ID']['input'];
165
195
  };
196
+ export type SubscriptionOnNotificationArgs = {
197
+ userId: Scalars['ID']['input'];
198
+ };
@@ -3,14 +3,24 @@ import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-cli
3
3
  /**
4
4
  * @public
5
5
  */
6
- export interface DeleteMatchMessagesRequest {
6
+ export interface CreateMediaDownloadUrlRequest {
7
7
  matchId: string | undefined;
8
+ /**
9
+ * Must be under `<matchId>/`; anything else is rejected as forbidden.
10
+ * @public
11
+ */
12
+ objectKey: string | undefined;
8
13
  }
9
14
  /**
10
15
  * @public
11
16
  */
12
- export interface DeleteMatchMessagesResponse {
13
- deleted: number | undefined;
17
+ export interface CreateMediaDownloadUrlResponse {
18
+ /**
19
+ * Presigned GET returning ciphertext.
20
+ * @public
21
+ */
22
+ downloadUrl: string | undefined;
23
+ expiresInSeconds: number | undefined;
14
24
  }
15
25
  /**
16
26
  * @public
@@ -48,6 +58,187 @@ export declare class InternalServerError extends __BaseException {
48
58
  */
49
59
  constructor(opts: __ExceptionOptionType<InternalServerError, __BaseException>);
50
60
  }
61
+ /**
62
+ * @public
63
+ */
64
+ export declare class NotFoundError extends __BaseException {
65
+ readonly name: "NotFoundError";
66
+ readonly $fault: "client";
67
+ error: string | undefined;
68
+ /**
69
+ * @internal
70
+ */
71
+ constructor(opts: __ExceptionOptionType<NotFoundError, __BaseException>);
72
+ }
73
+ /**
74
+ * @public
75
+ * @enum
76
+ */
77
+ export declare const MediaKind: {
78
+ readonly AUDIO: "AUDIO";
79
+ readonly FILE: "FILE";
80
+ readonly IMAGE: "IMAGE";
81
+ readonly VIDEO: "VIDEO";
82
+ };
83
+ /**
84
+ * @public
85
+ */
86
+ export type MediaKind = typeof MediaKind[keyof typeof MediaKind];
87
+ /**
88
+ * @public
89
+ */
90
+ export interface CreateMediaUploadUrlRequest {
91
+ /**
92
+ * Conversation the attachment belongs to. The caller must be a participant.
93
+ * @public
94
+ */
95
+ matchId: string | undefined;
96
+ /**
97
+ * Byte length of the CIPHERTEXT to upload, which the presigned URL is bound to.
98
+ *
99
+ * 100 MiB plus an allowance for the AES-GCM tag. A hard cap here is what stops a participant from
100
+ * parking arbitrary amounts of data in the bucket.
101
+ * @public
102
+ */
103
+ contentLength: number | undefined;
104
+ /**
105
+ * Kind of attachment. Carried so the service can apply per-kind limits; the authoritative kind used
106
+ * for rendering lives in the encrypted payload, where the service cannot see it.
107
+ * @public
108
+ */
109
+ kind: MediaKind | undefined;
110
+ }
111
+ /**
112
+ * @public
113
+ */
114
+ export interface CreateMediaUploadUrlResponse {
115
+ /**
116
+ * `<matchId>/<uuid>`. The client puts this in the encrypted envelope so the recipient can fetch
117
+ * it; the matchId prefix is what makes prefix deletion on HookReleased possible.
118
+ * @public
119
+ */
120
+ objectKey: string | undefined;
121
+ /**
122
+ * Presigned PUT, valid only for the requested byte length.
123
+ * @public
124
+ */
125
+ uploadUrl: string | undefined;
126
+ expiresInSeconds: number | undefined;
127
+ }
128
+ /**
129
+ * @public
130
+ */
131
+ export interface DeleteMatchMessagesRequest {
132
+ matchId: string | undefined;
133
+ }
134
+ /**
135
+ * @public
136
+ */
137
+ export interface DeleteMatchMessagesResponse {
138
+ deleted: number | undefined;
139
+ }
140
+ /**
141
+ * @public
142
+ */
143
+ export interface DeletePushTokenRequest {
144
+ /**
145
+ * UUID-ish opaque device identifier minted by the client, bounded to 64 chars.
146
+ * @public
147
+ */
148
+ deviceId: string | undefined;
149
+ }
150
+ /**
151
+ * @public
152
+ */
153
+ export interface DeletePushTokenResponse {
154
+ /**
155
+ * UUID-ish opaque device identifier minted by the client, bounded to 64 chars.
156
+ * @public
157
+ */
158
+ deviceId: string | undefined;
159
+ /**
160
+ * True when a token row was removed; false when there was none. Safe to expose because this is the
161
+ * caller's OWN device.
162
+ * @public
163
+ */
164
+ deleted: boolean | undefined;
165
+ }
166
+ /**
167
+ * @public
168
+ */
169
+ export interface GetChatSettingsRequest {
170
+ }
171
+ /**
172
+ * @public
173
+ * @enum
174
+ */
175
+ export declare const LastSeenVisibility: {
176
+ readonly EVERYONE: "EVERYONE";
177
+ readonly MATCHES: "MATCHES";
178
+ readonly NOBODY: "NOBODY";
179
+ };
180
+ /**
181
+ * @public
182
+ */
183
+ export type LastSeenVisibility = typeof LastSeenVisibility[keyof typeof LastSeenVisibility];
184
+ /**
185
+ * Per-user chat settings, synced across all of the user's devices. Members are individually
186
+ * optional so the same shape serves partial updates; a GET response always populates every member.
187
+ * @public
188
+ */
189
+ export interface ChatSettings {
190
+ /**
191
+ * Whether new-message push notifications are delivered.
192
+ * @public
193
+ */
194
+ messageNotifications?: boolean | undefined;
195
+ /**
196
+ * Whether notifications include a message preview (vs. a generic "New message").
197
+ * @public
198
+ */
199
+ showPreviews?: boolean | undefined;
200
+ /**
201
+ * Whether reaction push notifications are delivered.
202
+ * @public
203
+ */
204
+ reactionNotifications?: boolean | undefined;
205
+ /**
206
+ * Whether the caller emits read receipts to peers. (Client/AppSync-enforced — see service docs.)
207
+ * @public
208
+ */
209
+ readReceipts?: boolean | undefined;
210
+ /**
211
+ * Whether the caller emits typing indicators to peers. (Client/AppSync-enforced.)
212
+ * @public
213
+ */
214
+ typingIndicators?: boolean | undefined;
215
+ /**
216
+ * Who may see the caller's last-seen presence.
217
+ * @public
218
+ */
219
+ lastSeenVisibility?: LastSeenVisibility | undefined;
220
+ /**
221
+ * Whether the client applies OS screenshot protection to chats.
222
+ * @public
223
+ */
224
+ screenshotProtection?: boolean | undefined;
225
+ /**
226
+ * Default disappearing-message timer in seconds for new conversations. 0 disables it.
227
+ * @public
228
+ */
229
+ defaultDisappearingSeconds?: number | undefined;
230
+ }
231
+ /**
232
+ * @public
233
+ */
234
+ export interface GetChatSettingsResponse {
235
+ /**
236
+ * Per-user chat settings, synced across all of the user's devices. Members are individually
237
+ * optional so the same shape serves partial updates; a GET response always populates every member.
238
+ * @public
239
+ */
240
+ settings: ChatSettings | undefined;
241
+ }
51
242
  /**
52
243
  * @public
53
244
  */
@@ -141,18 +332,6 @@ export interface GetParticipantRegistryResponse {
141
332
  */
142
333
  accountHistoryKey?: AccountHistoryKey | undefined;
143
334
  }
144
- /**
145
- * @public
146
- */
147
- export declare class NotFoundError extends __BaseException {
148
- readonly name: "NotFoundError";
149
- readonly $fault: "client";
150
- error: string | undefined;
151
- /**
152
- * @internal
153
- */
154
- constructor(opts: __ExceptionOptionType<NotFoundError, __BaseException>);
155
- }
156
335
  /**
157
336
  * @public
158
337
  */
@@ -234,6 +413,44 @@ export interface RegisterDeviceResponse {
234
413
  */
235
414
  ownsAccountHistoryKey: boolean | undefined;
236
415
  }
416
+ /**
417
+ * @public
418
+ */
419
+ export interface RegisterPushTokenRequest {
420
+ /**
421
+ * UUID-ish opaque device identifier minted by the client, bounded to 64 chars.
422
+ * @public
423
+ */
424
+ deviceId: string | undefined;
425
+ /**
426
+ * The APNs device token or FCM registration token, as issued by the platform.
427
+ * @public
428
+ */
429
+ token: string | undefined;
430
+ /**
431
+ * Which push service issued the token. Decides which SNS platform application the endpoint is
432
+ * created against, so a wrong value means the push silently never arrives.
433
+ * @public
434
+ */
435
+ platform: Platform | undefined;
436
+ }
437
+ /**
438
+ * @public
439
+ */
440
+ export interface RegisterPushTokenResponse {
441
+ /**
442
+ * UUID-ish opaque device identifier minted by the client, bounded to 64 chars.
443
+ * @public
444
+ */
445
+ deviceId: string | undefined;
446
+ /**
447
+ * True once the token is stored. Deliberately does NOT report whether an SNS endpoint was created:
448
+ * endpoint creation happens at delivery time, so claiming it here would assert something the
449
+ * registration call has not verified.
450
+ * @public
451
+ */
452
+ registered: boolean | undefined;
453
+ }
237
454
  /**
238
455
  * @public
239
456
  */
@@ -255,6 +472,34 @@ export interface RevokeDeviceResponse {
255
472
  deviceId: string | undefined;
256
473
  revoked: boolean | undefined;
257
474
  }
475
+ /**
476
+ * @public
477
+ */
478
+ export interface UpdateChatSettingsRequest {
479
+ messageNotifications?: boolean | undefined;
480
+ showPreviews?: boolean | undefined;
481
+ reactionNotifications?: boolean | undefined;
482
+ readReceipts?: boolean | undefined;
483
+ typingIndicators?: boolean | undefined;
484
+ /**
485
+ * Who may see the caller's "last seen / online" presence.
486
+ * @public
487
+ */
488
+ lastSeenVisibility?: LastSeenVisibility | undefined;
489
+ screenshotProtection?: boolean | undefined;
490
+ defaultDisappearingSeconds?: number | undefined;
491
+ }
492
+ /**
493
+ * @public
494
+ */
495
+ export interface UpdateChatSettingsResponse {
496
+ /**
497
+ * Per-user chat settings, synced across all of the user's devices. Members are individually
498
+ * optional so the same shape serves partial updates; a GET response always populates every member.
499
+ * @public
500
+ */
501
+ settings: ChatSettings | undefined;
502
+ }
258
503
  /**
259
504
  * @public
260
505
  */
@@ -347,6 +592,18 @@ export interface UserResponse {
347
592
  export interface GetUserByEmailRequest {
348
593
  email: string | undefined;
349
594
  }
595
+ /**
596
+ * @public
597
+ */
598
+ export interface GetUserIdByUsernameRequest {
599
+ username: string | undefined;
600
+ }
601
+ /**
602
+ * @public
603
+ */
604
+ export interface GetUserIdByUsernameResponse {
605
+ userId: string | undefined;
606
+ }
350
607
  /**
351
608
  * @public
352
609
  */
@@ -548,6 +805,23 @@ export interface DiscoverResponse {
548
805
  count: number | undefined;
549
806
  algorithm: string | undefined;
550
807
  }
808
+ /**
809
+ * @public
810
+ */
811
+ export interface GetNotificationPreferencesRequest {
812
+ userId: string | undefined;
813
+ }
814
+ /**
815
+ * ONLY the notification toggles. See `GetNotificationPreferences` for why this is deliberately not the
816
+ * full preferences projection.
817
+ * @public
818
+ */
819
+ export interface GetNotificationPreferencesResponse {
820
+ userId: string | undefined;
821
+ notifyMatches: boolean | undefined;
822
+ notifyLikes: boolean | undefined;
823
+ notifyDailyPicks: boolean | undefined;
824
+ }
551
825
  /**
552
826
  * @public
553
827
  */
@@ -562,7 +836,52 @@ export interface UserPreferencesResponse {
562
836
  minAge?: number | undefined;
563
837
  maxAge?: number | undefined;
564
838
  maxDistanceKm?: number | undefined;
565
- genders?: (string)[] | undefined;
839
+ /**
840
+ * Genders to show. CANONICAL name — what the service serialises.
841
+ * @public
842
+ */
843
+ interestedInGenders?: (string)[] | undefined;
844
+ relationshipType?: string | undefined;
845
+ wantsKids?: string | undefined;
846
+ familyPlans?: string | undefined;
847
+ verifiedOnly?: boolean | undefined;
848
+ smoking?: string | undefined;
849
+ drinking?: string | undefined;
850
+ cannabis?: string | undefined;
851
+ drugs?: string | undefined;
852
+ exercise?: string | undefined;
853
+ religion?: string | undefined;
854
+ educationLevel?: string | undefined;
855
+ politicalView?: string | undefined;
856
+ starSigns?: (string)[] | undefined;
857
+ preferredLanguages?: (string)[] | undefined;
858
+ interests?: (string)[] | undefined;
859
+ minHeight?: number | undefined;
860
+ maxHeight?: number | undefined;
861
+ /**
862
+ * Which filters are hard deal-breakers rather than soft preferences.
863
+ * @public
864
+ */
865
+ dealbreakers?: (string)[] | undefined;
866
+ requirePhoto?: boolean | undefined;
867
+ requireBio?: boolean | undefined;
868
+ requireRecentlyActive?: boolean | undefined;
869
+ /**
870
+ * Server-owned definition of "recently active", in days. Read-only: the client shows it,
871
+ * the server decides it.
872
+ * @public
873
+ */
874
+ recentlyActiveDays?: number | undefined;
875
+ discoverable?: boolean | undefined;
876
+ incognito?: boolean | undefined;
877
+ /**
878
+ * KM | MI. Display only — the API always speaks kilometres.
879
+ * @public
880
+ */
881
+ distanceUnit?: string | undefined;
882
+ notifyMatches?: boolean | undefined;
883
+ notifyLikes?: boolean | undefined;
884
+ notifyDailyPicks?: boolean | undefined;
566
885
  }
567
886
  /**
568
887
  * @public
@@ -604,6 +923,24 @@ export interface SwipeResponse {
604
923
  */
605
924
  matchId?: string | undefined;
606
925
  }
926
+ /**
927
+ * @public
928
+ */
929
+ export interface SwipeByUsernameRequest {
930
+ /**
931
+ * The handle the user typed. Case/whitespace are normalised server-side.
932
+ * @public
933
+ */
934
+ username: string | undefined;
935
+ }
936
+ /**
937
+ * Intentionally minimal — see `SwipeByUsername`. One constant status, no target id, no `matched`
938
+ * flag, no "user not found": anything more would turn a handle into an oracle.
939
+ * @public
940
+ */
941
+ export interface SwipeByUsernameResponse {
942
+ status: string | undefined;
943
+ }
607
944
  /**
608
945
  * @public
609
946
  */
@@ -612,7 +949,155 @@ export interface UpdatePreferencesRequest {
612
949
  minAge?: number | undefined;
613
950
  maxAge?: number | undefined;
614
951
  maxDistanceKm?: number | undefined;
952
+ /**
953
+ * Genders to show. CANONICAL name — it is what the service actually binds.
954
+ * Values: MALE | FEMALE | NON_BINARY | OTHER | PREFER_NOT_TO_SAY.
955
+ * @public
956
+ */
957
+ interestedInGenders?: (string)[] | undefined;
958
+ /**
959
+ * DEPRECATED alias for `interestedInGenders`, accepted for already-shipped clients only.
960
+ * The service reads it via `@JsonAlias`; new clients must send `interestedInGenders`.
961
+ *
962
+ * @deprecated
963
+ * @public
964
+ */
615
965
  genders?: (string)[] | undefined;
966
+ /**
967
+ * MONOGAMOUS | POLYAMOROUS | OPEN | CASUAL | ETHICALLY_NON_MONOGAMOUS | NOT_SURE_YET
968
+ * @public
969
+ */
970
+ relationshipType?: string | undefined;
971
+ /**
972
+ * YES | NO | NOT_SURE | OPEN
973
+ * @public
974
+ */
975
+ wantsKids?: string | undefined;
976
+ /**
977
+ * STARTING_SOON | IN_FUTURE | NOT_INTERESTED | ALREADY_HAVE | OPEN
978
+ * @public
979
+ */
980
+ familyPlans?: string | undefined;
981
+ /**
982
+ * Only show candidates who passed the liveness/verification check.
983
+ * @public
984
+ */
985
+ verifiedOnly?: boolean | undefined;
986
+ /**
987
+ * NEVER | SOCIALLY | REGULARLY | TRYING_TO_QUIT
988
+ * @public
989
+ */
990
+ smoking?: string | undefined;
991
+ /**
992
+ * NEVER | SOCIALLY | REGULARLY | PREFER_NOT_TO_SAY
993
+ * @public
994
+ */
995
+ drinking?: string | undefined;
996
+ /**
997
+ * NEVER | SOCIALLY | REGULARLY | PREFER_NOT_TO_SAY
998
+ * @public
999
+ */
1000
+ cannabis?: string | undefined;
1001
+ /**
1002
+ * NEVER | SOCIALLY | REGULARLY | PREFER_NOT_TO_SAY
1003
+ * @public
1004
+ */
1005
+ drugs?: string | undefined;
1006
+ /**
1007
+ * ACTIVE | SOMETIMES | NEVER
1008
+ * @public
1009
+ */
1010
+ exercise?: string | undefined;
1011
+ /**
1012
+ * AGNOSTIC | ATHEIST | BUDDHIST | CHRISTIAN | CATHOLIC | HINDU | JEWISH | MUSLIM |
1013
+ * SIKH | SPIRITUAL | OTHER | PREFER_NOT_TO_SAY
1014
+ * @public
1015
+ */
1016
+ religion?: string | undefined;
1017
+ /**
1018
+ * HIGH_SCHOOL | IN_COLLEGE | BACHELORS | MASTERS | PHD | OTHER
1019
+ * @public
1020
+ */
1021
+ educationLevel?: string | undefined;
1022
+ /**
1023
+ * LIBERAL | MODERATE | CONSERVATIVE | APOLITICAL | OTHER
1024
+ * @public
1025
+ */
1026
+ politicalView?: string | undefined;
1027
+ /**
1028
+ * Accepted star signs (ARIES … PISCES). A candidate matches on containment.
1029
+ * @public
1030
+ */
1031
+ starSigns?: (string)[] | undefined;
1032
+ /**
1033
+ * Preferred spoken languages (ENGLISH, SPANISH, …). Matches on overlap.
1034
+ * @public
1035
+ */
1036
+ preferredLanguages?: (string)[] | undefined;
1037
+ /**
1038
+ * Shared interests (TRAVEL, MUSIC, …). Matches on overlap.
1039
+ * @public
1040
+ */
1041
+ interests?: (string)[] | undefined;
1042
+ minHeight?: number | undefined;
1043
+ maxHeight?: number | undefined;
1044
+ /**
1045
+ * Which of the filters above are DEAL-BREAKERS (hard) rather than nice-to-haves (soft).
1046
+ *
1047
+ * This is the switch that makes a filter exclude candidates instead of merely boosting them:
1048
+ * a preference NOT listed here only contributes to the soft score. Use the field names above,
1049
+ * e.g. `verifiedOnly`, `relationshipType`, `wantsKids`, `interestedInGenders`, `minAge`,
1050
+ * `maxAge`, `age`, `gender`, `height`, `minHeight`, `maxHeight`, `smoking`, `drinking`,
1051
+ * `cannabis`, `drugs`, `religion`, `familyPlans`, `exercise`, `educationLevel`,
1052
+ * `politicalView`, `interests`, `starSigns`, `preferredLanguages`.
1053
+ * @public
1054
+ */
1055
+ dealbreakers?: (string)[] | undefined;
1056
+ /**
1057
+ * Require at least one profile photo.
1058
+ * @public
1059
+ */
1060
+ requirePhoto?: boolean | undefined;
1061
+ /**
1062
+ * Require a bio or at least one answered prompt.
1063
+ * @public
1064
+ */
1065
+ requireBio?: boolean | undefined;
1066
+ /**
1067
+ * Require activity within the recent-activity window (see `recentlyActiveDays` in the response).
1068
+ * @public
1069
+ */
1070
+ requireRecentlyActive?: boolean | undefined;
1071
+ /**
1072
+ * Show me on OneHook. When false you browse without appearing in anyone's feed.
1073
+ * @public
1074
+ */
1075
+ discoverable?: boolean | undefined;
1076
+ /**
1077
+ * Incognito: only people you have already liked can see you.
1078
+ * @public
1079
+ */
1080
+ incognito?: boolean | undefined;
1081
+ /**
1082
+ * Distance unit for display only — the API always speaks kilometres. KM | MI.
1083
+ * @public
1084
+ */
1085
+ distanceUnit?: string | undefined;
1086
+ /**
1087
+ * Notify me about new matches.
1088
+ * @public
1089
+ */
1090
+ notifyMatches?: boolean | undefined;
1091
+ /**
1092
+ * Notify me when someone likes me.
1093
+ * @public
1094
+ */
1095
+ notifyLikes?: boolean | undefined;
1096
+ /**
1097
+ * Notify me about daily picks.
1098
+ * @public
1099
+ */
1100
+ notifyDailyPicks?: boolean | undefined;
616
1101
  }
617
1102
  /**
618
1103
  * @public
@@ -744,6 +1229,11 @@ export interface ProfileResponse {
744
1229
  verified?: boolean | undefined;
745
1230
  subscriptionTier?: string | undefined;
746
1231
  pictures?: (string)[] | undefined;
1232
+ /**
1233
+ * Display-only preview transforms keyed by picture object key. Values use `v1:x,y,zoom`.
1234
+ * @public
1235
+ */
1236
+ pictureTransforms?: Record<string, string> | undefined;
747
1237
  videos?: (string)[] | undefined;
748
1238
  audioPrompt?: string | undefined;
749
1239
  /**
@@ -799,6 +1289,11 @@ export interface ProfileUpdateRequest {
799
1289
  religion?: string | undefined;
800
1290
  starSign?: string | undefined;
801
1291
  pictures?: (string)[] | undefined;
1292
+ /**
1293
+ * Display-only preview transforms keyed by picture object key. Values use `v1:x,y,zoom`.
1294
+ * @public
1295
+ */
1296
+ pictureTransforms?: Record<string, string> | undefined;
802
1297
  videos?: (string)[] | undefined;
803
1298
  audioPrompt?: string | undefined;
804
1299
  causes?: (string)[] | undefined;