232 lines
8.6 KiB
TypeScript
232 lines
8.6 KiB
TypeScript
// Module ID: 13841
|
|
// Function ID: 13842
|
|
// Dependencies: [7200, 676, 8947, 10800, 7223, 10795, 698, 709, 10647, 2]
|
|
|
|
// Module 13841
|
|
import initializeState from "initializeState";
|
|
import ME from "ME";
|
|
|
|
let RPCCommands;
|
|
let c4;
|
|
let c5;
|
|
const require = arg1;
|
|
({ RPCCommands, RPCErrors: c4, AnalyticEvents: c5 } = ME);
|
|
let obj = {};
|
|
obj = {
|
|
scope: require("set").OAuth2Scopes.IDENTIFY,
|
|
handler(socket) {
|
|
socket = socket.socket;
|
|
const quest_id = socket.args.quest_id;
|
|
let obj = require(10800) /* recurseReplaceContentTree */;
|
|
const result = obj.validatePostMessageTransport(socket.transport);
|
|
const obj2 = require(10800) /* recurseReplaceContentTree */;
|
|
const quest = store.getQuest(quest_id);
|
|
const validateApplicationResult = require(10800) /* recurseReplaceContentTree */.validateApplication(socket.application);
|
|
const activityApplicationId = require(7223) /* getApplicationIdsByTaskTypes */.getActivityApplicationId(quest);
|
|
if (null != quest) {
|
|
if (null != activityApplicationId) {
|
|
if (activityApplicationId === validateApplicationResult) {
|
|
obj = { quest_id: null, is_enrolled: null, enrolled_at: null };
|
|
obj[0] = quest_id;
|
|
const userStatus = quest.userStatus;
|
|
let enrolledAt;
|
|
if (userStatus != null) {
|
|
enrolledAt = userStatus.enrolledAt;
|
|
}
|
|
obj[1] = null != enrolledAt;
|
|
const userStatus2 = quest.userStatus;
|
|
let enrolledAt1;
|
|
if (userStatus2 != null) {
|
|
enrolledAt1 = userStatus2.enrolledAt;
|
|
}
|
|
if (enrolledAt1 == null) {
|
|
enrolledAt1 = null;
|
|
}
|
|
obj[2] = enrolledAt1;
|
|
return obj;
|
|
}
|
|
}
|
|
}
|
|
obj = { errorCode: constants.INVALID_COMMAND };
|
|
let tmp8 = importDefault(10795);
|
|
tmp8 = new tmp8(obj, "Quest not found: " + quest_id);
|
|
throw tmp8;
|
|
}
|
|
};
|
|
obj[RPCCommands.GET_QUEST_ENROLLMENT_STATUS] = obj;
|
|
obj = {
|
|
scope: require("set").OAuth2Scopes.IDENTIFY,
|
|
handler(socket) {
|
|
socket = socket.socket;
|
|
const quest_id = socket.args.quest_id;
|
|
let obj = require(10800) /* recurseReplaceContentTree */;
|
|
const result = obj.validatePostMessageTransport(socket.transport);
|
|
let obj1 = require(10800) /* recurseReplaceContentTree */;
|
|
const validateApplicationResult = obj1.validateApplication(socket.application);
|
|
const quest = store.getQuest(quest_id);
|
|
let obj2 = require(7223) /* getApplicationIdsByTaskTypes */;
|
|
const playActivityApplicationId = obj2.getPlayActivityApplicationId(quest);
|
|
if (null != quest) {
|
|
if (null != playActivityApplicationId) {
|
|
if (playActivityApplicationId === validateApplicationResult) {
|
|
const userStatus = quest.userStatus;
|
|
let enrolledAt;
|
|
if (userStatus != null) {
|
|
enrolledAt = userStatus.enrolledAt;
|
|
}
|
|
if (null == enrolledAt) {
|
|
obj = { errorCode: null };
|
|
obj[0] = constants.INVALID_COMMAND;
|
|
const tmp16 = new importDefault(10795)(obj, "User is not enrolled in quest");
|
|
throw tmp16;
|
|
} else {
|
|
obj = { application_id: null, quest_id: null };
|
|
obj[0] = validateApplicationResult;
|
|
obj[1] = quest_id;
|
|
importDefault(698).track(constants2.RPC_QUEST_START_TIMER_CALLED, obj);
|
|
const obj4 = importDefault(698);
|
|
obj1 = { type: "QUEST_APPLICATION_START_TIMER", questId: null, applicationId: null };
|
|
obj1[1] = quest_id;
|
|
obj1[2] = validateApplicationResult;
|
|
importDefault(709).dispatch(obj1);
|
|
return { success: true };
|
|
}
|
|
}
|
|
}
|
|
}
|
|
obj2 = { errorCode: constants.INVALID_COMMAND };
|
|
let tmp18 = importDefault(10795);
|
|
tmp18 = new tmp18(obj2, "Quest not found: " + quest_id);
|
|
throw tmp18;
|
|
}
|
|
};
|
|
obj[RPCCommands.QUEST_START_TIMER] = obj;
|
|
obj[RPCCommands.GET_QUEST] = {
|
|
scope: require("set").OAuth2Scopes.IDENTIFY,
|
|
handler(socket) {
|
|
socket = socket.socket;
|
|
let obj = require(10800) /* recurseReplaceContentTree */;
|
|
const result = obj.validatePostMessageTransport(socket.transport);
|
|
const obj2 = require(10800) /* recurseReplaceContentTree */;
|
|
const validateApplicationResult = require(10800) /* recurseReplaceContentTree */.validateApplication(socket.application);
|
|
const eligibleQuestsForApplicationId = require(10647) /* questMatchesActivity */.getEligibleQuestsForApplicationId(store.quests, validateApplicationResult, true);
|
|
if (0 === eligibleQuestsForApplicationId.length) {
|
|
obj = { errorCode: null };
|
|
obj[0] = constants.INVALID_COMMAND;
|
|
const tmp9 = new importDefault(10795)(obj, "No eligible quests found");
|
|
throw tmp9;
|
|
} else {
|
|
const mapped = eligibleQuestsForApplicationId.map((id) => {
|
|
const obj = { quest_id: id.id, enrolled_at: null, completed_at: null, external_cta_url: null };
|
|
const userStatus = id.userStatus;
|
|
let enrolledAt;
|
|
if (userStatus != null) {
|
|
enrolledAt = userStatus.enrolledAt;
|
|
}
|
|
if (enrolledAt == null) {
|
|
enrolledAt = null;
|
|
}
|
|
obj[1] = enrolledAt;
|
|
const userStatus2 = id.userStatus;
|
|
let completedAt;
|
|
if (userStatus2 != null) {
|
|
completedAt = userStatus2.completedAt;
|
|
}
|
|
if (completedAt == null) {
|
|
completedAt = null;
|
|
}
|
|
obj[2] = completedAt;
|
|
obj[3] = id.config.ctaConfig.link;
|
|
return obj;
|
|
});
|
|
return mapped.sort((enrolled_at, enrolled_at2) => {
|
|
if (null != enrolled_at.enrolled_at) {
|
|
let num2 = 1;
|
|
if (null != enrolled_at.enrolled_at) {
|
|
let num3 = -1;
|
|
if (null != enrolled_at2.enrolled_at) {
|
|
const _Date = Date;
|
|
const date = new Date(enrolled_at.enrolled_at);
|
|
const _Date2 = Date;
|
|
const time = date.getTime();
|
|
const date1 = new Date(enrolled_at2.enrolled_at);
|
|
num3 = time - date1.getTime();
|
|
}
|
|
num2 = num3;
|
|
}
|
|
let num = num2;
|
|
} else {
|
|
num = 0;
|
|
}
|
|
return num;
|
|
})[0];
|
|
}
|
|
const obj3 = require(10647) /* questMatchesActivity */;
|
|
}
|
|
};
|
|
let obj1 = {
|
|
scope: require("set").OAuth2Scopes.IDENTIFY,
|
|
handler(socket) {
|
|
socket = socket.socket;
|
|
let obj = require(10800) /* recurseReplaceContentTree */;
|
|
const result = obj.validatePostMessageTransport(socket.transport);
|
|
const obj2 = require(10800) /* recurseReplaceContentTree */;
|
|
const validateApplicationResult = require(10800) /* recurseReplaceContentTree */.validateApplication(socket.application);
|
|
const eligibleQuestsForApplicationId = require(10647) /* questMatchesActivity */.getEligibleQuestsForApplicationId(store.quests, validateApplicationResult, true);
|
|
if (0 === eligibleQuestsForApplicationId.length) {
|
|
obj = { errorCode: null };
|
|
obj[0] = constants.INVALID_COMMAND;
|
|
const tmp9 = new importDefault(10795)(obj, "No eligible quests found");
|
|
throw tmp9;
|
|
} else {
|
|
const mapped = eligibleQuestsForApplicationId.map((id) => {
|
|
const obj = { quest_id: id.id, enrolled_at: null, completed_at: null, external_cta_url: null };
|
|
const userStatus = id.userStatus;
|
|
let enrolledAt;
|
|
if (userStatus != null) {
|
|
enrolledAt = userStatus.enrolledAt;
|
|
}
|
|
if (enrolledAt == null) {
|
|
enrolledAt = null;
|
|
}
|
|
obj[1] = enrolledAt;
|
|
const userStatus2 = id.userStatus;
|
|
let completedAt;
|
|
if (userStatus2 != null) {
|
|
completedAt = userStatus2.completedAt;
|
|
}
|
|
if (completedAt == null) {
|
|
completedAt = null;
|
|
}
|
|
obj[2] = completedAt;
|
|
obj[3] = id.config.ctaConfig.link;
|
|
return obj;
|
|
});
|
|
return mapped.sort((enrolled_at, enrolled_at2) => {
|
|
if (null != enrolled_at.enrolled_at) {
|
|
let num2 = 1;
|
|
if (null != enrolled_at.enrolled_at) {
|
|
let num3 = -1;
|
|
if (null != enrolled_at2.enrolled_at) {
|
|
const _Date = Date;
|
|
const date = new Date(enrolled_at.enrolled_at);
|
|
const _Date2 = Date;
|
|
const time = date.getTime();
|
|
const date1 = new Date(enrolled_at2.enrolled_at);
|
|
num3 = time - date1.getTime();
|
|
}
|
|
num2 = num3;
|
|
}
|
|
let num = num2;
|
|
} else {
|
|
num = 0;
|
|
}
|
|
return num;
|
|
})[0];
|
|
}
|
|
const obj3 = require(10647) /* questMatchesActivity */;
|
|
}
|
|
};
|
|
let result = require("set").fileFinishedImporting("modules/rpc/server/commands/quests.tsx");
|
|
|
|
export default obj;
|