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.
- package/README.md +63 -0
- package/dist-cjs/OneHook.js +18 -0
- package/dist-cjs/commands/CreateMediaDownloadUrlCommand.js +21 -0
- package/dist-cjs/commands/CreateMediaUploadUrlCommand.js +21 -0
- package/dist-cjs/commands/DeletePushTokenCommand.js +21 -0
- package/dist-cjs/commands/GetChatSettingsCommand.js +21 -0
- package/dist-cjs/commands/GetNotificationPreferencesCommand.js +21 -0
- package/dist-cjs/commands/GetUserIdByUsernameCommand.js +21 -0
- package/dist-cjs/commands/RegisterPushTokenCommand.js +21 -0
- package/dist-cjs/commands/SwipeByUsernameCommand.js +21 -0
- package/dist-cjs/commands/UpdateChatSettingsCommand.js +21 -0
- package/dist-cjs/commands/index.js +9 -0
- package/dist-cjs/graphql/types.js +6 -1
- package/dist-cjs/models/models_0.js +17 -6
- package/dist-cjs/protocols/Aws_restJson1.js +345 -3
- package/dist-es/OneHook.js +18 -0
- package/dist-es/commands/CreateMediaDownloadUrlCommand.js +17 -0
- package/dist-es/commands/CreateMediaUploadUrlCommand.js +17 -0
- package/dist-es/commands/DeletePushTokenCommand.js +17 -0
- package/dist-es/commands/GetChatSettingsCommand.js +17 -0
- package/dist-es/commands/GetNotificationPreferencesCommand.js +17 -0
- package/dist-es/commands/GetUserIdByUsernameCommand.js +17 -0
- package/dist-es/commands/RegisterPushTokenCommand.js +17 -0
- package/dist-es/commands/SwipeByUsernameCommand.js +17 -0
- package/dist-es/commands/UpdateChatSettingsCommand.js +17 -0
- package/dist-es/commands/index.js +9 -0
- package/dist-es/graphql/types.js +5 -0
- package/dist-es/models/models_0.js +16 -5
- package/dist-es/protocols/Aws_restJson1.js +324 -1
- package/dist-types/OneHook.d.ts +65 -0
- package/dist-types/OneHookClient.d.ts +11 -2
- package/dist-types/commands/CreateMediaDownloadUrlCommand.d.ts +87 -0
- package/dist-types/commands/CreateMediaUploadUrlCommand.d.ts +92 -0
- package/dist-types/commands/DeletePushTokenCommand.d.ts +85 -0
- package/dist-types/commands/GetChatSettingsCommand.d.ts +85 -0
- package/dist-types/commands/GetMyProfileCommand.d.ts +4 -1
- package/dist-types/commands/GetNotificationPreferencesCommand.d.ts +91 -0
- package/dist-types/commands/GetPreferencesCommand.d.ts +37 -1
- package/dist-types/commands/GetProfileCommand.d.ts +4 -1
- package/dist-types/commands/GetUserIdByUsernameCommand.d.ts +84 -0
- package/dist-types/commands/RegisterPushTokenCommand.d.ts +93 -0
- package/dist-types/commands/SwipeByUsernameCommand.d.ts +93 -0
- package/dist-types/commands/UpdateChatSettingsCommand.d.ts +95 -0
- package/dist-types/commands/UpdatePreferencesCommand.d.ts +37 -1
- package/dist-types/commands/UpdateProfileCommand.d.ts +4 -1
- package/dist-types/commands/index.d.ts +9 -0
- package/dist-types/graphql/types.d.ts +33 -0
- package/dist-types/models/models_0.d.ts +511 -16
- package/dist-types/protocols/Aws_restJson1.d.ts +81 -0
- 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
|
|
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
|
|
13
|
-
|
|
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
|
-
|
|
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;
|