@oxyfoo/whymeet-types 0.0.28 → 0.0.30
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/Models/Analytics.d.ts +45 -0
- package/dist/Models/Analytics.js +5 -0
- package/dist/Models/Intention.d.ts +4 -1
- package/dist/Models/Intention.js +43 -0
- package/dist/Models/Match.d.ts +1 -0
- package/dist/Models/Profile.d.ts +2 -1
- package/dist/Models/index.d.ts +3 -1
- package/dist/Models/index.js +2 -1
- package/dist/WS/Request.d.ts +40 -3
- package/package.json +1 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export type AnalyticsSystemEventName = 'session.start' | 'session.end' | 'screen_view';
|
|
2
|
+
export type AnalyticsFeatureEventName = 'feature.profile.edit_started' | 'feature.profile.complete' | 'feature.match.like' | 'feature.match.pass' | 'feature.match.create' | 'feature.message.send' | 'feature.discovery.search' | 'feature.activity.create' | 'feature.activity.join' | 'onboarding.step_completed';
|
|
3
|
+
export type AnalyticsEventName = AnalyticsSystemEventName | AnalyticsFeatureEventName;
|
|
4
|
+
export interface AnalyticsScreenViewProps {
|
|
5
|
+
screen: string;
|
|
6
|
+
}
|
|
7
|
+
export interface AnalyticsOnboardingStepProps {
|
|
8
|
+
step: number;
|
|
9
|
+
totalSteps: number;
|
|
10
|
+
}
|
|
11
|
+
export interface AnalyticsEventPropsMap {
|
|
12
|
+
'session.start': Record<string, never>;
|
|
13
|
+
'session.end': Record<string, never>;
|
|
14
|
+
screen_view: AnalyticsScreenViewProps;
|
|
15
|
+
'feature.profile.edit_started': Record<string, never>;
|
|
16
|
+
'feature.profile.complete': Record<string, never>;
|
|
17
|
+
'feature.match.like': Record<string, never>;
|
|
18
|
+
'feature.match.pass': Record<string, never>;
|
|
19
|
+
'feature.match.create': Record<string, never>;
|
|
20
|
+
'feature.message.send': Record<string, never>;
|
|
21
|
+
'feature.discovery.search': Record<string, never>;
|
|
22
|
+
'feature.activity.create': Record<string, never>;
|
|
23
|
+
'feature.activity.join': Record<string, never>;
|
|
24
|
+
'onboarding.step_completed': AnalyticsOnboardingStepProps;
|
|
25
|
+
}
|
|
26
|
+
export type AnalyticsPlatform = 'ios' | 'android';
|
|
27
|
+
export interface AnalyticsClientEvent<N extends AnalyticsEventName = AnalyticsEventName> {
|
|
28
|
+
name: N;
|
|
29
|
+
ts: number;
|
|
30
|
+
platform: AnalyticsPlatform;
|
|
31
|
+
appVersion: string;
|
|
32
|
+
props?: AnalyticsEventPropsMap[N];
|
|
33
|
+
}
|
|
34
|
+
export declare const ANALYTICS_MAX_EVENTS_PER_BATCH = 100;
|
|
35
|
+
export declare const ANALYTICS_MAX_PROPS_BYTES = 2048;
|
|
36
|
+
export declare const ANALYTICS_CLIENT_FLUSH_THRESHOLD = 50;
|
|
37
|
+
export declare const ANALYTICS_CLIENT_FLUSH_INTERVAL_MS = 30000;
|
|
38
|
+
export declare const ANALYTICS_RAW_RETENTION_DAYS = 60;
|
|
39
|
+
export interface AnalyticsDailyMetricRow {
|
|
40
|
+
date: string;
|
|
41
|
+
name: AnalyticsEventName;
|
|
42
|
+
dimension: string;
|
|
43
|
+
count: number;
|
|
44
|
+
uniqueDevices: number;
|
|
45
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { InterestCategoryKey } from './InterestCategory.js';
|
|
2
2
|
export declare const INTENTION_CATEGORY_KEYS: readonly ["do_something_together", "go_out_or_move", "talk_and_share", "build_connection", "see_if_it_clicks", "grow_or_build"];
|
|
3
3
|
export type IntentionCategoryKey = (typeof INTENTION_CATEGORY_KEYS)[number];
|
|
4
|
-
export declare const INTENTION_KEYS: readonly ["go_out_coffee", "go_out_drink", "go_out_meal", "go_out_walk", "go_out_tonight", "go_out_discover", "activity_sports", "activity_play", "activity_play_video_games", "activity_play_board_games", "activity_culture", "activity_creative", "activity_food", "activity_outdoor", "talk_light", "talk_deep", "talk_topic", "talk_media", "talk_language_exchange", "talk_online", "meet_make_acquaintance", "meet_feeling", "meet_simple_first_date", "meet_relaxed_date", "meet_spontaneous", "meet_online_first", "regular_sports_partner", "regular_game_partner", "regular_talk_buddy", "regular_social_habit", "regular_small_group", "regular_go_out_often", "build_coworking", "build_project", "build_entrepreneurship", "build_create_together", "build_learn_together", "build_mentoring", "build_collaboration"];
|
|
4
|
+
export declare const INTENTION_KEYS: readonly ["go_out_coffee", "go_out_drink", "go_out_meal", "go_out_walk", "go_out_tonight", "go_out_discover", "activity_sports", "activity_play", "activity_play_video_games", "activity_play_board_games", "activity_play_chess", "activity_culture", "activity_creative", "activity_food", "activity_outdoor", "talk_light", "talk_deep", "talk_topic", "talk_media", "talk_language_exchange", "talk_online", "meet_make_acquaintance", "meet_feeling", "meet_simple_first_date", "meet_relaxed_date", "meet_spontaneous", "meet_online_first", "regular_sports_partner", "regular_game_partner", "regular_talk_buddy", "regular_social_habit", "regular_small_group", "regular_go_out_often", "build_coworking", "build_project", "build_entrepreneurship", "build_create_together", "build_learn_together", "build_mentoring", "build_collaboration"];
|
|
5
5
|
export type IntentionKey = (typeof INTENTION_KEYS)[number];
|
|
6
6
|
export type IntentionParentKey = IntentionCategoryKey | IntentionKey;
|
|
7
7
|
export type SupportedLocale = 'fr' | 'en';
|
|
@@ -89,4 +89,7 @@ export declare function getParentKeyForIntention(intentionKey: IntentionKey): In
|
|
|
89
89
|
export declare function getCategoryKeyForIntention(intentionKey: IntentionKey): IntentionCategoryKey;
|
|
90
90
|
export declare function getAncestorIntentionKeys(intentionKey: IntentionKey): IntentionKey[];
|
|
91
91
|
export declare function getDescendantIntentionKeys(parentKey: IntentionParentKey): IntentionKey[];
|
|
92
|
+
export declare function isTaggableIntention(intentionKey: IntentionKey): boolean;
|
|
93
|
+
export declare function isTaggableCategory(categoryKey: IntentionCategoryKey): boolean;
|
|
94
|
+
export declare function getDisplayLeafIntentions(categoryKey: IntentionCategoryKey): readonly Intention[];
|
|
92
95
|
export declare function normalizeIntentionSelection(selection: IntentionSelection): IntentionSelection | null;
|
package/dist/Models/Intention.js
CHANGED
|
@@ -17,6 +17,7 @@ export const INTENTION_KEYS = [
|
|
|
17
17
|
'activity_play',
|
|
18
18
|
'activity_play_video_games',
|
|
19
19
|
'activity_play_board_games',
|
|
20
|
+
'activity_play_chess',
|
|
20
21
|
'activity_culture',
|
|
21
22
|
'activity_creative',
|
|
22
23
|
'activity_food',
|
|
@@ -343,6 +344,28 @@ export const INTENTIONS = [
|
|
|
343
344
|
domainKeys: ['gaming', 'culture'],
|
|
344
345
|
order: 22
|
|
345
346
|
},
|
|
347
|
+
{
|
|
348
|
+
key: 'activity_play_chess',
|
|
349
|
+
parentKey: 'activity_play',
|
|
350
|
+
categoryKey: 'do_something_together',
|
|
351
|
+
level: 3,
|
|
352
|
+
emoji: '♟️',
|
|
353
|
+
i18n: {
|
|
354
|
+
fr: {
|
|
355
|
+
label: 'Échecs',
|
|
356
|
+
shortLabel: 'Échecs',
|
|
357
|
+
description: 'Jouer aux échecs, du café tranquille au tournoi rapide.'
|
|
358
|
+
},
|
|
359
|
+
en: {
|
|
360
|
+
label: 'Chess',
|
|
361
|
+
shortLabel: 'Chess',
|
|
362
|
+
description: 'Play chess, from casual café games to fast tournaments.'
|
|
363
|
+
}
|
|
364
|
+
},
|
|
365
|
+
tags: ['Blitz', 'Rapide', 'Café échecs', 'Club', 'Débutant', 'Confirmé'],
|
|
366
|
+
domainKeys: ['gaming', 'culture'],
|
|
367
|
+
order: 23
|
|
368
|
+
},
|
|
346
369
|
{
|
|
347
370
|
key: 'activity_culture',
|
|
348
371
|
parentKey: 'do_something_together',
|
|
@@ -1064,6 +1087,26 @@ export function getDescendantIntentionKeys(parentKey) {
|
|
|
1064
1087
|
visit(parentKey);
|
|
1065
1088
|
return descendants;
|
|
1066
1089
|
}
|
|
1090
|
+
const NON_TAGGABLE_CATEGORY_KEYS = new Set(['talk_and_share', 'see_if_it_clicks']);
|
|
1091
|
+
export function isTaggableIntention(intentionKey) {
|
|
1092
|
+
return !NON_TAGGABLE_CATEGORY_KEYS.has(getCategoryKeyForIntention(intentionKey));
|
|
1093
|
+
}
|
|
1094
|
+
export function isTaggableCategory(categoryKey) {
|
|
1095
|
+
return !NON_TAGGABLE_CATEGORY_KEYS.has(categoryKey);
|
|
1096
|
+
}
|
|
1097
|
+
export function getDisplayLeafIntentions(categoryKey) {
|
|
1098
|
+
const leaves = [];
|
|
1099
|
+
for (const intention of getIntentionsForCategory(categoryKey)) {
|
|
1100
|
+
const children = getChildIntentions(intention.key);
|
|
1101
|
+
if (children.length > 0) {
|
|
1102
|
+
leaves.push(...children);
|
|
1103
|
+
}
|
|
1104
|
+
else {
|
|
1105
|
+
leaves.push(intention);
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
return leaves.sort((a, b) => a.order - b.order);
|
|
1109
|
+
}
|
|
1067
1110
|
export function normalizeIntentionSelection(selection) {
|
|
1068
1111
|
if (!isIntentionKey(selection.intentionKey))
|
|
1069
1112
|
return null;
|
package/dist/Models/Match.d.ts
CHANGED
package/dist/Models/Profile.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { User } from './User.js';
|
|
2
|
-
import type { IntentionKey } from './Intention.js';
|
|
2
|
+
import type { IntentionCategoryKey, IntentionKey } from './Intention.js';
|
|
3
3
|
import { Tag } from './Tag.js';
|
|
4
4
|
import type { HostLevel } from './TrustScore.js';
|
|
5
5
|
export type SocialVibe = 'reserved' | 'calm' | 'balanced' | 'outgoing' | 'very_social';
|
|
@@ -12,6 +12,7 @@ export interface Profile extends User {
|
|
|
12
12
|
skills: Tag[];
|
|
13
13
|
socialVibe: SocialVibe;
|
|
14
14
|
intentionKeys: IntentionKey[];
|
|
15
|
+
intentionCategoryKeys: IntentionCategoryKey[];
|
|
15
16
|
spokenLanguages: string[];
|
|
16
17
|
preferredDiscoveryView: DiscoveryView;
|
|
17
18
|
location: {
|
package/dist/Models/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { SOCIAL_VIBES } from './Profile.js';
|
|
|
6
6
|
export type { InterestCategory, InterestCategoryKey } from './InterestCategory.js';
|
|
7
7
|
export { INTEREST_CATEGORY_KEYS, INTEREST_CATEGORIES } from './InterestCategory.js';
|
|
8
8
|
export type { IntentionFallbackLevel, IntentionMatchSummary, Intention, IntentionDomainMapping, IntentionKey, IntentionParentKey, IntentionSelection, IntentionTagMapping, IntentionCategory, IntentionCategoryKey } from './Intention.js';
|
|
9
|
-
export { getAllIntentionsForCategory, getAncestorIntentionKeys, getChildIntentions, getDescendantIntentionKeys, getCategoryKeyForIntention, getParentKeyForIntention, getIntention, getIntentionsForCategory, hasChildIntentions, getIntentionCategory, isIntentionKey, isIntentionCategoryKey, normalizeIntentionKey, normalizeIntentionKeys, normalizeIntentionSelection, INTENTION_DOMAIN_MAPPINGS, INTENTION_KEYS, INTENTIONS_BY_PARENT, INTENTION_TAG_MAPPINGS, INTENTIONS, INTENTIONS_BY_KEY, INTENTIONS_BY_CATEGORY, NESTED_INTENTIONS_BY_CATEGORY, INTENTION_CATEGORY_KEYS, INTENTION_CATEGORIES, INTENTION_CATEGORIES_BY_KEY } from './Intention.js';
|
|
9
|
+
export { getAllIntentionsForCategory, getAncestorIntentionKeys, getChildIntentions, getDescendantIntentionKeys, getCategoryKeyForIntention, getDisplayLeafIntentions, getParentKeyForIntention, getIntention, getIntentionsForCategory, hasChildIntentions, getIntentionCategory, isIntentionKey, isIntentionCategoryKey, isTaggableCategory, isTaggableIntention, normalizeIntentionKey, normalizeIntentionKeys, normalizeIntentionSelection, INTENTION_DOMAIN_MAPPINGS, INTENTION_KEYS, INTENTIONS_BY_PARENT, INTENTION_TAG_MAPPINGS, INTENTIONS, INTENTIONS_BY_KEY, INTENTIONS_BY_CATEGORY, NESTED_INTENTIONS_BY_CATEGORY, INTENTION_CATEGORY_KEYS, INTENTION_CATEGORIES, INTENTION_CATEGORIES_BY_KEY } from './Intention.js';
|
|
10
10
|
export type { Tag, TagMatchType, TagSuggestion } from './Tag.js';
|
|
11
11
|
export type { SearchFilters } from './Search.js';
|
|
12
12
|
export type { MatchCandidate, Match, MatchRequest } from './Match.js';
|
|
@@ -26,3 +26,5 @@ export type { HostLevelKey, HostLevel, HostLevelDefinition } from './TrustScore.
|
|
|
26
26
|
export { HOST_LEVEL_KEYS, HOST_LEVELS, getHostLevel } from './TrustScore.js';
|
|
27
27
|
export type { EmailTypeKey, EmailTypeDescriptor, EmailScope, EmailDelivery, EmailLogStatus } from './EmailType.js';
|
|
28
28
|
export { EMAIL_TYPES, EMAIL_TYPE_KEYS, EMAIL_LOG_STATUSES, getEmailTypeDescriptor } from './EmailType.js';
|
|
29
|
+
export type { AnalyticsSystemEventName, AnalyticsFeatureEventName, AnalyticsEventName, AnalyticsScreenViewProps, AnalyticsOnboardingStepProps, AnalyticsEventPropsMap, AnalyticsPlatform, AnalyticsClientEvent, AnalyticsDailyMetricRow } from './Analytics.js';
|
|
30
|
+
export { ANALYTICS_MAX_EVENTS_PER_BATCH, ANALYTICS_MAX_PROPS_BYTES, ANALYTICS_CLIENT_FLUSH_THRESHOLD, ANALYTICS_CLIENT_FLUSH_INTERVAL_MS, ANALYTICS_RAW_RETENTION_DAYS } from './Analytics.js';
|
package/dist/Models/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export { SOCIAL_VIBES } from './Profile.js';
|
|
2
2
|
export { INTEREST_CATEGORY_KEYS, INTEREST_CATEGORIES } from './InterestCategory.js';
|
|
3
|
-
export { getAllIntentionsForCategory, getAncestorIntentionKeys, getChildIntentions, getDescendantIntentionKeys, getCategoryKeyForIntention, getParentKeyForIntention, getIntention, getIntentionsForCategory, hasChildIntentions, getIntentionCategory, isIntentionKey, isIntentionCategoryKey, normalizeIntentionKey, normalizeIntentionKeys, normalizeIntentionSelection, INTENTION_DOMAIN_MAPPINGS, INTENTION_KEYS, INTENTIONS_BY_PARENT, INTENTION_TAG_MAPPINGS, INTENTIONS, INTENTIONS_BY_KEY, INTENTIONS_BY_CATEGORY, NESTED_INTENTIONS_BY_CATEGORY, INTENTION_CATEGORY_KEYS, INTENTION_CATEGORIES, INTENTION_CATEGORIES_BY_KEY } from './Intention.js';
|
|
3
|
+
export { getAllIntentionsForCategory, getAncestorIntentionKeys, getChildIntentions, getDescendantIntentionKeys, getCategoryKeyForIntention, getDisplayLeafIntentions, getParentKeyForIntention, getIntention, getIntentionsForCategory, hasChildIntentions, getIntentionCategory, isIntentionKey, isIntentionCategoryKey, isTaggableCategory, isTaggableIntention, normalizeIntentionKey, normalizeIntentionKeys, normalizeIntentionSelection, INTENTION_DOMAIN_MAPPINGS, INTENTION_KEYS, INTENTIONS_BY_PARENT, INTENTION_TAG_MAPPINGS, INTENTIONS, INTENTIONS_BY_KEY, INTENTIONS_BY_CATEGORY, NESTED_INTENTIONS_BY_CATEGORY, INTENTION_CATEGORY_KEYS, INTENTION_CATEGORIES, INTENTION_CATEGORIES_BY_KEY } from './Intention.js';
|
|
4
4
|
export { GENDERS, DEFAULT_PEOPLE, DEFAULT_ACTIVITY, DEFAULT_VISIBILITY } from './Settings.js';
|
|
5
5
|
export { PREFERRED_PERIODS } from './Availability.js';
|
|
6
6
|
export { SUBSCRIPTION_PLANS, SUBSCRIPTION_STATUSES, BOOST_PACKS, BOOST_DURATION_DAYS, PRODUCT_IDS, APP_CONFIG_KEYS } from './Subscription.js';
|
|
7
7
|
export { HOST_LEVEL_KEYS, HOST_LEVELS, getHostLevel } from './TrustScore.js';
|
|
8
8
|
export { EMAIL_TYPES, EMAIL_TYPE_KEYS, EMAIL_LOG_STATUSES, getEmailTypeDescriptor } from './EmailType.js';
|
|
9
|
+
export { ANALYTICS_MAX_EVENTS_PER_BATCH, ANALYTICS_MAX_PROPS_BYTES, ANALYTICS_CLIENT_FLUSH_THRESHOLD, ANALYTICS_CLIENT_FLUSH_INTERVAL_MS, ANALYTICS_RAW_RETENTION_DAYS } from './Analytics.js';
|
package/dist/WS/Request.d.ts
CHANGED
|
@@ -11,9 +11,10 @@ import type { FeedbackType } from '../Models/Feedback.js';
|
|
|
11
11
|
import type { BlockedUser } from '../Models/Block.js';
|
|
12
12
|
import type { Activity, ActivitySummary, ActivitySearchFilters } from '../Models/Activity.js';
|
|
13
13
|
import type { InterestCategoryKey } from '../Models/InterestCategory.js';
|
|
14
|
-
import type { Intention, IntentionSelection, IntentionCategory, IntentionCategoryKey } from '../Models/Intention.js';
|
|
14
|
+
import type { Intention, IntentionSelection, IntentionCategory, IntentionCategoryKey, IntentionKey } from '../Models/Intention.js';
|
|
15
15
|
import type { UserBadge } from '../Models/Badge.js';
|
|
16
16
|
import type { PlaceSuggestion, PlaceSuggestionLite } from '../Models/Place.js';
|
|
17
|
+
import type { AnalyticsClientEvent, AnalyticsEventName } from '../Models/Analytics.js';
|
|
17
18
|
export interface WSRequest_Handshake {
|
|
18
19
|
command: 'handshake';
|
|
19
20
|
payload: {
|
|
@@ -61,6 +62,19 @@ export interface WSRequest_GetProfilePopularTags {
|
|
|
61
62
|
command: 'get-profile-popular-tags';
|
|
62
63
|
payload: Record<string, never>;
|
|
63
64
|
}
|
|
65
|
+
export type RefinePopularTagsScope = {
|
|
66
|
+
type: 'category';
|
|
67
|
+
categoryKey: IntentionCategoryKey;
|
|
68
|
+
} | {
|
|
69
|
+
type: 'intention';
|
|
70
|
+
intentionKey: IntentionKey;
|
|
71
|
+
};
|
|
72
|
+
export interface WSRequest_GetRefinePopularTags {
|
|
73
|
+
command: 'get-refine-popular-tags';
|
|
74
|
+
payload: {
|
|
75
|
+
scope: RefinePopularTagsScope;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
64
78
|
export interface WSRequest_Like {
|
|
65
79
|
command: 'like';
|
|
66
80
|
payload: {
|
|
@@ -430,7 +444,13 @@ export interface WSRequest_SetDiscoveryView {
|
|
|
430
444
|
view: DiscoveryView;
|
|
431
445
|
};
|
|
432
446
|
}
|
|
433
|
-
export
|
|
447
|
+
export interface WSRequest_AnalyticsIngest {
|
|
448
|
+
command: 'analytics-ingest';
|
|
449
|
+
payload: {
|
|
450
|
+
events: AnalyticsClientEvent<AnalyticsEventName>[];
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
export type WSClientRequest = WSRequest_Handshake | WSRequest_GetProfile | WSRequest_UpdateProfile | WSRequest_GetCandidates | WSRequest_GetCandidateCounts | WSRequest_GetIntentionCatalog | WSRequest_GetIntentionCounts | WSRequest_GetIntentionPopularTags | WSRequest_Like | WSRequest_Skip | WSRequest_Search | WSRequest_GetConversations | WSRequest_GetMessages | WSRequest_SendMessage | WSRequest_GetRequests | WSRequest_AcceptRequest | WSRequest_DeclineRequest | WSRequest_GetNotifications | WSRequest_SubmitFeedback | WSRequest_MarkNotificationRead | WSRequest_BlockUser | WSRequest_ReportUser | WSRequest_Unmatch | WSRequest_GetSettings | WSRequest_UpdateSettings | WSRequest_TagSuggest | WSRequest_GetPreferences | WSRequest_UpdatePreferences | WSRequest_DeleteAccount | WSRequest_RegisterPushToken | WSRequest_GetSubscription | WSRequest_ValidateReceipt | WSRequest_GetSearchQuota | WSRequest_SearchWithToken | WSRequest_PreviewSearch | WSRequest_PurchaseBoost | WSRequest_GetBoostStatus | WSRequest_MarkRead | WSRequest_GetUserProfile | WSRequest_CreateActivity | WSRequest_UpdateActivity | WSRequest_CancelActivity | WSRequest_GetActivity | WSRequest_JoinActivity | WSRequest_LeaveActivity | WSRequest_GetActivities | WSRequest_GetActivityCounts | WSRequest_SearchActivities | WSRequest_SearchActivitiesWithToken | WSRequest_PreviewSearchActivities | WSRequest_GetCandidateActivities | WSRequest_GetPopularActivityTags | WSRequest_ReportActivity | WSRequest_GetMyActivities | WSRequest_GetBlockedUsers | WSRequest_UnblockUser | WSRequest_GetProfilePopularTags | WSRequest_GetRefinePopularTags | WSRequest_GetBadges | WSRequest_GetUserBadges | WSRequest_ClaimBadgeReward | WSRequest_ConfirmHostAttendance | WSRequest_ConfirmParticipation | WSRequest_SetDiscoveryView | WSRequest_PlacesSuggest | WSRequest_PlacesRetrieve | WSRequest_AnalyticsIngest;
|
|
434
454
|
export type WSClientCommand = WSClientRequest['command'];
|
|
435
455
|
export interface WSResponse_Handshake {
|
|
436
456
|
command: 'handshake';
|
|
@@ -508,6 +528,14 @@ export interface WSResponse_GetProfilePopularTags {
|
|
|
508
528
|
error: string;
|
|
509
529
|
};
|
|
510
530
|
}
|
|
531
|
+
export interface WSResponse_GetRefinePopularTags {
|
|
532
|
+
command: 'get-refine-popular-tags';
|
|
533
|
+
payload: {
|
|
534
|
+
tags: string[];
|
|
535
|
+
} | {
|
|
536
|
+
error: string;
|
|
537
|
+
};
|
|
538
|
+
}
|
|
511
539
|
export interface WSResponse_Like {
|
|
512
540
|
command: 'like';
|
|
513
541
|
payload: {
|
|
@@ -984,7 +1012,16 @@ export interface WSResponse_PlacesRetrieve {
|
|
|
984
1012
|
error: string;
|
|
985
1013
|
};
|
|
986
1014
|
}
|
|
987
|
-
export
|
|
1015
|
+
export interface WSResponse_AnalyticsIngest {
|
|
1016
|
+
command: 'analytics-ingest';
|
|
1017
|
+
payload: {
|
|
1018
|
+
accepted: number;
|
|
1019
|
+
rejected: number;
|
|
1020
|
+
} | {
|
|
1021
|
+
error: string;
|
|
1022
|
+
};
|
|
1023
|
+
}
|
|
1024
|
+
export type WSServerResponse = WSResponse_Handshake | WSResponse_GetProfile | WSResponse_UpdateProfile | WSResponse_GetCandidates | WSResponse_GetCandidateCounts | WSResponse_GetIntentionCatalog | WSResponse_GetIntentionCounts | WSResponse_GetIntentionPopularTags | WSResponse_Like | WSResponse_Skip | WSResponse_Search | WSResponse_GetConversations | WSResponse_GetMessages | WSResponse_SendMessage | WSResponse_GetRequests | WSResponse_AcceptRequest | WSResponse_DeclineRequest | WSResponse_SubmitFeedback | WSResponse_GetNotifications | WSResponse_MarkNotificationRead | WSResponse_BlockUser | WSResponse_ReportUser | WSResponse_Unmatch | WSResponse_GetSettings | WSResponse_UpdateSettings | WSResponse_TagSuggest | WSResponse_GetPreferences | WSResponse_UpdatePreferences | WSResponse_DeleteAccount | WSResponse_RegisterPushToken | WSResponse_GetSubscription | WSResponse_ValidateReceipt | WSResponse_GetSearchQuota | WSResponse_SearchWithToken | WSResponse_PreviewSearch | WSResponse_PurchaseBoost | WSResponse_GetBoostStatus | WSResponse_CreateActivity | WSResponse_UpdateActivity | WSResponse_CancelActivity | WSResponse_GetActivity | WSResponse_JoinActivity | WSResponse_LeaveActivity | WSResponse_GetActivities | WSResponse_GetActivityCounts | WSResponse_SearchActivities | WSResponse_SearchActivitiesWithToken | WSResponse_PreviewSearchActivities | WSResponse_GetCandidateActivities | WSResponse_GetPopularActivityTags | WSResponse_ReportActivity | WSResponse_GetMyActivities | WSResponse_MarkRead | WSResponse_GetUserProfile | WSResponse_GetBlockedUsers | WSResponse_UnblockUser | WSResponse_GetProfilePopularTags | WSResponse_GetRefinePopularTags | WSResponse_GetBadges | WSResponse_GetUserBadges | WSResponse_ClaimBadgeReward | WSResponse_ConfirmHostAttendance | WSResponse_ConfirmParticipation | WSResponse_SetDiscoveryView | WSResponse_PlacesSuggest | WSResponse_PlacesRetrieve | WSResponse_AnalyticsIngest;
|
|
988
1025
|
export interface WSEvent_NewMessage {
|
|
989
1026
|
event: 'new-message';
|
|
990
1027
|
payload: {
|