Socket
Socket
Sign inDemoInstall

delivery-tracker

Package Overview
Dependencies
Maintainers
1
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

delivery-tracker - npm Package Compare versions

Comparing version 2.5.4 to 2.5.5

3

CHANGELOG.md

@@ -0,1 +1,4 @@

# 2.5.5
* fixed an issue in SICEPAT is not working.
# 2.5.4

@@ -2,0 +5,0 @@ * fixed RTS issue in JNT.

84

lib/courier/sicepat.js

@@ -5,3 +5,2 @@ 'use strict'

var moment = require('moment')
var cheerio = require('cheerio')

@@ -82,21 +81,12 @@ var tracker = require('../')

var extractNumber = function (str) {
var matches = str.match(/(\d+)/)
return matches ? matches[1] : null
}
return {
trackingInfo: function (number) {
return {
method: 'POST',
url: 'https://www.sicepat.com/checkAwb',
rejectUnauthorized: false,
data: {
'textarea-awb': number
}
method: 'GET',
url: 'https://content-main-api-production.sicepat.com/public/check-awb/' + number,
json: true
}
},
parser: {
trace: function (body, number) {
var $ = cheerio.load(body)
trace: function (data, number) {
var courier = {

@@ -109,46 +99,28 @@ code: tracker.COURIER.SICEPAT.CODE,

courier: courier,
number: number,
status: tracker.STATUS.PENDING,
checkpoints: []
number: data.waybill_number,
status: tracker.STATUS.PENDING
}
var checkpoints = []
var $body = $('#awb-list')
var $summary = $body.find('.res-item')
for (var i = 0; i < data.track_history.length; i++) {
var item = data.track_history[i]
var checkpoint = {
courier: courier,
location: '',
message: item.city || item.receiver_name,
status: tracker.STATUS.IN_TRANSIT,
time: moment(item.date_time + '+0700', 'YYYY-MM-DD HH:mmZ').utc().format('YYYY-MM-DDTHH:mm:ssZ')
}
if ($summary.length > 0) {
var currentDate = null
result.number = extractNumber($summary.find('td').eq(1).text())
if (item.status === 'PICKREQ') {
checkpoint.status = tracker.STATUS.INFO_RECEIVED
} else if (item.status === 'DELIVERED') {
checkpoint.status = tracker.STATUS.DELIVERED
}
checkpoints.push(checkpoint)
}
$body.find('.history-awb-timeline li').each(function (idx) {
var checkpoint = {
courier: courier,
location: '',
message: $(this).find('.history-detail p').eq(1).text().trim(),
status: tracker.STATUS.IN_TRANSIT
}
var date = $(this).find('.history-date h5').text().trim()
var time = $(this).find('.history-detail p').eq(0).text().trim()
result.checkpoints = checkpoints.reverse()
result.status = tracker.normalizeStatus(result.checkpoints)
if (date) {
currentDate = date
}
checkpoint.time = moment(currentDate + time + '+0700', 'DD-MMM-YYYYHH:mmZ').utc().format('YYYY-MM-DDTHH:mmZ')
if (checkpoint.message.indexOf('TERIMA PERMINTAAN PICK UP') !== -1) {
checkpoint.status = tracker.STATUS.INFO_RECEIVED
}
checkpoints.push(checkpoint)
})
result.checkpoints = checkpoints.reverse()
result.status = tracker.normalizeStatus(result.checkpoints)
if ($summary.find('td').eq(7).text().trim() === 'DELIVERED') {
result.status = tracker.STATUS.DELIVERED
result.checkpoints[0].status = tracker.STATUS.DELIVERED
}
}
return result

@@ -158,7 +130,3 @@ }

load: function (tracking, cb) {
request.post({
url: tracking.url,
form: tracking.data,
rejectUnauthorized: false
}, cb)
request(tracking, cb)
}

@@ -179,3 +147,3 @@ }

try {
var result = handler.parser.trace(body, number)
var result = handler.parser.trace(body.sicepat.result, number)
cb(result ? null : tracker.error(tracker.ERROR.INVALID_NUMBER), result)

@@ -182,0 +150,0 @@ } catch (e) {

{
"name": "delivery-tracker",
"version": "2.5.4",
"version": "2.5.5",
"author": {

@@ -5,0 +5,0 @@ "name": "egg",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc