const { SamlLog } = require('../../models/SamlLog')
const logger = require('logger-sharelatex')

function log(providerId, sessionId, data) {
  const samlLog = new SamlLog()
  samlLog.providerId = (providerId || '').toString()
  samlLog.sessionId = sessionId
  try {
    samlLog.jsonData = JSON.stringify(data)
  } catch (err) {
    logger.error({ err, sessionId, providerId }, 'SamlLog JSON.stringify Error')
  }
  samlLog.save(err => {
    if (err) {
      logger.error({ err, sessionId, providerId }, 'SamlLog Error')
    }
  })
}

const SamlLogHandler = {
  log
}

module.exports = SamlLogHandler

@@ -134,16 +134,26 @@
 data) %7B%0A
+  try %7B%0A  
   const 
@@ -172,24 +172,26 @@
 w SamlLog()%0A
+  
   samlLog.pr
@@ -231,16 +231,18 @@
 tring()%0A
+  
   samlLo
@@ -255,16 +255,17 @@
 ionId = 
+(
 sessionI
@@ -265,24 +265,47 @@
 essionId
-%0A  try %7B
+ %7C%7C '').toString().substr(0, 8)
 %0A    sam
@@ -347,15 +347,40 @@
 )%0A  
-%7D catch
+  samlLog.save(err =%3E %7B%0A      if
  (er
@@ -380,24 +380,28 @@
  if (err) %7B%0A
+    
     logger.e
@@ -450,65 +450,40 @@
 Log 
-JSON.stringify Error')%0A  %7D%0A  samlLog.save(err =%3E %7B%0A    if
+Error')%0A      %7D%0A    %7D)%0A  %7D catch
  (er
@@ -483,26 +483,24 @@
 tch (err) %7B%0A
-  
     logger.e
@@ -537,32 +537,47 @@
 rId %7D, 'SamlLog 
+JSON.stringify 
 Error')%0A    %7D%0A  
@@ -574,16 +574,9 @@
 )%0A  
-  %7D%0A  %7D)
+%7D
 %0A%7D%0A%0A

truncate sessionId in saml logs