瀏覽代碼

Fixed Synergist API caller (set superuser in env and format date properly)

Fela Maslen 7 年之前
父節點
當前提交
183923a1e4
共有 4 個文件被更改,包括 11 次插入7 次删除
  1. 1 0
      .env.example
  2. 1 0
      src/server/config.js
  3. 1 1
      src/server/modules/slack.js
  4. 8 6
      src/server/modules/synergist.js

+ 1 - 0
.env.example

@@ -1,6 +1,7 @@
 SLACK_TOKEN=slacktoken
 SLACK_WEBHOOK_URL=https://hooks.slack.com/services/your/service/webhook/url
 SYNERGIST_URL=http://synergist.server/
+SYNERGIST_SUPERUSER=tips
 SYNERGIST_PASSWORD=resourceGuruPassword
 WHOSOFF_API_KEY=whosoffapikey
 PASSWORD=yoursecretpassword

+ 1 - 0
src/server/config.js

@@ -18,6 +18,7 @@ module.exports = () => ({
     synergist: {
         version: 3,
         company: 1,
+        superuser: process.env.SYNERGIST_SUPERUSER || '',
         apiUrl: process.env.SYNERGIST_URL || '',
         password: process.env.SYNERGIST_PASSWORD
     },

+ 1 - 1
src/server/modules/slack.js

@@ -34,7 +34,7 @@ function annoySlackUsers(config, logger, now, users, phrases) {
         return null;
     }
 
-    logger.info('[SLACK] Annoying users:', message);
+    logger.info('[SLACK] Annoying users:', users.map(({ name }) => name));
 
     const t0 = Date.now();
 

+ 8 - 6
src/server/modules/synergist.js

@@ -1,12 +1,12 @@
 const request = require('request-promise');
 const humanizeDuration = require('humanize-duration');
 
-function getTimesheetSummaryTotalsRequest(config, username, password, date) {
+function getTimesheetSummaryTotalsRequest(config, username, date) {
     const options = {
         uri: `${config.synergist.apiUrl}jsonapi/timesheets.json`,
         qs: {
             username,
-            password,
+            password: config.synergist.password,
             date,
             user: config.synergist.superuser,
             version: config.synergist.version,
@@ -19,9 +19,9 @@ function getTimesheetSummaryTotalsRequest(config, username, password, date) {
 }
 
 function makeGetTimesheetCompleted(config, logger, date) {
-    return async (shortName, password) => {
+    return async shortName => {
         try {
-            const response = await getTimesheetSummaryTotalsRequest(config, shortName, password, date);
+            const response = await getTimesheetSummaryTotalsRequest(config, shortName, date);
 
             try {
                 const data = JSON.parse(response);
@@ -55,10 +55,12 @@ async function getUsersWithMissingTimesheets(config, logger, range, users) {
     logger.debug('[SYNERGIST] Getting employee timesheet information...');
     const t0 = Date.now();
 
-    const getTimesheetCompleted = makeGetTimesheetCompleted(config, logger, range.start);
+    const startDate = range.start.format('DD/MM/YYYY');
+
+    const getTimesheetCompleted = makeGetTimesheetCompleted(config, logger, startDate);
 
     const results = await Promise.all(users.map(user =>
-        getTimesheetCompleted(user.shortName, config.synergist.password)
+        getTimesheetCompleted(user.shortName)
     ));
 
     const t1 = Date.now();