diff --git a/dist/src/builtin/badge.js b/dist/src/builtin/badge.js
index 7ecbdbfd2..863844ff3 100644
--- a/dist/src/builtin/badge.js
+++ b/dist/src/builtin/badge.js
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
Object.defineProperty(exports, "__esModule", { value: true });
-exports.createOrEditBadgeBot = exports.init = void 0;
+exports.init = void 0;
const Sphinx = require("sphinx-bot");
const logger_1 = require("../utils/logger");
const botapi_1 = require("../controllers/botapi");
@@ -18,9 +18,11 @@ const constants_1 = require("../constants");
const node_fetch_1 = require("node-fetch");
const people_1 = require("../utils/people");
const hideAndUnhideCommand_1 = require("../controllers/botapi/hideAndUnhideCommand");
+const config_1 = require("../utils/config");
const msg_types = Sphinx.MSG_TYPE;
let initted = false;
const botPrefix = '/badge';
+const config = (0, config_1.loadConfig)();
// check who the message came from
// check their Member table to see if it cross the amount
// reward the badge (by calling "/transfer" on element server)
@@ -50,73 +52,70 @@ function init() {
if (!isAdmin)
return;
switch (cmd) {
- case 'create':
- if (arr.length === 7) {
- const name = arr[2];
- if (!name) {
+ case 'add':
+ if (arr.length === 5 || arr.length === 3) {
+ const badgeId = Number(arr[2]);
+ if (isNaN(badgeId)) {
const addFields = [
{
name: 'Badge Bot Error',
- value: 'Provide a valid badge name',
+ value: 'Provide a valid badge id',
},
];
botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribe.id);
return;
}
- const amount = Number(arr[3]);
- if (isNaN(amount)) {
- const addFields = [
- {
- name: 'Badge Bot Error',
- value: 'Provide a valid amount of badge you would like to create',
- },
- ];
- botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribe.id);
- return;
+ const rewardType = arr[3];
+ if (rewardType) {
+ let rewardType = Number(arr[3]);
+ if (isNaN(rewardType)) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Provide a valid reward type',
+ },
+ ];
+ botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribe.id);
+ return;
+ }
+ let validRewardType = false;
+ for (const key in constants_1.default.reward_types) {
+ if (constants_1.default.reward_types[key] === rewardType) {
+ validRewardType = true;
+ }
+ }
+ if (!validRewardType) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Provide a valid reward type',
+ },
+ ];
+ botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribe.id);
+ return;
+ }
}
- const claim_amount = Number(arr[4]);
- if (isNaN(claim_amount)) {
- const addFields = [
- {
- name: 'Badge Bot Error',
- value: 'Provide a valid amount of sats condition a tribe memeber has to complete to earn this badge',
- },
- ];
- botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribe.id);
- return;
+ const rewardRequirement = arr[4];
+ if (rewardRequirement) {
+ let rewardRequirement = Number(arr[4]);
+ if (isNaN(rewardRequirement) || rewardRequirement === 0) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Provide a valid amount of sats condition a tribe memeber has to complete to earn this badge',
+ },
+ ];
+ botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribe.id);
+ return;
+ }
}
- const reward_type = Number(arr[5]);
- if (isNaN(reward_type)) {
- const addFields = [
- {
- name: 'Badge Bot Error',
- value: 'Provide a valid amount of badge you would like to create',
- },
- ];
- botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribe.id);
+ const badgeName = yield addBadgeToTribe(badgeId, message.member.id, tribe.id, Number(rewardRequirement), Number(rewardType), cmd, message);
+ if (!badgeName) {
return;
}
- const icon = arr[6];
- if (!icon) {
- const addFields = [
- {
- name: 'Badge Bot Error',
- value: 'Provide a valid Icon url',
- },
- ];
- botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribe.id);
- return;
- }
- const response = yield (0, people_1.createBadge)({
- icon,
- amount: amount,
- name,
- owner_pubkey: tribe.ownerPubkey,
- });
- yield createOrEditBadgeBot(tribe.id, tribe.tenant, response, claim_amount, reward_type);
const embed = new Sphinx.MessageEmbed()
.setAuthor('BadgeBot')
- .setDescription(response.name + ' badge has been added to this tribe')
+ .setDescription(badgeName + ' badge has been added to this tribe')
.setOnlyOwner(yield (0, hideAndUnhideCommand_1.determineOwnerOnly)(botPrefix, cmd, tribe.id));
message.channel.send({ embed });
return;
@@ -164,7 +163,7 @@ function init() {
.addFields([
{
name: 'Create new badge bot',
- value: '/badge create {BADGE_NAME} {AMOUNT_OF_BADGE_TO_CREATE} {CONDITION_FOR_BADGE_TO_BE CLAIMED} {BADGE_TYPE} {BADGE_ICON}',
+ value: '/badge add {BADGE_ID} {BADGE_TYPE} {CONDITION_FOR_BADGE_TO_BE CLAIMED}',
},
{ name: 'Help', value: '/badge help' },
])
@@ -176,13 +175,6 @@ function init() {
else {
const chatMembers = [];
try {
- const bot = (yield models_1.models.ChatBot.findOne({
- where: {
- botPrefix: '/badge',
- chatId: tribe.id,
- tenant: tribe.tenant,
- },
- }));
const chatMember = (yield models_1.models.ChatMember.findOne({
where: {
contactId: parseInt(message.member.id),
@@ -217,31 +209,36 @@ function init() {
}));
chatMembers.push(tribeMember);
}
- if (bot && typeof bot.meta === 'string') {
+ const tribeBadges = (yield models_1.models.TribeBadge.findAll({
+ where: { chatId: tribe.id, active: true },
+ }));
+ if (tribeBadges && tribeBadges.length > 0) {
for (let j = 0; j < chatMembers.length; j++) {
const chatMember = chatMembers[j];
- const rewards = JSON.parse(bot.meta);
- for (let i = 0; i < rewards.length; i++) {
- const reward = rewards[i];
+ for (let i = 0; i < tribeBadges.length; i++) {
+ const tribeBadge = tribeBadges[i];
let doReward = false;
- if (reward.rewardType === constants_1.default.reward_types.earned) {
- if (chatMember.totalEarned === reward.amount ||
- chatMember.totalEarned > reward.amount) {
+ if (tribeBadge.rewardType === constants_1.default.reward_types.earned) {
+ if (chatMember.totalEarned === tribeBadge.rewardRequirement ||
+ chatMember.totalEarned > tribeBadge.rewardRequirement) {
doReward = true;
}
}
- else if (reward.rewardType === constants_1.default.reward_types.spent) {
- if (chatMember.totalSpent === reward.amount ||
- chatMember.totalSpent > reward.amount) {
+ else if (tribeBadge.rewardType === constants_1.default.reward_types.spent) {
+ if (chatMember.totalSpent === tribeBadge.rewardRequirement ||
+ chatMember.totalSpent > tribeBadge.rewardRequirement) {
doReward = true;
}
}
if (doReward) {
- const hasReward = yield checkReward(chatMember.contactId, reward.badgeId, tribe.tenant);
+ const ogBadge = (yield models_1.models.Badge.findOne({
+ where: { id: tribeBadge.badgeId },
+ }));
+ const hasReward = yield checkReward(chatMember.contactId, ogBadge.badgeId, tribe.tenant);
if (!hasReward.status) {
const badge = yield (0, people_1.transferBadge)({
to: hasReward.pubkey,
- asset: reward.badgeId,
+ asset: ogBadge.badgeId,
amount: 1,
memo: '',
owner_pubkey: tribe.ownerPubkey,
@@ -249,7 +246,7 @@ function init() {
if (badge.tx) {
const resEmbed = new Sphinx.MessageEmbed()
.setAuthor('BagdeBot')
- .setDescription(`${chatMember.lastAlias} just earned the ${reward.name} badge!, https://blockstream.info/liquid/asset/${reward.asset} redeem on people.sphinx.chat`);
+ .setDescription(`${chatMember.lastAlias} just earned the ${ogBadge.name} badge!, https://blockstream.info/liquid/asset/${ogBadge.asset} redeem on people.sphinx.chat`);
message.channel.send({ embed: resEmbed });
return;
}
@@ -268,7 +265,7 @@ function init() {
exports.init = init;
function getReward(pubkey) {
return __awaiter(this, void 0, void 0, function* () {
- const res = yield (0, node_fetch_1.default)(`https://liquid.sphinx.chat/balances?pubkey=${pubkey}`, { method: 'GET', headers: { 'Content-Type': 'application/json' } });
+ const res = yield (0, node_fetch_1.default)(`${config.boltwall_server}/badge_balance?pubkey=${pubkey}`, { method: 'GET', headers: { 'Content-Type': 'application/json' } });
const results = yield res.json();
return results.balances;
});
@@ -288,74 +285,6 @@ function checkReward(contactId, rewardId, tenant) {
return { pubkey: contact.publicKey, status: false };
});
}
-function createOrEditBadgeBot(chatId, tenant, badge, amount, rewardType) {
- return __awaiter(this, void 0, void 0, function* () {
- try {
- const botExist = (yield models_1.models.ChatBot.findOne({
- where: { botPrefix: '/badge', chatId },
- }));
- if (botExist) {
- let meta = '';
- if (typeof botExist.meta === 'string') {
- let temMeta = JSON.parse(botExist.meta);
- if (Array.isArray(temMeta)) {
- temMeta.push({
- name: badge.name,
- amount,
- badgeId: badge.id,
- rewardType: rewardType,
- asset: badge.asset,
- });
- meta = JSON.stringify(temMeta);
- }
- }
- else {
- let temMeta = [];
- temMeta.push({
- name: badge.name,
- amount,
- badgeId: badge.id,
- rewardType: rewardType,
- asset: badge.asset,
- });
- meta = JSON.stringify(temMeta);
- }
- yield botExist.update({ meta });
- return true;
- }
- else {
- let temMeta = [];
- temMeta.push({
- name: badge.name,
- amount,
- badgeId: badge.id,
- rewardType: rewardType,
- asset: badge.asset,
- });
- const chatBot = {
- chatId,
- botPrefix: '/badge',
- botType: constants_1.default.bot_types.builtin,
- msgTypes: JSON.stringify([
- constants_1.default.message_types.message,
- constants_1.default.message_types.boost,
- constants_1.default.message_types.direct_payment,
- ]),
- pricePerUse: 0,
- tenant,
- meta: JSON.stringify(temMeta),
- };
- yield models_1.models.ChatBot.create(chatBot);
- return true;
- }
- }
- catch (error) {
- logger_1.sphinxLogger.error(`BADGE BOT ERROR ${error}`, logger_1.logging.Bots);
- return false;
- }
- });
-}
-exports.createOrEditBadgeBot = createOrEditBadgeBot;
function botResponse(addFields, author, title, message, cmd, tribeId) {
return __awaiter(this, void 0, void 0, function* () {
const resEmbed = new Sphinx.MessageEmbed()
@@ -370,4 +299,55 @@ function botResponse(addFields, author, title, message, cmd, tribeId) {
const botSVG = ``;
+function addBadgeToTribe(badgeId, tenant, tribeId, reward_requirement, reward_type, cmd, message) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const badge = (yield models_1.models.Badge.findOne({
+ where: { badgeId, tenant, active: true },
+ }));
+ if (!badge) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Invalid Badge',
+ },
+ ];
+ botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribeId);
+ return;
+ }
+ const badgeExist = yield models_1.models.TribeBadge.findOne({
+ where: { chatId: tribeId, badgeId: badge.id },
+ });
+ if (badgeExist) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Badge already exist in tribe',
+ },
+ ];
+ botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribeId);
+ return;
+ }
+ if ((isNaN(reward_type) && !badge.rewardType) ||
+ (isNaN(reward_requirement) && !badge.rewardRequirement)) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Provide adequate badge conditions',
+ },
+ ];
+ botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribeId);
+ return;
+ }
+ yield models_1.models.TribeBadge.create({
+ rewardType: badge.rewardType ? badge.rewardType : reward_type,
+ rewardRequirement: badge.rewardRequirement
+ ? badge.rewardRequirement
+ : reward_requirement,
+ badgeId: badge.id,
+ chatId: tribeId,
+ active: true,
+ });
+ return badge.name;
+ });
+}
//# sourceMappingURL=badge.js.map
\ No newline at end of file
diff --git a/dist/src/builtin/badge.js.map b/dist/src/builtin/badge.js.map
index 73aea2179..b488340ad 100644
--- a/dist/src/builtin/badge.js.map
+++ b/dist/src/builtin/badge.js.map
@@ -1 +1 @@
-{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/builtin/badge.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../src/builtin/badge.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/src/builtin/mother.js b/dist/src/builtin/mother.js
index 85fb428ee..36440a789 100644
--- a/dist/src/builtin/mother.js
+++ b/dist/src/builtin/mother.js
@@ -186,6 +186,10 @@ function init() {
{ name: 'Search for bots', value: '/bot search {SEARCH_TERM}' },
{ name: 'Install a new bot', value: '/bot install {BOTNAME}' },
{ name: 'Uninstall a bot', value: '/bot uninstall {BOTNAME}' },
+ {
+ name: 'Hide bot command from tribe members',
+ value: '/{BOTNAME} hide {COMMAND_TO_HIDE}',
+ },
{ name: 'Help', value: '/bot help' },
])
.setThumbnail(botSVG);
diff --git a/dist/src/builtin/mother.js.map b/dist/src/builtin/mother.js.map
index 3f1f3026b..c4b4b4b9f 100644
--- a/dist/src/builtin/mother.js.map
+++ b/dist/src/builtin/mother.js.map
@@ -1 +1 @@
-{"version":3,"file":"mother.js","sourceRoot":"","sources":["../../../src/builtin/mother.ts"],"names":[],"mappings":";AAAA,cAAc;;;;;;;;;;;;AAEd,mDAAmD;AACnD,qCAAoC;AACpC,kDAAmD;AACnD,8CAA4D;AAC5D,sCAAkC;AAClC,2CAA8B;AAC9B,4CAAoC;AACpC,4CAA4C;AAC5C,4CAA0D;AAC1D,4CAA8C;AAC9C,+BAAsD;AAEtD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAA;AAEjC,MAAM,MAAM,GAAG,IAAA,mBAAU,GAAE,CAAA;AAE3B,MAAM,WAAW,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,CAAC,CAAA;AAE3E,yBAAyB;AACzB,MAAM,kBAAkB,GAAG;IACzB,OAAO,EAAE;QACP,mBAAS,CAAC,aAAa,CAAC,OAAO;QAC/B,mBAAS,CAAC,aAAa,CAAC,UAAU;KACnC;IACD,KAAK,EAAE;QACL,mBAAS,CAAC,aAAa,CAAC,OAAO;QAC/B,mBAAS,CAAC,aAAa,CAAC,KAAK;QAC7B,mBAAS,CAAC,aAAa,CAAC,cAAc;KACvC;CACF,CAAA;AAED,MAAM,gBAAgB,GAAG;IACvB,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;CAClC,CAAA;AAED,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,UAAU;IACjB,aAAa,EAAE,kBAAkB;CAClC,CAAA;AAED,SAAgB,IAAI;IAClB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAA;IAClC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,oBAAW,CAAC,CAAA;IAE9B,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAO,OAAuB,EAAE,EAAE;QAC7D,mDAAmD;QACnD,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;QACjE,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAAE,OAAM;QAC1B,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM;YAAE,OAAM;QAC7B,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;QAElB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAA;QAC1E,IAAI,CAAC,OAAO;YAAE,OAAM;QAEpB,QAAQ,GAAG,EAAE;YACX,KAAK,SAAS;gBACZ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAM;gBAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;gBAEtB,IAAI,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBACjC,WAAW;oBACX,qBAAY,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAA;oBACjD,MAAM,IAAI,GAAG,MAAM,IAAA,iCAAwB,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;oBAC/D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;wBACpB,OAAO,qBAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;oBACnD,MAAM,QAAQ,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC;wBAC5C,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,SAAS,EAAE,GAAG,GAAG,OAAO;4BACxB,MAAM,EAAE,IAAI,CAAC,MAAM;yBACpB;qBACF,CAAC,CAAA;oBACF,IAAI,QAAQ,EAAE;wBACZ,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE;6BACpC,SAAS,CAAC,WAAW,CAAC;6BACtB,cAAc,CAAC,OAAO,GAAG,oBAAoB,CAAC,CAAA;wBACjD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;qBACvC;oBACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI;wBAC9C,mBAAS,CAAC,aAAa,CAAC,OAAO;qBAChC,CAAA;oBACD,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBACnE,MAAM,OAAO,GAAyB;wBACpC,MAAM,EAAE,IAAI,CAAC,EAAE;wBACf,SAAS,EAAE,GAAG,GAAG,OAAO;wBACxB,OAAO,EAAE,mBAAS,CAAC,SAAS,CAAC,OAAO;wBACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;wBAClC,WAAW,EAAE,CAAC;wBACd,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;qBACtD,CAAA;oBACD,IAAI,OAAO,KAAK,KAAK,EAAE;wBACrB,MAAM,IAAA,uBAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBACpC,OAAO,CAAC,OAAO,GAAG,iBAAW,CAAA;qBAC9B;oBACD,MAAM,eAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBACpC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,KAAK,CAAA;oBACjD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE;yBACpC,SAAS,CAAC,WAAW,CAAC;yBACtB,cAAc,CAAC,OAAO,GAAG,sBAAsB,CAAC,CAAA;oBACnD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;iBAChC;qBAAM;oBACL,2BAA2B;oBAC3B,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,CAAA;oBACvC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE;wBACnB,qBAAY,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;wBACpD,MAAM,IAAI,GAAG,MAAM,IAAA,iCAAwB,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;wBAC/D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;4BACpB,OAAO,qBAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;wBACnD,IAAA,6BAAsB,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;qBAClC;yBAAM;wBACL,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE;6BACpC,SAAS,CAAC,WAAW,CAAC;6BACtB,cAAc,CAAC,uBAAuB,CAAC,CAAA;wBAC1C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;qBAChC;iBACF;gBACD,OAAO,IAAI,CAAA;YAEb,KAAK,WAAW;gBACd,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAM;gBAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;gBACvB,MAAM,KAAK,GAAG,MAAM,IAAA,iCAAwB,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBAChE,IAAI,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,CAAC;oBACtB,OAAO,qBAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;gBACnD,MAAM,SAAS,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC;oBAC7C,KAAK,EAAE;wBACL,MAAM,EAAE,KAAK,CAAC,EAAE;wBAChB,SAAS,EAAE,GAAG,GAAG,QAAQ;wBACzB,MAAM,EAAE,KAAK,CAAC,MAAM;qBACrB;iBACF,CAAC,CAAA;gBACF,IAAI,SAAS,EAAE;oBACb,MAAM,SAAS,CAAC,OAAO,EAAE,CAAA;oBACzB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE;yBACpC,SAAS,CAAC,WAAW,CAAC;yBACtB,cAAc,CAAC,QAAQ,GAAG,mBAAmB,CAAC,CAAA;oBACjD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;iBACvC;qBAAM;oBACL,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE;yBACpC,SAAS,CAAC,WAAW,CAAC;yBACtB,cAAc,CAAC,8BAA8B,CAAC,CAAA;oBACjD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;iBACvC;YAEH,KAAK,QAAQ;gBACX,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAM;gBAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;gBACpB,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAA;gBACpC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;oBACrB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE;yBACpC,SAAS,CAAC,WAAW,CAAC;yBACtB,cAAc,CAAC,eAAe,CAAC,CAAA;oBAClC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;iBACvC;gBACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE;qBACrC,SAAS,CAAC,WAAW,CAAC;qBACtB,QAAQ,CAAC,OAAO,CAAC;qBACjB,SAAS,CACR,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACb,MAAM,SAAS,GAAG,EAAE,CAAA;oBACpB,MAAM,KAAK,GACT,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,SAAS;wBAC9B,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK;wBAC5C,CAAC,CAAC,CAAC,CAAC,WAAW,CAAA;oBACnB,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,CAAA;gBACvC,CAAC,CAAC,CACH;qBACA,YAAY,CAAC,MAAM,CAAC,CAAA;gBACvB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;gBACvC,OAAO,IAAI,CAAA;YAEb;gBACE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE;qBACpC,SAAS,CAAC,WAAW,CAAC;qBACtB,QAAQ,CAAC,eAAe,CAAC;qBACzB,SAAS,CAAC;oBACT,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,2BAA2B,EAAE;oBAC/D,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,wBAAwB,EAAE;oBAC9D,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,0BAA0B,EAAE;oBAC9D,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE;iBACrC,CAAC;qBACD,YAAY,CAAC,MAAM,CAAC,CAAA;gBACvB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;SAClC;IACH,CAAC,CAAA,CAAC,CAAA;AACJ,CAAC;AAlJD,oBAkJC;AAED,MAAM,MAAM,GAAG;;OAER,CAAA;AAEP,SAAe,UAAU,CAAC,CAAS;;QACjC,IAAI;YACF,IAAI,QAAQ,GAAG,OAAO,CAAA;YACtB,IAAI,MAAM,CAAC,eAAe;gBAAE,QAAQ,GAAG,MAAM,CAAA;YAC7C,MAAM,CAAC,GAAG,MAAM,IAAA,oBAAK,EACnB,GAAG,QAAQ,MAAM,MAAM,CAAC,WAAW,gBAAgB,CAAC,EAAE,CACvD,CAAA;YACD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YACxB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;SACjC;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,EAAE,CAAA;SACV;IACH,CAAC;CAAA;AACD,SAAe,YAAY,CAAC,IAAY;;QACtC,IAAI;YACF,IAAI,QAAQ,GAAG,OAAO,CAAA;YACtB,IAAI,MAAM,CAAC,eAAe;gBAAE,QAAQ,GAAG,MAAM,CAAA;YAC7C,MAAM,CAAC,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,QAAQ,MAAM,MAAM,CAAC,WAAW,QAAQ,IAAI,EAAE,CAAC,CAAA;YACxE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAA;YACxB,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,YAAY,EAAE;gBACjC,OAAO,CAAC,CAAA;aACT;YACD,OAAO,IAAI,CAAA;SACZ;QAAC,OAAO,CAAC,EAAE;YACV,OAAO,IAAI,CAAA;SACZ;IACH,CAAC;CAAA"}
\ No newline at end of file
+{"version":3,"file":"mother.js","sourceRoot":"","sources":["../../../src/builtin/mother.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/src/controllers/api/personal.js b/dist/src/controllers/api/personal.js
index 7dfb24d59..2ff223aab 100644
--- a/dist/src/controllers/api/personal.js
+++ b/dist/src/controllers/api/personal.js
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
Object.defineProperty(exports, "__esModule", { value: true });
-exports.deleteBadge = exports.getAllBadge = exports.transferBadge = exports.createBadge = exports.claimOnLiquid = exports.refreshJWT = exports.uploadPublicPic = exports.deleteTicketByAdmin = exports.deletePersonProfile = exports.createPeopleProfile = void 0;
+exports.removeBadgeFromTribe = exports.getBadgePerTribe = exports.badgeTemplates = exports.updateBadge = exports.addBadgeToTribe = exports.deleteBadge = exports.getAllBadge = exports.transferBadge = exports.createBadge = exports.claimOnLiquid = exports.refreshJWT = exports.uploadPublicPic = exports.deleteTicketByAdmin = exports.deletePersonProfile = exports.createPeopleProfile = void 0;
const meme = require("../../utils/meme");
const FormData = require("form-data");
const node_fetch_1 = require("node-fetch");
@@ -21,6 +21,8 @@ const config_1 = require("../../utils/config");
const jwt_1 = require("../../utils/jwt");
// import { createOrEditBadgeBot } from '../../builtin/badge'
const constants_1 = require("../../constants");
+const badgeBot_1 = require("../../utils/badgeBot");
+const tribes_1 = require("../../utils/tribes");
const config = (0, config_1.loadConfig)();
function createPeopleProfile(req, res) {
return __awaiter(this, void 0, void 0, function* () {
@@ -196,30 +198,81 @@ function createBadge(req, res) {
const owner = (yield models_1.models.Contact.findOne({
where: { tenant, isOwner: true },
}));
- const { name, icon, amount, memo } = req.body;
+ const { name, icon, amount, memo, reward_type, reward_requirement, chat_id, } = req.body;
if (typeof name !== 'string' ||
typeof icon !== 'string' ||
typeof amount !== 'number')
return (0, res_1.failure)(res, 'invalid data passed');
+ if (reward_requirement && !reward_type) {
+ return (0, res_1.failure)(res, 'Please provide reward type');
+ }
+ if (reward_type && !reward_requirement) {
+ return (0, res_1.failure)(res, 'Please provide reward requirement');
+ }
+ if (chat_id && typeof chat_id !== 'number') {
+ return (0, res_1.failure)(res, 'Please provide valid chat id');
+ }
+ if (reward_type) {
+ let validRewardType = false;
+ for (const key in constants_1.default.reward_types) {
+ if (constants_1.default.reward_types[key] === reward_type) {
+ validRewardType = true;
+ }
+ }
+ if (!validRewardType)
+ return (0, res_1.failure)(res, 'invalid reward type');
+ }
+ if (reward_requirement && typeof reward_requirement !== 'number') {
+ return (0, res_1.failure)(res, 'Invalid reward requirement');
+ }
const response = yield people.createBadge({
icon,
amount,
name,
owner_pubkey: owner.publicKey,
});
- yield models_1.models.Badge.create({
+ const badge = (yield models_1.models.Badge.create({
badgeId: response.id,
name: response.name,
amount: response.amount,
memo,
asset: response.asset,
- deleted: false,
+ active: true,
tenant,
type: constants_1.default.badge_type.liquid,
host: config.boltwall_server,
icon: response.icon,
+ rewardRequirement: reward_requirement ? reward_requirement : null,
+ rewardType: reward_type ? reward_type : null,
+ }));
+ if (chat_id && reward_requirement && reward_type) {
+ const tribe = (yield models_1.models.Chat.findOne({
+ where: {
+ id: chat_id,
+ ownerPubkey: req.owner.publicKey,
+ deleted: false,
+ tenant,
+ },
+ }));
+ if (tribe) {
+ yield models_1.models.TribeBadge.create({
+ rewardType: badge.rewardType,
+ rewardRequirement: badge.rewardRequirement,
+ badgeId: badge.id,
+ chatId: tribe.id,
+ active: true,
+ });
+ yield (0, badgeBot_1.createBadgeBot)(tribe.id, tenant);
+ }
+ }
+ return (0, res_1.success)(res, {
+ badge_id: badge.badgeId,
+ icon: badge.icon,
+ amount_created: badge.amount,
+ asset: badge.asset,
+ memo: badge.memo,
+ name: badge.name,
});
- return (0, res_1.success)(res, 'Badge Created Successfully');
}
catch (error) {
return (0, res_1.failure)(res, error);
@@ -261,7 +314,7 @@ function getAllBadge(req, res) {
const offset = (req.query.offset && parseInt(req.query.offset)) || 0;
try {
const badges = (yield models_1.models.Badge.findAll({
- where: { tenant, deleted: false },
+ where: { tenant, active: true },
limit,
offset,
}));
@@ -284,6 +337,8 @@ function getAllBadge(req, res) {
asset: badge.asset,
memo: badge.memo,
name: badge.name,
+ reward_requirement: badge.rewardRequirement,
+ reward_type: badge.rewardType,
});
}
}
@@ -303,13 +358,13 @@ function deleteBadge(req, res) {
const badgeId = req.params.id;
try {
const badge = (yield models_1.models.Badge.findOne({
- where: { tenant, badgeId, deleted: false },
+ where: { tenant, badgeId, active: true },
}));
if (!badge) {
return (0, res_1.failure)(res, 'Badge does not exist');
}
else {
- yield badge.update({ deleted: true });
+ yield badge.update({ active: false });
return (0, res_1.success)(res, `${badge.name} was deleted successfully`);
}
}
@@ -319,4 +374,256 @@ function deleteBadge(req, res) {
});
}
exports.deleteBadge = deleteBadge;
+function addBadgeToTribe(req, res) {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (!req.owner)
+ return (0, res_1.failure)(res, 'no owner');
+ const tenant = req.owner.id;
+ const { chat_id, reward_type, reward_requirement, badge_id } = req.body;
+ if (!chat_id || !badge_id) {
+ return (0, res_1.failure)(res, 'Invalid data passed');
+ }
+ if (reward_requirement && !reward_type) {
+ return (0, res_1.failure)(res, 'Please provide reward type');
+ }
+ if (reward_type && !reward_requirement) {
+ return (0, res_1.failure)(res, 'Please provide reward requirement');
+ }
+ if (reward_type) {
+ let validRewardType = false;
+ for (const key in constants_1.default.reward_types) {
+ if (constants_1.default.reward_types[key] === reward_type) {
+ validRewardType = true;
+ }
+ }
+ if (!validRewardType)
+ return (0, res_1.failure)(res, 'invalid reward type');
+ }
+ if (reward_requirement && typeof reward_requirement !== 'number') {
+ return (0, res_1.failure)(res, 'Invalid reward requirement');
+ }
+ try {
+ const tribe = (yield models_1.models.Chat.findOne({
+ where: {
+ id: chat_id,
+ ownerPubkey: req.owner.publicKey,
+ deleted: false,
+ tenant,
+ },
+ }));
+ if (!tribe) {
+ return (0, res_1.failure)(res, 'Invalid tribe');
+ }
+ const badge = (yield models_1.models.Badge.findOne({
+ where: { badgeId: badge_id, tenant, active: true },
+ }));
+ if (!badge) {
+ return (0, res_1.failure)(res, 'Invalid Badge');
+ }
+ const badgeExist = (yield models_1.models.TribeBadge.findOne({
+ where: { chatId: tribe.id, badgeId: badge.id },
+ }));
+ if (badgeExist && badgeExist.active === true) {
+ return (0, res_1.failure)(res, 'Badge already exist in tribe');
+ }
+ if ((!badge.rewardType && !reward_type) ||
+ (!badge.rewardRequirement && !reward_requirement)) {
+ return (0, res_1.failure)(res, 'Please provide reward type and reward requirement');
+ }
+ if (badgeExist && badgeExist.active === false) {
+ yield badgeExist.update({
+ active: true,
+ rewardType: badge.rewardType ? badge.rewardType : reward_type,
+ rewardRequirement: badge.rewardRequirement
+ ? badge.rewardRequirement
+ : reward_requirement,
+ });
+ }
+ else {
+ yield models_1.models.TribeBadge.create({
+ rewardType: badge.rewardType ? badge.rewardType : reward_type,
+ rewardRequirement: badge.rewardRequirement
+ ? badge.rewardRequirement
+ : reward_requirement,
+ badgeId: badge.id,
+ chatId: tribe.id,
+ active: true,
+ });
+ }
+ yield (0, badgeBot_1.createBadgeBot)(tribe.id, tenant);
+ return (0, res_1.success)(res, 'Badge was added to tribe successfully');
+ }
+ catch (error) {
+ return (0, res_1.failure)(res, error);
+ }
+ });
+}
+exports.addBadgeToTribe = addBadgeToTribe;
+function updateBadge(req, res) {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (!req.owner)
+ return (0, res_1.failure)(res, 'no owner');
+ const tenant = req.owner.id;
+ const { badge_id, icon } = req.body;
+ if (!badge_id || !icon) {
+ return (0, res_1.failure)(res, 'Missing required data');
+ }
+ try {
+ const badge = yield models_1.models.Badge.findOne({
+ where: { badgeId: badge_id, tenant },
+ });
+ if (!badge) {
+ return (0, res_1.failure)(res, "You can't update this badge");
+ }
+ const token = yield (0, tribes_1.genSignedTimestamp)(req.owner.publicKey);
+ const response = yield (0, node_fetch_1.default)(`${config.boltwall_server}/update_badge?token=${token}`, {
+ method: 'PUT',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({ id: badge_id, icon }),
+ });
+ if (!response.ok) {
+ const newRes = yield response.json();
+ return (0, res_1.failure)(res, newRes);
+ }
+ yield badge.update({ icon });
+ return (0, res_1.success)(res, 'Badge Icon updated successfully');
+ }
+ catch (error) {
+ return (0, res_1.failure)(res, error);
+ }
+ });
+}
+exports.updateBadge = updateBadge;
+// hardcoded for now
+function badgeTemplates(req, res) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const ts = [
+ {
+ rewardType: 1,
+ rewardRequirement: 1000,
+ icon: 'https://community.sphinx.chat/static/1K.svg',
+ name: 'Big Earner',
+ },
+ {
+ rewardType: 2,
+ rewardRequirement: 1000,
+ icon: 'https://community.sphinx.chat/static/VIP.svg',
+ name: 'Big Spender',
+ },
+ ];
+ return (0, res_1.success)(res, ts);
+ });
+}
+exports.badgeTemplates = badgeTemplates;
+function getBadgePerTribe(req, res) {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (!req.owner)
+ return (0, res_1.failure)(res, 'no owner');
+ const tenant = req.owner.id;
+ const limit = (req.query.limit && parseInt(req.query.limit)) || 100;
+ const offset = (req.query.offset && parseInt(req.query.offset)) || 0;
+ const chat_id = req.params.chat_id;
+ try {
+ const tribe = (yield models_1.models.Chat.findOne({
+ where: {
+ id: chat_id,
+ ownerPubkey: req.owner.publicKey,
+ deleted: false,
+ tenant,
+ },
+ }));
+ if (!tribe) {
+ return (0, res_1.failure)(res, 'Invalid tribe');
+ }
+ const badges = (yield models_1.models.Badge.findAll({
+ where: { tenant, active: true },
+ limit,
+ offset,
+ }));
+ const tribeBadges = (yield models_1.models.TribeBadge.findAll({
+ where: { chatId: tribe.id, active: true },
+ }));
+ const badgeInTribe = {};
+ for (let i = 0; i < tribeBadges.length; i++) {
+ const tribeBadge = tribeBadges[i];
+ badgeInTribe[tribeBadge.badgeId] = true;
+ }
+ const response = yield (0, node_fetch_1.default)(`${config.boltwall_server}/badge_balance?pubkey=${req.owner.publicKey}`, { method: 'GET', headers: { 'Content-Type': 'application/json' } });
+ const results = yield response.json();
+ const balObject = {};
+ for (let i = 0; i < results.balances.length; i++) {
+ const balance = results.balances[i];
+ balObject[balance.asset_id] = balance;
+ }
+ const finalRes = [];
+ for (let j = 0; j < badges.length; j++) {
+ const badge = badges[j];
+ if (balObject[badge.badgeId]) {
+ finalRes.push({
+ badge_id: badge.badgeId,
+ icon: badge.icon,
+ amount_created: badge.amount,
+ amount_issued: badge.amount - balObject[badge.badgeId].balance,
+ asset: badge.asset,
+ memo: badge.memo,
+ name: badge.name,
+ reward_requirement: badge.rewardRequirement,
+ reward_type: badge.rewardType,
+ active: badgeInTribe[badge.id] ? true : false,
+ });
+ }
+ }
+ return (0, res_1.success)(res, finalRes);
+ }
+ catch (error) {
+ return (0, res_1.failure)(res, error);
+ }
+ });
+}
+exports.getBadgePerTribe = getBadgePerTribe;
+function removeBadgeFromTribe(req, res) {
+ return __awaiter(this, void 0, void 0, function* () {
+ if (!req.owner)
+ return (0, res_1.failure)(res, 'no owner');
+ const tenant = req.owner.id;
+ const { chat_id, badge_id } = req.body;
+ if (!chat_id ||
+ typeof chat_id !== 'number' ||
+ !badge_id ||
+ typeof badge_id !== 'number') {
+ return (0, res_1.failure)(res, 'Invalid chat id or badge id');
+ }
+ try {
+ const tribe = (yield models_1.models.Chat.findOne({
+ where: {
+ id: chat_id,
+ ownerPubkey: req.owner.publicKey,
+ deleted: false,
+ tenant,
+ },
+ }));
+ if (!tribe) {
+ return (0, res_1.failure)(res, 'Invalid tribe');
+ }
+ const badge = (yield models_1.models.Badge.findOne({
+ where: { tenant, badgeId: badge_id },
+ }));
+ if (!badge) {
+ return (0, res_1.failure)(res, 'Badge does not exist');
+ }
+ const badgeTribe = (yield models_1.models.TribeBadge.findOne({
+ where: { badgeId: badge.id, chatId: chat_id, active: true },
+ }));
+ if (!badgeTribe) {
+ return (0, res_1.failure)(res, 'Badge does not exist in tribe');
+ }
+ yield badgeTribe.update({ active: false });
+ return (0, res_1.success)(res, 'Badge deactivated successfully');
+ }
+ catch (error) {
+ return (0, res_1.failure)(res, error);
+ }
+ });
+}
+exports.removeBadgeFromTribe = removeBadgeFromTribe;
//# sourceMappingURL=personal.js.map
\ No newline at end of file
diff --git a/dist/src/controllers/api/personal.js.map b/dist/src/controllers/api/personal.js.map
index 2e49449ab..31986b0ca 100644
--- a/dist/src/controllers/api/personal.js.map
+++ b/dist/src/controllers/api/personal.js.map
@@ -1 +1 @@
-{"version":3,"file":"personal.js","sourceRoot":"","sources":["../../../../src/controllers/api/personal.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"personal.js","sourceRoot":"","sources":["../../../../src/controllers/api/personal.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/src/controllers/index.js b/dist/src/controllers/index.js
index e3a6aa48e..b6f2a47b2 100644
--- a/dist/src/controllers/index.js
+++ b/dist/src/controllers/index.js
@@ -91,6 +91,11 @@ function set(app) {
app.post('/transfer_badge', personal.transferBadge);
app.get('/badges', personal.getAllBadge);
app.delete('/badge/:id', personal.deleteBadge);
+ app.post('/add_badge', personal.addBadgeToTribe);
+ app.put('/update_badge', personal.updateBadge);
+ app.get('/badge_templates', personal.badgeTemplates);
+ app.get('/badge_per_tribe/:chat_id', personal.getBadgePerTribe);
+ app.post('/remove_badge', personal.removeBadgeFromTribe);
app.get('/msgs', messages.getMsgs);
app.get('/allmessages', messages.getAllMessages);
app.get('/messages', messages.getMessages);
diff --git a/dist/src/controllers/index.js.map b/dist/src/controllers/index.js.map
index e4d024894..583cf749b 100644
--- a/dist/src/controllers/index.js.map
+++ b/dist/src/controllers/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controllers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAA2C;AAC3C,kCAA8C;AAC9C,iCAAgC;AAChC,2CAA0C;AAC1C,+BAA8B;AAC9B,qCAAoC;AACpC,uCAAsC;AACtC,qCAAoC;AACpC,uCAAsC;AACtC,iCAAgC;AAChC,uCAAsC;AACtC,sCAAqC;AACrC,gDAA+C;AAC/C,qCAAoC;AACpC,iDAAgD;AAChD,oCAAmC;AACnC,qCAAoC;AACpC,4CAA2C;AAC3C,0CAAyC;AACzC,0CAAyC;AACzC,iCAAgC;AAChC,4CAAoC;AACpC,+BAA8B;AAC9B,sCAAsC;AACtC,+BAA8B;AAC9B,2CAA0C;AAC1C,iCAAgC;AAEhC,0CAAyC;AACzC,oCAAmC;AACnC,yDAAwD;AAExD,SAAsB,GAAG,CAAC,GAAG;;QAC3B,WAAW,CAAC,IAAI,EAAE,CAAA;QAElB,IAAI,eAAM,IAAI,eAAM,CAAC,YAAY,EAAE;YACjC,YAAY,CAAC,kBAAkB,EAAE,CAAA;SAClC;QAED,0BAA0B;QAE1B,MAAM,CAAC,YAAY,EAAE,CAAA;QAErB,gCAAgC;QAEhC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QACjC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QACzC,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QACvC,GAAG,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACpD,GAAG,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;QACxD,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QACzC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;QAC3C,GAAG,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;QAC3D,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;QACxC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;QACpD,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;QACtD,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,CAAA;QAC/C,GAAG,CAAC,GAAG,CACL,uCAAuC,EACvC,UAAU,CAAC,qBAAqB,CACjC,CAAA;QACD,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;QAC3C,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,UAAU,CAAC,CAAA;QAE/C,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QAE5E,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QAC1C,GAAG,CAAC,IAAI,CAAC,6BAA6B,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAC1D,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QAEjD,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QACpD,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC1C,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAA;QAC1D,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QAChD,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACpD,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;QACxD,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QACrD,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QAC7C,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QACnD,GAAG,CAAC,GAAG,CAAC,kBAAkB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAA;QACvD,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,+BAA+B,CAAC,CAAA;QACxE,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;QAC/C,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QAEzC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAClD,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QACpD,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QACxD,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;QACjD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC5C,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QACpD,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC/C,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QACnD,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QACxC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QAE9C,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QAClC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;QAChD,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC1C,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QAClD,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC3C,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC1D,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QAEnD,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAA;QAC3D,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC,eAAe,CAAC,CAAA;QAC1D,GAAG,CAAC,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;QAChE,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;QAC3D,GAAG,CAAC,GAAG,CAAC,mBAAmB,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAA;QAC3D,GAAG,CAAC,GAAG,CACL,mCAAmC,EACnC,YAAY,CAAC,0BAA0B,CACxC,CAAA;QACD,GAAG,CAAC,GAAG,CAAC,yBAAyB,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAA;QAClE,GAAG,CAAC,GAAG,CAAC,2BAA2B,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAA;QAEtE,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACpD,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QACrC,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAE3C,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACpD,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAE3D,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAEpC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;QAChD,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QAElD,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QAC7C,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC3C,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;QACzC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAA;QAEpD,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QAC1C,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;QAE3C,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACzC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACvC,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAA;QACtD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAC7C,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QACtC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACrC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;QACrC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAA;QACrD,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAA;QAE/C,GAAG,CAAC,GAAG,CAAC,6BAA6B,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;QACnE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAEpC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;QAC5C,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,CAAA;QAC1C,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9B,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QAChC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACtC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QACzC,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAA;QAEnD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,WAAW,CAAC,CAAA;QAElD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,UAAgB,GAAQ,EAAE,GAAG;;gBAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;YACpC,CAAC;SAAA,CAAC,CAAA;QAEF,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAA;QAC9C,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;QACvD,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAEnD,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,UAAgB,GAAQ,EAAE,GAAG;;gBAC9C,IAAI,CAAC,GAAG,CAAC,KAAK;oBAAE,OAAO,IAAA,aAAO,EAAC,GAAG,EAAE,UAAU,CAAC,CAAA;gBAC/C,MAAM,MAAM,GAAW,GAAG,CAAC,KAAK,CAAC,EAAE,CAAA;gBACnC,MAAM,KAAK,GAAc,CAAC,MAAM,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC;oBACrD,KAAK,EAAE,CAAC;oBACR,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;oBAC9B,KAAK,EAAE,EAAE,MAAM,EAAE;iBAClB,CAAC,CAAc,CAAA;gBAChB,MAAM,IAAI,GAAG,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;gBAC9B,IAAI,CAAC,IAAI,EAAE;oBACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;iBAClC;qBAAM;oBACL,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;iBACrC;YACH,CAAC;SAAA,CAAC,CAAA;QAEF,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;QAClC,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QAC5C,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAClC,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAC/C,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;QAClD,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAA;QAE5C,YAAY;QACZ,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEjC,sBAAsB;QACtB,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QACxE,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAA;QACvE,GAAG,CAAC,GAAG,CACL,+BAA+B,EAC/B,iBAAiB,CAAC,uBAAuB,CAC1C,CAAA;QAED,OAAO;QACP,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAA;QACrC,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAE1D,gEAAgE;QAChE,GAAG,CAAC,GAAG,CAAC,2BAAoB,CAAC,CAAA;QAC7B,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;QACxC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;QACvC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAA;QACzD,GAAG,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAChE,CAAC;CAAA;AAlLD,kBAkLC;AAED,MAAM,QAAQ,GAAG,mBAAS,CAAC,aAAa,CAAA;AAC3B,QAAA,OAAO,GAAG;IACrB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,iBAAiB;IAClD,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,QAAQ,CAAC,wBAAwB;IACtE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,cAAc;IAC3C,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,cAAc;IAC3C,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,cAAc;IAClD,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC,mBAAmB;IAC1D,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,iBAAiB;IAC9C,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,eAAe;IAC1C,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC,qBAAqB;IACvD,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,mBAAmB;IACnD,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,0BAA0B;IACzD,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,0BAA0B;IACzD,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,gBAAgB;IAC7C,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,iBAAiB;IAC/C,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,gBAAgB;IAC7C,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,oBAAoB;IAChD,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,gBAAgB;IAC/C,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,oBAAoB;IAC1D,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,oBAAoB;IAC1D,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,mBAAmB;IACxD,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,kBAAkB;IACtD,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,iBAAiB;IAC9C,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa;IACtC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,aAAa;IACtC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,gBAAgB;IACpD,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,aAAa,CAAC,4BAA4B;IAC7E,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,YAAY;IACvC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,YAAY;IACtC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,oBAAoB;CACxD,CAAA"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controllers/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/src/models/index.js b/dist/src/models/index.js
index d717b5fea..f301d46e0 100644
--- a/dist/src/models/index.js
+++ b/dist/src/models/index.js
@@ -1,6 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-exports.Badge = exports.ContentFeedStatus = exports.CallRecording = exports.ActionHistory = exports.RequestsTransportTokens = exports.BotMember = exports.Lsat = exports.MediaKey = exports.Accounting = exports.Bot = exports.Timer = exports.ChatBot = exports.Subscription = exports.Invite = exports.ChatMember = exports.Message = exports.Chat = exports.Contact = exports.models = exports.sequelize = void 0;
+exports.TribeBadge = exports.Badge = exports.ContentFeedStatus = exports.CallRecording = exports.ActionHistory = exports.RequestsTransportTokens = exports.BotMember = exports.Lsat = exports.MediaKey = exports.Accounting = exports.Bot = exports.Timer = exports.ChatBot = exports.Subscription = exports.Invite = exports.ChatMember = exports.Message = exports.Chat = exports.Contact = exports.models = exports.sequelize = void 0;
// parse BIGINTs to number
const pg = require("pg");
pg.defaults.parseInt8 = true;
@@ -46,6 +46,8 @@ const contentFeedStatus_1 = require("./sql/contentFeedStatus");
exports.ContentFeedStatus = contentFeedStatus_1.default;
const badge_1 = require("./sql/badge");
exports.Badge = badge_1.default;
+const tribeBadge_1 = require("./sql/tribeBadge");
+exports.TribeBadge = tribeBadge_1.default;
const argv = minimist(process.argv.slice(2));
const configFile = argv.db
? path.resolve(process.cwd(), argv.db)
@@ -83,6 +85,7 @@ const opts = Object.assign(Object.assign({}, config), { logging: appConfig.sql_l
callRecording_1.default,
contentFeedStatus_1.default,
badge_1.default,
+ tribeBadge_1.default,
] });
if ((0, proxy_1.isProxy)()) {
opts.pool = {
diff --git a/dist/src/models/index.js.map b/dist/src/models/index.js.map
index ab3d78b7c..d7fd7c396 100644
--- a/dist/src/models/index.js.map
+++ b/dist/src/models/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/src/models/sql/badge.js b/dist/src/models/sql/badge.js
index 76014cf8a..fca46b50e 100644
--- a/dist/src/models/sql/badge.js
+++ b/dist/src/models/sql/badge.js
@@ -53,10 +53,22 @@ __decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.BOOLEAN),
__metadata("design:type", Boolean)
], Badge.prototype, "deleted", void 0);
+__decorate([
+ (0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.BOOLEAN),
+ __metadata("design:type", Boolean)
+], Badge.prototype, "active", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.BIGINT),
__metadata("design:type", Number)
], Badge.prototype, "amount", void 0);
+__decorate([
+ sequelize_typescript_1.Column,
+ __metadata("design:type", Number)
+], Badge.prototype, "rewardType", void 0);
+__decorate([
+ sequelize_typescript_1.Column,
+ __metadata("design:type", Number)
+], Badge.prototype, "rewardRequirement", void 0);
__decorate([
sequelize_typescript_1.Column,
__metadata("design:type", String)
diff --git a/dist/src/models/sql/badge.js.map b/dist/src/models/sql/badge.js.map
index e2e5c1f02..44bb3c6df 100644
--- a/dist/src/models/sql/badge.js.map
+++ b/dist/src/models/sql/badge.js.map
@@ -1 +1 @@
-{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../../src/models/sql/badge.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAqE;AAGrE,IAAqB,KAAK,GAA1B,MAAqB,KAAM,SAAQ,4BAAY;CA4C9C,CAAA;AArCC;IANC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,IAAI;KACpB,CAAC;;iCACQ;AAGV;IADC,6BAAM;;sCACQ;AAGf;IADC,6BAAM;;mCACK;AAGZ;IADC,6BAAM;;mCACK;AAGZ;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;mCACV;AAGZ;IADC,6BAAM;;qCACO;AAGd;IADC,6BAAM;;mCACK;AAGZ;IADC,6BAAM;;oCACM;AAGb;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,OAAO,CAAC;;sCACT;AAGhB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,MAAM,CAAC;;qCACV;AAGd;IADC,6BAAM;;mCACK;AAGZ;IADC,6BAAM;8BACI,IAAI;wCAAA;AAGf;IADC,6BAAM;8BACI,IAAI;wCAAA;AA3CI,KAAK;IADzB,IAAA,4BAAK,EAAC,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;GACnC,KAAK,CA4CzB;kBA5CoB,KAAK"}
\ No newline at end of file
+{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../../src/models/sql/badge.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAqE;AAGrE,IAAqB,KAAK,GAA1B,MAAqB,KAAM,SAAQ,4BAAY;CAsD9C,CAAA;AA/CC;IANC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,IAAI;KACpB,CAAC;;iCACQ;AAGV;IADC,6BAAM;;sCACQ;AAGf;IADC,6BAAM;;mCACK;AAGZ;IADC,6BAAM;;mCACK;AAGZ;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;mCACV;AAGZ;IADC,6BAAM;;qCACO;AAGd;IADC,6BAAM;;mCACK;AAGZ;IADC,6BAAM;;oCACM;AAIb;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,OAAO,CAAC;;sCACT;AAGhB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,OAAO,CAAC;;qCACV;AAGf;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,MAAM,CAAC;;qCACV;AAGd;IADC,6BAAM;;yCACW;AAGlB;IADC,6BAAM;;gDACkB;AAGzB;IADC,6BAAM;;mCACK;AAGZ;IADC,6BAAM;8BACI,IAAI;wCAAA;AAGf;IADC,6BAAM;8BACI,IAAI;wCAAA;AArDI,KAAK;IADzB,IAAA,4BAAK,EAAC,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;GACnC,KAAK,CAsDzB;kBAtDoB,KAAK"}
\ No newline at end of file
diff --git a/dist/src/models/sql/tribeBadge.js b/dist/src/models/sql/tribeBadge.js
new file mode 100644
index 000000000..43dbcdd6b
--- /dev/null
+++ b/dist/src/models/sql/tribeBadge.js
@@ -0,0 +1,68 @@
+"use strict";
+var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const sequelize_typescript_1 = require("sequelize-typescript");
+let TribeBadge = class TribeBadge extends sequelize_typescript_1.Model {
+};
+__decorate([
+ (0, sequelize_typescript_1.Column)({
+ type: sequelize_typescript_1.DataType.BIGINT,
+ primaryKey: true,
+ unique: true,
+ autoIncrement: true,
+ }),
+ __metadata("design:type", Number)
+], TribeBadge.prototype, "id", void 0);
+__decorate([
+ sequelize_typescript_1.Column,
+ __metadata("design:type", Number)
+], TribeBadge.prototype, "badgeId", void 0);
+__decorate([
+ sequelize_typescript_1.Column,
+ __metadata("design:type", Number)
+], TribeBadge.prototype, "chatId", void 0);
+__decorate([
+ sequelize_typescript_1.Column,
+ __metadata("design:type", Number)
+], TribeBadge.prototype, "rewardType", void 0);
+__decorate([
+ sequelize_typescript_1.Column,
+ __metadata("design:type", Number)
+], TribeBadge.prototype, "rewardRequirement", void 0);
+__decorate([
+ (0, sequelize_typescript_1.Column)({
+ type: sequelize_typescript_1.DataType.BOOLEAN,
+ defaultValue: false,
+ allowNull: false,
+ }),
+ __metadata("design:type", Boolean)
+], TribeBadge.prototype, "deleted", void 0);
+__decorate([
+ (0, sequelize_typescript_1.Column)({
+ type: sequelize_typescript_1.DataType.BOOLEAN,
+ defaultValue: true,
+ allowNull: false,
+ }),
+ __metadata("design:type", Boolean)
+], TribeBadge.prototype, "active", void 0);
+__decorate([
+ sequelize_typescript_1.Column,
+ __metadata("design:type", Date)
+], TribeBadge.prototype, "createdAt", void 0);
+__decorate([
+ sequelize_typescript_1.Column,
+ __metadata("design:type", Date)
+], TribeBadge.prototype, "updatedAt", void 0);
+TribeBadge = __decorate([
+ (0, sequelize_typescript_1.Table)({ tableName: 'sphinx_tribe_badge', underscored: true })
+], TribeBadge);
+exports.default = TribeBadge;
+//# sourceMappingURL=tribeBadge.js.map
\ No newline at end of file
diff --git a/dist/src/models/sql/tribeBadge.js.map b/dist/src/models/sql/tribeBadge.js.map
new file mode 100644
index 000000000..414a158d7
--- /dev/null
+++ b/dist/src/models/sql/tribeBadge.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"tribeBadge.js","sourceRoot":"","sources":["../../../../src/models/sql/tribeBadge.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAqE;AAGrE,IAAqB,UAAU,GAA/B,MAAqB,UAAW,SAAQ,4BAAiB;CAyCxD,CAAA;AAlCC;IANC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,MAAM;QACrB,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,IAAI;QACZ,aAAa,EAAE,IAAI;KACpB,CAAC;;sCACQ;AAGV;IADC,6BAAM;;2CACQ;AAGf;IADC,6BAAM;;0CACO;AAGd;IADC,6BAAM;;8CACW;AAGlB;IADC,6BAAM;;qDACkB;AAQzB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,KAAK;QACnB,SAAS,EAAE,KAAK;KACjB,CAAC;;2CACc;AAOhB;IALC,IAAA,6BAAM,EAAC;QACN,IAAI,EAAE,+BAAQ,CAAC,OAAO;QACtB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,KAAK;KACjB,CAAC;;0CACa;AAGf;IADC,6BAAM;8BACI,IAAI;6CAAA;AAGf;IADC,6BAAM;8BACI,IAAI;6CAAA;AAxCI,UAAU;IAD9B,IAAA,4BAAK,EAAC,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;GACzC,UAAU,CAyC9B;kBAzCoB,UAAU"}
\ No newline at end of file
diff --git a/dist/src/tests/controllers/badgeBot.test.js b/dist/src/tests/controllers/badgeBot.test.js
index b31bacbac..702db6226 100644
--- a/dist/src/tests/controllers/badgeBot.test.js
+++ b/dist/src/tests/controllers/badgeBot.test.js
@@ -34,11 +34,19 @@ function badgeBotTest(t, index1, index2, index3) {
//NODE1 CREATES A TRIBE
let tribe = yield (0, save_1.createTribe)(t, node1);
t.truthy(tribe, 'tribe should have been created by node1');
+ // NODE 2 CREATES A SECOND TRIBE
+ let tribe2 = yield (0, save_1.createTribe)(t, node1);
+ t.truthy(tribe2, 'tribe should have been created by node1');
//NODE2 JOINS TRIBE CREATED BY NODE1
if (node1.routeHint)
tribe.owner_route_hint = node1.routeHint;
let join = yield (0, save_1.joinTribe)(t, node2, tribe);
t.true(join, 'node2 should join tribe');
+ //NODE2 JOINS TRIBE CREATED BY NODE1
+ if (node1.routeHint)
+ tribe2.owner_route_hint = node1.routeHint;
+ let join3 = yield (0, save_1.joinTribe)(t, node2, tribe2);
+ t.true(join3, 'node2 should join tribe');
//NODE1 SENDS A BOT HELP MESSAGE IN TRIBE
const text = '/bot help';
yield (0, msg_1.sendTribeMessage)(t, node1, tribe, text);
@@ -53,12 +61,22 @@ function badgeBotTest(t, index1, index2, index3) {
botAlias = 'MotherBot';
const botReply2 = yield (0, get_1.getCheckBotMsg)(t, node1, botAlias);
t.truthy(botReply2, 'MotherBot should reply');
+ //NODE1 SENDS A BOT INSTALL MESSAGE IN SECOND TRIBE
+ const badge2 = '/bot install badge';
+ yield (0, msg_1.sendTribeMessage)(t, node1, tribe2, badge2);
+ //NODE1 AWAIT REPLY FROM BOT
+ botAlias = 'MotherBot';
+ const botReply3 = yield (0, get_1.getCheckBotMsg)(t, node1, botAlias);
+ t.truthy(botReply3, 'MotherBot should reply');
// // NODE1 CREATES A BADGE THROUGH THE ENPOINT
- // const earnBadge = await createBadge(t, node1, tribe, 1, 10, 'Earn')
- // t.truthy(earnBadge, 'Badge should be created by Node1')
- // NODE1 CREATES A BADGE DDIRECTLY FROM MESSAGE
- const createSpendBadge = '/badge create Spending 10 20 2 spend-badge';
- yield (0, msg_1.sendTribeMessage)(t, node1, tribe, createSpendBadge);
+ const earnBadge = yield (0, bots_1.createBadge)(t, node1, 'Earn Badge');
+ t.truthy(earnBadge, 'Badge should be created by Node1');
+ // Adding Badge to Tribe
+ const addTribe = yield (0, bots_1.addTribeToBadge)(t, node1, tribe, 1, 10);
+ t.truthy(addTribe, 'Badge should be created by Node1');
+ // NODE1 ADD A BADGE DDIRECTLY FROM MESSAGE
+ const createSpendBadge = `/badge add ${earnBadge.response.badge_id} 2 10`;
+ yield (0, msg_1.sendTribeMessage)(t, node1, tribe2, createSpendBadge);
// const spendBadge = await createBadge(t, node1, tribe, 2, 20, 'Spend')
// t.truthy(spendBadge, 'Badge should be created by Node1')
//NODE3 JOINS TRIBE CREATED BY NODE1
@@ -66,33 +84,58 @@ function badgeBotTest(t, index1, index2, index3) {
tribe.owner_route_hint = node1.routeHint;
let join2 = yield (0, save_1.joinTribe)(t, node3, tribe);
t.true(join2, 'node3 should join tribe');
+ //NODE3 JOINS TRIBE CREATED BY NODE1
+ if (node1.routeHint)
+ tribe2.owner_route_hint = node1.routeHint;
+ let join4 = yield (0, save_1.joinTribe)(t, node3, tribe2);
+ t.true(join4, 'node3 should join tribe');
// await sleep(1000)
//NODE2 SENDS A MESSAGE IN THE TRIBE AND NODE3 CHECKS TO SEE IF THEY RECEIVED THE MESSAGE
const text3 = (0, helpers_1.randomText)();
let tribeMessage1 = yield (0, msg_2.sendTribeMessageAndCheckDecryption)(t, node2, node3, text3, tribe);
t.truthy(tribeMessage1, 'node2 should send message to tribe');
+ //NODE2 SENDS A MESSAGE IN THE TRIBE AND NODE3 CHECKS TO SEE IF THEY RECEIVED THE MESSAGE
+ const text4 = (0, helpers_1.randomText)();
+ let tribeMessage2 = yield (0, msg_2.sendTribeMessageAndCheckDecryption)(t, node2, node3, text4, tribe2);
+ t.truthy(tribeMessage2, 'node2 should send message to tribe');
//NODE3 SENDS A BOOST ON NODE2'S MESSAGE
const boost3 = yield (0, msg_2.sendBoost)(t, node3, node2, tribeMessage1, 15, tribe);
t.true(boost3.success);
const payment = yield (0, msg_2.sendTribeDirectPayment)(t, node3, node2, tribeMessage1, 15, tribe);
- t.true(payment.success, 'DIrect Payment in tribe should be successful');
+ t.true(payment.success, 'Direct Payment in tribe should be successful');
+ const payment2 = yield (0, msg_2.sendTribeDirectPayment)(t, node3, node2, tribeMessage2, 15, tribe2);
+ t.true(payment2.success, 'Direct Payment in tribe should be successful');
yield (0, helpers_1.sleep)(10000);
// CHECK IF NODE2 ACTUALLY RECIEVED THE BAGDE ON THE ELEMENT SERVER
- // const confirm = await confirmBadge(node2, earnBadge.response.id)
- // t.true(confirm, 'Node 2 should recieve the earner badge')
+ const confirm = yield (0, bots_1.confirmBadge)(node2, earnBadge.response.badge_id);
+ t.true(confirm, 'Node 2 should recieve the earner badge');
// await sleep(1000)
// CHECK IF NODE3 ACTUALLY RECIEVED THE BAGDE ON THE ELEMENT SERVER
- const confirm1 = yield (0, bots_1.confirmBadgeCreatedThroughMessage)(node1, node3, tribe.id, 2);
- t.true(confirm1, 'Node 3 should recieve the spender badge');
+ // const confirm1 = await confirmBadgeCreatedThroughMessage(
+ // node1,
+ // node3,
+ // tribe.id,
+ // 2
+ // )
+ // t.true(confirm1, 'Node 3 should recieve the spender badge')
//NODE2 LEAVES TRIBE
let left2 = yield (0, del_1.leaveTribe)(t, node2, tribe);
t.true(left2, 'node2 should leave tribe');
+ //NODE2 LEAVES TRIBE 2
+ let left4 = yield (0, del_1.leaveTribe)(t, node2, tribe2);
+ t.true(left4, 'node2 should leave tribe');
//NODE3 LEAVES TRIBE
let left3 = yield (0, del_1.leaveTribe)(t, node3, tribe);
t.true(left3, 'node3 should leave tribe');
+ //NODE3 LEAVES TRIBE
+ let left5 = yield (0, del_1.leaveTribe)(t, node3, tribe2);
+ t.true(left5, 'node3 should leave tribe');
//NODE1 DELETES TRIBE
let delTribe2 = yield (0, del_1.deleteTribe)(t, node1, tribe);
t.true(delTribe2, 'node1 should delete tribe');
+ //NODE1 DELETES TRIBE 2
+ let delTribe3 = yield (0, del_1.deleteTribe)(t, node1, tribe2);
+ t.true(delTribe3, 'node1 should delete tribe');
});
}
exports.badgeBotTest = badgeBotTest;
diff --git a/dist/src/tests/controllers/badgeBot.test.js.map b/dist/src/tests/controllers/badgeBot.test.js.map
index d59a760bc..fcf2b28cd 100644
--- a/dist/src/tests/controllers/badgeBot.test.js.map
+++ b/dist/src/tests/controllers/badgeBot.test.js.map
@@ -1 +1 @@
-{"version":3,"file":"badgeBot.test.js","sourceRoot":"","sources":["../../../../src/tests/controllers/badgeBot.test.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"badgeBot.test.js","sourceRoot":"","sources":["../../../../src/tests/controllers/badgeBot.test.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/src/tests/utils/bots/addBadgeToTribe.js b/dist/src/tests/utils/bots/addBadgeToTribe.js
new file mode 100644
index 000000000..906097b4c
--- /dev/null
+++ b/dist/src/tests/utils/bots/addBadgeToTribe.js
@@ -0,0 +1,29 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.addTribeToBadge = void 0;
+const http = require("ava-http");
+const helpers_1 = require("../../utils/helpers");
+function addTribeToBadge(t, node1, tribe, reward_type, reward_requirement) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const v = {
+ chat_id: tribe.id,
+ reward_type,
+ reward_requirement,
+ badge_id: 22222222222222222222222222,
+ };
+ const r = yield http.post(node1.external_ip + '/add_badge', (0, helpers_1.makeArgs)(node1, v));
+ t.true(r.success, 'Badge was added to tribe');
+ return r;
+ });
+}
+exports.addTribeToBadge = addTribeToBadge;
+//# sourceMappingURL=addBadgeToTribe.js.map
\ No newline at end of file
diff --git a/dist/src/tests/utils/bots/addBadgeToTribe.js.map b/dist/src/tests/utils/bots/addBadgeToTribe.js.map
new file mode 100644
index 000000000..91a8a8c13
--- /dev/null
+++ b/dist/src/tests/utils/bots/addBadgeToTribe.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"addBadgeToTribe.js","sourceRoot":"","sources":["../../../../../src/tests/utils/bots/addBadgeToTribe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAgC;AAChC,iDAA8C;AAE9C,SAAsB,eAAe,CACnC,CAAC,EACD,KAAK,EACL,KAAK,EACL,WAAW,EACX,kBAAkB;;QAElB,MAAM,CAAC,GAAG;YACR,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,WAAW;YACX,kBAAkB;YAClB,QAAQ,EAAE,0BAA0B;SACrC,CAAA;QACD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CACvB,KAAK,CAAC,WAAW,GAAG,YAAY,EAChC,IAAA,kBAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,CACnB,CAAA;QAED,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAA;QAC7C,OAAO,CAAC,CAAA;IACV,CAAC;CAAA;AApBD,0CAoBC"}
\ No newline at end of file
diff --git a/dist/src/tests/utils/bots/createBadge.js b/dist/src/tests/utils/bots/createBadge.js
index bfb9ec3c8..b60e03501 100644
--- a/dist/src/tests/utils/bots/createBadge.js
+++ b/dist/src/tests/utils/bots/createBadge.js
@@ -12,15 +12,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
exports.createBadge = void 0;
const http = require("ava-http");
const helpers_1 = require("../../utils/helpers");
-function createBadge(t, node1, tribe, rewardType, claim_amount, name) {
+function createBadge(t, node1, name) {
return __awaiter(this, void 0, void 0, function* () {
const v = {
icon: 'test-asset-icon',
name,
amount: 10,
- chat_id: tribe.id,
- claim_amount,
- reward_type: rewardType,
+ memo: 'Test Badge created',
};
const r = yield http.post(node1.external_ip + '/create_badge', (0, helpers_1.makeArgs)(node1, v));
t.true(r.success, 'Badge bot created.');
diff --git a/dist/src/tests/utils/bots/createBadge.js.map b/dist/src/tests/utils/bots/createBadge.js.map
index fb19d5503..b50c0ce37 100644
--- a/dist/src/tests/utils/bots/createBadge.js.map
+++ b/dist/src/tests/utils/bots/createBadge.js.map
@@ -1 +1 @@
-{"version":3,"file":"createBadge.js","sourceRoot":"","sources":["../../../../../src/tests/utils/bots/createBadge.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAgC;AAChC,iDAA8C;AAE9C,SAAsB,WAAW,CAC/B,CAAC,EACD,KAAK,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,IAAI;;QAEJ,MAAM,CAAC,GAAG;YACR,IAAI,EAAE,iBAAiB;YACvB,IAAI;YACJ,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,YAAY;YACZ,WAAW,EAAE,UAAU;SACxB,CAAA;QACD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CACvB,KAAK,CAAC,WAAW,GAAG,eAAe,EACnC,IAAA,kBAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,CACnB,CAAA;QAED,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;QAEvC,OAAO,CAAC,CAAA;IACV,CAAC;CAAA;AAxBD,kCAwBC"}
\ No newline at end of file
+{"version":3,"file":"createBadge.js","sourceRoot":"","sources":["../../../../../src/tests/utils/bots/createBadge.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAgC;AAChC,iDAA8C;AAE9C,SAAsB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI;;QAC9C,MAAM,CAAC,GAAG;YACR,IAAI,EAAE,iBAAiB;YACvB,IAAI;YACJ,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,oBAAoB;SAC3B,CAAA;QACD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CACvB,KAAK,CAAC,WAAW,GAAG,eAAe,EACnC,IAAA,kBAAQ,EAAC,KAAK,EAAE,CAAC,CAAC,CACnB,CAAA;QAED,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAA;QACvC,OAAO,CAAC,CAAA;IACV,CAAC;CAAA;AAdD,kCAcC"}
\ No newline at end of file
diff --git a/dist/src/tests/utils/bots/index.js b/dist/src/tests/utils/bots/index.js
index f0836fb53..c2849a153 100644
--- a/dist/src/tests/utils/bots/index.js
+++ b/dist/src/tests/utils/bots/index.js
@@ -1,6 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
-exports.confirmBadgeCreatedThroughMessage = exports.confirmBadge = exports.createBadge = exports.botDecrypt = void 0;
+exports.addTribeToBadge = exports.confirmBadgeCreatedThroughMessage = exports.confirmBadge = exports.createBadge = exports.botDecrypt = void 0;
var botDecrypt_1 = require("./botDecrypt");
Object.defineProperty(exports, "botDecrypt", { enumerable: true, get: function () { return botDecrypt_1.botDecrypt; } });
var createBadge_1 = require("./createBadge");
@@ -8,4 +8,6 @@ Object.defineProperty(exports, "createBadge", { enumerable: true, get: function
var confirmBadge_1 = require("./confirmBadge");
Object.defineProperty(exports, "confirmBadge", { enumerable: true, get: function () { return confirmBadge_1.confirmBadge; } });
Object.defineProperty(exports, "confirmBadgeCreatedThroughMessage", { enumerable: true, get: function () { return confirmBadge_1.confirmBadgeCreatedThroughMessage; } });
+var addBadgeToTribe_1 = require("./addBadgeToTribe");
+Object.defineProperty(exports, "addTribeToBadge", { enumerable: true, get: function () { return addBadgeToTribe_1.addTribeToBadge; } });
//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/dist/src/tests/utils/bots/index.js.map b/dist/src/tests/utils/bots/index.js.map
index d95b6ef9f..fb0d34809 100644
--- a/dist/src/tests/utils/bots/index.js.map
+++ b/dist/src/tests/utils/bots/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/tests/utils/bots/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AACpB,+CAAgF;AAAvE,4GAAA,YAAY,OAAA;AAAE,iIAAA,iCAAiC,OAAA"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/tests/utils/bots/index.ts"],"names":[],"mappings":";;;AAAA,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA;AACpB,+CAAgF;AAAvE,4GAAA,YAAY,OAAA;AAAE,iIAAA,iCAAiC,OAAA;AACxD,qDAAmD;AAA1C,kHAAA,eAAe,OAAA"}
\ No newline at end of file
diff --git a/dist/src/utils/badgeBot.js b/dist/src/utils/badgeBot.js
new file mode 100644
index 000000000..d3ab80dbc
--- /dev/null
+++ b/dist/src/utils/badgeBot.js
@@ -0,0 +1,38 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.createBadgeBot = void 0;
+const constants_1 = require("../constants");
+const models_1 = require("../models");
+function createBadgeBot(chatId, tenant) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const badge = yield models_1.models.ChatBot.findOne({
+ where: { tenant, chatId, botPrefix: '/badge' },
+ });
+ if (!badge) {
+ const chatBot = {
+ chatId,
+ botPrefix: '/badge',
+ botType: constants_1.default.bot_types.builtin,
+ msgTypes: JSON.stringify([
+ constants_1.default.message_types.message,
+ constants_1.default.message_types.boost,
+ constants_1.default.message_types.direct_payment,
+ ]),
+ pricePerUse: 0,
+ tenant,
+ };
+ yield models_1.models.ChatBot.create(chatBot);
+ }
+ });
+}
+exports.createBadgeBot = createBadgeBot;
+//# sourceMappingURL=badgeBot.js.map
\ No newline at end of file
diff --git a/dist/src/utils/badgeBot.js.map b/dist/src/utils/badgeBot.js.map
new file mode 100644
index 000000000..7cad88899
--- /dev/null
+++ b/dist/src/utils/badgeBot.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"badgeBot.js","sourceRoot":"","sources":["../../../src/utils/badgeBot.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAoC;AACpC,sCAAkC;AAElC,SAAsB,cAAc,CAAC,MAAc,EAAE,MAAc;;QACjE,MAAM,KAAK,GAAG,MAAM,eAAM,CAAC,OAAO,CAAC,OAAO,CAAC;YACzC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC/C,CAAC,CAAA;QACF,IAAI,CAAC,KAAK,EAAE;YACV,MAAM,OAAO,GAAyB;gBACpC,MAAM;gBACN,SAAS,EAAE,QAAQ;gBACnB,OAAO,EAAE,mBAAS,CAAC,SAAS,CAAC,OAAO;gBACpC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC;oBACvB,mBAAS,CAAC,aAAa,CAAC,OAAO;oBAC/B,mBAAS,CAAC,aAAa,CAAC,KAAK;oBAC7B,mBAAS,CAAC,aAAa,CAAC,cAAc;iBACvC,CAAC;gBACF,WAAW,EAAE,CAAC;gBACd,MAAM;aACP,CAAA;YACD,MAAM,eAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;SACrC;IACH,CAAC;CAAA;AAnBD,wCAmBC"}
\ No newline at end of file
diff --git a/dist/src/utils/config.js b/dist/src/utils/config.js
index 45e475d33..46f3de692 100644
--- a/dist/src/utils/config.js
+++ b/dist/src/utils/config.js
@@ -26,6 +26,7 @@ const DEFAULT_TRANSPORT_PUBLIC_KEY_LOCATION = './creds/transportTokenPublicKey.p
const DEFAULT_TRANSPORT_PRIVATE_KEY_LOCATION = './creds/transportTokenPrivateKey.pem';
const DEFAULT_LENGTH_DELAY_FOR_TRANSPORT_TOKEN_DB_CLEARING = 1;
const DEFAULT_BOLTWALL_SERVER = 'http://host.docker.internal:8444';
+// const DEFAULT_BOLTWALL_SERVER = 'http://localhost:8444'
function loadConfig() {
const logg = ENV.LOGGING || config.logging;
const provider = ENV.LIGHTNING_PROVIDER || config.lightning_provider || 'LND';
diff --git a/dist/src/utils/config.js.map b/dist/src/utils/config.js.map
index 39be81867..ef3b4aed8 100644
--- a/dist/src/utils/config.js.map
+++ b/dist/src/utils/config.js.map
@@ -1 +1 @@
-{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/src/utils/migrate.js b/dist/src/utils/migrate.js
index a4aa6fc19..cc1c70872 100644
--- a/dist/src/utils/migrate.js
+++ b/dist/src/utils/migrate.js
@@ -327,7 +327,28 @@ function migrate() {
catch (e) {
// sphinxLogger.error(['problem adding badge table:', e], logging.DB)
}
+ try {
+ logger_1.sphinxLogger.info('adding tribe badge table', logger_1.logging.DB);
+ yield models_1.sequelize.query(`
+ CREATE TABLE sphinx_tribe_badge (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ badge_id INTEGER,
+ chat_id INTEGER,
+ reward_type INTEGER,
+ reward_requirement INTEGER,
+ deleted BOOLEAN,
+ created_at DATETIME,
+ updated_at DATETIME
+ )`);
+ }
+ catch (e) {
+ // sphinxLogger.error(['problem adding tribe badge table:', e], logging.DB)
+ }
addTableColumn('sphinx_chat_bots', 'hidden_commands');
+ addTableColumn('sphinx_badge', 'reward_type', 'INTEGER');
+ addTableColumn('sphinx_badge', 'reward_requirement', 'INTEGER');
+ addTableColumn('sphinx_badge', 'active', 'BOOLEAN');
+ addTableColumn('sphinx_tribe_badge', 'active', 'BOOLEAN');
});
}
exports.default = migrate;
diff --git a/dist/src/utils/migrate.js.map b/dist/src/utils/migrate.js.map
index cc37862c1..12622ff68 100644
--- a/dist/src/utils/migrate.js.map
+++ b/dist/src/utils/migrate.js.map
@@ -1 +1 @@
-{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/utils/migrate.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/utils/migrate.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/src/builtin/badge.ts b/src/builtin/badge.ts
index 59f7fd759..182177214 100644
--- a/src/builtin/badge.ts
+++ b/src/builtin/badge.ts
@@ -2,34 +2,28 @@ import * as Sphinx from 'sphinx-bot'
import { sphinxLogger, logging } from '../utils/logger'
import { finalAction } from '../controllers/botapi'
import {
- ChatBotRecord,
+ BadgeRecord,
ChatMemberRecord,
ChatRecord,
ContactRecord,
MessageRecord,
models,
+ TribeBadgeRecord,
} from '../models'
import constants from '../constants'
import fetch from 'node-fetch'
-import { transferBadge, createBadge } from '../utils/people'
-import { Badge } from '../types'
+import { transferBadge } from '../utils/people'
import {
hideCommandHandler,
determineOwnerOnly,
} from '../controllers/botapi/hideAndUnhideCommand'
-
-interface BadgeRewards {
- badgeId: number
- rewardType: number
- amount: number
- name: string
- asset: string
-}
+import { loadConfig } from '../utils/config'
const msg_types = Sphinx.MSG_TYPE
let initted = false
const botPrefix = '/badge'
+const config = loadConfig()
// check who the message came from
// check their Member table to see if it cross the amount
@@ -58,52 +52,14 @@ export function init() {
const isAdmin = message.member.roles.find((role) => role.name === 'Admin')
if (!isAdmin) return
switch (cmd) {
- case 'create':
- if (arr.length === 7) {
- const name = arr[2]
- if (!name) {
- const addFields = [
- {
- name: 'Badge Bot Error',
- value: 'Provide a valid badge name',
- },
- ]
- botResponse(
- addFields,
- 'BadgeBot',
- 'Badge Error',
- message,
- cmd,
- tribe.id
- )
- return
- }
- const amount = Number(arr[3])
- if (isNaN(amount)) {
- const addFields = [
- {
- name: 'Badge Bot Error',
- value:
- 'Provide a valid amount of badge you would like to create',
- },
- ]
- botResponse(
- addFields,
- 'BadgeBot',
- 'Badge Error',
- message,
- cmd,
- tribe.id
- )
- return
- }
- const claim_amount = Number(arr[4])
- if (isNaN(claim_amount)) {
+ case 'add':
+ if (arr.length === 5 || arr.length === 3) {
+ const badgeId = Number(arr[2])
+ if (isNaN(badgeId)) {
const addFields = [
{
name: 'Badge Bot Error',
- value:
- 'Provide a valid amount of sats condition a tribe memeber has to complete to earn this badge',
+ value: 'Provide a valid badge id',
},
]
botResponse(
@@ -116,62 +72,88 @@ export function init() {
)
return
}
- const reward_type = Number(arr[5])
- if (isNaN(reward_type)) {
- const addFields = [
- {
- name: 'Badge Bot Error',
- value:
- 'Provide a valid amount of badge you would like to create',
- },
- ]
- botResponse(
- addFields,
- 'BadgeBot',
- 'Badge Error',
- message,
- cmd,
- tribe.id
- )
- return
+ const rewardType = arr[3]
+ if (rewardType) {
+ let rewardType = Number(arr[3])
+ if (isNaN(rewardType)) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Provide a valid reward type',
+ },
+ ]
+ botResponse(
+ addFields,
+ 'BadgeBot',
+ 'Badge Error',
+ message,
+ cmd,
+ tribe.id
+ )
+ return
+ }
+ let validRewardType = false
+ for (const key in constants.reward_types) {
+ if (constants.reward_types[key] === rewardType) {
+ validRewardType = true
+ }
+ }
+ if (!validRewardType) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Provide a valid reward type',
+ },
+ ]
+ botResponse(
+ addFields,
+ 'BadgeBot',
+ 'Badge Error',
+ message,
+ cmd,
+ tribe.id
+ )
+ return
+ }
}
- const icon = arr[6]
- if (!icon) {
- const addFields = [
- {
- name: 'Badge Bot Error',
- value: 'Provide a valid Icon url',
- },
- ]
- botResponse(
- addFields,
- 'BadgeBot',
- 'Badge Error',
- message,
- cmd,
- tribe.id
- )
- return
+ const rewardRequirement = arr[4]
+ if (rewardRequirement) {
+ let rewardRequirement = Number(arr[4])
+ if (isNaN(rewardRequirement) || rewardRequirement === 0) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value:
+ 'Provide a valid amount of sats condition a tribe memeber has to complete to earn this badge',
+ },
+ ]
+ botResponse(
+ addFields,
+ 'BadgeBot',
+ 'Badge Error',
+ message,
+ cmd,
+ tribe.id
+ )
+ return
+ }
}
- const response = await createBadge({
- icon,
- amount: amount,
- name,
- owner_pubkey: tribe.ownerPubkey,
- })
- await createOrEditBadgeBot(
+ const badgeName = await addBadgeToTribe(
+ badgeId,
+ message.member.id!,
tribe.id,
- tribe.tenant,
- response,
- claim_amount,
- reward_type
+ Number(rewardRequirement),
+ Number(rewardType),
+ cmd,
+ message
)
+ if (!badgeName) {
+ return
+ }
const embed = new Sphinx.MessageEmbed()
.setAuthor('BadgeBot')
- .setDescription(
- response.name + ' badge has been added to this tribe'
- )
+ .setDescription(badgeName + ' badge has been added to this tribe')
.setOnlyOwner(await determineOwnerOnly(botPrefix, cmd, tribe.id))
message.channel.send({ embed })
return
@@ -227,7 +209,7 @@ export function init() {
{
name: 'Create new badge bot',
value:
- '/badge create {BADGE_NAME} {AMOUNT_OF_BADGE_TO_CREATE} {CONDITION_FOR_BADGE_TO_BE CLAIMED} {BADGE_TYPE} {BADGE_ICON}',
+ '/badge add {BADGE_ID} {BADGE_TYPE} {CONDITION_FOR_BADGE_TO_BE CLAIMED}',
},
{ name: 'Help', value: '/badge help' },
])
@@ -239,13 +221,6 @@ export function init() {
const chatMembers: ChatMemberRecord[] = []
try {
- const bot = (await models.ChatBot.findOne({
- where: {
- botPrefix: '/badge',
- chatId: tribe.id,
- tenant: tribe.tenant,
- },
- })) as ChatBotRecord
const chatMember = (await models.ChatMember.findOne({
where: {
contactId: parseInt(message.member.id!),
@@ -283,39 +258,46 @@ export function init() {
})) as ChatMemberRecord
chatMembers.push(tribeMember)
}
+ const tribeBadges = (await models.TribeBadge.findAll({
+ where: { chatId: tribe.id, active: true },
+ })) as TribeBadgeRecord[]
- if (bot && typeof bot.meta === 'string') {
+ if (tribeBadges && tribeBadges.length > 0) {
for (let j = 0; j < chatMembers.length; j++) {
const chatMember: ChatMemberRecord = chatMembers[j]
- const rewards: BadgeRewards[] = JSON.parse(bot.meta)
- for (let i = 0; i < rewards.length; i++) {
- const reward = rewards[i]
+ for (let i = 0; i < tribeBadges.length; i++) {
+ const tribeBadge = tribeBadges[i]
let doReward = false
- if (reward.rewardType === constants.reward_types.earned) {
+ if (tribeBadge.rewardType === constants.reward_types.earned) {
if (
- chatMember.totalEarned === reward.amount ||
- chatMember.totalEarned > reward.amount
+ chatMember.totalEarned === tribeBadge.rewardRequirement ||
+ chatMember.totalEarned > tribeBadge.rewardRequirement
) {
doReward = true
}
- } else if (reward.rewardType === constants.reward_types.spent) {
+ } else if (
+ tribeBadge.rewardType === constants.reward_types.spent
+ ) {
if (
- chatMember.totalSpent === reward.amount ||
- chatMember.totalSpent > reward.amount
+ chatMember.totalSpent === tribeBadge.rewardRequirement ||
+ chatMember.totalSpent > tribeBadge.rewardRequirement
) {
doReward = true
}
}
if (doReward) {
+ const ogBadge = (await models.Badge.findOne({
+ where: { id: tribeBadge.badgeId },
+ })) as BadgeRecord
const hasReward = await checkReward(
chatMember.contactId,
- reward.badgeId,
+ ogBadge.badgeId,
tribe.tenant
)
if (!hasReward.status) {
const badge = await transferBadge({
to: hasReward.pubkey,
- asset: reward.badgeId,
+ asset: ogBadge.badgeId,
amount: 1,
memo: '',
owner_pubkey: tribe.ownerPubkey,
@@ -324,7 +306,7 @@ export function init() {
const resEmbed = new Sphinx.MessageEmbed()
.setAuthor('BagdeBot')
.setDescription(
- `${chatMember.lastAlias} just earned the ${reward.name} badge!, https://blockstream.info/liquid/asset/${reward.asset} redeem on people.sphinx.chat`
+ `${chatMember.lastAlias} just earned the ${ogBadge.name} badge!, https://blockstream.info/liquid/asset/${ogBadge.asset} redeem on people.sphinx.chat`
)
message.channel.send({ embed: resEmbed })
return
@@ -343,7 +325,7 @@ export function init() {
async function getReward(pubkey: string) {
const res = await fetch(
- `https://liquid.sphinx.chat/balances?pubkey=${pubkey}`,
+ `${config.boltwall_server}/badge_balance?pubkey=${pubkey}`,
{ method: 'GET', headers: { 'Content-Type': 'application/json' } }
)
const results = await res.json()
@@ -368,77 +350,6 @@ async function checkReward(
return { pubkey: contact.publicKey, status: false }
}
-export async function createOrEditBadgeBot(
- chatId: number,
- tenant: number,
- badge: Badge,
- amount: number,
- rewardType: number
-): Promise {
- try {
- const botExist = (await models.ChatBot.findOne({
- where: { botPrefix: '/badge', chatId },
- })) as ChatBotRecord
-
- if (botExist) {
- let meta: string = ''
- if (typeof botExist.meta === 'string') {
- let temMeta: BadgeRewards[] = JSON.parse(botExist.meta)
- if (Array.isArray(temMeta)) {
- temMeta.push({
- name: badge.name,
- amount,
- badgeId: badge.id,
- rewardType: rewardType,
- asset: badge.asset,
- })
- meta = JSON.stringify(temMeta)
- }
- } else {
- let temMeta: BadgeRewards[] = []
- temMeta.push({
- name: badge.name,
- amount,
- badgeId: badge.id,
- rewardType: rewardType,
- asset: badge.asset,
- })
- meta = JSON.stringify(temMeta)
- }
- await botExist.update({ meta })
- return true
- } else {
- let temMeta: BadgeRewards[] = []
- temMeta.push({
- name: badge.name,
- amount,
- badgeId: badge.id,
- rewardType: rewardType,
- asset: badge.asset,
- })
-
- const chatBot: { [k: string]: any } = {
- chatId,
- botPrefix: '/badge',
- botType: constants.bot_types.builtin,
- msgTypes: JSON.stringify([
- constants.message_types.message,
- constants.message_types.boost,
- constants.message_types.direct_payment,
- ]),
- pricePerUse: 0,
- tenant,
- meta: JSON.stringify(temMeta),
- }
- await models.ChatBot.create(chatBot)
- return true
- }
- } catch (error) {
- sphinxLogger.error(`BADGE BOT ERROR ${error}`, logging.Bots)
- return false
- }
-}
-
async function botResponse(addFields, author, title, message, cmd, tribeId) {
const resEmbed = new Sphinx.MessageEmbed()
.setAuthor(author)
@@ -452,3 +363,64 @@ async function botResponse(addFields, author, title, message, cmd, tribeId) {
const botSVG = ``
+
+async function addBadgeToTribe(
+ badgeId,
+ tenant,
+ tribeId,
+ reward_requirement,
+ reward_type,
+ cmd,
+ message
+) {
+ const badge = (await models.Badge.findOne({
+ where: { badgeId, tenant, active: true },
+ })) as BadgeRecord
+ if (!badge) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Invalid Badge',
+ },
+ ]
+ botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribeId)
+ return
+ }
+ const badgeExist = await models.TribeBadge.findOne({
+ where: { chatId: tribeId, badgeId: badge.id },
+ })
+ if (badgeExist) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Badge already exist in tribe',
+ },
+ ]
+ botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribeId)
+ return
+ }
+ if (
+ (isNaN(reward_type) && !badge.rewardType) ||
+ (isNaN(reward_requirement) && !badge.rewardRequirement)
+ ) {
+ const addFields = [
+ {
+ name: 'Badge Bot Error',
+ value: 'Provide adequate badge conditions',
+ },
+ ]
+ botResponse(addFields, 'BadgeBot', 'Badge Error', message, cmd, tribeId)
+ return
+ }
+ await models.TribeBadge.create({
+ rewardType: badge.rewardType ? badge.rewardType : reward_type,
+ rewardRequirement: badge.rewardRequirement
+ ? badge.rewardRequirement
+ : reward_requirement,
+ badgeId: badge.id,
+ chatId: tribeId,
+ active: true,
+ })
+
+ return badge.name
+}
diff --git a/src/builtin/mother.ts b/src/builtin/mother.ts
index 11e66c3f8..c3c30a2d1 100644
--- a/src/builtin/mother.ts
+++ b/src/builtin/mother.ts
@@ -183,6 +183,10 @@ export function init() {
{ name: 'Search for bots', value: '/bot search {SEARCH_TERM}' },
{ name: 'Install a new bot', value: '/bot install {BOTNAME}' },
{ name: 'Uninstall a bot', value: '/bot uninstall {BOTNAME}' },
+ {
+ name: 'Hide bot command from tribe members',
+ value: '/{BOTNAME} hide {COMMAND_TO_HIDE}',
+ },
{ name: 'Help', value: '/bot help' },
])
.setThumbnail(botSVG)
diff --git a/src/controllers/api/personal.ts b/src/controllers/api/personal.ts
index 6e42b2195..614695e9d 100644
--- a/src/controllers/api/personal.ts
+++ b/src/controllers/api/personal.ts
@@ -2,7 +2,13 @@ import * as meme from '../../utils/meme'
import * as FormData from 'form-data'
import fetch from 'node-fetch'
import * as people from '../../utils/people'
-import { models, Contact, BadgeRecord } from '../../models'
+import {
+ models,
+ Contact,
+ BadgeRecord,
+ ChatRecord,
+ TribeBadgeRecord,
+} from '../../models'
import * as jsonUtils from '../../utils/json'
import { success, failure } from '../../utils/res'
import { loadConfig } from '../../utils/config'
@@ -10,6 +16,8 @@ import { createJWT, scopes } from '../../utils/jwt'
import { Badge, Req, Res } from '../../types'
// import { createOrEditBadgeBot } from '../../builtin/badge'
import constants from '../../constants'
+import { createBadgeBot } from '../../utils/badgeBot'
+import { genSignedTimestamp } from '../../utils/tribes'
const config = loadConfig()
// accessed from people.sphinx.chat website
@@ -23,8 +31,14 @@ interface Badges {
memo: string
asset: string
icon: string
+ reward_type: number
+ reward_requirement: number
+ active: boolean
}
-export async function createPeopleProfile(req: Req, res: Res) {
+export async function createPeopleProfile(
+ req: Req,
+ res: Res
+): Promise {
if (!req.owner) return failure(res, 'no owner')
const tenant: number = req.owner.id
@@ -79,7 +93,10 @@ export async function createPeopleProfile(req: Req, res: Res) {
}
// accessed from people.sphinx.chat website
-export async function deletePersonProfile(req: Req, res: Res) {
+export async function deletePersonProfile(
+ req: Req,
+ res: Res
+): Promise {
if (!req.owner) return failure(res, 'no owner')
const tenant: number = req.owner.id
@@ -101,7 +118,10 @@ export async function deletePersonProfile(req: Req, res: Res) {
}
}
-export async function deleteTicketByAdmin(req: Req, res: Res) {
+export async function deleteTicketByAdmin(
+ req: Req,
+ res: Res
+): Promise {
if (!req.owner) return failure(res, 'no owner')
try {
@@ -120,7 +140,10 @@ export async function deleteTicketByAdmin(req: Req, res: Res) {
}
}
-export async function uploadPublicPic(req: Req, res: Res) {
+export async function uploadPublicPic(
+ req: Req,
+ res: Res
+): Promise {
if (!req.owner) return failure(res, 'no owner')
const { img_base64, img_type } = req.body
@@ -169,7 +192,7 @@ export async function uploadPublicPic(req: Req, res: Res) {
}
}
-export async function refreshJWT(req: Req, res: Res) {
+export async function refreshJWT(req: Req, res: Res): Promise {
if (!req.owner) return failure(res, 'no owner')
const sc = [scopes.PERSONAL]
const jot = createJWT(req.owner.publicKey, sc, 10080) // one week
@@ -203,7 +226,10 @@ export async function claimOnLiquid(req: Req, res: Res) {
}
}
-export async function createBadge(req: Req, res: Res) {
+export async function createBadge(
+ req: Req,
+ res: Res
+): Promise {
if (!req.owner) return failure(res, 'no owner')
const tenant: number = req.owner.id
@@ -212,7 +238,15 @@ export async function createBadge(req: Req, res: Res) {
where: { tenant, isOwner: true },
})) as Contact
- const { name, icon, amount, memo } = req.body
+ const {
+ name,
+ icon,
+ amount,
+ memo,
+ reward_type,
+ reward_requirement,
+ chat_id,
+ } = req.body
if (
typeof name !== 'string' ||
typeof icon !== 'string' ||
@@ -220,6 +254,32 @@ export async function createBadge(req: Req, res: Res) {
)
return failure(res, 'invalid data passed')
+ if (reward_requirement && !reward_type) {
+ return failure(res, 'Please provide reward type')
+ }
+
+ if (reward_type && !reward_requirement) {
+ return failure(res, 'Please provide reward requirement')
+ }
+
+ if (chat_id && typeof chat_id !== 'number') {
+ return failure(res, 'Please provide valid chat id')
+ }
+
+ if (reward_type) {
+ let validRewardType = false
+ for (const key in constants.reward_types) {
+ if (constants.reward_types[key] === reward_type) {
+ validRewardType = true
+ }
+ }
+ if (!validRewardType) return failure(res, 'invalid reward type')
+ }
+
+ if (reward_requirement && typeof reward_requirement !== 'number') {
+ return failure(res, 'Invalid reward requirement')
+ }
+
const response: Badge = await people.createBadge({
icon,
amount,
@@ -227,26 +287,60 @@ export async function createBadge(req: Req, res: Res) {
owner_pubkey: owner.publicKey,
})
- await models.Badge.create({
+ const badge = (await models.Badge.create({
badgeId: response.id,
name: response.name,
amount: response.amount,
memo,
asset: response.asset,
- deleted: false,
+ active: true,
tenant,
type: constants.badge_type.liquid,
host: config.boltwall_server, //This is subject to change
icon: response.icon,
- })
+ rewardRequirement: reward_requirement ? reward_requirement : null,
+ rewardType: reward_type ? reward_type : null,
+ })) as BadgeRecord
- return success(res, 'Badge Created Successfully')
+ if (chat_id && reward_requirement && reward_type) {
+ const tribe = (await models.Chat.findOne({
+ where: {
+ id: chat_id,
+ ownerPubkey: req.owner.publicKey,
+ deleted: false,
+ tenant,
+ },
+ })) as ChatRecord
+
+ if (tribe) {
+ await models.TribeBadge.create({
+ rewardType: badge.rewardType,
+ rewardRequirement: badge.rewardRequirement,
+ badgeId: badge.id,
+ chatId: tribe.id,
+ active: true,
+ })
+
+ await createBadgeBot(tribe.id, tenant)
+ }
+ }
+ return success(res, {
+ badge_id: badge.badgeId,
+ icon: badge.icon,
+ amount_created: badge.amount,
+ asset: badge.asset,
+ memo: badge.memo,
+ name: badge.name,
+ })
} catch (error) {
return failure(res, error)
}
}
-export async function transferBadge(req: Req, res: Res) {
+export async function transferBadge(
+ req: Req,
+ res: Res
+): Promise {
if (!req.owner) return failure(res, 'no owner')
const tenant: number = req.owner.id
try {
@@ -267,7 +361,10 @@ export async function transferBadge(req: Req, res: Res) {
}
}
-export async function getAllBadge(req: Req, res: Res) {
+export async function getAllBadge(
+ req: Req,
+ res: Res
+): Promise {
if (!req.owner) return failure(res, 'no owner')
const tenant: number = req.owner.id
const limit = (req.query.limit && parseInt(req.query.limit as string)) || 100
@@ -275,7 +372,7 @@ export async function getAllBadge(req: Req, res: Res) {
try {
const badges = (await models.Badge.findAll({
- where: { tenant, deleted: false },
+ where: { tenant, active: true },
limit,
offset,
})) as BadgeRecord[]
@@ -289,7 +386,7 @@ export async function getAllBadge(req: Req, res: Res) {
const balance = results.balances[i]
balObject[balance.asset_id] = balance
}
- const finalRes: Badges[] = []
+ const finalRes: Partial[] = []
for (let j = 0; j < badges.length; j++) {
const badge = badges[j]
if (balObject[badge.badgeId]) {
@@ -301,6 +398,8 @@ export async function getAllBadge(req: Req, res: Res) {
asset: badge.asset,
memo: badge.memo,
name: badge.name,
+ reward_requirement: badge.rewardRequirement,
+ reward_type: badge.rewardType,
})
}
}
@@ -310,22 +409,303 @@ export async function getAllBadge(req: Req, res: Res) {
}
}
-export async function deleteBadge(req: Req, res: Res) {
+export async function deleteBadge(
+ req: Req,
+ res: Res
+): Promise {
if (!req.owner) return failure(res, 'no owner')
const tenant: number = req.owner.id
const badgeId = req.params.id
try {
const badge = (await models.Badge.findOne({
- where: { tenant, badgeId, deleted: false },
+ where: { tenant, badgeId, active: true },
})) as BadgeRecord
if (!badge) {
return failure(res, 'Badge does not exist')
} else {
- await badge.update({ deleted: true })
+ await badge.update({ active: false })
return success(res, `${badge.name} was deleted successfully`)
}
} catch (error) {
return failure(res, error)
}
}
+
+export async function addBadgeToTribe(
+ req: Req,
+ res: Res
+): Promise {
+ if (!req.owner) return failure(res, 'no owner')
+ const tenant: number = req.owner.id
+ const { chat_id, reward_type, reward_requirement, badge_id } = req.body
+
+ if (!chat_id || !badge_id) {
+ return failure(res, 'Invalid data passed')
+ }
+
+ if (reward_requirement && !reward_type) {
+ return failure(res, 'Please provide reward type')
+ }
+
+ if (reward_type && !reward_requirement) {
+ return failure(res, 'Please provide reward requirement')
+ }
+
+ if (reward_type) {
+ let validRewardType = false
+ for (const key in constants.reward_types) {
+ if (constants.reward_types[key] === reward_type) {
+ validRewardType = true
+ }
+ }
+ if (!validRewardType) return failure(res, 'invalid reward type')
+ }
+
+ if (reward_requirement && typeof reward_requirement !== 'number') {
+ return failure(res, 'Invalid reward requirement')
+ }
+ try {
+ const tribe = (await models.Chat.findOne({
+ where: {
+ id: chat_id,
+ ownerPubkey: req.owner.publicKey,
+ deleted: false,
+ tenant,
+ },
+ })) as ChatRecord
+ if (!tribe) {
+ return failure(res, 'Invalid tribe')
+ }
+ const badge = (await models.Badge.findOne({
+ where: { badgeId: badge_id, tenant, active: true },
+ })) as BadgeRecord
+ if (!badge) {
+ return failure(res, 'Invalid Badge')
+ }
+ const badgeExist = (await models.TribeBadge.findOne({
+ where: { chatId: tribe.id, badgeId: badge.id },
+ })) as TribeBadgeRecord
+
+ if (badgeExist && badgeExist.active === true) {
+ return failure(res, 'Badge already exist in tribe')
+ }
+
+ if (
+ (!badge.rewardType && !reward_type) ||
+ (!badge.rewardRequirement && !reward_requirement)
+ ) {
+ return failure(res, 'Please provide reward type and reward requirement')
+ }
+
+ if (badgeExist && badgeExist.active === false) {
+ await badgeExist.update({
+ active: true,
+ rewardType: badge.rewardType ? badge.rewardType : reward_type,
+ rewardRequirement: badge.rewardRequirement
+ ? badge.rewardRequirement
+ : reward_requirement,
+ })
+ } else {
+ await models.TribeBadge.create({
+ rewardType: badge.rewardType ? badge.rewardType : reward_type,
+ rewardRequirement: badge.rewardRequirement
+ ? badge.rewardRequirement
+ : reward_requirement,
+ badgeId: badge.id,
+ chatId: tribe.id,
+ active: true,
+ })
+ }
+
+ await createBadgeBot(tribe.id, tenant)
+ return success(res, 'Badge was added to tribe successfully')
+ } catch (error) {
+ return failure(res, error)
+ }
+}
+
+export async function updateBadge(
+ req: Req,
+ res: Res
+): Promise {
+ if (!req.owner) return failure(res, 'no owner')
+ const tenant: number = req.owner.id
+ const { badge_id, icon } = req.body
+
+ if (!badge_id || !icon) {
+ return failure(res, 'Missing required data')
+ }
+
+ try {
+ const badge = await models.Badge.findOne({
+ where: { badgeId: badge_id, tenant },
+ })
+ if (!badge) {
+ return failure(res, "You can't update this badge")
+ }
+ const token = await genSignedTimestamp(req.owner.publicKey)
+ const response = await fetch(
+ `${config.boltwall_server}/update_badge?token=${token}`,
+ {
+ method: 'PUT',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({ id: badge_id, icon }),
+ }
+ )
+ if (!response.ok) {
+ const newRes = await response.json()
+ return failure(res, newRes)
+ }
+ await badge.update({ icon })
+ return success(res, 'Badge Icon updated successfully')
+ } catch (error) {
+ return failure(res, error)
+ }
+}
+
+// hardcoded for now
+export async function badgeTemplates(
+ req: Req,
+ res: Res
+): Promise {
+ const ts = [
+ {
+ rewardType: 1, // earned
+ rewardRequirement: 1000,
+ icon: 'https://community.sphinx.chat/static/1K.svg',
+ name: 'Big Earner',
+ },
+ {
+ rewardType: 2, // spent
+ rewardRequirement: 1000,
+ icon: 'https://community.sphinx.chat/static/VIP.svg',
+ name: 'Big Spender',
+ },
+ ]
+ return success(res, ts)
+}
+
+export async function getBadgePerTribe(
+ req: Req,
+ res: Res
+): Promise {
+ if (!req.owner) return failure(res, 'no owner')
+ const tenant: number = req.owner.id
+ const limit = (req.query.limit && parseInt(req.query.limit as string)) || 100
+ const offset = (req.query.offset && parseInt(req.query.offset as string)) || 0
+ const chat_id = req.params.chat_id
+
+ try {
+ const tribe = (await models.Chat.findOne({
+ where: {
+ id: chat_id,
+ ownerPubkey: req.owner.publicKey,
+ deleted: false,
+ tenant,
+ },
+ })) as ChatRecord
+ if (!tribe) {
+ return failure(res, 'Invalid tribe')
+ }
+ const badges = (await models.Badge.findAll({
+ where: { tenant, active: true },
+ limit,
+ offset,
+ })) as BadgeRecord[]
+
+ const tribeBadges = (await models.TribeBadge.findAll({
+ where: { chatId: tribe.id, active: true },
+ })) as TribeBadgeRecord[]
+
+ const badgeInTribe = {}
+ for (let i = 0; i < tribeBadges.length; i++) {
+ const tribeBadge = tribeBadges[i]
+ badgeInTribe[tribeBadge.badgeId] = true
+ }
+ const response = await fetch(
+ `${config.boltwall_server}/badge_balance?pubkey=${req.owner.publicKey}`,
+ { method: 'GET', headers: { 'Content-Type': 'application/json' } }
+ )
+ const results = await response.json()
+ const balObject = {}
+ for (let i = 0; i < results.balances.length; i++) {
+ const balance = results.balances[i]
+ balObject[balance.asset_id] = balance
+ }
+ const finalRes: Badges[] = []
+ for (let j = 0; j < badges.length; j++) {
+ const badge = badges[j]
+ if (balObject[badge.badgeId]) {
+ finalRes.push({
+ badge_id: badge.badgeId,
+ icon: badge.icon,
+ amount_created: badge.amount,
+ amount_issued: badge.amount - balObject[badge.badgeId].balance,
+ asset: badge.asset,
+ memo: badge.memo,
+ name: badge.name,
+ reward_requirement: badge.rewardRequirement,
+ reward_type: badge.rewardType,
+ active: badgeInTribe[badge.id] ? true : false,
+ })
+ }
+ }
+ return success(res, finalRes)
+ } catch (error) {
+ return failure(res, error)
+ }
+}
+
+export async function removeBadgeFromTribe(
+ req: Req,
+ res: Res
+): Promise {
+ if (!req.owner) return failure(res, 'no owner')
+ const tenant: number = req.owner.id
+ const { chat_id, badge_id } = req.body
+
+ if (
+ !chat_id ||
+ typeof chat_id !== 'number' ||
+ !badge_id ||
+ typeof badge_id !== 'number'
+ ) {
+ return failure(res, 'Invalid chat id or badge id')
+ }
+
+ try {
+ const tribe = (await models.Chat.findOne({
+ where: {
+ id: chat_id,
+ ownerPubkey: req.owner.publicKey,
+ deleted: false,
+ tenant,
+ },
+ })) as ChatRecord
+
+ if (!tribe) {
+ return failure(res, 'Invalid tribe')
+ }
+
+ const badge = (await models.Badge.findOne({
+ where: { tenant, badgeId: badge_id },
+ })) as BadgeRecord
+
+ if (!badge) {
+ return failure(res, 'Badge does not exist')
+ }
+
+ const badgeTribe = (await models.TribeBadge.findOne({
+ where: { badgeId: badge.id, chatId: chat_id, active: true },
+ })) as TribeBadgeRecord
+
+ if (!badgeTribe) {
+ return failure(res, 'Badge does not exist in tribe')
+ }
+ await badgeTribe.update({ active: false })
+ return success(res, 'Badge deactivated successfully')
+ } catch (error) {
+ return failure(res, error)
+ }
+}
diff --git a/src/controllers/index.ts b/src/controllers/index.ts
index 504a9da4d..efe109e68 100644
--- a/src/controllers/index.ts
+++ b/src/controllers/index.ts
@@ -92,6 +92,11 @@ export async function set(app) {
app.post('/transfer_badge', personal.transferBadge)
app.get('/badges', personal.getAllBadge)
app.delete('/badge/:id', personal.deleteBadge)
+ app.post('/add_badge', personal.addBadgeToTribe)
+ app.put('/update_badge', personal.updateBadge)
+ app.get('/badge_templates', personal.badgeTemplates)
+ app.get('/badge_per_tribe/:chat_id', personal.getBadgePerTribe)
+ app.post('/remove_badge', personal.removeBadgeFromTribe)
app.get('/msgs', messages.getMsgs)
app.get('/allmessages', messages.getAllMessages)
diff --git a/src/models/index.ts b/src/models/index.ts
index d83407ef3..bdd8c9dad 100644
--- a/src/models/index.ts
+++ b/src/models/index.ts
@@ -27,6 +27,7 @@ import ContentFeedStatus, {
ContentFeedStatusRecord,
} from './sql/contentFeedStatus'
import Badge, { BadgeRecord } from './sql/badge'
+import TribeBadge, { TribeBadgeRecord } from './sql/tribeBadge'
const argv = minimist(process.argv.slice(2))
@@ -72,6 +73,7 @@ const opts = {
CallRecording,
ContentFeedStatus,
Badge,
+ TribeBadge,
],
}
if (isProxy()) {
@@ -121,4 +123,6 @@ export {
ContentFeedStatusRecord,
Badge,
BadgeRecord,
+ TribeBadge,
+ TribeBadgeRecord,
}
diff --git a/src/models/sql/badge.ts b/src/models/sql/badge.ts
index 7482fea0f..00aa794f0 100644
--- a/src/models/sql/badge.ts
+++ b/src/models/sql/badge.ts
@@ -31,12 +31,22 @@ export default class Badge extends Model {
@Column
asset: string
+ // This column would not be used any longer
@Column(DataType.BOOLEAN)
deleted: boolean
+ @Column(DataType.BOOLEAN)
+ active: boolean
+
@Column(DataType.BIGINT)
amount: number
+ @Column
+ rewardType: number
+
+ @Column
+ rewardRequirement: number
+
@Column
icon: string
diff --git a/src/models/sql/tribeBadge.ts b/src/models/sql/tribeBadge.ts
new file mode 100644
index 000000000..e07faf1e1
--- /dev/null
+++ b/src/models/sql/tribeBadge.ts
@@ -0,0 +1,49 @@
+import { Table, Column, Model, DataType } from 'sequelize-typescript'
+
+@Table({ tableName: 'sphinx_tribe_badge', underscored: true })
+export default class TribeBadge extends Model {
+ @Column({
+ type: DataType.BIGINT,
+ primaryKey: true,
+ unique: true,
+ autoIncrement: true,
+ })
+ id: number
+
+ @Column
+ badgeId: number
+
+ @Column
+ chatId: number
+
+ @Column
+ rewardType: number
+
+ @Column
+ rewardRequirement: number
+
+ // This column is not needed any longer
+ @Column({
+ type: DataType.BOOLEAN,
+ defaultValue: false,
+ allowNull: false,
+ })
+ deleted: boolean
+
+ @Column({
+ type: DataType.BOOLEAN,
+ defaultValue: true,
+ allowNull: false,
+ })
+ active: boolean
+
+ @Column
+ createdAt: Date
+
+ @Column
+ updatedAt: Date
+}
+
+export interface TribeBadgeRecord extends TribeBadge {
+ dataValues: TribeBadge
+}
diff --git a/src/tests/controllers/badgeBot.test.ts b/src/tests/controllers/badgeBot.test.ts
index 2733487ac..1dcb30e1d 100644
--- a/src/tests/controllers/badgeBot.test.ts
+++ b/src/tests/controllers/badgeBot.test.ts
@@ -5,9 +5,10 @@ import { createTribe, joinTribe } from '../utils/save'
import { getCheckBotMsg } from '../utils/get'
import { sendTribeMessage } from '../utils/msg'
import {
- // createBadge,
- // confirmBadge,
- confirmBadgeCreatedThroughMessage,
+ createBadge,
+ confirmBadge,
+ // confirmBadgeCreatedThroughMessage,
+ addTribeToBadge,
} from '../utils/bots'
import { randomText, sleep } from '../utils/helpers'
import {
@@ -35,11 +36,20 @@ export async function badgeBotTest(t, index1, index2, index3) {
let tribe = await createTribe(t, node1)
t.truthy(tribe, 'tribe should have been created by node1')
+ // NODE 2 CREATES A SECOND TRIBE
+ let tribe2 = await createTribe(t, node1)
+ t.truthy(tribe2, 'tribe should have been created by node1')
+
//NODE2 JOINS TRIBE CREATED BY NODE1
if (node1.routeHint) tribe.owner_route_hint = node1.routeHint
let join = await joinTribe(t, node2, tribe)
t.true(join, 'node2 should join tribe')
+ //NODE2 JOINS TRIBE CREATED BY NODE1
+ if (node1.routeHint) tribe2.owner_route_hint = node1.routeHint
+ let join3 = await joinTribe(t, node2, tribe2)
+ t.true(join3, 'node2 should join tribe')
+
//NODE1 SENDS A BOT HELP MESSAGE IN TRIBE
const text = '/bot help'
await sendTribeMessage(t, node1, tribe, text)
@@ -58,13 +68,26 @@ export async function badgeBotTest(t, index1, index2, index3) {
const botReply2 = await getCheckBotMsg(t, node1, botAlias)
t.truthy(botReply2, 'MotherBot should reply')
+ //NODE1 SENDS A BOT INSTALL MESSAGE IN SECOND TRIBE
+ const badge2 = '/bot install badge'
+ await sendTribeMessage(t, node1, tribe2, badge2)
+
+ //NODE1 AWAIT REPLY FROM BOT
+ botAlias = 'MotherBot'
+ const botReply3 = await getCheckBotMsg(t, node1, botAlias)
+ t.truthy(botReply3, 'MotherBot should reply')
+
// // NODE1 CREATES A BADGE THROUGH THE ENPOINT
- // const earnBadge = await createBadge(t, node1, tribe, 1, 10, 'Earn')
- // t.truthy(earnBadge, 'Badge should be created by Node1')
+ const earnBadge = await createBadge(t, node1, 'Earn Badge')
+ t.truthy(earnBadge, 'Badge should be created by Node1')
- // NODE1 CREATES A BADGE DDIRECTLY FROM MESSAGE
- const createSpendBadge = '/badge create Spending 10 20 2 spend-badge'
- await sendTribeMessage(t, node1, tribe, createSpendBadge)
+ // Adding Badge to Tribe
+ const addTribe = await addTribeToBadge(t, node1, tribe, 1, 10)
+ t.truthy(addTribe, 'Badge should be created by Node1')
+
+ // NODE1 ADD A BADGE DDIRECTLY FROM MESSAGE
+ const createSpendBadge = `/badge add ${earnBadge.response.badge_id} 2 10`
+ await sendTribeMessage(t, node1, tribe2, createSpendBadge)
// const spendBadge = await createBadge(t, node1, tribe, 2, 20, 'Spend')
// t.truthy(spendBadge, 'Badge should be created by Node1')
@@ -73,6 +96,11 @@ export async function badgeBotTest(t, index1, index2, index3) {
let join2 = await joinTribe(t, node3, tribe)
t.true(join2, 'node3 should join tribe')
+ //NODE3 JOINS TRIBE CREATED BY NODE1
+ if (node1.routeHint) tribe2.owner_route_hint = node1.routeHint
+ let join4 = await joinTribe(t, node3, tribe2)
+ t.true(join4, 'node3 should join tribe')
+
// await sleep(1000)
//NODE2 SENDS A MESSAGE IN THE TRIBE AND NODE3 CHECKS TO SEE IF THEY RECEIVED THE MESSAGE
@@ -86,6 +114,17 @@ export async function badgeBotTest(t, index1, index2, index3) {
)
t.truthy(tribeMessage1, 'node2 should send message to tribe')
+ //NODE2 SENDS A MESSAGE IN THE TRIBE AND NODE3 CHECKS TO SEE IF THEY RECEIVED THE MESSAGE
+ const text4 = randomText()
+ let tribeMessage2 = await sendTribeMessageAndCheckDecryption(
+ t,
+ node2,
+ node3,
+ text4,
+ tribe2
+ )
+ t.truthy(tribeMessage2, 'node2 should send message to tribe')
+
//NODE3 SENDS A BOOST ON NODE2'S MESSAGE
const boost3 = await sendBoost(t, node3, node2, tribeMessage1, 15, tribe)
t.true(boost3.success)
@@ -98,34 +137,56 @@ export async function badgeBotTest(t, index1, index2, index3) {
15,
tribe
)
- t.true(payment.success, 'DIrect Payment in tribe should be successful')
+ t.true(payment.success, 'Direct Payment in tribe should be successful')
+
+ const payment2 = await sendTribeDirectPayment(
+ t,
+ node3,
+ node2,
+ tribeMessage2,
+ 15,
+ tribe2
+ )
+ t.true(payment2.success, 'Direct Payment in tribe should be successful')
await sleep(10000)
// CHECK IF NODE2 ACTUALLY RECIEVED THE BAGDE ON THE ELEMENT SERVER
- // const confirm = await confirmBadge(node2, earnBadge.response.id)
- // t.true(confirm, 'Node 2 should recieve the earner badge')
+ const confirm = await confirmBadge(node2, earnBadge.response.badge_id)
+ t.true(confirm, 'Node 2 should recieve the earner badge')
// await sleep(1000)
// CHECK IF NODE3 ACTUALLY RECIEVED THE BAGDE ON THE ELEMENT SERVER
- const confirm1 = await confirmBadgeCreatedThroughMessage(
- node1,
- node3,
- tribe.id,
- 2
- )
- t.true(confirm1, 'Node 3 should recieve the spender badge')
+ // const confirm1 = await confirmBadgeCreatedThroughMessage(
+ // node1,
+ // node3,
+ // tribe.id,
+ // 2
+ // )
+ // t.true(confirm1, 'Node 3 should recieve the spender badge')
//NODE2 LEAVES TRIBE
let left2 = await leaveTribe(t, node2, tribe)
t.true(left2, 'node2 should leave tribe')
+ //NODE2 LEAVES TRIBE 2
+ let left4 = await leaveTribe(t, node2, tribe2)
+ t.true(left4, 'node2 should leave tribe')
+
//NODE3 LEAVES TRIBE
let left3 = await leaveTribe(t, node3, tribe)
t.true(left3, 'node3 should leave tribe')
+ //NODE3 LEAVES TRIBE
+ let left5 = await leaveTribe(t, node3, tribe2)
+ t.true(left5, 'node3 should leave tribe')
+
//NODE1 DELETES TRIBE
let delTribe2 = await deleteTribe(t, node1, tribe)
t.true(delTribe2, 'node1 should delete tribe')
+
+ //NODE1 DELETES TRIBE 2
+ let delTribe3 = await deleteTribe(t, node1, tribe2)
+ t.true(delTribe3, 'node1 should delete tribe')
}
diff --git a/src/tests/utils/bots/addBadgeToTribe.ts b/src/tests/utils/bots/addBadgeToTribe.ts
new file mode 100644
index 000000000..1318850ae
--- /dev/null
+++ b/src/tests/utils/bots/addBadgeToTribe.ts
@@ -0,0 +1,24 @@
+import * as http from 'ava-http'
+import { makeArgs } from '../../utils/helpers'
+
+export async function addTribeToBadge(
+ t,
+ node1,
+ tribe,
+ reward_type,
+ reward_requirement
+) {
+ const v = {
+ chat_id: tribe.id,
+ reward_type,
+ reward_requirement,
+ badge_id: 22222222222222222222222222,
+ }
+ const r = await http.post(
+ node1.external_ip + '/add_badge',
+ makeArgs(node1, v)
+ )
+
+ t.true(r.success, 'Badge was added to tribe')
+ return r
+}
diff --git a/src/tests/utils/bots/createBadge.ts b/src/tests/utils/bots/createBadge.ts
index baf40d75f..230bbedd1 100644
--- a/src/tests/utils/bots/createBadge.ts
+++ b/src/tests/utils/bots/createBadge.ts
@@ -1,21 +1,12 @@
import * as http from 'ava-http'
import { makeArgs } from '../../utils/helpers'
-export async function createBadge(
- t,
- node1,
- tribe,
- rewardType,
- claim_amount,
- name
-) {
+export async function createBadge(t, node1, name) {
const v = {
icon: 'test-asset-icon',
name,
amount: 10,
- chat_id: tribe.id,
- claim_amount,
- reward_type: rewardType,
+ memo: 'Test Badge created',
}
const r = await http.post(
node1.external_ip + '/create_badge',
@@ -23,6 +14,5 @@ export async function createBadge(
)
t.true(r.success, 'Badge bot created.')
-
return r
}
diff --git a/src/tests/utils/bots/index.ts b/src/tests/utils/bots/index.ts
index 61a103e49..453ae65e9 100644
--- a/src/tests/utils/bots/index.ts
+++ b/src/tests/utils/bots/index.ts
@@ -1,3 +1,4 @@
export { botDecrypt } from './botDecrypt'
export { createBadge } from './createBadge'
export { confirmBadge, confirmBadgeCreatedThroughMessage } from './confirmBadge'
+export { addTribeToBadge } from './addBadgeToTribe'
diff --git a/src/utils/badgeBot.ts b/src/utils/badgeBot.ts
new file mode 100644
index 000000000..b35cb5e4d
--- /dev/null
+++ b/src/utils/badgeBot.ts
@@ -0,0 +1,23 @@
+import constants from '../constants'
+import { models } from '../models'
+
+export async function createBadgeBot(chatId: number, tenant: number) {
+ const badge = await models.ChatBot.findOne({
+ where: { tenant, chatId, botPrefix: '/badge' },
+ })
+ if (!badge) {
+ const chatBot: { [k: string]: any } = {
+ chatId,
+ botPrefix: '/badge',
+ botType: constants.bot_types.builtin,
+ msgTypes: JSON.stringify([
+ constants.message_types.message,
+ constants.message_types.boost,
+ constants.message_types.direct_payment,
+ ]),
+ pricePerUse: 0,
+ tenant,
+ }
+ await models.ChatBot.create(chatBot)
+ }
+}
diff --git a/src/utils/config.ts b/src/utils/config.ts
index 0b2701a7d..996f74d0d 100644
--- a/src/utils/config.ts
+++ b/src/utils/config.ts
@@ -32,6 +32,7 @@ const DEFAULT_TRANSPORT_PRIVATE_KEY_LOCATION =
'./creds/transportTokenPrivateKey.pem'
const DEFAULT_LENGTH_DELAY_FOR_TRANSPORT_TOKEN_DB_CLEARING = 1
const DEFAULT_BOLTWALL_SERVER = 'http://host.docker.internal:8444'
+// const DEFAULT_BOLTWALL_SERVER = 'http://localhost:8444'
export function loadConfig() {
const logg = ENV.LOGGING || config.logging
diff --git a/src/utils/migrate.ts b/src/utils/migrate.ts
index eea5d7098..48aab4404 100644
--- a/src/utils/migrate.ts
+++ b/src/utils/migrate.ts
@@ -355,7 +355,28 @@ export default async function migrate(): Promise {
// sphinxLogger.error(['problem adding badge table:', e], logging.DB)
}
+ try {
+ sphinxLogger.info('adding tribe badge table', logging.DB)
+ await sequelize.query(`
+ CREATE TABLE sphinx_tribe_badge (
+ id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
+ badge_id INTEGER,
+ chat_id INTEGER,
+ reward_type INTEGER,
+ reward_requirement INTEGER,
+ deleted BOOLEAN,
+ created_at DATETIME,
+ updated_at DATETIME
+ )`)
+ } catch (e) {
+ // sphinxLogger.error(['problem adding tribe badge table:', e], logging.DB)
+ }
+
addTableColumn('sphinx_chat_bots', 'hidden_commands')
+ addTableColumn('sphinx_badge', 'reward_type', 'INTEGER')
+ addTableColumn('sphinx_badge', 'reward_requirement', 'INTEGER')
+ addTableColumn('sphinx_badge', 'active', 'BOOLEAN')
+ addTableColumn('sphinx_tribe_badge', 'active', 'BOOLEAN')
}
async function addTenant(tableName) {