waha-shared 1.0.456 → 1.0.458
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/data/bibleStatuses/bibleStatuses.json +198 -196
- package/dist/data/bibleTexts/bibleTexts.json +11 -0
- package/dist/data/languages/index.d.ts +5 -4
- package/dist/data/languages/languages.json +92 -20
- package/dist/data/languages/languages.schema.json +83 -3
- package/dist/data/languages/languages.zod.d.ts +94 -23
- package/dist/data/languages/languages.zod.js +78 -2
- package/dist/data/mediaDurations/mediaDurations.json +147 -128
- package/dist/data/releaseNotes/releaseNotes.json +56 -2
- package/dist/data/translationsApp/index.d.ts +33 -4
- package/dist/data/translationsApp/translationsApp.json +1190 -1
- package/dist/data/translationsApp/translationsApp.schema.json +85 -23
- package/dist/data/translationsApp/translationsApp.zod.d.ts +107 -18
- package/dist/data/translationsApp/translationsApp.zod.js +76 -30
- package/dist/functions/magicLink.d.ts +12 -22
- package/dist/functions/magicLink.js +19 -25
- package/dist/functions/sets.js +4 -4
- package/dist/functions/userPaths.d.ts +90 -0
- package/dist/functions/userPaths.js +55 -0
- package/dist/types/analytics.d.ts +3 -1
- package/dist/types/bibleChapters.d.ts +8 -0
- package/dist/types/bibleChapters.js +2 -1
- package/dist/types/bookmarks.d.ts +23 -0
- package/dist/types/bookmarks.js +19 -0
- package/dist/types/completions.d.ts +32 -1
- package/dist/types/completions.js +22 -0
- package/dist/types/logs.d.ts +83 -0
- package/dist/types/logs.js +52 -0
- package/dist/types/meetFavorites.d.ts +10 -0
- package/dist/types/meetFavorites.js +11 -0
- package/dist/types/notes.d.ts +10 -0
- package/dist/types/notes.js +13 -0
- package/dist/types/users.d.ts +189 -309
- package/dist/types/users.js +152 -135
- package/package.json +9 -9
package/dist/types/users.js
CHANGED
|
@@ -1,149 +1,166 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
const zod_1 = require("zod");
|
|
6
|
+
exports.LegacyWahaUserFields = exports.LegacyWahaUser = exports.WahaUserFields = exports.WahaUser = exports.DeviceInfoFields = exports.DeviceInfo = exports.DevicePlatform = exports.WahaAppVersion = exports.UserReduxState = exports.DeviceUserReduxState = exports.SharedUserReduxState = exports.NotificationPermission = void 0;
|
|
7
|
+
const zod_1 = __importDefault(require("zod"));
|
|
5
8
|
const languages_zod_1 = require("../data/languages/languages.zod");
|
|
9
|
+
const completions_1 = require("./completions");
|
|
6
10
|
const location_1 = require("./location");
|
|
11
|
+
const logs_1 = require("./logs");
|
|
7
12
|
const microLessons_1 = require("./microLessons");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
'
|
|
11
|
-
'
|
|
12
|
-
'reach_my_entire_people_or_nation_for_god',
|
|
13
|
-
'understand_wahas_impact',
|
|
14
|
-
'understand_how_waha_works',
|
|
15
|
-
'get_coaching',
|
|
16
|
-
'see_god_transform_my_community',
|
|
17
|
-
'discover_whats_in_the_bible',
|
|
18
|
-
'find_hope_in_my_troubles',
|
|
19
|
-
'get_right_with_god',
|
|
20
|
-
'learn_more_about_jesus',
|
|
13
|
+
exports.NotificationPermission = zod_1.default.enum([
|
|
14
|
+
'granted',
|
|
15
|
+
'undetermined',
|
|
16
|
+
'denied',
|
|
21
17
|
]);
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
email: zod_1.
|
|
26
|
-
location: location_1.WahaUserLocation
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
isSubscribedToEmailUpdates: zod_1.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
lastDonationAsk: zod_1.z.number().optional(),
|
|
49
|
-
numberOfDonationAsks: zod_1.z.number().optional(),
|
|
50
|
-
lastSeenBannerAskNumber: zod_1.z.number().optional(),
|
|
51
|
-
onboardingStatus: zod_1.z
|
|
52
|
-
.enum([
|
|
53
|
-
'skipped-from-first',
|
|
54
|
-
'skipped-from-second',
|
|
55
|
-
'finished-from-first',
|
|
56
|
-
'finished-from-second',
|
|
57
|
-
'finished-from-languages',
|
|
58
|
-
])
|
|
59
|
-
.optional(),
|
|
60
|
-
});
|
|
61
|
-
exports.WahaAppVersion = zod_1.z.string().regex(/^\d+\.\d+\.\d+$/);
|
|
62
|
-
exports.CompletionEvent = zod_1.z.object({
|
|
63
|
-
lessonId: zod_1.z.string(),
|
|
64
|
-
meetLanguageId: languages_zod_1.LanguageId,
|
|
65
|
-
time: zod_1.z.number(),
|
|
66
|
-
country: zod_1.z.string().optional(),
|
|
67
|
-
region: zod_1.z.string().optional(),
|
|
68
|
-
city: zod_1.z.string().optional(),
|
|
69
|
-
/**
|
|
70
|
-
* Indicates that the lesson was completed manually from the lesson sheet
|
|
71
|
-
* rather than automatically by doing the lesson on the lesson screen.
|
|
72
|
-
*/
|
|
73
|
-
manual: zod_1.z.boolean().optional(),
|
|
74
|
-
howManyObeyed: stoplight_1.StoplightOption.optional(),
|
|
75
|
-
howManyShared: stoplight_1.StoplightOption.optional(),
|
|
18
|
+
/** User data that is shared across devices. */
|
|
19
|
+
exports.SharedUserReduxState = zod_1.default
|
|
20
|
+
.object({
|
|
21
|
+
email: zod_1.default.email(),
|
|
22
|
+
location: location_1.WahaUserLocation,
|
|
23
|
+
phoneNumber: zod_1.default.string(),
|
|
24
|
+
isInAGroup: zod_1.default.boolean(),
|
|
25
|
+
isSubscribedToEmailUpdates: zod_1.default.boolean(),
|
|
26
|
+
hasDonated: zod_1.default.boolean(),
|
|
27
|
+
})
|
|
28
|
+
.partial();
|
|
29
|
+
/**
|
|
30
|
+
* User data that is device-specific.
|
|
31
|
+
*/
|
|
32
|
+
exports.DeviceUserReduxState = zod_1.default
|
|
33
|
+
.object({
|
|
34
|
+
pastLocations: zod_1.default.array(location_1.WahaUserLocation),
|
|
35
|
+
utm: zod_1.default.record(zod_1.default.string(), zod_1.default.string()),
|
|
36
|
+
engagementScore: zod_1.default.number(),
|
|
37
|
+
finishedOnboarding: zod_1.default.number(),
|
|
38
|
+
firstOpen: zod_1.default.number(),
|
|
39
|
+
})
|
|
40
|
+
.partial();
|
|
41
|
+
exports.UserReduxState = zod_1.default.object({
|
|
42
|
+
...exports.SharedUserReduxState.shape,
|
|
43
|
+
...exports.DeviceUserReduxState.shape,
|
|
76
44
|
});
|
|
77
|
-
exports.
|
|
78
|
-
|
|
79
|
-
'
|
|
80
|
-
'
|
|
81
|
-
'
|
|
82
|
-
'
|
|
83
|
-
'
|
|
84
|
-
'lessonLink',
|
|
85
|
-
'setLink',
|
|
86
|
-
'meetingInvite',
|
|
87
|
-
'meetingInviteOnboarding',
|
|
88
|
-
'articleLink',
|
|
89
|
-
'videoLink',
|
|
90
|
-
'notification',
|
|
91
|
-
'meetingSchedule',
|
|
92
|
-
'scriptureText',
|
|
93
|
-
'mt',
|
|
94
|
-
'scriptureAudio',
|
|
95
|
-
'inviteGroup',
|
|
96
|
-
'lesson',
|
|
97
|
-
'offlineVersionLink',
|
|
98
|
-
'note',
|
|
99
|
-
'customSet',
|
|
100
|
-
'microLesson',
|
|
45
|
+
exports.WahaAppVersion = zod_1.default.string().regex(/^\d+\.\d+\.\d+$/);
|
|
46
|
+
exports.DevicePlatform = zod_1.default.enum([
|
|
47
|
+
'ios',
|
|
48
|
+
'android',
|
|
49
|
+
'macos',
|
|
50
|
+
'windows',
|
|
51
|
+
'web',
|
|
101
52
|
]);
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
exports.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Everything known about a single device/install. One doc per device in the
|
|
55
|
+
* `users2/{uid}/devices/{deviceId}` subcollection.
|
|
56
|
+
*/
|
|
57
|
+
exports.DeviceInfo = exports.DeviceUserReduxState.extend({
|
|
58
|
+
phoneLocation: zod_1.default.string().optional(),
|
|
59
|
+
pushToken: zod_1.default.string().optional(),
|
|
60
|
+
notificationPermission: exports.NotificationPermission.optional(),
|
|
61
|
+
platform: exports.DevicePlatform,
|
|
62
|
+
osVersion: zod_1.default.union([zod_1.default.string(), zod_1.default.number()]),
|
|
63
|
+
appVersion: exports.WahaAppVersion,
|
|
64
|
+
securityModeOn: zod_1.default.boolean(),
|
|
65
|
+
lastUpdate: zod_1.default.number(),
|
|
114
66
|
});
|
|
115
|
-
exports.
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
67
|
+
exports.DeviceInfoFields = exports.DeviceInfo.keyof().enum;
|
|
68
|
+
/**
|
|
69
|
+
* User object in Firestore. Subcollections (devices, completions, etc.) are
|
|
70
|
+
* not included in this schema. One doc per user in the `users2/{uid}`
|
|
71
|
+
* collection.
|
|
72
|
+
*/
|
|
73
|
+
exports.WahaUser = exports.SharedUserReduxState.extend({
|
|
74
|
+
/** Unique uid from Firebase auth state. */
|
|
75
|
+
wahaUserId: zod_1.default.string(),
|
|
76
|
+
/**
|
|
77
|
+
* The user's name. Sourced from Firebase auth `displayName`.
|
|
78
|
+
*/
|
|
79
|
+
name: zod_1.default.string().optional(),
|
|
80
|
+
/** True once the user has a real (non-anonymous) credential attached. */
|
|
81
|
+
hasAccount: zod_1.default.boolean(),
|
|
82
|
+
/**
|
|
83
|
+
* User's most recently used meet language. Not synced between devices, only
|
|
84
|
+
* useful for CRM purposes. From meetLanguage redux reducer.
|
|
85
|
+
*/
|
|
86
|
+
meet: languages_zod_1.LanguageId,
|
|
87
|
+
/** From `__DEV__`. */
|
|
88
|
+
isDev: zod_1.default.boolean(),
|
|
89
|
+
/**
|
|
90
|
+
* Whether user has done a lesson within the first 2 weeks of downloading the
|
|
91
|
+
* app. Derived from first open and completions. See useUpdateUserData.ts.
|
|
92
|
+
*/
|
|
93
|
+
activated: zod_1.default.boolean().optional(),
|
|
94
|
+
/**
|
|
95
|
+
* See useUserScores.ts. Derived from completions.
|
|
96
|
+
*/
|
|
97
|
+
obedienceScore: zod_1.default.number().optional(),
|
|
98
|
+
/**
|
|
99
|
+
* See useUserScores.ts. Derived from completions.
|
|
100
|
+
*/
|
|
101
|
+
sharingScore: zod_1.default.number().optional(),
|
|
102
|
+
/**
|
|
103
|
+
* Whether the user is a potential Waha advocate. Phone location = US and IP
|
|
104
|
+
* location = US. Derived from location data.
|
|
105
|
+
*/
|
|
106
|
+
isAdvocate: zod_1.default.boolean().optional(),
|
|
107
|
+
/**
|
|
108
|
+
* Whether the user is a potential cross-cultural worker. Phone location = US
|
|
109
|
+
* and IP location != US. Derived from location data.
|
|
110
|
+
*/
|
|
111
|
+
isCCWorker: zod_1.default.boolean().optional(),
|
|
112
|
+
/** The last time the user's data was updated. Auto-set. */
|
|
113
|
+
lastUpdate: zod_1.default.number(),
|
|
119
114
|
});
|
|
120
|
-
exports.
|
|
121
|
-
|
|
122
|
-
|
|
115
|
+
exports.WahaUserFields = exports.WahaUser.keyof().enum;
|
|
116
|
+
/**
|
|
117
|
+
* The legacy user object before version 9.
|
|
118
|
+
*/
|
|
119
|
+
exports.LegacyWahaUser = zod_1.default.object({
|
|
120
|
+
wahaUserId: zod_1.default.string(),
|
|
121
|
+
name: zod_1.default.string().optional(),
|
|
122
|
+
email: zod_1.default.email().optional(),
|
|
123
|
+
location: location_1.WahaUserLocation.optional(),
|
|
124
|
+
pastLocations: zod_1.default.array(location_1.WahaUserLocation).optional(),
|
|
125
|
+
phoneLocation: zod_1.default.string().optional(),
|
|
126
|
+
isSubscribedToEmailUpdates: zod_1.default.boolean().optional(),
|
|
127
|
+
pushToken: zod_1.default.string().optional(),
|
|
128
|
+
notificationPermission: exports.NotificationPermission.optional(),
|
|
129
|
+
utm: zod_1.default.record(zod_1.default.string(), zod_1.default.string()).optional(),
|
|
130
|
+
firstOpen: zod_1.default.number().optional(),
|
|
131
|
+
finishedOnboarding: zod_1.default.number().optional(),
|
|
132
|
+
howFamiliarWithBible: zod_1.default.number().optional(),
|
|
133
|
+
followingFor2Years: zod_1.default.number().optional(),
|
|
134
|
+
notificationsClicked: zod_1.default.number().optional(),
|
|
135
|
+
notificationLinksClicked: zod_1.default.number().optional(),
|
|
136
|
+
isBeliever: zod_1.default.boolean().optional(),
|
|
137
|
+
isInAGroup: zod_1.default.boolean().optional(),
|
|
138
|
+
customDesire: zod_1.default.string().optional(),
|
|
139
|
+
isCCWorker: zod_1.default.boolean().optional(),
|
|
140
|
+
isAdvocate: zod_1.default.boolean().optional(),
|
|
141
|
+
phoneNumber: zod_1.default.string().optional(),
|
|
142
|
+
engagementScore: zod_1.default.number().optional(),
|
|
143
|
+
hasDonated: zod_1.default.boolean().optional(),
|
|
144
|
+
lastDonationAsk: zod_1.default.number().optional(),
|
|
145
|
+
numberOfDonationAsks: zod_1.default.number().optional(),
|
|
146
|
+
lastSeenBannerAskNumber: zod_1.default.number().optional(),
|
|
147
|
+
securityModeOn: zod_1.default.boolean().optional(),
|
|
123
148
|
appVersion: exports.WahaAppVersion,
|
|
124
|
-
lastUpdate: zod_1.
|
|
125
|
-
platform:
|
|
126
|
-
completions: zod_1.
|
|
127
|
-
trainingUnlocked: zod_1.
|
|
149
|
+
lastUpdate: zod_1.default.number(),
|
|
150
|
+
platform: exports.DevicePlatform,
|
|
151
|
+
completions: zod_1.default.array(completions_1.CompletionEvent),
|
|
152
|
+
trainingUnlocked: zod_1.default.boolean().optional(),
|
|
128
153
|
meet: languages_zod_1.LanguageId,
|
|
129
154
|
appInterface: languages_zod_1.LanguageId,
|
|
130
|
-
meetFavorites: zod_1.
|
|
131
|
-
osVersion: zod_1.
|
|
132
|
-
isDev: zod_1.
|
|
133
|
-
shareLog: zod_1.
|
|
134
|
-
bibleSessions: zod_1.
|
|
135
|
-
articleSessions: zod_1.
|
|
136
|
-
activated: zod_1.
|
|
137
|
-
microLessonCompletions: zod_1.
|
|
138
|
-
obedienceScore: zod_1.
|
|
139
|
-
sharingScore: zod_1.
|
|
140
|
-
});
|
|
141
|
-
exports.PushEnabledWahaUser = exports.WahaUser.omit({
|
|
142
|
-
wahaUserId: true,
|
|
143
|
-
pushToken: true,
|
|
144
|
-
notificationPermission: true,
|
|
145
|
-
}).extend({
|
|
146
|
-
wahaUserId: zod_1.z.string(),
|
|
147
|
-
pushToken: zod_1.z.string(),
|
|
148
|
-
notificationPermission: zod_1.z.literal('granted'),
|
|
155
|
+
meetFavorites: zod_1.default.array(languages_zod_1.LanguageId),
|
|
156
|
+
osVersion: zod_1.default.union([zod_1.default.string(), zod_1.default.number()]).nullable(),
|
|
157
|
+
isDev: zod_1.default.boolean(),
|
|
158
|
+
shareLog: zod_1.default.array(logs_1.ShareLogEvent).optional(),
|
|
159
|
+
bibleSessions: zod_1.default.array(logs_1.BibleSession).optional(),
|
|
160
|
+
articleSessions: zod_1.default.array(logs_1.ArticleSession).optional(),
|
|
161
|
+
activated: zod_1.default.boolean().optional(),
|
|
162
|
+
microLessonCompletions: zod_1.default.array(microLessons_1.MicroLessonSubmission).optional(),
|
|
163
|
+
obedienceScore: zod_1.default.number().optional(),
|
|
164
|
+
sharingScore: zod_1.default.number().optional(),
|
|
149
165
|
});
|
|
166
|
+
exports.LegacyWahaUserFields = exports.LegacyWahaUser.keyof().enum;
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "waha-shared",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.458",
|
|
4
4
|
"author": "Waha",
|
|
5
5
|
"dependencies": {
|
|
6
|
+
"@types/react": "^19.2.18",
|
|
6
7
|
"@types/signale": "^1.4.7",
|
|
7
|
-
"
|
|
8
|
+
"react": "^19.2.8",
|
|
9
|
+
"signale": "^1.4.0",
|
|
10
|
+
"zod": "^4.5.4"
|
|
8
11
|
},
|
|
9
12
|
"peerDependencies": {
|
|
10
|
-
"@types/react": "
|
|
11
|
-
"react": "
|
|
12
|
-
"zod": ">=4.
|
|
13
|
+
"@types/react": ">=18.2.0",
|
|
14
|
+
"react": ">=18.2.0",
|
|
15
|
+
"zod": ">=4.3.6"
|
|
13
16
|
},
|
|
14
17
|
"description": "Shared assets for Waha's various apps",
|
|
15
18
|
"devDependencies": {
|
|
16
|
-
"@types/react": "^18.2.0",
|
|
17
19
|
"copyfiles": "^2.4.1",
|
|
18
|
-
"
|
|
19
|
-
"typescript": "~5.9.2",
|
|
20
|
-
"zod": "^4.3.6"
|
|
20
|
+
"typescript": "~5.9.2"
|
|
21
21
|
},
|
|
22
22
|
"files": [
|
|
23
23
|
"dist",
|