@churchapps/helpers 1.2.12 → 1.2.13
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/cjs/ApiHelper.d.ts.map +1 -0
- package/dist/{ApiHelper.js → cjs/ApiHelper.js} +6 -3
- package/dist/cjs/ApiHelper.js.map +1 -0
- package/dist/cjs/AppearanceHelper.d.ts.map +1 -0
- package/dist/{AppearanceHelper.js → cjs/AppearanceHelper.js} +5 -1
- package/dist/cjs/AppearanceHelper.js.map +1 -0
- package/dist/cjs/ArrayHelper.d.ts.map +1 -0
- package/dist/{ArrayHelper.js → cjs/ArrayHelper.js} +7 -3
- package/dist/cjs/ArrayHelper.js.map +1 -0
- package/dist/cjs/CommonEnvironmentHelper.d.ts.map +1 -0
- package/dist/{CommonEnvironmentHelper.js → cjs/CommonEnvironmentHelper.js} +5 -1
- package/dist/cjs/CommonEnvironmentHelper.js.map +1 -0
- package/dist/cjs/CurrencyHelper.d.ts.map +1 -0
- package/dist/{CurrencyHelper.js → cjs/CurrencyHelper.js} +5 -1
- package/dist/cjs/CurrencyHelper.js.map +1 -0
- package/dist/cjs/DateHelper.d.ts.map +1 -0
- package/dist/{DateHelper.js → cjs/DateHelper.js} +16 -9
- package/dist/cjs/DateHelper.js.map +1 -0
- package/dist/cjs/DonationHelper.d.ts.map +1 -0
- package/dist/{DonationHelper.js → cjs/DonationHelper.js} +5 -1
- package/dist/cjs/DonationHelper.js.map +1 -0
- package/dist/cjs/ErrorHelper.d.ts.map +1 -0
- package/dist/{ErrorHelper.js → cjs/ErrorHelper.js} +5 -1
- package/dist/cjs/ErrorHelper.js.map +1 -0
- package/dist/cjs/EventHelper.d.ts.map +1 -0
- package/dist/{EventHelper.js → cjs/EventHelper.js} +10 -3
- package/dist/cjs/EventHelper.js.map +1 -0
- package/dist/cjs/FileHelper.d.ts.map +1 -0
- package/dist/{FileHelper.js → cjs/FileHelper.js} +5 -1
- package/dist/cjs/FileHelper.js.map +1 -0
- package/dist/cjs/PersonHelper.d.ts.map +1 -0
- package/dist/{PersonHelper.js → cjs/PersonHelper.js} +7 -3
- package/dist/cjs/PersonHelper.js.map +1 -0
- package/dist/cjs/PlanHelper.d.ts.map +1 -0
- package/dist/{PlanHelper.js → cjs/PlanHelper.js} +7 -3
- package/dist/cjs/PlanHelper.js.map +1 -0
- package/dist/cjs/UniqueIdHelper.d.ts.map +1 -0
- package/dist/{UniqueIdHelper.js → cjs/UniqueIdHelper.js} +5 -1
- package/dist/cjs/UniqueIdHelper.js.map +1 -0
- package/dist/cjs/UserHelper.d.ts.map +1 -0
- package/dist/{UserHelper.js → cjs/UserHelper.js} +11 -7
- package/dist/cjs/UserHelper.js.map +1 -0
- package/dist/cjs/contentProviders/ContentProvider.d.ts.map +1 -0
- package/dist/cjs/contentProviders/ContentProvider.js +3 -0
- package/dist/cjs/contentProviders/ContentProvider.js.map +1 -0
- package/dist/cjs/contentProviders/LessonsContentProvider.d.ts.map +1 -0
- package/dist/{contentProviders → cjs/contentProviders}/LessonsContentProvider.js +12 -8
- package/dist/cjs/contentProviders/LessonsContentProvider.js.map +1 -0
- package/dist/cjs/contentProviders/index.d.ts.map +1 -0
- package/dist/cjs/contentProviders/index.js +6 -0
- package/dist/cjs/contentProviders/index.js.map +1 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +48 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interfaces/Access.d.ts.map +1 -0
- package/dist/cjs/interfaces/Access.js +3 -0
- package/dist/{interfaces → cjs/interfaces}/Access.js.map +1 -1
- package/dist/cjs/interfaces/Attendance.d.ts.map +1 -0
- package/dist/cjs/interfaces/Attendance.js +3 -0
- package/dist/cjs/interfaces/Attendance.js.map +1 -0
- package/dist/cjs/interfaces/Content.d.ts.map +1 -0
- package/dist/cjs/interfaces/Content.js +3 -0
- package/dist/{interfaces → cjs/interfaces}/Content.js.map +1 -1
- package/dist/cjs/interfaces/Doing.d.ts.map +1 -0
- package/dist/cjs/interfaces/Doing.js +3 -0
- package/dist/{interfaces → cjs/interfaces}/Doing.js.map +1 -1
- package/dist/cjs/interfaces/Donation.d.ts.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/Donation.js +5 -1
- package/dist/cjs/interfaces/Donation.js.map +1 -0
- package/dist/cjs/interfaces/Error.d.ts.map +1 -0
- package/dist/cjs/interfaces/Error.js +3 -0
- package/dist/{interfaces → cjs/interfaces}/Error.js.map +1 -1
- package/dist/cjs/interfaces/Lessons.d.ts.map +1 -0
- package/dist/cjs/interfaces/Lessons.js +4 -0
- package/dist/cjs/interfaces/Lessons.js.map +1 -0
- package/dist/cjs/interfaces/Membership.d.ts.map +1 -0
- package/dist/cjs/interfaces/Membership.js +3 -0
- package/dist/cjs/interfaces/Membership.js.map +1 -0
- package/dist/cjs/interfaces/Messaging.d.ts.map +1 -0
- package/dist/cjs/interfaces/Messaging.js +3 -0
- package/dist/{interfaces → cjs/interfaces}/Messaging.js.map +1 -1
- package/dist/cjs/interfaces/Permissions.d.ts.map +1 -0
- package/dist/{interfaces → cjs/interfaces}/Permissions.js +5 -1
- package/dist/cjs/interfaces/Permissions.js.map +1 -0
- package/dist/cjs/interfaces/Reporting.d.ts.map +1 -0
- package/dist/cjs/interfaces/Reporting.js +3 -0
- package/dist/{interfaces → cjs/interfaces}/Reporting.js.map +1 -1
- package/dist/cjs/interfaces/UserContextInterface.d.ts.map +1 -0
- package/dist/cjs/interfaces/UserContextInterface.js +3 -0
- package/dist/cjs/interfaces/UserContextInterface.js.map +1 -0
- package/dist/cjs/interfaces/index.d.ts.map +1 -0
- package/dist/cjs/interfaces/index.js +30 -0
- package/dist/cjs/interfaces/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/ApiHelper.d.ts +28 -0
- package/dist/esm/ApiHelper.d.ts.map +1 -0
- package/dist/esm/ApiHelper.js +159 -0
- package/dist/esm/ApiHelper.js.map +1 -0
- package/dist/esm/AppearanceHelper.d.ts +19 -0
- package/dist/esm/AppearanceHelper.d.ts.map +1 -0
- package/dist/esm/AppearanceHelper.js +64 -0
- package/dist/esm/AppearanceHelper.js.map +1 -0
- package/dist/esm/ArrayHelper.d.ts +16 -0
- package/dist/esm/ArrayHelper.d.ts.map +1 -0
- package/dist/esm/ArrayHelper.js +169 -0
- package/dist/esm/ArrayHelper.js.map +1 -0
- package/dist/esm/CommonEnvironmentHelper.d.ts +22 -0
- package/dist/esm/CommonEnvironmentHelper.d.ts.map +1 -0
- package/dist/esm/CommonEnvironmentHelper.js +104 -0
- package/dist/esm/CommonEnvironmentHelper.js.map +1 -0
- package/dist/esm/CurrencyHelper.d.ts +4 -0
- package/dist/esm/CurrencyHelper.d.ts.map +1 -0
- package/dist/esm/CurrencyHelper.js +15 -0
- package/dist/esm/CurrencyHelper.js.map +1 -0
- package/dist/esm/DateHelper.d.ts +23 -0
- package/dist/esm/DateHelper.d.ts.map +1 -0
- package/dist/esm/DateHelper.js +144 -0
- package/dist/esm/DateHelper.js.map +1 -0
- package/dist/esm/DonationHelper.d.ts +8 -0
- package/dist/esm/DonationHelper.d.ts.map +1 -0
- package/dist/esm/DonationHelper.js +33 -0
- package/dist/esm/DonationHelper.js.map +1 -0
- package/dist/esm/ErrorHelper.d.ts +13 -0
- package/dist/esm/ErrorHelper.d.ts.map +1 -0
- package/dist/esm/ErrorHelper.js +34 -0
- package/dist/esm/ErrorHelper.js.map +1 -0
- package/dist/esm/EventHelper.d.ts +13 -0
- package/dist/esm/EventHelper.d.ts.map +1 -0
- package/dist/esm/EventHelper.js +47 -0
- package/dist/esm/EventHelper.js.map +1 -0
- package/dist/esm/FileHelper.d.ts +5 -0
- package/dist/esm/FileHelper.d.ts.map +1 -0
- package/dist/esm/FileHelper.js +57 -0
- package/dist/esm/FileHelper.js.map +1 -0
- package/dist/esm/PersonHelper.d.ts +14 -0
- package/dist/esm/PersonHelper.d.ts.map +1 -0
- package/dist/esm/PersonHelper.js +84 -0
- package/dist/esm/PersonHelper.js.map +1 -0
- package/dist/esm/PlanHelper.d.ts +25 -0
- package/dist/esm/PlanHelper.d.ts.map +1 -0
- package/dist/esm/PlanHelper.js +114 -0
- package/dist/esm/PlanHelper.js.map +1 -0
- package/dist/esm/UniqueIdHelper.d.ts +9 -0
- package/dist/esm/UniqueIdHelper.d.ts.map +1 -0
- package/dist/esm/UniqueIdHelper.js +37 -0
- package/dist/esm/UniqueIdHelper.js.map +1 -0
- package/dist/esm/UserHelper.d.ts +14 -0
- package/dist/esm/UserHelper.d.ts.map +1 -0
- package/dist/esm/UserHelper.js +65 -0
- package/dist/esm/UserHelper.js.map +1 -0
- package/dist/esm/contentProviders/ContentProvider.d.ts +7 -0
- package/dist/esm/contentProviders/ContentProvider.d.ts.map +1 -0
- package/dist/esm/contentProviders/ContentProvider.js +3 -0
- package/dist/esm/contentProviders/ContentProvider.js.map +1 -0
- package/dist/esm/contentProviders/LessonsContentProvider.d.ts +66 -0
- package/dist/esm/contentProviders/LessonsContentProvider.d.ts.map +1 -0
- package/dist/esm/contentProviders/LessonsContentProvider.js +241 -0
- package/dist/esm/contentProviders/LessonsContentProvider.js.map +1 -0
- package/dist/esm/contentProviders/index.d.ts +3 -0
- package/dist/esm/contentProviders/index.d.ts.map +1 -0
- package/dist/esm/contentProviders/index.js +6 -0
- package/dist/esm/contentProviders/index.js.map +1 -0
- package/dist/{index.js → esm/index.d.ts} +1 -1
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +48 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces/Access.d.ts +132 -0
- package/dist/esm/interfaces/Access.d.ts.map +1 -0
- package/dist/esm/interfaces/Access.js +3 -0
- package/dist/esm/interfaces/Access.js.map +1 -0
- package/dist/esm/interfaces/Attendance.d.ts +45 -0
- package/dist/esm/interfaces/Attendance.d.ts.map +1 -0
- package/dist/esm/interfaces/Attendance.js +3 -0
- package/dist/esm/interfaces/Attendance.js.map +1 -0
- package/dist/esm/interfaces/Content.d.ts +86 -0
- package/dist/esm/interfaces/Content.d.ts.map +1 -0
- package/dist/esm/interfaces/Content.js +3 -0
- package/dist/esm/interfaces/Content.js.map +1 -0
- package/dist/esm/interfaces/Doing.d.ts +130 -0
- package/dist/esm/interfaces/Doing.d.ts.map +1 -0
- package/dist/esm/interfaces/Doing.js +3 -0
- package/dist/esm/interfaces/Doing.js.map +1 -0
- package/dist/esm/interfaces/Donation.d.ts +180 -0
- package/dist/esm/interfaces/Donation.d.ts.map +1 -0
- package/dist/esm/interfaces/Donation.js +27 -0
- package/dist/esm/interfaces/Donation.js.map +1 -0
- package/dist/esm/interfaces/Error.d.ts +17 -0
- package/dist/esm/interfaces/Error.d.ts.map +1 -0
- package/dist/esm/interfaces/Error.js +3 -0
- package/dist/esm/interfaces/Error.js.map +1 -0
- package/dist/esm/interfaces/Lessons.d.ts +47 -0
- package/dist/esm/interfaces/Lessons.d.ts.map +1 -0
- package/dist/esm/interfaces/Lessons.js +4 -0
- package/dist/esm/interfaces/Lessons.js.map +1 -0
- package/dist/esm/interfaces/Membership.d.ts +187 -0
- package/dist/esm/interfaces/Membership.d.ts.map +1 -0
- package/dist/esm/interfaces/Membership.js +3 -0
- package/dist/esm/interfaces/Membership.js.map +1 -0
- package/dist/esm/interfaces/Messaging.d.ts +86 -0
- package/dist/esm/interfaces/Messaging.d.ts.map +1 -0
- package/dist/esm/interfaces/Messaging.js +3 -0
- package/dist/esm/interfaces/Messaging.js.map +1 -0
- package/dist/esm/interfaces/Permissions.d.ts +166 -0
- package/dist/esm/interfaces/Permissions.d.ts.map +1 -0
- package/dist/esm/interfaces/Permissions.js +94 -0
- package/dist/esm/interfaces/Permissions.js.map +1 -0
- package/dist/esm/interfaces/Reporting.d.ts +45 -0
- package/dist/esm/interfaces/Reporting.d.ts.map +1 -0
- package/dist/esm/interfaces/Reporting.js +3 -0
- package/dist/esm/interfaces/Reporting.js.map +1 -0
- package/dist/esm/interfaces/UserContextInterface.d.ts +13 -0
- package/dist/esm/interfaces/UserContextInterface.d.ts.map +1 -0
- package/dist/esm/interfaces/UserContextInterface.js +3 -0
- package/dist/esm/interfaces/UserContextInterface.js.map +1 -0
- package/dist/{interfaces/index.js → esm/interfaces/index.d.ts} +1 -2
- package/dist/esm/interfaces/index.d.ts.map +1 -0
- package/dist/esm/interfaces/index.js +30 -0
- package/dist/esm/interfaces/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/package.json +9 -10
- package/tsconfig.cjs.json +8 -0
- package/tsconfig.json +1 -1
- package/dist/ApiHelper.d.ts.map +0 -1
- package/dist/ApiHelper.js.map +0 -1
- package/dist/AppearanceHelper.d.ts.map +0 -1
- package/dist/AppearanceHelper.js.map +0 -1
- package/dist/ArrayHelper.d.ts.map +0 -1
- package/dist/ArrayHelper.js.map +0 -1
- package/dist/CommonEnvironmentHelper.d.ts.map +0 -1
- package/dist/CommonEnvironmentHelper.js.map +0 -1
- package/dist/CurrencyHelper.d.ts.map +0 -1
- package/dist/CurrencyHelper.js.map +0 -1
- package/dist/DateHelper.d.ts.map +0 -1
- package/dist/DateHelper.js.map +0 -1
- package/dist/DonationHelper.d.ts.map +0 -1
- package/dist/DonationHelper.js.map +0 -1
- package/dist/ErrorHelper.d.ts.map +0 -1
- package/dist/ErrorHelper.js.map +0 -1
- package/dist/EventHelper.d.ts.map +0 -1
- package/dist/EventHelper.js.map +0 -1
- package/dist/FileHelper.d.ts.map +0 -1
- package/dist/FileHelper.js.map +0 -1
- package/dist/PersonHelper.d.ts.map +0 -1
- package/dist/PersonHelper.js.map +0 -1
- package/dist/PlanHelper.d.ts.map +0 -1
- package/dist/PlanHelper.js.map +0 -1
- package/dist/UniqueIdHelper.d.ts.map +0 -1
- package/dist/UniqueIdHelper.js.map +0 -1
- package/dist/UserHelper.d.ts.map +0 -1
- package/dist/UserHelper.js.map +0 -1
- package/dist/contentProviders/ContentProvider.d.ts.map +0 -1
- package/dist/contentProviders/ContentProvider.js +0 -2
- package/dist/contentProviders/ContentProvider.js.map +0 -1
- package/dist/contentProviders/LessonsContentProvider.d.ts.map +0 -1
- package/dist/contentProviders/LessonsContentProvider.js.map +0 -1
- package/dist/contentProviders/index.d.ts.map +0 -1
- package/dist/contentProviders/index.js +0 -2
- package/dist/contentProviders/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/interfaces/Access.d.ts.map +0 -1
- package/dist/interfaces/Access.js +0 -2
- package/dist/interfaces/Attendance.d.ts.map +0 -1
- package/dist/interfaces/Attendance.js +0 -2
- package/dist/interfaces/Attendance.js.map +0 -1
- package/dist/interfaces/Content.d.ts.map +0 -1
- package/dist/interfaces/Content.js +0 -2
- package/dist/interfaces/Doing.d.ts.map +0 -1
- package/dist/interfaces/Doing.js +0 -2
- package/dist/interfaces/Donation.d.ts.map +0 -1
- package/dist/interfaces/Donation.js.map +0 -1
- package/dist/interfaces/Error.d.ts.map +0 -1
- package/dist/interfaces/Error.js +0 -2
- package/dist/interfaces/Lessons.d.ts.map +0 -1
- package/dist/interfaces/Lessons.js +0 -3
- package/dist/interfaces/Lessons.js.map +0 -1
- package/dist/interfaces/Membership.d.ts.map +0 -1
- package/dist/interfaces/Membership.js +0 -2
- package/dist/interfaces/Membership.js.map +0 -1
- package/dist/interfaces/Messaging.d.ts.map +0 -1
- package/dist/interfaces/Messaging.js +0 -2
- package/dist/interfaces/Permissions.d.ts.map +0 -1
- package/dist/interfaces/Permissions.js.map +0 -1
- package/dist/interfaces/Reporting.d.ts.map +0 -1
- package/dist/interfaces/Reporting.js +0 -2
- package/dist/interfaces/UserContextInterface.d.ts.map +0 -1
- package/dist/interfaces/UserContextInterface.js +0 -2
- package/dist/interfaces/UserContextInterface.js.map +0 -1
- package/dist/interfaces/index.d.ts.map +0 -1
- package/dist/interfaces/index.js.map +0 -1
- /package/dist/{ApiHelper.d.ts → cjs/ApiHelper.d.ts} +0 -0
- /package/dist/{AppearanceHelper.d.ts → cjs/AppearanceHelper.d.ts} +0 -0
- /package/dist/{ArrayHelper.d.ts → cjs/ArrayHelper.d.ts} +0 -0
- /package/dist/{CommonEnvironmentHelper.d.ts → cjs/CommonEnvironmentHelper.d.ts} +0 -0
- /package/dist/{CurrencyHelper.d.ts → cjs/CurrencyHelper.d.ts} +0 -0
- /package/dist/{DateHelper.d.ts → cjs/DateHelper.d.ts} +0 -0
- /package/dist/{DonationHelper.d.ts → cjs/DonationHelper.d.ts} +0 -0
- /package/dist/{ErrorHelper.d.ts → cjs/ErrorHelper.d.ts} +0 -0
- /package/dist/{EventHelper.d.ts → cjs/EventHelper.d.ts} +0 -0
- /package/dist/{FileHelper.d.ts → cjs/FileHelper.d.ts} +0 -0
- /package/dist/{PersonHelper.d.ts → cjs/PersonHelper.d.ts} +0 -0
- /package/dist/{PlanHelper.d.ts → cjs/PlanHelper.d.ts} +0 -0
- /package/dist/{UniqueIdHelper.d.ts → cjs/UniqueIdHelper.d.ts} +0 -0
- /package/dist/{UserHelper.d.ts → cjs/UserHelper.d.ts} +0 -0
- /package/dist/{contentProviders → cjs/contentProviders}/ContentProvider.d.ts +0 -0
- /package/dist/{contentProviders → cjs/contentProviders}/LessonsContentProvider.d.ts +0 -0
- /package/dist/{contentProviders → cjs/contentProviders}/index.d.ts +0 -0
- /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Access.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Attendance.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Content.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Doing.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Donation.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Error.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Lessons.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Membership.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Messaging.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Permissions.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/Reporting.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/UserContextInterface.d.ts +0 -0
- /package/dist/{interfaces → cjs/interfaces}/index.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DonationHelper.d.ts","sourceRoot":"","sources":["../../src/DonationHelper.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IAEzB,MAAM,CAAC,WAAW,CAAC,YAAY,EAAC,MAAM;;;;IAgBtC,MAAM,CAAC,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;CAOtE"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DonationHelper = void 0;
|
|
4
|
+
class DonationHelper {
|
|
5
|
+
static getInterval(intervalName) {
|
|
6
|
+
let intervalCount = 1;
|
|
7
|
+
let intervalType = "month";
|
|
8
|
+
let parts = intervalName.split("_");
|
|
9
|
+
if (parts.length === 2) {
|
|
10
|
+
switch (parts[0]) {
|
|
11
|
+
case "two":
|
|
12
|
+
intervalCount = 2;
|
|
13
|
+
break;
|
|
14
|
+
case "three":
|
|
15
|
+
intervalCount = 3;
|
|
16
|
+
break;
|
|
17
|
+
}
|
|
18
|
+
intervalType = parts[1];
|
|
19
|
+
}
|
|
20
|
+
let result = { interval_count: intervalCount, interval: intervalType };
|
|
21
|
+
return result;
|
|
22
|
+
}
|
|
23
|
+
static getIntervalKeyName(intervalCount, intervalType) {
|
|
24
|
+
let firstPart = "one";
|
|
25
|
+
if (intervalCount === 2)
|
|
26
|
+
firstPart = "two";
|
|
27
|
+
else if (intervalCount === 3)
|
|
28
|
+
firstPart = "three";
|
|
29
|
+
return firstPart + "_" + intervalType;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.DonationHelper = DonationHelper;
|
|
33
|
+
//# sourceMappingURL=DonationHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DonationHelper.js","sourceRoot":"","sources":["../../src/DonationHelper.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;IAEzB,MAAM,CAAC,WAAW,CAAC,YAAmB;QACpC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,YAAY,GAAG,OAAO,CAAC;QAC3B,IAAI,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,QAAQ,KAAK,CAAC,CAAC,CAAC,EAChB,CAAC;gBACC,KAAK,KAAK;oBAAE,aAAa,GAAG,CAAC,CAAC;oBAAC,MAAM;gBACrC,KAAK,OAAO;oBAAE,aAAa,GAAG,CAAC,CAAC;oBAAC,MAAM;YACzC,CAAC;YACD,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,cAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;QACvE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,aAAqB,EAAE,YAAoB;QACnE,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,aAAa,KAAK,CAAC;YAAE,SAAS,GAAG,KAAK,CAAC;aACtC,IAAI,aAAa,KAAK,CAAC;YAAE,SAAS,GAAG,OAAO,CAAC;QAClD,OAAO,SAAS,GAAG,GAAG,GAAG,YAAY,CAAC;IACxC,CAAC;CAEF;AAzBD,wCAyBC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ErrorLogInterface, ErrorAppDataInterface } from "./interfaces/Error.js";
|
|
2
|
+
export declare class ErrorHelper {
|
|
3
|
+
static getAppData: () => {
|
|
4
|
+
churchId: string;
|
|
5
|
+
userId: string;
|
|
6
|
+
originUrl: string;
|
|
7
|
+
application: string;
|
|
8
|
+
};
|
|
9
|
+
static customErrorHandler: (errorLog: ErrorLogInterface) => void;
|
|
10
|
+
static init: (getAppData: () => ErrorAppDataInterface, customErrorHandler: (errorLog: ErrorLogInterface) => void) => void;
|
|
11
|
+
static logError: (errorType: string, message: string, details: string) => void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ErrorHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorHelper.d.ts","sourceRoot":"","sources":["../../src/ErrorHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAIjF,qBAAa,WAAW;IAEtB,MAAM,CAAC,UAAU,EAAE,MAAM;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtG,MAAM,CAAC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAEjE,MAAM,CAAC,IAAI,GAAI,YAAY,MAAM,qBAAqB,EAAE,oBAAoB,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,UAGhH;IAED,MAAM,CAAC,QAAQ,GAAI,WAAW,MAAM,EAAE,SAAS,MAAM,EAAE,SAAS,MAAM,UAqBrE;CAGF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorHelper = void 0;
|
|
4
|
+
class ErrorHelper {
|
|
5
|
+
static getAppData;
|
|
6
|
+
static customErrorHandler;
|
|
7
|
+
static init = (getAppData, customErrorHandler) => {
|
|
8
|
+
ErrorHelper.getAppData = getAppData;
|
|
9
|
+
ErrorHelper.customErrorHandler = customErrorHandler;
|
|
10
|
+
};
|
|
11
|
+
static logError = (errorType, message, details) => {
|
|
12
|
+
if (this.getAppData) {
|
|
13
|
+
const data = this.getAppData();
|
|
14
|
+
const log = {
|
|
15
|
+
application: data.application,
|
|
16
|
+
errorTime: new Date(),
|
|
17
|
+
userId: data.userId,
|
|
18
|
+
churchId: data.churchId,
|
|
19
|
+
originUrl: data.originUrl,
|
|
20
|
+
errorType: errorType,
|
|
21
|
+
message: message,
|
|
22
|
+
details: details
|
|
23
|
+
};
|
|
24
|
+
if (log.errorType === "401" && log.message.indexOf("/users/login") > -1)
|
|
25
|
+
return;
|
|
26
|
+
//temporarily disabled error logging
|
|
27
|
+
//ApiHelper.postAnonymous("/errors", [log], "MembershipApi");
|
|
28
|
+
if (ErrorHelper.customErrorHandler)
|
|
29
|
+
ErrorHelper.customErrorHandler(log);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
exports.ErrorHelper = ErrorHelper;
|
|
34
|
+
//# sourceMappingURL=ErrorHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorHelper.js","sourceRoot":"","sources":["../../src/ErrorHelper.ts"],"names":[],"mappings":";;;AAIA,MAAa,WAAW;IAEtB,MAAM,CAAC,UAAU,CAAqF;IACtG,MAAM,CAAC,kBAAkB,CAAwC;IAEjE,MAAM,CAAC,IAAI,GAAG,CAAC,UAAuC,EAAE,kBAAyD,EAAE,EAAE;QACnH,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;QACpC,WAAW,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;IACtD,CAAC,CAAA;IAED,MAAM,CAAC,QAAQ,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;QAGxE,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAsB;gBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,OAAO;aACjB,CAAA;YAED,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO;YAChF,oCAAoC;YACpC,6DAA6D;YAC7D,IAAI,WAAW,CAAC,kBAAkB;gBAAE,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAA;;AA/BH,kCAkCC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventInterface } from "./interfaces/index.js";
|
|
2
|
+
import rruleLib from "rrule";
|
|
3
|
+
declare const RRule: typeof rruleLib.RRule;
|
|
4
|
+
type ParsedOptions = Partial<InstanceType<typeof RRule>["options"]>;
|
|
5
|
+
export declare class EventHelper {
|
|
6
|
+
static getRange: (event: EventInterface, startDate: Date, endDate: Date) => Date[];
|
|
7
|
+
static getFullRRule: (event: EventInterface) => rruleLib.RRule;
|
|
8
|
+
static removeExcludeDates: (events: EventInterface[]) => void;
|
|
9
|
+
static getPartialRRuleString: (options: ParsedOptions) => string;
|
|
10
|
+
static cleanRule: (options: ParsedOptions) => void;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=EventHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventHelper.d.ts","sourceRoot":"","sources":["../../src/EventHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,QAAQ,MAAM,OAAO,CAAC;AAE7B,QAAA,MAAQ,KAAK,uBAAa,CAAC;AAG3B,KAAK,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;AAEpE,qBAAa,WAAW;IAEtB,MAAM,CAAC,QAAQ,GAAI,OAAM,cAAc,EAAE,WAAU,IAAI,EAAE,SAAQ,IAAI,YAYpE;IAED,MAAM,CAAC,YAAY,GAAI,OAAM,cAAc,oBAI1C;IAED,MAAM,CAAC,kBAAkB,GAAI,QAAO,cAAc,EAAE,UAQnD;IAED,MAAM,CAAC,qBAAqB,GAAI,SAAQ,aAAa,YAIpD;IAED,MAAM,CAAC,SAAS,GAAI,SAAQ,aAAa,UAIxC;CAEF"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.EventHelper = void 0;
|
|
7
|
+
const rrule_1 = __importDefault(require("rrule"));
|
|
8
|
+
const { RRule } = rrule_1.default;
|
|
9
|
+
class EventHelper {
|
|
10
|
+
static getRange = (event, startDate, endDate) => {
|
|
11
|
+
const start = new Date(event.start);
|
|
12
|
+
const rrule = EventHelper.getFullRRule(event);
|
|
13
|
+
const dates = rrule.between(startDate, endDate);
|
|
14
|
+
dates.forEach(d => {
|
|
15
|
+
d.setHours(start.getHours());
|
|
16
|
+
d.setMinutes(start.getMinutes());
|
|
17
|
+
d.setSeconds(start.getSeconds());
|
|
18
|
+
});
|
|
19
|
+
return dates;
|
|
20
|
+
};
|
|
21
|
+
static getFullRRule = (event) => {
|
|
22
|
+
let rrule = RRule.fromString(event.recurrenceRule);
|
|
23
|
+
rrule.options.dtstart = new Date(event.start);
|
|
24
|
+
return rrule;
|
|
25
|
+
};
|
|
26
|
+
static removeExcludeDates = (events) => {
|
|
27
|
+
for (let i = events.length - 1; i >= 0; i--) {
|
|
28
|
+
if (events[i].exceptionDates?.length > 0) {
|
|
29
|
+
const parsedDates = events[i].exceptionDates.map(d => new Date(d).toISOString());
|
|
30
|
+
if (parsedDates.indexOf(events[i].start.toISOString()) > -1)
|
|
31
|
+
events.splice(i, 1);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
static getPartialRRuleString = (options) => {
|
|
36
|
+
const parts = new RRule(options).toString().split("RRULE:");
|
|
37
|
+
const result = parts.length === 2 ? parts[1] : "";
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
static cleanRule = (options) => {
|
|
41
|
+
options.byhour = undefined;
|
|
42
|
+
options.byminute = undefined;
|
|
43
|
+
options.bysecond = undefined;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
exports.EventHelper = EventHelper;
|
|
47
|
+
//# sourceMappingURL=EventHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EventHelper.js","sourceRoot":"","sources":["../../src/EventHelper.ts"],"names":[],"mappings":";;;;;;AACA,kDAA6B;AAE7B,MAAM,EAAE,KAAK,EAAE,GAAG,eAAQ,CAAC;AAK3B,MAAa,WAAW;IAEtB,MAAM,CAAC,QAAQ,GAAG,CAAC,KAAoB,EAAE,SAAc,EAAE,OAAY,EAAE,EAAE;QACvE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE9C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAChB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7B,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAC;IACf,CAAC,CAAA;IAED,MAAM,CAAC,YAAY,GAAG,CAAC,KAAoB,EAAE,EAAE;QAC7C,IAAI,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC,CAAA;IAED,MAAM,CAAC,kBAAkB,GAAG,CAAC,MAAuB,EAAE,EAAE;QACtD,KAAK,IAAI,CAAC,GAAC,MAAM,CAAC,MAAM,GAAC,CAAC,EAAE,CAAC,IAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,GAAC,CAAC,EACtC,CAAC;gBACC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAA,EAAE,CAAA,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC/E,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAC,CAAC,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAED,MAAM,CAAC,qBAAqB,GAAG,CAAC,OAAqB,EAAE,EAAE;QACvD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAA;IAED,MAAM,CAAC,SAAS,GAAG,CAAC,OAAqB,EAAE,EAAE;QAC3C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC7B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC/B,CAAC,CAAA;;AA1CH,kCA4CC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileHelper.d.ts","sourceRoot":"","sources":["../../src/FileHelper.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU;IAErB,MAAM,CAAC,iBAAiB,GAAI,WAAW,GAAG,EAAE,cAAc,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,sBAsCzG;IAEF,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM;CAYrC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileHelper = void 0;
|
|
4
|
+
class FileHelper {
|
|
5
|
+
static postPresignedFile = (presigned, uploadedFile, progressCallback) => {
|
|
6
|
+
const formData = new FormData();
|
|
7
|
+
formData.append("key", presigned.key);
|
|
8
|
+
formData.append("acl", "public-read");
|
|
9
|
+
formData.append("Content-Type", uploadedFile.type);
|
|
10
|
+
for (const property in presigned.fields)
|
|
11
|
+
formData.append(property, presigned.fields[property]);
|
|
12
|
+
formData.append("file", uploadedFile);
|
|
13
|
+
// Use XMLHttpRequest for upload progress tracking since fetch doesn't support it natively
|
|
14
|
+
return new Promise((resolve, reject) => {
|
|
15
|
+
const xhr = new XMLHttpRequest();
|
|
16
|
+
xhr.upload.addEventListener('progress', (event) => {
|
|
17
|
+
if (event.lengthComputable) {
|
|
18
|
+
const percent = Math.round((event.loaded / event.total) * 100);
|
|
19
|
+
progressCallback(percent);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
xhr.addEventListener('load', () => {
|
|
23
|
+
if (xhr.status >= 200 && xhr.status < 300) {
|
|
24
|
+
resolve({
|
|
25
|
+
status: xhr.status,
|
|
26
|
+
statusText: xhr.statusText,
|
|
27
|
+
data: xhr.responseText
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
reject(new Error(`HTTP Error: ${xhr.status} ${xhr.statusText}`));
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
xhr.addEventListener('error', () => {
|
|
35
|
+
reject(new Error('Network error occurred'));
|
|
36
|
+
});
|
|
37
|
+
xhr.open('POST', presigned.url);
|
|
38
|
+
xhr.send(formData);
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
static dataURLtoBlob(dataurl) {
|
|
42
|
+
let arr = dataurl.split(",");
|
|
43
|
+
if (arr.length < 2)
|
|
44
|
+
throw new Error("Invalid data URL format");
|
|
45
|
+
let mimeMatch = arr[0].match(/:(.*?);/);
|
|
46
|
+
if (!mimeMatch)
|
|
47
|
+
throw new Error("Invalid MIME type in data URL");
|
|
48
|
+
let mime = mimeMatch[1];
|
|
49
|
+
let bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
|
|
50
|
+
while (n--) {
|
|
51
|
+
u8arr[n] = bstr.charCodeAt(n);
|
|
52
|
+
}
|
|
53
|
+
return new Blob([u8arr], { type: mime });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.FileHelper = FileHelper;
|
|
57
|
+
//# sourceMappingURL=FileHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileHelper.js","sourceRoot":"","sources":["../../src/FileHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PersonInterface, ContactInfoInterface } from "./interfaces/index.js";
|
|
2
|
+
export declare class PersonHelper {
|
|
3
|
+
static getPhotoPath(churchId: string, person: any): string;
|
|
4
|
+
static getPhotoUrl(person: PersonInterface): string;
|
|
5
|
+
static getAge(birthdate: Date): string;
|
|
6
|
+
static getDisplayNameFromPerson(person: any): string;
|
|
7
|
+
static getDisplayName(firstName: string, lastName: string, nickName: string): string;
|
|
8
|
+
static getBirthMonth(birthdate: Date): number;
|
|
9
|
+
static compareAddress(address1: ContactInfoInterface, address2: ContactInfoInterface): boolean;
|
|
10
|
+
static addressToString(address: ContactInfoInterface): string;
|
|
11
|
+
static changeOnlyAddress(contactInfo1: ContactInfoInterface, contactInfo2: ContactInfoInterface): ContactInfoInterface;
|
|
12
|
+
static checkAddressAvailabilty(person: PersonInterface): boolean;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=PersonHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersonHelper.d.ts","sourceRoot":"","sources":["../../src/PersonHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAG9E,qBAAa,YAAY;WAET,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG;IAQxD,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe;IAS1C,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM;WAUxB,wBAAwB,CAAC,MAAM,EAAE,GAAG;IAKlD,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;WAKtE,aAAa,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM;WAKtC,cAAc,CAAC,QAAQ,EAAE,oBAAoB,EAAE,QAAQ,EAAE,oBAAoB,GAAG,OAAO;WAUvF,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM;WAItD,iBAAiB,CAAC,YAAY,EAAE,oBAAoB,EAAE,YAAY,EAAE,oBAAoB,GAAG,oBAAoB;WAa/G,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO;CAOxE"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PersonHelper = void 0;
|
|
4
|
+
const CommonEnvironmentHelper_js_1 = require("./CommonEnvironmentHelper.js");
|
|
5
|
+
class PersonHelper {
|
|
6
|
+
static getPhotoPath(churchId, person) {
|
|
7
|
+
if (!person.photoUpdated) {
|
|
8
|
+
if (person.id?.startsWith("PER0000"))
|
|
9
|
+
return "https://app.staging.b1.church/images/demo/avatars/" + person.id + ".svg";
|
|
10
|
+
else
|
|
11
|
+
return "";
|
|
12
|
+
}
|
|
13
|
+
else
|
|
14
|
+
return "/" + churchId + "/membership/people/" + person.id + ".png?dt=" + new Date(person.photoUpdated).getTime().toString();
|
|
15
|
+
}
|
|
16
|
+
static getPhotoUrl(person) {
|
|
17
|
+
if (!person?.photo)
|
|
18
|
+
return "/images/sample-profile.png";
|
|
19
|
+
else {
|
|
20
|
+
return (person?.photo?.startsWith("data:image/png;base64,") || person.photo?.indexOf("://") > -1)
|
|
21
|
+
? person.photo
|
|
22
|
+
: CommonEnvironmentHelper_js_1.CommonEnvironmentHelper.ContentRoot + person.photo;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
static getAge(birthdate) {
|
|
26
|
+
if (birthdate !== undefined && birthdate !== null) {
|
|
27
|
+
let ageDifMs = Date.now() - new Date(birthdate).getTime();
|
|
28
|
+
let ageDate = new Date(ageDifMs);
|
|
29
|
+
let years = Math.abs(ageDate.getUTCFullYear() - 1970);
|
|
30
|
+
return years + " years";
|
|
31
|
+
}
|
|
32
|
+
else
|
|
33
|
+
return "";
|
|
34
|
+
}
|
|
35
|
+
static getDisplayNameFromPerson(person) {
|
|
36
|
+
if (person?.name?.nick !== null && person?.name?.nick !== "" && person?.name?.nick !== undefined)
|
|
37
|
+
return person.name.first + " \"" + person.name.nick + "\" " + person.name.last;
|
|
38
|
+
else
|
|
39
|
+
return person.name.first + " " + person.name.last;
|
|
40
|
+
}
|
|
41
|
+
static getDisplayName(firstName, lastName, nickName) {
|
|
42
|
+
if (nickName !== undefined && nickName !== null && nickName.length > 0)
|
|
43
|
+
return firstName + ' "' + nickName + '" ' + lastName;
|
|
44
|
+
else
|
|
45
|
+
return firstName + " " + lastName;
|
|
46
|
+
}
|
|
47
|
+
static getBirthMonth(birthdate) {
|
|
48
|
+
if (birthdate)
|
|
49
|
+
return new Date(birthdate).getMonth() + 1;
|
|
50
|
+
else
|
|
51
|
+
return -1;
|
|
52
|
+
}
|
|
53
|
+
static compareAddress(address1, address2) {
|
|
54
|
+
const displayAddress1 = this.addressToString(address1).trim();
|
|
55
|
+
const displayAddress2 = this.addressToString(address2).trim();
|
|
56
|
+
if (displayAddress1 !== displayAddress2) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
static addressToString(address) {
|
|
62
|
+
return `${address.address1 || ""} ${address.address2 || ""} ${address.city || ""}${(address.city && address.state) ? "," : ""} ${address.state || ""} ${address.zip || ""}`;
|
|
63
|
+
}
|
|
64
|
+
static changeOnlyAddress(contactInfo1, contactInfo2) {
|
|
65
|
+
const updatedAddress = {
|
|
66
|
+
...contactInfo1,
|
|
67
|
+
address1: contactInfo2.address1,
|
|
68
|
+
address2: contactInfo2.address2,
|
|
69
|
+
city: contactInfo2.city,
|
|
70
|
+
state: contactInfo2.state,
|
|
71
|
+
zip: contactInfo2.zip
|
|
72
|
+
};
|
|
73
|
+
return updatedAddress;
|
|
74
|
+
}
|
|
75
|
+
static checkAddressAvailabilty(person) {
|
|
76
|
+
const addressString = this.addressToString(person.contactInfo).trim();
|
|
77
|
+
if (addressString !== "") {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.PersonHelper = PersonHelper;
|
|
84
|
+
//# sourceMappingURL=PersonHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PersonHelper.js","sourceRoot":"","sources":["../../src/PersonHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { PlanInterface, PlanItemInterface } from "./interfaces/index.js";
|
|
2
|
+
import type { ContentProviderInterface } from "./contentProviders/ContentProvider.js";
|
|
3
|
+
import { LessonsContentProvider } from "./contentProviders/LessonsContentProvider.js";
|
|
4
|
+
export declare class PlanHelper {
|
|
5
|
+
private static providers;
|
|
6
|
+
static registerProvider(provider: ContentProviderInterface): void;
|
|
7
|
+
static replaceProvider(provider: ContentProviderInterface): void;
|
|
8
|
+
static populate(plan: PlanInterface, planItems: PlanItemInterface[]): Promise<PlanItemInterface[]>;
|
|
9
|
+
private static flattenItems;
|
|
10
|
+
private static attachContent;
|
|
11
|
+
static getLessonsProvider(): LessonsContentProvider;
|
|
12
|
+
/**
|
|
13
|
+
* Format seconds as MM:SS string
|
|
14
|
+
* @param seconds - Number of seconds to format
|
|
15
|
+
* @returns Formatted time string (e.g., "3:45")
|
|
16
|
+
*/
|
|
17
|
+
static formatTime(seconds: number): string;
|
|
18
|
+
/**
|
|
19
|
+
* Calculate total duration of a section's children
|
|
20
|
+
* @param section - PlanItem with children
|
|
21
|
+
* @returns Total seconds from all children
|
|
22
|
+
*/
|
|
23
|
+
static getSectionDuration(section: PlanItemInterface): number;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=PlanHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanHelper.d.ts","sourceRoot":"","sources":["../../src/PlanHelper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAA4B,MAAM,uBAAuB,CAAC;AACxG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAEtF,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,SAAS,CAEtB;IAGF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;IAQjE,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI;WAUnD,QAAQ,CACnB,IAAI,EAAE,aAAa,EACnB,SAAS,EAAE,iBAAiB,EAAE,GAC7B,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAyC/B,OAAO,CAAC,MAAM,CAAC,YAAY;IAiB3B,OAAO,CAAC,MAAM,CAAC,aAAa;IAgB5B,MAAM,CAAC,kBAAkB,IAAI,sBAAsB;IAQnD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAM1C;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM;CAO9D"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PlanHelper = void 0;
|
|
4
|
+
const LessonsContentProvider_js_1 = require("./contentProviders/LessonsContentProvider.js");
|
|
5
|
+
class PlanHelper {
|
|
6
|
+
static providers = [
|
|
7
|
+
new LessonsContentProvider_js_1.LessonsContentProvider()
|
|
8
|
+
];
|
|
9
|
+
// Register additional content providers
|
|
10
|
+
static registerProvider(provider) {
|
|
11
|
+
// Avoid duplicates
|
|
12
|
+
if (!this.providers.find(p => p.providerId === provider.providerId)) {
|
|
13
|
+
this.providers.push(provider);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
// Replace a provider (useful for configuring with different URLs)
|
|
17
|
+
static replaceProvider(provider) {
|
|
18
|
+
const index = this.providers.findIndex(p => p.providerId === provider.providerId);
|
|
19
|
+
if (index >= 0) {
|
|
20
|
+
this.providers[index] = provider;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
this.providers.push(provider);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
// Main method: populate planItems with their content
|
|
27
|
+
static async populate(plan, planItems) {
|
|
28
|
+
// Flatten hierarchy to get all items
|
|
29
|
+
const allItems = this.flattenItems(planItems);
|
|
30
|
+
// Group items by provider
|
|
31
|
+
const itemsByProvider = new Map();
|
|
32
|
+
for (const item of allItems) {
|
|
33
|
+
for (const provider of this.providers) {
|
|
34
|
+
if (provider.canHandle(plan, item)) {
|
|
35
|
+
const existing = itemsByProvider.get(provider) || [];
|
|
36
|
+
existing.push(item);
|
|
37
|
+
itemsByProvider.set(provider, existing);
|
|
38
|
+
break; // First matching provider wins
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Fetch content from each provider in parallel
|
|
43
|
+
const fetchPromises = [];
|
|
44
|
+
const contentMap = new Map();
|
|
45
|
+
for (const [provider, items] of itemsByProvider) {
|
|
46
|
+
fetchPromises.push(provider.fetchContent(plan, items).then(providerContent => {
|
|
47
|
+
for (const [itemId, content] of providerContent) {
|
|
48
|
+
contentMap.set(itemId, content);
|
|
49
|
+
}
|
|
50
|
+
}));
|
|
51
|
+
}
|
|
52
|
+
await Promise.all(fetchPromises);
|
|
53
|
+
// Attach content to items (mutates in place for efficiency)
|
|
54
|
+
this.attachContent(planItems, contentMap);
|
|
55
|
+
return planItems;
|
|
56
|
+
}
|
|
57
|
+
// Flatten nested planItems for processing
|
|
58
|
+
static flattenItems(items) {
|
|
59
|
+
const result = [];
|
|
60
|
+
const collect = (itemList) => {
|
|
61
|
+
for (const item of itemList) {
|
|
62
|
+
result.push(item);
|
|
63
|
+
if (item.children?.length) {
|
|
64
|
+
collect(item.children);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
collect(items);
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
// Attach content to items recursively
|
|
72
|
+
static attachContent(items, contentMap) {
|
|
73
|
+
for (const item of items) {
|
|
74
|
+
const content = contentMap.get(item.id);
|
|
75
|
+
if (content) {
|
|
76
|
+
item.content = content;
|
|
77
|
+
}
|
|
78
|
+
if (item.children?.length) {
|
|
79
|
+
this.attachContent(item.children, contentMap);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// Convenience: Get the lessons provider for direct lesson operations
|
|
84
|
+
static getLessonsProvider() {
|
|
85
|
+
return this.providers.find(p => p.providerId === "lessons");
|
|
86
|
+
}
|
|
87
|
+
// ============================================
|
|
88
|
+
// Time Formatting Utilities
|
|
89
|
+
// ============================================
|
|
90
|
+
/**
|
|
91
|
+
* Format seconds as MM:SS string
|
|
92
|
+
* @param seconds - Number of seconds to format
|
|
93
|
+
* @returns Formatted time string (e.g., "3:45")
|
|
94
|
+
*/
|
|
95
|
+
static formatTime(seconds) {
|
|
96
|
+
const mins = Math.floor(seconds / 60);
|
|
97
|
+
const secs = seconds % 60;
|
|
98
|
+
return mins + ":" + (secs < 10 ? "0" : "") + secs;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Calculate total duration of a section's children
|
|
102
|
+
* @param section - PlanItem with children
|
|
103
|
+
* @returns Total seconds from all children
|
|
104
|
+
*/
|
|
105
|
+
static getSectionDuration(section) {
|
|
106
|
+
let totalSeconds = 0;
|
|
107
|
+
section.children?.forEach((child) => {
|
|
108
|
+
totalSeconds += child.seconds || 0;
|
|
109
|
+
});
|
|
110
|
+
return totalSeconds;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.PlanHelper = PlanHelper;
|
|
114
|
+
//# sourceMappingURL=PlanHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlanHelper.js","sourceRoot":"","sources":["../../src/PlanHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class UniqueIdHelper {
|
|
2
|
+
static chars: string[];
|
|
3
|
+
static alphanumericChars: string[];
|
|
4
|
+
static isMissing(obj: any): boolean;
|
|
5
|
+
static shortId(): string;
|
|
6
|
+
static generateAlphanumeric(): string;
|
|
7
|
+
static generate(charList: string[], length: number): string;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=UniqueIdHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UniqueIdHelper.d.ts","sourceRoot":"","sources":["../../src/UniqueIdHelper.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc;IAEzB,MAAM,CAAC,KAAK,WAGA;IAEZ,MAAM,CAAC,iBAAiB,WAE4B;WAEtC,SAAS,CAAC,GAAG,EAAE,GAAG;WAMlB,OAAO;WAIP,oBAAoB;WAIpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM;CAU1D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UniqueIdHelper = void 0;
|
|
4
|
+
class UniqueIdHelper {
|
|
5
|
+
static chars = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
|
|
6
|
+
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
|
|
7
|
+
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
|
|
8
|
+
"-", "_"];
|
|
9
|
+
static alphanumericChars = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
|
|
10
|
+
"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",
|
|
11
|
+
"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
12
|
+
static isMissing(obj) {
|
|
13
|
+
if (obj === undefined || obj === null)
|
|
14
|
+
return true;
|
|
15
|
+
else if (obj.toString() === "")
|
|
16
|
+
return true;
|
|
17
|
+
else
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
static shortId() {
|
|
21
|
+
return this.generate(UniqueIdHelper.chars, 11);
|
|
22
|
+
}
|
|
23
|
+
static generateAlphanumeric() {
|
|
24
|
+
return this.generate(UniqueIdHelper.alphanumericChars, 11);
|
|
25
|
+
}
|
|
26
|
+
static generate(charList, length) {
|
|
27
|
+
let result = "";
|
|
28
|
+
for (let i = 0; i < length; i++) {
|
|
29
|
+
const idx = Math.floor(Math.random() * charList.length);
|
|
30
|
+
const c = charList[idx];
|
|
31
|
+
result += c;
|
|
32
|
+
}
|
|
33
|
+
return result;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
exports.UniqueIdHelper = UniqueIdHelper;
|
|
37
|
+
//# sourceMappingURL=UniqueIdHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UniqueIdHelper.js","sourceRoot":"","sources":["../../src/UniqueIdHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { UserInterface, UserContextInterface, IApiPermission, PersonInterface, LoginUserChurchInterface } from "./interfaces/index.js";
|
|
2
|
+
export declare class UserHelper {
|
|
3
|
+
static currentUserChurch: LoginUserChurchInterface;
|
|
4
|
+
static userChurches: LoginUserChurchInterface[];
|
|
5
|
+
static user: UserInterface;
|
|
6
|
+
static churchChanged: boolean;
|
|
7
|
+
static person: PersonInterface;
|
|
8
|
+
static selectChurch: (context?: UserContextInterface, churchId?: string, keyName?: string) => Promise<void>;
|
|
9
|
+
static setupApiHelper(userChurch: LoginUserChurchInterface): void;
|
|
10
|
+
static setupApiHelperNoChurch(user: LoginUserChurchInterface): void;
|
|
11
|
+
static checkAccess({ api, contentType, action }: IApiPermission): boolean;
|
|
12
|
+
static createAppUrl(appUrl: string, returnUrl: string): string;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=UserHelper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserHelper.d.ts","sourceRoot":"","sources":["../../src/UserHelper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,cAAc,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEvI,qBAAa,UAAU;IACrB,MAAM,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;IACnD,MAAM,CAAC,YAAY,EAAE,wBAAwB,EAAE,CAAC;IAChD,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;IAC3B,MAAM,CAAC,aAAa,EAAE,OAAO,CAAS;IACtC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC;IAE/B,MAAM,CAAC,YAAY,GAAU,UAAU,oBAAoB,EAAE,WAAW,MAAM,EAAE,UAAU,MAAM,mBAoB/F;IAED,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,wBAAwB;IAK1D,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,wBAAwB;IAI5D,MAAM,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,GAAG,OAAO;IAczE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAMtD"}
|