Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- getCollectionSheets: function (msg) {
- var result = [];
- return api['security.checkRights'](msg).then(function (res) {
- var sessionData = typeof (res.sessionData) == 'string' ? JSON.parse(res.sessionData) : res.sessionData;
- msg.username = sessionData.t24Credentials.username;
- msg.password = sessionData.t24Credentials.passwordHash;
- msg.wsPassword = msg.$$.authentication.password;
- msg.wsUsername = msg.$$.authentication.username;
- return api['t24ws.getGroups']({
- wsPassword: msg.wsPassword,
- wsUsername: msg.wsUsername,
- accOfficer: msg.filter.accountOfficer
- }).catch(function (error) {
- var errorMessages = error.$$.errorMessage;
- if (!Array.isArray(errorMessages)) {
- errorMessages = [errorMessages];
- }
- var hasNoRecords = false;
- errorMessages.forEach(function (message) {
- if (message.indexOf('No records were found') > -1) {
- hasNoRecords = true;
- return;
- }
- });
- if (hasNoRecords == true) {
- return [];
- } else {
- throw error;
- }
- });
- }).then(function (res) {
- if (res.length == 0) {
- return [];
- }
- var groups = [];
- groups = res.payload.groups.split('*');
- return groups;
- }).then(function (groups) {
- if (groups.length == 0) {
- return [];
- }
- if (groups.length == 1) {
- return api['t24ws.getCollectionSheetByGroup']({
- wsPassword: msg.wsPassword,
- wsUsername: msg.wsUsername,
- groupId: groups[0]
- });
- }
- return groups.reduce(
- (previous, group) => {
- return previous.then(() => {
- return api['t24ws.getCollectionSheetByGroup']({
- wsPassword: msg.wsPassword,
- wsUsername: msg.wsUsername,
- groupId: group
- }).then(function (response) {
- result.push(response);
- return result;
- });
- });
- },
- Promise.resolve()
- );
- }).then(function (response) {
- if (!Array.isArray(response)) {
- response = [response];
- }
- if (response.length == 0) {
- var temp = {};
- temp.data = [];
- return temp;
- }
- result = {};
- result.data = [];
- response.forEach(function (resp) {
- if (resp.payload.successIndicator == 'Success') {
- delete resp.payload.twsId;
- delete resp.payload.successIndicator;
- delete resp.payload.result;
- delete resp.payload.messageId;
- result.data.push(resp.payload);
- }
- })
- result.data.forEach(function (el) {
- el.members = el.data;
- delete el.data;
- el.groupName = el.groupNo.split('*')[1].trim();
- el.groupNo = el.groupNo.split('*')[0].trim();
- el.members.forEach(function (member, index) {
- member.memberOrderIndex = index;
- member.customerName = member.memberId.split('*')[1].trim();
- member.memberId = member.memberId.split('*')[0].trim();
- });
- });
- return result;
- });
- },
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement