@winible/winible-typed 1.0.0
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 +32 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/migrations/20220601151258-custom_name_describing_your_migration.js +19 -0
- package/dist/migrations/20220601151258-custom_name_describing_your_migration.js.map +1 -0
- package/dist/migrations/20220605225655-create-dashboard-user-permissions.js +27 -0
- package/dist/migrations/20220605225655-create-dashboard-user-permissions.js.map +1 -0
- package/dist/migrations/20220606001300-update-dashboard-user-permissions.js +14 -0
- package/dist/migrations/20220606001300-update-dashboard-user-permissions.js.map +1 -0
- package/dist/migrations/20220607091109-add-read-date-for-message.js +19 -0
- package/dist/migrations/20220607091109-add-read-date-for-message.js.map +1 -0
- package/dist/migrations/20220616225456-add-delete-columns.js +21 -0
- package/dist/migrations/20220616225456-add-delete-columns.js.map +1 -0
- package/dist/migrations/20220709202211-disable-feed.js +24 -0
- package/dist/migrations/20220709202211-disable-feed.js.map +1 -0
- package/dist/migrations/20220723215213-limit-promotion-claims.js +18 -0
- package/dist/migrations/20220723215213-limit-promotion-claims.js.map +1 -0
- package/dist/migrations/20220723220233-num_claims.js +12 -0
- package/dist/migrations/20220723220233-num_claims.js.map +1 -0
- package/dist/migrations/20220723221907-default_false_promos.js +17 -0
- package/dist/migrations/20220723221907-default_false_promos.js.map +1 -0
- package/dist/migrations/20220724172559-default_zero_claims.js +13 -0
- package/dist/migrations/20220724172559-default_zero_claims.js.map +1 -0
- package/dist/migrations/20220724201419-pinned_post.js +13 -0
- package/dist/migrations/20220724201419-pinned_post.js.map +1 -0
- package/dist/migrations/20220729164625-unsend_mass.js +12 -0
- package/dist/migrations/20220729164625-unsend_mass.js.map +1 -0
- package/dist/migrations/20220823033002-interval-unit.js +14 -0
- package/dist/migrations/20220823033002-interval-unit.js.map +1 -0
- package/dist/migrations/20220830193530-processorId.js +15 -0
- package/dist/migrations/20220830193530-processorId.js.map +1 -0
- package/dist/migrations/20220907121932-add-processor-to-sub.js +15 -0
- package/dist/migrations/20220907121932-add-processor-to-sub.js.map +1 -0
- package/dist/migrations/20220907212232-add-trans-id.js +12 -0
- package/dist/migrations/20220907212232-add-trans-id.js.map +1 -0
- package/dist/migrations/20220907220423-big-int-trans.js +12 -0
- package/dist/migrations/20220907220423-big-int-trans.js.map +1 -0
- package/dist/migrations/20220909161902-add-stale.js +13 -0
- package/dist/migrations/20220909161902-add-stale.js.map +1 -0
- package/dist/migrations/20220922000225-verified-spender.js +13 -0
- package/dist/migrations/20220922000225-verified-spender.js.map +1 -0
- package/dist/migrations/20220922212108-verified-spender-2.js +16 -0
- package/dist/migrations/20220922212108-verified-spender-2.js.map +1 -0
- package/dist/migrations/20221013223648-product-subscription-list.js +12 -0
- package/dist/migrations/20221013223648-product-subscription-list.js.map +1 -0
- package/dist/migrations/20221014001037-product-subscription-list.js +75 -0
- package/dist/migrations/20221014001037-product-subscription-list.js.map +1 -0
- package/dist/migrations/20221026055245-update-type.js +15 -0
- package/dist/migrations/20221026055245-update-type.js.map +1 -0
- package/dist/scripts/authorizeTransfer.js +188 -0
- package/dist/scripts/authorizeTransfer.js.map +1 -0
- package/dist/scripts/createDashboardLink.js +30 -0
- package/dist/scripts/createDashboardLink.js.map +1 -0
- package/dist/scripts/deleteMalformedImages.js +84 -0
- package/dist/scripts/deleteMalformedImages.js.map +1 -0
- package/dist/scripts/importMixpanelEvents.js +44 -0
- package/dist/scripts/importMixpanelEvents.js.map +1 -0
- package/dist/scripts/payoutSubscriptions.js +185 -0
- package/dist/scripts/payoutSubscriptions.js.map +1 -0
- package/dist/scripts/removeUnreferenceSubs.js +39 -0
- package/dist/scripts/removeUnreferenceSubs.js.map +1 -0
- package/dist/scripts/test.js +33 -0
- package/dist/scripts/test.js.map +1 -0
- package/dist/server/index.js +30 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/middlewares/slack-auth.js +40 -0
- package/dist/server/middlewares/slack-auth.js.map +1 -0
- package/dist/server/v1/bypassCreator.js +81 -0
- package/dist/server/v1/bypassCreator.js.map +1 -0
- package/dist/server/v1/cancelSubscription.js +35 -0
- package/dist/server/v1/cancelSubscription.js.map +1 -0
- package/dist/server/v1/changeName.js +41 -0
- package/dist/server/v1/changeName.js.map +1 -0
- package/dist/server/v1/checkAuthSub.js +58 -0
- package/dist/server/v1/checkAuthSub.js.map +1 -0
- package/dist/server/v1/dashboardLink.js +30 -0
- package/dist/server/v1/dashboardLink.js.map +1 -0
- package/dist/server/v1/getSuspendedSubs.js +76 -0
- package/dist/server/v1/getSuspendedSubs.js.map +1 -0
- package/dist/server/v1/index.js +28 -0
- package/dist/server/v1/index.js.map +1 -0
- package/dist/server/v1/manualCreateSub.js +159 -0
- package/dist/server/v1/manualCreateSub.js.map +1 -0
- package/dist/server/v1/refund.js +78 -0
- package/dist/server/v1/refund.js.map +1 -0
- package/dist/server/v1/retrySubscription.js +81 -0
- package/dist/server/v1/retrySubscription.js.map +1 -0
- package/dist/server/v1/searchUser.js +169 -0
- package/dist/server/v1/searchUser.js.map +1 -0
- package/dist/server/v1/slack.js +14 -0
- package/dist/server/v1/slack.js.map +1 -0
- package/dist/src/index.js +24 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/pk-client.js +1103 -0
- package/dist/src/pk-client.js.map +1 -0
- package/dist/src/pk-sub.js +310 -0
- package/dist/src/pk-sub.js.map +1 -0
- package/dist/src/slack-client.js +48 -0
- package/dist/src/slack-client.js.map +1 -0
- package/dist/src/types.js +3 -0
- package/dist/src/types.js.map +1 -0
- package/dist/support/index.js +19 -0
- package/dist/support/index.js.map +1 -0
- package/dist/support/metrics.js +21 -0
- package/dist/support/metrics.js.map +1 -0
- package/dist/support/mixpanel.js +7 -0
- package/dist/support/mixpanel.js.map +1 -0
- package/dist/support/slack-client.js +51 -0
- package/dist/support/slack-client.js.map +1 -0
- package/dist/support/uploadcare.js +140 -0
- package/dist/support/uploadcare.js.map +1 -0
- package/dist/support/utils.js +69 -0
- package/dist/support/utils.js.map +1 -0
- package/dist/typed-model/asset-category.js +38 -0
- package/dist/typed-model/asset-category.js.map +1 -0
- package/dist/typed-model/asset-constent-person.js +56 -0
- package/dist/typed-model/asset-constent-person.js.map +1 -0
- package/dist/typed-model/blocked-ip.js +34 -0
- package/dist/typed-model/blocked-ip.js.map +1 -0
- package/dist/typed-model/category-tag.js +46 -0
- package/dist/typed-model/category-tag.js.map +1 -0
- package/dist/typed-model/consent-person.js +55 -0
- package/dist/typed-model/consent-person.js.map +1 -0
- package/dist/typed-model/content-category-tag.js +58 -0
- package/dist/typed-model/content-category-tag.js.map +1 -0
- package/dist/typed-model/content-like.js +58 -0
- package/dist/typed-model/content-like.js.map +1 -0
- package/dist/typed-model/credit-payment.js +389 -0
- package/dist/typed-model/credit-payment.js.map +1 -0
- package/dist/typed-model/credit-payout.js +42 -0
- package/dist/typed-model/credit-payout.js.map +1 -0
- package/dist/typed-model/credit-purchase.js +46 -0
- package/dist/typed-model/credit-purchase.js.map +1 -0
- package/dist/typed-model/customer-profile.js +51 -0
- package/dist/typed-model/customer-profile.js.map +1 -0
- package/dist/typed-model/dashboard-user-permissions.js +34 -0
- package/dist/typed-model/dashboard-user-permissions.js.map +1 -0
- package/dist/typed-model/dashboard-user.js +109 -0
- package/dist/typed-model/dashboard-user.js.map +1 -0
- package/dist/typed-model/fan-list.js +46 -0
- package/dist/typed-model/fan-list.js.map +1 -0
- package/dist/typed-model/fraud.js +41 -0
- package/dist/typed-model/fraud.js.map +1 -0
- package/dist/typed-model/index.js +101 -0
- package/dist/typed-model/index.js.map +1 -0
- package/dist/typed-model/list-member.js +47 -0
- package/dist/typed-model/list-member.js.map +1 -0
- package/dist/typed-model/mass-message.js +43 -0
- package/dist/typed-model/mass-message.js.map +1 -0
- package/dist/typed-model/media-asset.js +73 -0
- package/dist/typed-model/media-asset.js.map +1 -0
- package/dist/typed-model/media-category.js +49 -0
- package/dist/typed-model/media-category.js.map +1 -0
- package/dist/typed-model/media.js +59 -0
- package/dist/typed-model/media.js.map +1 -0
- package/dist/typed-model/message-media.js +53 -0
- package/dist/typed-model/message-media.js.map +1 -0
- package/dist/typed-model/message.js +191 -0
- package/dist/typed-model/message.js.map +1 -0
- package/dist/typed-model/notification.js +84 -0
- package/dist/typed-model/notification.js.map +1 -0
- package/dist/typed-model/pb-sequelize.js +25 -0
- package/dist/typed-model/pb-sequelize.js.map +1 -0
- package/dist/typed-model/phone-chat-participation.js +127 -0
- package/dist/typed-model/phone-chat-participation.js.map +1 -0
- package/dist/typed-model/phone-chat.js +118 -0
- package/dist/typed-model/phone-chat.js.map +1 -0
- package/dist/typed-model/phone-owner.js +266 -0
- package/dist/typed-model/phone-owner.js.map +1 -0
- package/dist/typed-model/phone-user.js +109 -0
- package/dist/typed-model/phone-user.js.map +1 -0
- package/dist/typed-model/premium-content.js +123 -0
- package/dist/typed-model/premium-content.js.map +1 -0
- package/dist/typed-model/purchased-content.js +69 -0
- package/dist/typed-model/purchased-content.js.map +1 -0
- package/dist/typed-model/short-url.js +88 -0
- package/dist/typed-model/short-url.js.map +1 -0
- package/dist/typed-model/subscription-bundle.js +53 -0
- package/dist/typed-model/subscription-bundle.js.map +1 -0
- package/dist/typed-model/subscription-category-tags.js +58 -0
- package/dist/typed-model/subscription-category-tags.js.map +1 -0
- package/dist/typed-model/subscription-plan.js +126 -0
- package/dist/typed-model/subscription-plan.js.map +1 -0
- package/dist/typed-model/subscription-promotion.js +93 -0
- package/dist/typed-model/subscription-promotion.js.map +1 -0
- package/dist/typed-model/subscription.js +123 -0
- package/dist/typed-model/subscription.js.map +1 -0
- package/dist/typed-model/twilio-phone.js +92 -0
- package/dist/typed-model/twilio-phone.js.map +1 -0
- package/dist/typed-model/user-follow.js +103 -0
- package/dist/typed-model/user-follow.js.map +1 -0
- package/dist/typed-model/verification-code.js +52 -0
- package/dist/typed-model/verification-code.js.map +1 -0
- package/index.ts +3 -0
- package/package.json +72 -0
- package/src/index.ts +2 -0
- package/src/pk-client.ts +1650 -0
- package/src/pk-sub.ts +455 -0
- package/src/types.ts +40 -0
- package/support/index.ts +2 -0
- package/support/slack-client.ts +43 -0
- package/support/uploadcare.ts +191 -0
- package/support/utils.ts +72 -0
- package/typed-model/asset-category.ts +57 -0
- package/typed-model/asset-constent-person.ts +82 -0
- package/typed-model/blocked-ip.ts +52 -0
- package/typed-model/category-tag.ts +66 -0
- package/typed-model/consent-person.ts +78 -0
- package/typed-model/content-category-tag.ts +79 -0
- package/typed-model/content-like.ts +79 -0
- package/typed-model/credit-payment.ts +678 -0
- package/typed-model/credit-payout.ts +62 -0
- package/typed-model/credit-purchase.ts +67 -0
- package/typed-model/customer-profile.ts +70 -0
- package/typed-model/dashboard-user-permissions.ts +51 -0
- package/typed-model/dashboard-user.ts +146 -0
- package/typed-model/fan-list.ts +68 -0
- package/typed-model/fraud.ts +62 -0
- package/typed-model/index.ts +58 -0
- package/typed-model/list-member.ts +67 -0
- package/typed-model/mass-message.ts +64 -0
- package/typed-model/media-asset.ts +99 -0
- package/typed-model/media-category.ts +70 -0
- package/typed-model/media.ts +85 -0
- package/typed-model/message-media.ts +74 -0
- package/typed-model/message.ts +258 -0
- package/typed-model/notification.ts +130 -0
- package/typed-model/pb-sequelize.ts +25 -0
- package/typed-model/phone-chat-participation.ts +166 -0
- package/typed-model/phone-chat.ts +185 -0
- package/typed-model/phone-owner.ts +341 -0
- package/typed-model/phone-user.ts +146 -0
- package/typed-model/premium-content.ts +164 -0
- package/typed-model/purchased-content.ts +100 -0
- package/typed-model/short-url.ts +120 -0
- package/typed-model/subscription-bundle.ts +75 -0
- package/typed-model/subscription-category-tags.ts +79 -0
- package/typed-model/subscription-plan.ts +171 -0
- package/typed-model/subscription-promotion.ts +125 -0
- package/typed-model/subscription.ts +170 -0
- package/typed-model/twilio-phone.ts +149 -0
- package/typed-model/user-follow.ts +141 -0
- package/typed-model/verification-code.ts +74 -0
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
const bolt_1 = require("@slack/bolt");
|
|
7
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
8
|
+
const v1_1 = require("./v1");
|
|
9
|
+
dotenv_1.default.config();
|
|
10
|
+
const app = new bolt_1.App({
|
|
11
|
+
signingSecret: process.env.SLACK_SIGNING_SECRET,
|
|
12
|
+
token: process.env.SLACK_BOT_TOKEN,
|
|
13
|
+
});
|
|
14
|
+
app.command("/refund", v1_1.refund);
|
|
15
|
+
app.command("/searchuser", v1_1.searchUser);
|
|
16
|
+
app.command("/cancelsubscription", v1_1.cancelSubscription);
|
|
17
|
+
app.command("/checkauthsub", v1_1.checkAuthSub);
|
|
18
|
+
app.command("/retrysub", v1_1.retrySubscription);
|
|
19
|
+
app.command("/getsuspendedsubs", v1_1.getSuspendedSubs);
|
|
20
|
+
app.command("/bypasscreator", v1_1.bypassCreator);
|
|
21
|
+
app.command("/manualcreatesub", v1_1.manualCreateSub);
|
|
22
|
+
app.command("/dashboardlink", v1_1.dashboardlink);
|
|
23
|
+
app.view("view_bypass", v1_1.changeName);
|
|
24
|
+
app.view("view_manual_sub", v1_1.responseToManualCreateSub);
|
|
25
|
+
(async () => {
|
|
26
|
+
// Start the app
|
|
27
|
+
await app.start(process.env.PORT || 3333);
|
|
28
|
+
console.log("⚡️ Bolt app is running!");
|
|
29
|
+
})();
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/index.ts"],"names":[],"mappings":";;;;;AAAA,sCAAkC;AAClC,oDAA4B;AAC5B,6BAYc;AACd,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;IAC/C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;CACnC,CAAC,CAAC;AAEH,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,WAAM,CAAC,CAAC;AAC/B,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,eAAU,CAAC,CAAC;AACvC,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,uBAAkB,CAAC,CAAC;AACvD,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,iBAAY,CAAC,CAAC;AAC3C,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,sBAAiB,CAAC,CAAC;AAC5C,GAAG,CAAC,OAAO,CAAC,mBAAmB,EAAE,qBAAgB,CAAC,CAAC;AACnD,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,kBAAa,CAAC,CAAC;AAC7C,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,oBAAe,CAAC,CAAC;AACjD,GAAG,CAAC,OAAO,CAAC,gBAAgB,EAAE,kBAAa,CAAC,CAAC;AAC7C,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,eAAU,CAAC,CAAC;AACpC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,8BAAyB,CAAC,CAAC;AAEvD,CAAC,KAAK,IAAI,EAAE;IACV,gBAAgB;IAChB,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACzC,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
7
|
+
const qs_1 = __importDefault(require("qs"));
|
|
8
|
+
const dotenv_1 = __importDefault(require("dotenv"));
|
|
9
|
+
dotenv_1.default.config();
|
|
10
|
+
// fetch this from environment variables
|
|
11
|
+
const slackSigningSecret = process.env.SLACK_SIGNING_SECRET;
|
|
12
|
+
let signVerification = (req, res, next) => {
|
|
13
|
+
let slackSignature = req.headers["x-slack-signature"];
|
|
14
|
+
let requestBody = qs_1.default.stringify(req.body, { format: "RFC1738" });
|
|
15
|
+
let timestamp = req.headers["x-slack-request-timestamp"];
|
|
16
|
+
let time = Math.floor(new Date().getTime() / 1000);
|
|
17
|
+
if (Math.abs(time - timestamp) > 300) {
|
|
18
|
+
return res.status(400).send("Ignore this request.");
|
|
19
|
+
}
|
|
20
|
+
if (!slackSigningSecret) {
|
|
21
|
+
return res.status(400).send("Slack signing secret is empty.");
|
|
22
|
+
}
|
|
23
|
+
let sigBasestring = "v0:" + timestamp + ":" + requestBody;
|
|
24
|
+
let mySignature = "v0=" +
|
|
25
|
+
crypto_1.default
|
|
26
|
+
.createHmac("sha256", slackSigningSecret)
|
|
27
|
+
.update(sigBasestring, "utf8")
|
|
28
|
+
.digest("hex");
|
|
29
|
+
console.log(mySignature);
|
|
30
|
+
console.log(slackSignature);
|
|
31
|
+
if (crypto_1.default.timingSafeEqual(Buffer.from(mySignature, "utf8"), Buffer.from(slackSignature, "utf8"))) {
|
|
32
|
+
next();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
console.log("No cryptos");
|
|
36
|
+
return res.status(400).send("Verification failed");
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
exports.default = signVerification;
|
|
40
|
+
//# sourceMappingURL=slack-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slack-auth.js","sourceRoot":"","sources":["../../../server/middlewares/slack-auth.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsC;AACtC,4CAAoB;AACpB,oDAA4B;AAC5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,wCAAwC;AACxC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;AAE5D,IAAI,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACxC,IAAI,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,IAAI,WAAW,GAAG,YAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAChE,IAAI,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACzD,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,GAAG,EAAE;QACpC,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACrD;IACD,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;KAC/D;IACD,IAAI,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,GAAG,GAAG,WAAW,CAAC;IAC1D,IAAI,WAAW,GACb,KAAK;QACL,gBAAM;aACH,UAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAC;aACxC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC;aAC7B,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnB,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,IACE,gBAAM,CAAC,eAAe,CACpB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EAChC,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,CACpC,EACD;QACA,IAAI,EAAE,CAAC;KACR;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1B,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;KACpD;AACH,CAAC,CAAC;AACF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const typed_model_1 = require("../../typed-model");
|
|
4
|
+
function isNumeric(str) {
|
|
5
|
+
if (typeof str != "string")
|
|
6
|
+
return false; // we only process strings!
|
|
7
|
+
return !isNaN(parseInt(str.substring(0, 5)));
|
|
8
|
+
}
|
|
9
|
+
exports.default = async ({ ack, say, payload, client, body }) => {
|
|
10
|
+
await ack();
|
|
11
|
+
let where = {};
|
|
12
|
+
if (isNumeric(body.text)) {
|
|
13
|
+
where.userId = body.text;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
where.email = body.text.toLowerCase();
|
|
17
|
+
}
|
|
18
|
+
let du = await typed_model_1.DashboardUser.findOne({
|
|
19
|
+
where,
|
|
20
|
+
});
|
|
21
|
+
await client.views.open({
|
|
22
|
+
// Pass a valid trigger_id within 3 seconds of receiving it
|
|
23
|
+
trigger_id: body.trigger_id,
|
|
24
|
+
// View payload
|
|
25
|
+
view: {
|
|
26
|
+
type: "modal",
|
|
27
|
+
// View identifier
|
|
28
|
+
callback_id: "view_bypass",
|
|
29
|
+
private_metadata: du === null || du === void 0 ? void 0 : du.id,
|
|
30
|
+
title: {
|
|
31
|
+
type: "plain_text",
|
|
32
|
+
text: "Bypass user",
|
|
33
|
+
},
|
|
34
|
+
blocks: [
|
|
35
|
+
{
|
|
36
|
+
type: "section",
|
|
37
|
+
text: {
|
|
38
|
+
type: "mrkdwn",
|
|
39
|
+
text: `*Email*: ${du === null || du === void 0 ? void 0 : du.email}`,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
type: "section",
|
|
44
|
+
text: {
|
|
45
|
+
type: "mrkdwn",
|
|
46
|
+
text: `*dashboard_user_id*: ${du === null || du === void 0 ? void 0 : du.id}`,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
type: "input",
|
|
51
|
+
block_id: "input_name",
|
|
52
|
+
label: {
|
|
53
|
+
type: "plain_text",
|
|
54
|
+
text: "Display Name",
|
|
55
|
+
},
|
|
56
|
+
element: {
|
|
57
|
+
type: "plain_text_input",
|
|
58
|
+
action_id: "name_input",
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
type: "input",
|
|
63
|
+
block_id: "input_phone",
|
|
64
|
+
label: {
|
|
65
|
+
type: "plain_text",
|
|
66
|
+
text: "Phone Number",
|
|
67
|
+
},
|
|
68
|
+
element: {
|
|
69
|
+
type: "plain_text_input",
|
|
70
|
+
action_id: "phone_input",
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
submit: {
|
|
75
|
+
type: "plain_text",
|
|
76
|
+
text: "Submit",
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
//# sourceMappingURL=bypassCreator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bypassCreator.js","sourceRoot":"","sources":["../../../server/v1/bypassCreator.ts"],"names":[],"mappings":";;AAEA,mDAAgE;AAEhE,SAAS,SAAS,CAAC,GAAQ;IACzB,IAAI,OAAO,GAAG,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC,CAAC,2BAA2B;IACrE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,kBAAe,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAC3D,MAAM,GAAG,EAAE,CAAC;IACZ,IAAI,KAAK,GAAQ,EAAE,CAAC;IAEpB,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACxB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;KAC1B;SAAM;QACL,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;KACvC;IAED,IAAI,EAAE,GAAG,MAAM,2BAAa,CAAC,OAAO,CAAC;QACnC,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QACtB,2DAA2D;QAC3D,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,eAAe;QACf,IAAI,EAAE;YACJ,IAAI,EAAE,OAAO;YACb,kBAAkB;YAClB,WAAW,EAAE,aAAa;YAC1B,gBAAgB,EAAE,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,EAAE;YACxB,KAAK,EAAE;gBACL,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,aAAa;aACpB;YACD,MAAM,EAAE;gBACN;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,YAAY,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,EAAE;qBAC9B;iBACF;gBACD;oBACE,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,wBAAwB,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,EAAE,EAAE;qBACvC;iBACF;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,YAAY;oBACtB,KAAK,EAAE;wBACL,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,cAAc;qBACrB;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,kBAAkB;wBACxB,SAAS,EAAE,YAAY;qBACxB;iBACF;gBACD;oBACE,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,aAAa;oBACvB,KAAK,EAAE;wBACL,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,cAAc;qBACrB;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,kBAAkB;wBACxB,SAAS,EAAE,aAAa;qBACzB;iBACF;aACF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,QAAQ;aACf;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
const moment_1 = __importDefault(require("moment"));
|
|
7
|
+
const pk_client_1 = require("../../src/pk-client");
|
|
8
|
+
const typed_model_1 = require("../../typed-model");
|
|
9
|
+
exports.default = async ({ ack, say, payload }) => {
|
|
10
|
+
await ack();
|
|
11
|
+
console.log(payload);
|
|
12
|
+
let subscriptionId = payload.text;
|
|
13
|
+
let sub = await typed_model_1.Subscription.findByPk(subscriptionId);
|
|
14
|
+
let subPlan = await typed_model_1.SubscriptionPlan.findByPk(sub === null || sub === void 0 ? void 0 : sub.subscriptionPlanId);
|
|
15
|
+
if (!sub) {
|
|
16
|
+
return await say("Sub does not exist for this id");
|
|
17
|
+
}
|
|
18
|
+
await say("Setting sub to canceled");
|
|
19
|
+
sub.cancelDate = !subPlan
|
|
20
|
+
? new Date()
|
|
21
|
+
: (0, moment_1.default)(sub.lastPaymentDate)
|
|
22
|
+
.add(subPlan.intervalCount, subPlan.intervalUnit)
|
|
23
|
+
.add(1, "day")
|
|
24
|
+
.toDate();
|
|
25
|
+
await sub.save();
|
|
26
|
+
await say("Cancelling authorize subscription");
|
|
27
|
+
try {
|
|
28
|
+
await (0, pk_client_1.cancelSubscription)(sub, sub.processorId);
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
return await say(err);
|
|
32
|
+
}
|
|
33
|
+
await say("Cancel successful");
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=cancelSubscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancelSubscription.js","sourceRoot":"","sources":["../../../server/v1/cancelSubscription.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,mDAAyD;AACzD,mDAAmE;AAEnE,kBAAe,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7C,MAAM,GAAG,EAAE,CAAC;IACZ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrB,IAAI,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAElC,IAAI,GAAG,GAAG,MAAM,0BAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACtD,IAAI,OAAO,GAAG,MAAM,8BAAgB,CAAC,QAAQ,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,kBAAkB,CAAC,CAAC;IAEvE,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,MAAM,GAAG,CAAC,gCAAgC,CAAC,CAAC;KACpD;IAED,MAAM,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAErC,GAAG,CAAC,UAAU,GAAG,CAAC,OAAO;QACvB,CAAC,CAAC,IAAI,IAAI,EAAE;QACZ,CAAC,CAAC,IAAA,gBAAM,EAAC,GAAG,CAAC,eAAe,CAAC;aACxB,GAAG,CAAC,OAAQ,CAAC,aAAa,EAAE,OAAQ,CAAC,YAAY,CAAC;aAClD,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;aACb,MAAM,EAAE,CAAC;IAChB,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAEjB,MAAM,GAAG,CAAC,mCAAmC,CAAC,CAAC;IAC/C,IAAI;QACF,MAAM,IAAA,8BAAkB,EAAC,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;KAChD;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;KACvB;IACD,MAAM,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACjC,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const typed_model_1 = require("../../typed-model");
|
|
4
|
+
function isNumeric(str) {
|
|
5
|
+
if (typeof str != "string")
|
|
6
|
+
return false; // we only process strings!
|
|
7
|
+
return !isNaN(parseInt(str.substring(0, 5)));
|
|
8
|
+
}
|
|
9
|
+
exports.default = async ({ ack, body, view, client, logger }) => {
|
|
10
|
+
await ack();
|
|
11
|
+
let du = await typed_model_1.DashboardUser.findByPk(view.private_metadata);
|
|
12
|
+
if (!du) {
|
|
13
|
+
return await logger.error("Dashboard user does not exist");
|
|
14
|
+
}
|
|
15
|
+
let owner = await typed_model_1.PhoneOwner.findByPk(du === null || du === void 0 ? void 0 : du.ownerId);
|
|
16
|
+
if (!owner) {
|
|
17
|
+
return await logger.error("Owner does not exist");
|
|
18
|
+
}
|
|
19
|
+
console.log(JSON.stringify(view.state.values.input_name));
|
|
20
|
+
let name = view.state.values.input_name.name_input.value.trim();
|
|
21
|
+
let phone = view.state.values.input_phone.phone_input.value.trim();
|
|
22
|
+
du.name = name;
|
|
23
|
+
du.username = name.replace(/\s/g, "").toLowerCase();
|
|
24
|
+
owner.name = name;
|
|
25
|
+
owner.phone = phone;
|
|
26
|
+
owner.isApproved = true;
|
|
27
|
+
owner.verificationImageKey = "1";
|
|
28
|
+
try {
|
|
29
|
+
await du.save();
|
|
30
|
+
await owner.save();
|
|
31
|
+
}
|
|
32
|
+
catch (err) {
|
|
33
|
+
logger.error(err.toString());
|
|
34
|
+
}
|
|
35
|
+
const slackUserId = body.user.id;
|
|
36
|
+
await client.chat.postMessage({
|
|
37
|
+
channel: slackUserId,
|
|
38
|
+
text: `Dashboard user approved and name updated: ${name}`,
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=changeName.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changeName.js","sourceRoot":"","sources":["../../../server/v1/changeName.ts"],"names":[],"mappings":";;AAGA,mDAA4E;AAE5E,SAAS,SAAS,CAAC,GAAQ;IACzB,IAAI,OAAO,GAAG,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC,CAAC,2BAA2B;IACrE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,kBAAe,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;IAC3D,MAAM,GAAG,EAAE,CAAC;IACZ,IAAI,EAAE,GAAG,MAAM,2BAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE7D,IAAI,CAAC,EAAE,EAAE;QACP,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAC5D;IAED,IAAI,KAAK,GAAG,MAAM,wBAAU,CAAC,QAAQ,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,OAAO,CAAC,CAAC;IAEnD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,MAAM,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACnD;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAE1D,IAAI,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACxE,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAEnE,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;IACf,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,oBAAoB,GAAG,GAAG,CAAC;IAEjC,IAAI;QACF,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;KACpB;IAAC,OAAO,GAAQ,EAAE;QACjB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC9B;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAEjC,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAC5B,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,6CAA6C,IAAI,EAAE;KAC1D,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
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
|
+
const moment_1 = __importDefault(require("moment"));
|
|
7
|
+
const pk_client_1 = require("../../src/pk-client");
|
|
8
|
+
const typed_model_1 = require("../../typed-model");
|
|
9
|
+
exports.default = async ({ ack, say, payload }) => {
|
|
10
|
+
await ack();
|
|
11
|
+
let subId = payload.text;
|
|
12
|
+
let subscription = await typed_model_1.Subscription.findByPk(subId);
|
|
13
|
+
if (!subscription) {
|
|
14
|
+
return await say("Subscription not found for this id");
|
|
15
|
+
}
|
|
16
|
+
let response = await (0, pk_client_1.getSubscriptionStatus)(subscription.pkSubscriptionId, subscription.processorId);
|
|
17
|
+
await say({
|
|
18
|
+
blocks: [
|
|
19
|
+
{
|
|
20
|
+
type: "header",
|
|
21
|
+
text: {
|
|
22
|
+
type: "plain_text",
|
|
23
|
+
text: "Subscription Info",
|
|
24
|
+
emoji: true,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: "context",
|
|
29
|
+
elements: [
|
|
30
|
+
{
|
|
31
|
+
type: "plain_text",
|
|
32
|
+
text: `SubscriptionId: ${subscription.id}`,
|
|
33
|
+
emoji: true,
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: "plain_text",
|
|
37
|
+
text: `Auth Sub Id: ${subscription.pkSubscriptionId}`,
|
|
38
|
+
emoji: true,
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
type: "plain_text",
|
|
42
|
+
text: `Auth status: ${response}`,
|
|
43
|
+
emoji: true,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
type: "plain_text",
|
|
47
|
+
text: `CLIQ cancel: ${(0, moment_1.default)(subscription.cancelDate).format("l")}`,
|
|
48
|
+
emoji: true,
|
|
49
|
+
},
|
|
50
|
+
],
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
type: "divider",
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=checkAuthSub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkAuthSub.js","sourceRoot":"","sources":["../../../server/v1/checkAuthSub.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,mDAA4D;AAC5D,mDAAiD;AAEjD,kBAAe,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7C,MAAM,GAAG,EAAE,CAAC;IACZ,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAEzB,IAAI,YAAY,GAAG,MAAM,0BAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtD,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO,MAAM,GAAG,CAAC,oCAAoC,CAAC,CAAC;KACxD;IAED,IAAI,QAAQ,GAAG,MAAM,IAAA,iCAAqB,EACxC,YAAY,CAAC,gBAAiB,EAC9B,YAAY,CAAC,WAAW,CACzB,CAAC;IAEF,MAAM,GAAG,CAAC;QACR,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,mBAAmB;oBACzB,KAAK,EAAE,IAAI;iBACZ;aACF;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,mBAAmB,YAAY,CAAC,EAAE,EAAE;wBAC1C,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,gBAAgB,YAAY,CAAC,gBAAgB,EAAE;wBACrD,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,gBAAgB,QAAQ,EAAE;wBAChC,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,gBAAgB,IAAA,gBAAM,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;wBACnE,KAAK,EAAE,IAAI;qBACZ;iBACF;aACF;YACD;gBACE,IAAI,EAAE,SAAS;aAChB;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const typed_model_1 = require("../../typed-model");
|
|
4
|
+
const jwt = require("jsonwebtoken");
|
|
5
|
+
function isNumeric(str) {
|
|
6
|
+
if (typeof str != "string")
|
|
7
|
+
return false; // we only process strings!
|
|
8
|
+
return !isNaN(parseInt(str.substring(0, 5)));
|
|
9
|
+
}
|
|
10
|
+
const createToken = (user_id) => {
|
|
11
|
+
const secret = "hauksyf89a4ow8482900j2309j2";
|
|
12
|
+
return jwt.sign({
|
|
13
|
+
id: user_id,
|
|
14
|
+
}, secret, { expiresIn: "1d" });
|
|
15
|
+
};
|
|
16
|
+
exports.default = async ({ ack, say, payload, client, body }) => {
|
|
17
|
+
await ack();
|
|
18
|
+
let where = {};
|
|
19
|
+
if (isNumeric(body.text)) {
|
|
20
|
+
where.userId = body.text;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
where.email = body.text.toLowerCase();
|
|
24
|
+
}
|
|
25
|
+
let du = await typed_model_1.DashboardUser.findOne({
|
|
26
|
+
where,
|
|
27
|
+
});
|
|
28
|
+
await say(`https://dashboard.cliqfans.com?auth_token=${createToken(du.id)}`);
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=dashboardLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboardLink.js","sourceRoot":"","sources":["../../../server/v1/dashboardLink.ts"],"names":[],"mappings":";;AAAA,mDAAkD;AAClD,oCAAqC;AAErC,SAAS,SAAS,CAAC,GAAQ;IACzB,IAAI,OAAO,GAAG,IAAI,QAAQ;QAAE,OAAO,KAAK,CAAC,CAAC,2BAA2B;IACrE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,EAAE;IACtC,MAAM,MAAM,GAAG,6BAA6B,CAAC;IAC7C,OAAO,GAAG,CAAC,IAAI,CACb;QACE,EAAE,EAAE,OAAO;KACZ,EACD,MAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;IAC3D,MAAM,GAAG,EAAE,CAAC;IACZ,IAAI,KAAK,GAAQ,EAAE,CAAC;IAEpB,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACxB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;KAC1B;SAAM;QACL,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;KACvC;IAED,IAAI,EAAE,GAAG,MAAM,2BAAa,CAAC,OAAO,CAAC;QACnC,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,GAAG,CAAC,6CAA6C,WAAW,CAAC,EAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAChF,CAAC,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
+
const moment_1 = __importDefault(require("moment"));
|
|
7
|
+
const pk_client_1 = require("../../src/pk-client");
|
|
8
|
+
exports.default = async ({ ack, say, payload }) => {
|
|
9
|
+
await ack();
|
|
10
|
+
let processorId = payload.text;
|
|
11
|
+
let subscriptions = (await (0, pk_client_1.getSubscriptionList)(processorId, true)) || [];
|
|
12
|
+
let suspendedSubs = subscriptions.filter((s) => s.getStatus() == "suspended");
|
|
13
|
+
suspendedSubs = suspendedSubs.splice(0, 30);
|
|
14
|
+
await say({
|
|
15
|
+
blocks: [
|
|
16
|
+
{
|
|
17
|
+
type: "header",
|
|
18
|
+
text: {
|
|
19
|
+
type: "plain_text",
|
|
20
|
+
text: "Recent Suspended Subscriptions",
|
|
21
|
+
emoji: true,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
type: "context",
|
|
26
|
+
elements: [
|
|
27
|
+
{
|
|
28
|
+
type: "plain_text",
|
|
29
|
+
text: `Date queried: ${(0, moment_1.default)().format("l")}`,
|
|
30
|
+
emoji: true,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
type: "plain_text",
|
|
34
|
+
text: `Processor: ${processorId}`,
|
|
35
|
+
emoji: true,
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
type: "divider",
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
type: "section",
|
|
44
|
+
text: {
|
|
45
|
+
type: "plain_text",
|
|
46
|
+
text: "Recent Suspended",
|
|
47
|
+
emoji: true,
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
...suspendedSubs.map((s) => {
|
|
51
|
+
return {
|
|
52
|
+
type: "context",
|
|
53
|
+
elements: [
|
|
54
|
+
{
|
|
55
|
+
type: "mrkdwn",
|
|
56
|
+
text: `${(0, moment_1.default)(s.getCreateTimeStampUTC()).format("l")}`,
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
type: "mrkdwn",
|
|
60
|
+
text: `*id*: ${s.getId()}`,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
type: "mrkdwn",
|
|
64
|
+
text: `*Amount*: $${s.getAmount()}`,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: "mrkdwn",
|
|
68
|
+
text: `*Name*: ${s.getFirstName()} ${s.getLastName()}`,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
};
|
|
72
|
+
}),
|
|
73
|
+
],
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=getSuspendedSubs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getSuspendedSubs.js","sourceRoot":"","sources":["../../../server/v1/getSuspendedSubs.ts"],"names":[],"mappings":";;;;;AACA,oDAA4B;AAC5B,mDAA0D;AAE1D,kBAAe,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE;IAC7C,MAAM,GAAG,EAAE,CAAC;IACZ,IAAI,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAE/B,IAAI,aAAa,GAAG,CAAC,MAAM,IAAA,+BAAmB,EAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAEzE,IAAI,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,WAAW,CAAC,CAAC;IAE9E,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5C,MAAM,GAAG,CAAC;QACR,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,gCAAgC;oBACtC,KAAK,EAAE,IAAI;iBACZ;aACF;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,iBAAiB,IAAA,gBAAM,GAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;wBAC7C,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,cAAc,WAAW,EAAE;wBACjC,KAAK,EAAE,IAAI;qBACZ;iBACF;aACF;YACD;gBACE,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE;oBACJ,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,kBAAkB;oBACxB,KAAK,EAAE,IAAI;iBACZ;aACF;YACD,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzB,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,GAAG,IAAA,gBAAM,EAAC,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;yBACzD;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;yBAC3B;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,cAAc,CAAC,CAAC,SAAS,EAAE,EAAE;yBACpC;wBACD;4BACE,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,WAAW,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;yBACvD;qBACF;iBACF,CAAC;YACJ,CAAC,CAAC;SACH;KACF,CAAC,CAAC;AACL,CAAC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
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.responseToManualCreateSub = exports.manualCreateSub = exports.dashboardlink = exports.changeName = exports.bypassCreator = exports.getSuspendedSubs = exports.retrySubscription = exports.checkAuthSub = exports.cancelSubscription = exports.searchUser = exports.refund = void 0;
|
|
7
|
+
var refund_1 = require("./refund");
|
|
8
|
+
Object.defineProperty(exports, "refund", { enumerable: true, get: function () { return __importDefault(refund_1).default; } });
|
|
9
|
+
var searchUser_1 = require("./searchUser");
|
|
10
|
+
Object.defineProperty(exports, "searchUser", { enumerable: true, get: function () { return __importDefault(searchUser_1).default; } });
|
|
11
|
+
var cancelSubscription_1 = require("./cancelSubscription");
|
|
12
|
+
Object.defineProperty(exports, "cancelSubscription", { enumerable: true, get: function () { return __importDefault(cancelSubscription_1).default; } });
|
|
13
|
+
var checkAuthSub_1 = require("./checkAuthSub");
|
|
14
|
+
Object.defineProperty(exports, "checkAuthSub", { enumerable: true, get: function () { return __importDefault(checkAuthSub_1).default; } });
|
|
15
|
+
var retrySubscription_1 = require("./retrySubscription");
|
|
16
|
+
Object.defineProperty(exports, "retrySubscription", { enumerable: true, get: function () { return __importDefault(retrySubscription_1).default; } });
|
|
17
|
+
var getSuspendedSubs_1 = require("./getSuspendedSubs");
|
|
18
|
+
Object.defineProperty(exports, "getSuspendedSubs", { enumerable: true, get: function () { return __importDefault(getSuspendedSubs_1).default; } });
|
|
19
|
+
var bypassCreator_1 = require("./bypassCreator");
|
|
20
|
+
Object.defineProperty(exports, "bypassCreator", { enumerable: true, get: function () { return __importDefault(bypassCreator_1).default; } });
|
|
21
|
+
var changeName_1 = require("./changeName");
|
|
22
|
+
Object.defineProperty(exports, "changeName", { enumerable: true, get: function () { return __importDefault(changeName_1).default; } });
|
|
23
|
+
var dashboardLink_1 = require("./dashboardLink");
|
|
24
|
+
Object.defineProperty(exports, "dashboardlink", { enumerable: true, get: function () { return __importDefault(dashboardLink_1).default; } });
|
|
25
|
+
var manualCreateSub_1 = require("./manualCreateSub");
|
|
26
|
+
Object.defineProperty(exports, "manualCreateSub", { enumerable: true, get: function () { return __importDefault(manualCreateSub_1).default; } });
|
|
27
|
+
Object.defineProperty(exports, "responseToManualCreateSub", { enumerable: true, get: function () { return manualCreateSub_1.responseToManualCreateSub; } });
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/v1/index.ts"],"names":[],"mappings":";;;;;;AAAA,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAC1B,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,2DAAqE;AAA5D,yIAAA,OAAO,OAAsB;AACtC,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,yDAAmE;AAA1D,uIAAA,OAAO,OAAqB;AACrC,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AACpC,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,2CAAqD;AAA5C,yHAAA,OAAO,OAAc;AAC9B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,qDAG2B;AAFzB,mIAAA,OAAO,OAAmB;AAC1B,4HAAA,yBAAyB,OAAA"}
|
|
@@ -0,0 +1,159 @@
|
|
|
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.responseToManualCreateSub = void 0;
|
|
7
|
+
const pk_client_1 = __importDefault(require("../../src/pk-client"));
|
|
8
|
+
const typed_model_1 = require("../../typed-model");
|
|
9
|
+
function isNumeric(str) {
|
|
10
|
+
if (typeof str != "string")
|
|
11
|
+
return false; // we only process strings!
|
|
12
|
+
return !isNaN(parseInt(str.substring(0, 5)));
|
|
13
|
+
}
|
|
14
|
+
exports.default = async ({ ack, say, payload, client, body }) => {
|
|
15
|
+
await ack();
|
|
16
|
+
let where = {};
|
|
17
|
+
if (isNumeric(body.text)) {
|
|
18
|
+
where.userId = body.text;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
where.email = body.text.toLowerCase();
|
|
22
|
+
}
|
|
23
|
+
let du = await typed_model_1.DashboardUser.findOne({
|
|
24
|
+
where,
|
|
25
|
+
});
|
|
26
|
+
await client.views.open({
|
|
27
|
+
// Pass a valid trigger_id within 3 seconds of receiving it
|
|
28
|
+
trigger_id: body.trigger_id,
|
|
29
|
+
// View payload
|
|
30
|
+
view: {
|
|
31
|
+
type: "modal",
|
|
32
|
+
// View identifier
|
|
33
|
+
callback_id: "view_manual_sub",
|
|
34
|
+
private_metadata: du === null || du === void 0 ? void 0 : du.id,
|
|
35
|
+
title: {
|
|
36
|
+
type: "plain_text",
|
|
37
|
+
text: "Create subscription",
|
|
38
|
+
},
|
|
39
|
+
blocks: [
|
|
40
|
+
{
|
|
41
|
+
type: "section",
|
|
42
|
+
text: {
|
|
43
|
+
type: "mrkdwn",
|
|
44
|
+
text: `*Email*: ${du === null || du === void 0 ? void 0 : du.email}`,
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
type: "section",
|
|
49
|
+
text: {
|
|
50
|
+
type: "mrkdwn",
|
|
51
|
+
text: `*dashboard_user_id*: ${du === null || du === void 0 ? void 0 : du.id}`,
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
type: "input",
|
|
56
|
+
block_id: "input_trans",
|
|
57
|
+
label: {
|
|
58
|
+
type: "plain_text",
|
|
59
|
+
text: "Authorize Transaction ID",
|
|
60
|
+
},
|
|
61
|
+
element: {
|
|
62
|
+
type: "plain_text_input",
|
|
63
|
+
action_id: "trans_id",
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
type: "input",
|
|
68
|
+
block_id: "input_sub",
|
|
69
|
+
label: {
|
|
70
|
+
type: "plain_text",
|
|
71
|
+
text: "Authorize Subscription ID",
|
|
72
|
+
},
|
|
73
|
+
element: {
|
|
74
|
+
type: "plain_text_input",
|
|
75
|
+
action_id: "auth_sub_id",
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
type: "input",
|
|
80
|
+
block_id: "input_owner_id",
|
|
81
|
+
label: {
|
|
82
|
+
type: "plain_text",
|
|
83
|
+
text: "owner_id",
|
|
84
|
+
},
|
|
85
|
+
element: {
|
|
86
|
+
type: "plain_text_input",
|
|
87
|
+
action_id: "owner_id",
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
type: "input",
|
|
92
|
+
block_id: "input_processor",
|
|
93
|
+
label: {
|
|
94
|
+
type: "plain_text",
|
|
95
|
+
text: "Processor (kaja or humboldt)",
|
|
96
|
+
},
|
|
97
|
+
element: {
|
|
98
|
+
type: "plain_text_input",
|
|
99
|
+
action_id: "processor_id",
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
submit: {
|
|
104
|
+
type: "plain_text",
|
|
105
|
+
text: "Submit",
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
const responseToManualCreateSub = async ({ ack, body, view, client, logger, }) => {
|
|
111
|
+
await ack();
|
|
112
|
+
let du = await typed_model_1.DashboardUser.findByPk(view.private_metadata);
|
|
113
|
+
if (!du) {
|
|
114
|
+
return await logger.error("Dashboard user does not exist");
|
|
115
|
+
}
|
|
116
|
+
let user = await typed_model_1.PhoneUser.findByPk(du === null || du === void 0 ? void 0 : du.userId);
|
|
117
|
+
if (!user) {
|
|
118
|
+
return await logger.error("User does not exist");
|
|
119
|
+
}
|
|
120
|
+
let transId = view.state.values.input_trans.trans_id.value.trim();
|
|
121
|
+
let authSubId = view.state.values.input_sub.auth_sub_id.value.trim();
|
|
122
|
+
let ownerId = view.state.values.input_owner_id.owner_id.value.trim();
|
|
123
|
+
let processorId = view.state.values.input_processor.processor_id.value.trim();
|
|
124
|
+
let owner = await typed_model_1.PhoneOwner.findByPk(ownerId);
|
|
125
|
+
let authSub = await pk_client_1.default.getSubscription(authSubId, processorId);
|
|
126
|
+
let authTransaction = await pk_client_1.default.getTransactionStatus({
|
|
127
|
+
transId,
|
|
128
|
+
processorId,
|
|
129
|
+
});
|
|
130
|
+
let subPlan = await typed_model_1.SubscriptionPlan.findOne({ where: { ownerId } });
|
|
131
|
+
if (processorId != "kaja" && processorId != "humboldt") {
|
|
132
|
+
return await logger.error("Processor was wrong");
|
|
133
|
+
}
|
|
134
|
+
if (!owner) {
|
|
135
|
+
return await logger.error("Owner now found");
|
|
136
|
+
}
|
|
137
|
+
let subscription = await typed_model_1.Subscription.create({
|
|
138
|
+
subscriptionPlanId: subPlan.id,
|
|
139
|
+
pkSubscriptionId: authSubId,
|
|
140
|
+
userId: user.id,
|
|
141
|
+
processorId,
|
|
142
|
+
lastPaymentDate: new Date(),
|
|
143
|
+
});
|
|
144
|
+
await typed_model_1.CreditPayments.logSubscriptionPayment(user.id, owner, authTransaction.settleAmountInCents, subscription, undefined, transId);
|
|
145
|
+
try {
|
|
146
|
+
await du.save();
|
|
147
|
+
await owner.save();
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
logger.error(err.toString());
|
|
151
|
+
}
|
|
152
|
+
const slackUserId = body.user.id;
|
|
153
|
+
await client.chat.postMessage({
|
|
154
|
+
channel: slackUserId,
|
|
155
|
+
text: `New subscription and payment were created. sub_id: ${subscription.id}`,
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
exports.responseToManualCreateSub = responseToManualCreateSub;
|
|
159
|
+
//# sourceMappingURL=manualCreateSub.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manualCreateSub.js","sourceRoot":"","sources":["../../../server/v1/manualCreateSub.ts"],"names":[],"mappings":"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"}
|