Commit 2b703f93 by lixinming

no message

parent 51b932d8
{ {
"name": "screen", "name": "screen",
"version": "1.0.0", "version": "1.0.0",
"lockfileVersion": 1, "lockfileVersion": 3,
"requires": true, "requires": true,
"dependencies": { "packages": {
"@alicloud/dybaseapi": { "": {
"name": "screen",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@alicloud/sms-sdk": "^1.1.6",
"@types/node": "^10.12.18",
"compression": "^1.7.4",
"express": "^4.17.1",
"express-async-handler": "^1.1.4",
"express-history-api-fallback": "^2.2.1",
"formidable": "^1.2.1",
"log4js": "^6.6.1",
"lru-cache": "^4.1.5",
"md5": "^2.2.1",
"moment": "^2.24.0",
"node-xlsx": "^0.16.1",
"nodemailer": "^6.1.1",
"qs": "^6.11.0",
"request": "^2.88.0",
"svg-captcha": "^1.3.12",
"tencentcloud-sdk-nodejs": "^4.0.562",
"ws": "^5.2.2",
"xml2js": "^0.4.23"
},
"bin": {
"screen": "out/main.js"
},
"devDependencies": {}
},
"node_modules/@alicloud/dybaseapi": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/@alicloud/dybaseapi/-/dybaseapi-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/@alicloud/dybaseapi/-/dybaseapi-1.0.0.tgz",
"integrity": "sha512-4KEDgqES7IL60T/TWGSkLQkN6BYeHEw8smnPgac2J2MTES5v1ieCWvbLSuUUWi5SAXi7cydKoD4HUOmX7xwM+A==", "integrity": "sha512-4KEDgqES7IL60T/TWGSkLQkN6BYeHEw8smnPgac2J2MTES5v1ieCWvbLSuUUWi5SAXi7cydKoD4HUOmX7xwM+A==",
"requires": { "dependencies": {
"@alicloud/pop-core": "^1.3.3" "@alicloud/pop-core": "^1.3.3"
} }
}, },
"@alicloud/dysmsapi-2017-05-25": { "node_modules/@alicloud/dysmsapi-2017-05-25": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/@alicloud/dysmsapi-2017-05-25/-/dysmsapi-2017-05-25-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/@alicloud/dysmsapi-2017-05-25/-/dysmsapi-2017-05-25-1.0.1.tgz",
"integrity": "sha512-CVX/Yl9ntwkAOHAZa3j2Y/Io+SlbETw/ILv4UPIDCEIQm/N0EEcN2OXF8cWCUvHeu7OgnFWZKhdJY5GsbjWHDA==", "integrity": "sha512-CVX/Yl9ntwkAOHAZa3j2Y/Io+SlbETw/ILv4UPIDCEIQm/N0EEcN2OXF8cWCUvHeu7OgnFWZKhdJY5GsbjWHDA==",
"requires": { "dependencies": {
"@alicloud/pop-core": "^1.5.1" "@alicloud/pop-core": "^1.5.1"
} }
}, },
"@alicloud/mns": { "node_modules/@alicloud/mns": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/@alicloud/mns/-/mns-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/@alicloud/mns/-/mns-1.0.0.tgz",
"integrity": "sha512-SUJYM8+x3iPy6thIy5Wa/5lw7+RodeDDIPcI3QQ3bZPNCSq+yEC3jMtfVlS3vxGPq+dGjAysI9RGeM7NByeHlw==", "integrity": "sha512-SUJYM8+x3iPy6thIy5Wa/5lw7+RodeDDIPcI3QQ3bZPNCSq+yEC3jMtfVlS3vxGPq+dGjAysI9RGeM7NByeHlw==",
"requires": { "dependencies": {
"debug": "^2.6.3", "debug": "^2.6.3",
"httpx": "^2.1.1", "httpx": "^2.1.1",
"kitx": "^1.2.0", "kitx": "^1.2.0",
"xml2js": "^0.4.17" "xml2js": "^0.4.17"
}, }
},
"node_modules/@alicloud/mns/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": { "dependencies": {
"debug": { "ms": "2.0.0"
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
}
} }
}, },
"@alicloud/pop-core": { "node_modules/@alicloud/mns/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/@alicloud/pop-core": {
"version": "1.7.13", "version": "1.7.13",
"resolved": "https://registry.npmmirror.com/@alicloud/pop-core/-/pop-core-1.7.13.tgz", "resolved": "https://registry.npmmirror.com/@alicloud/pop-core/-/pop-core-1.7.13.tgz",
"integrity": "sha512-agzr4DU+aAGW7/2mp2hP1JcNJkn/zBS0jUGQt5etIASN0MVq1tMdudVqvWbExUG0mUouo/n2VgdnjOHjswvrlA==", "integrity": "sha512-agzr4DU+aAGW7/2mp2hP1JcNJkn/zBS0jUGQt5etIASN0MVq1tMdudVqvWbExUG0mUouo/n2VgdnjOHjswvrlA==",
"requires": { "dependencies": {
"debug": "^3.1.0", "debug": "^3.1.0",
"httpx": "^2.1.2", "httpx": "^2.1.2",
"json-bigint": "^1.0.0", "json-bigint": "^1.0.0",
"kitx": "^1.2.1", "kitx": "^1.2.1",
"xml2js": "^0.5.0" "xml2js": "^0.5.0"
}, },
"engines": {
"node": ">=8.0.0"
}
},
"node_modules/@alicloud/pop-core/node_modules/xml2js": {
"version": "0.5.0",
"resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz",
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==",
"dependencies": { "dependencies": {
"xml2js": { "sax": ">=0.6.0",
"version": "0.5.0", "xmlbuilder": "~11.0.0"
"resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.5.0.tgz", },
"integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", "engines": {
"requires": { "node": ">=4.0.0"
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
}
}
} }
}, },
"@alicloud/sms-sdk": { "node_modules/@alicloud/sms-sdk": {
"version": "1.1.6", "version": "1.1.6",
"resolved": "https://registry.npmmirror.com/@alicloud/sms-sdk/-/sms-sdk-1.1.6.tgz", "resolved": "https://registry.npmmirror.com/@alicloud/sms-sdk/-/sms-sdk-1.1.6.tgz",
"integrity": "sha512-jW5ROjpAtOrNFkZSXb8geJWzkgJ9ggnPx+ve+72eatu78/vad2emdZjRx43/xPqqhA9djRoU3xHQt2xFODiaMQ==", "integrity": "sha512-jW5ROjpAtOrNFkZSXb8geJWzkgJ9ggnPx+ve+72eatu78/vad2emdZjRx43/xPqqhA9djRoU3xHQt2xFODiaMQ==",
"requires": { "dependencies": {
"@alicloud/dybaseapi": "^1.0.0", "@alicloud/dybaseapi": "^1.0.0",
"@alicloud/dysmsapi-2017-05-25": "^1.0.1", "@alicloud/dysmsapi-2017-05-25": "^1.0.1",
"@alicloud/mns": "^1.0.0-beta6", "@alicloud/mns": "^1.0.0-beta6",
"babel-runtime": "^6.26.0" "babel-runtime": "^6.26.0"
} }
}, },
"@babel/runtime": { "node_modules/@babel/runtime": {
"version": "7.22.10", "version": "7.22.10",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.22.10.tgz", "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.22.10.tgz",
"integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==",
"requires": { "dependencies": {
"regenerator-runtime": "^0.14.0" "regenerator-runtime": "^0.14.0"
}, },
"dependencies": { "engines": {
"regenerator-runtime": { "node": ">=6.9.0"
"version": "0.14.0",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
"integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
}
} }
}, },
"@types/node": { "node_modules/@babel/runtime/node_modules/regenerator-runtime": {
"version": "0.14.0",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz",
"integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA=="
},
"node_modules/@types/node": {
"version": "10.17.60", "version": "10.17.60",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-10.17.60.tgz", "resolved": "https://registry.npmmirror.com/@types/node/-/node-10.17.60.tgz",
"integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
}, },
"accepts": { "node_modules/accepts": {
"version": "1.3.8", "version": "1.3.8",
"resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz", "resolved": "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz",
"integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
"requires": { "dependencies": {
"mime-types": "~2.1.34", "mime-types": "~2.1.34",
"negotiator": "0.6.3" "negotiator": "0.6.3"
},
"engines": {
"node": ">= 0.6"
} }
}, },
"adler-32": { "node_modules/adler-32": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.2.0.tgz",
"integrity": "sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==", "integrity": "sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==",
"requires": { "dependencies": {
"exit-on-epipe": "~1.0.1", "exit-on-epipe": "~1.0.1",
"printj": "~1.1.0" "printj": "~1.1.0"
},
"bin": {
"adler32": "bin/adler32.njs"
},
"engines": {
"node": ">=0.8"
} }
}, },
"agent-base": { "node_modules/agent-base": {
"version": "6.0.2", "version": "6.0.2",
"resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz", "resolved": "https://registry.npmmirror.com/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
"requires": { "dependencies": {
"debug": "4" "debug": "4"
}, },
"engines": {
"node": ">= 6.0.0"
}
},
"node_modules/agent-base/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": { "dependencies": {
"debug": { "ms": "2.1.2"
"version": "4.3.4", },
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", "engines": {
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "node": ">=6.0"
"requires": { },
"ms": "2.1.2" "peerDependenciesMeta": {
} "supports-color": {
}, "optional": true
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
} }
} }
}, },
"ajv": { "node_modules/agent-base/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/ajv": {
"version": "6.12.6", "version": "6.12.6",
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz", "resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
"requires": { "dependencies": {
"fast-deep-equal": "^3.1.1", "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0", "fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1", "json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2" "uri-js": "^4.2.2"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/epoberezkin"
} }
}, },
"array-flatten": { "node_modules/array-flatten": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz", "resolved": "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
}, },
"asn1": { "node_modules/asn1": {
"version": "0.2.6", "version": "0.2.6",
"resolved": "https://registry.npmmirror.com/asn1/-/asn1-0.2.6.tgz", "resolved": "https://registry.npmmirror.com/asn1/-/asn1-0.2.6.tgz",
"integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==",
"requires": { "dependencies": {
"safer-buffer": "~2.1.0" "safer-buffer": "~2.1.0"
} }
}, },
"assert-plus": { "node_modules/assert-plus": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==" "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==",
"engines": {
"node": ">=0.8"
}
}, },
"async-limiter": { "node_modules/async-limiter": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/async-limiter/-/async-limiter-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/async-limiter/-/async-limiter-1.0.1.tgz",
"integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ=="
}, },
"asynckit": { "node_modules/asynckit": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
}, },
"aws-sign2": { "node_modules/aws-sign2": {
"version": "0.7.0", "version": "0.7.0",
"resolved": "https://registry.npmmirror.com/aws-sign2/-/aws-sign2-0.7.0.tgz", "resolved": "https://registry.npmmirror.com/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==" "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==",
"engines": {
"node": "*"
}
}, },
"aws4": { "node_modules/aws4": {
"version": "1.12.0", "version": "1.12.0",
"resolved": "https://registry.npmmirror.com/aws4/-/aws4-1.12.0.tgz", "resolved": "https://registry.npmmirror.com/aws4/-/aws4-1.12.0.tgz",
"integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==" "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg=="
}, },
"babel-runtime": { "node_modules/babel-runtime": {
"version": "6.26.0", "version": "6.26.0",
"resolved": "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz", "resolved": "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
"requires": { "dependencies": {
"core-js": "^2.4.0", "core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0" "regenerator-runtime": "^0.11.0"
} }
}, },
"bcrypt-pbkdf": { "node_modules/bcrypt-pbkdf": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==",
"requires": { "dependencies": {
"tweetnacl": "^0.14.3" "tweetnacl": "^0.14.3"
} }
}, },
"bignumber.js": { "node_modules/bignumber.js": {
"version": "9.1.1", "version": "9.1.1",
"resolved": "https://registry.npmmirror.com/bignumber.js/-/bignumber.js-9.1.1.tgz", "resolved": "https://registry.npmmirror.com/bignumber.js/-/bignumber.js-9.1.1.tgz",
"integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==" "integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==",
"engines": {
"node": "*"
}
}, },
"body-parser": { "node_modules/body-parser": {
"version": "1.20.1", "version": "1.20.1",
"resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz", "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz",
"integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
"requires": { "dependencies": {
"bytes": "3.1.2", "bytes": "3.1.2",
"content-type": "~1.0.4", "content-type": "~1.0.4",
"debug": "2.6.9", "debug": "2.6.9",
...@@ -230,106 +294,139 @@ ...@@ -230,106 +294,139 @@
"type-is": "~1.6.18", "type-is": "~1.6.18",
"unpipe": "1.0.0" "unpipe": "1.0.0"
}, },
"engines": {
"node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16"
}
},
"node_modules/body-parser/node_modules/bytes": {
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz",
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/body-parser/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": { "dependencies": {
"bytes": { "ms": "2.0.0"
"version": "3.1.2", }
"resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz", },
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" "node_modules/body-parser/node_modules/ms": {
}, "version": "2.0.0",
"debug": { "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"version": "2.6.9", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz", },
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "node_modules/body-parser/node_modules/qs": {
"requires": { "version": "6.11.0",
"ms": "2.0.0" "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz",
} "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
}, "dependencies": {
"ms": { "side-channel": "^1.0.4"
"version": "2.0.0", },
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz", "engines": {
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" "node": ">=0.6"
}, },
"qs": { "funding": {
"version": "6.11.0", "url": "https://github.com/sponsors/ljharb"
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"requires": {
"side-channel": "^1.0.4"
}
}
} }
}, },
"buffer-from": { "node_modules/buffer-from": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
}, },
"bytes": { "node_modules/bytes": {
"version": "3.0.0", "version": "3.0.0",
"resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz", "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz",
"integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
"engines": {
"node": ">= 0.8"
}
}, },
"call-bind": { "node_modules/call-bind": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz",
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
"requires": { "dependencies": {
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
"get-intrinsic": "^1.0.2" "get-intrinsic": "^1.0.2"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
} }
}, },
"caseless": { "node_modules/caseless": {
"version": "0.12.0", "version": "0.12.0",
"resolved": "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz", "resolved": "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
}, },
"cfb": { "node_modules/cfb": {
"version": "1.2.2", "version": "1.2.2",
"resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz", "resolved": "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz",
"integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==",
"requires": { "dependencies": {
"adler-32": "~1.3.0", "adler-32": "~1.3.0",
"crc-32": "~1.2.0" "crc-32": "~1.2.0"
}, },
"dependencies": { "engines": {
"adler-32": { "node": ">=0.8"
"version": "1.3.1", }
"resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz", },
"integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==" "node_modules/cfb/node_modules/adler-32": {
} "version": "1.3.1",
"resolved": "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz",
"integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==",
"engines": {
"node": ">=0.8"
} }
}, },
"charenc": { "node_modules/charenc": {
"version": "0.0.2", "version": "0.0.2",
"resolved": "https://registry.npmmirror.com/charenc/-/charenc-0.0.2.tgz", "resolved": "https://registry.npmmirror.com/charenc/-/charenc-0.0.2.tgz",
"integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==" "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
"engines": {
"node": "*"
}
}, },
"codepage": { "node_modules/codepage": {
"version": "1.15.0", "version": "1.15.0",
"resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz", "resolved": "https://registry.npmmirror.com/codepage/-/codepage-1.15.0.tgz",
"integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==" "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==",
"engines": {
"node": ">=0.8"
}
}, },
"combined-stream": { "node_modules/combined-stream": {
"version": "1.0.8", "version": "1.0.8",
"resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"requires": { "dependencies": {
"delayed-stream": "~1.0.0" "delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
} }
}, },
"compressible": { "node_modules/compressible": {
"version": "2.0.18", "version": "2.0.18",
"resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz", "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz",
"integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
"requires": { "dependencies": {
"mime-db": ">= 1.43.0 < 2" "mime-db": ">= 1.43.0 < 2"
},
"engines": {
"node": ">= 0.6"
} }
}, },
"compression": { "node_modules/compression": {
"version": "1.7.4", "version": "1.7.4",
"resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz", "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz",
"integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
"requires": { "dependencies": {
"accepts": "~1.3.5", "accepts": "~1.3.5",
"bytes": "3.0.0", "bytes": "3.0.0",
"compressible": "~2.0.16", "compressible": "~2.0.16",
...@@ -338,147 +435,205 @@ ...@@ -338,147 +435,205 @@
"safe-buffer": "5.1.2", "safe-buffer": "5.1.2",
"vary": "~1.1.2" "vary": "~1.1.2"
}, },
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/compression/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": { "dependencies": {
"debug": { "ms": "2.0.0"
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
}
} }
}, },
"content-disposition": { "node_modules/compression/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/content-disposition": {
"version": "0.5.4", "version": "0.5.4",
"resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz", "resolved": "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz",
"integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
"requires": { "dependencies": {
"safe-buffer": "5.2.1" "safe-buffer": "5.2.1"
}, },
"dependencies": { "engines": {
"safe-buffer": { "node": ">= 0.6"
"version": "5.2.1", }
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz", },
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" "node_modules/content-disposition/node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
} }
} ]
}, },
"content-type": { "node_modules/content-type": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz", "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz",
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
"engines": {
"node": ">= 0.6"
}
}, },
"cookie": { "node_modules/cookie": {
"version": "0.5.0", "version": "0.5.0",
"resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz", "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz",
"integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==" "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
"engines": {
"node": ">= 0.6"
}
}, },
"cookie-signature": { "node_modules/cookie-signature": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz", "resolved": "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
}, },
"core-js": { "node_modules/core-js": {
"version": "2.6.12", "version": "2.6.12",
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz", "resolved": "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz",
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
"deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
"hasInstallScript": true
}, },
"core-util-is": { "node_modules/core-util-is": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==" "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ=="
}, },
"crc-32": { "node_modules/crc-32": {
"version": "1.2.2", "version": "1.2.2",
"resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz", "resolved": "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz",
"integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==" "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
"bin": {
"crc32": "bin/crc32.njs"
},
"engines": {
"node": ">=0.8"
}
}, },
"crypt": { "node_modules/crypt": {
"version": "0.0.2", "version": "0.0.2",
"resolved": "https://registry.npmmirror.com/crypt/-/crypt-0.0.2.tgz", "resolved": "https://registry.npmmirror.com/crypt/-/crypt-0.0.2.tgz",
"integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==" "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
"engines": {
"node": "*"
}
}, },
"dashdash": { "node_modules/dashdash": {
"version": "1.14.1", "version": "1.14.1",
"resolved": "https://registry.npmmirror.com/dashdash/-/dashdash-1.14.1.tgz", "resolved": "https://registry.npmmirror.com/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==",
"requires": { "dependencies": {
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
},
"engines": {
"node": ">=0.10"
} }
}, },
"date-format": { "node_modules/date-format": {
"version": "4.0.14", "version": "4.0.14",
"resolved": "https://registry.npmmirror.com/date-format/-/date-format-4.0.14.tgz", "resolved": "https://registry.npmmirror.com/date-format/-/date-format-4.0.14.tgz",
"integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==" "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==",
"engines": {
"node": ">=4.0"
}
}, },
"debug": { "node_modules/debug": {
"version": "3.2.7", "version": "3.2.7",
"resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz", "resolved": "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz",
"integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
"requires": { "dependencies": {
"ms": "^2.1.1" "ms": "^2.1.1"
} }
}, },
"delayed-stream": { "node_modules/delayed-stream": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"engines": {
"node": ">=0.4.0"
}
}, },
"depd": { "node_modules/depd": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
"engines": {
"node": ">= 0.8"
}
}, },
"destroy": { "node_modules/destroy": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz",
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
"engines": {
"node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16"
}
}, },
"ecc-jsbn": { "node_modules/ecc-jsbn": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmmirror.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "resolved": "https://registry.npmmirror.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==",
"requires": { "dependencies": {
"jsbn": "~0.1.0", "jsbn": "~0.1.0",
"safer-buffer": "^2.1.0" "safer-buffer": "^2.1.0"
} }
}, },
"ee-first": { "node_modules/ee-first": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
}, },
"encodeurl": { "node_modules/encodeurl": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"engines": {
"node": ">= 0.8"
}
}, },
"escape-html": { "node_modules/escape-html": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
}, },
"etag": { "node_modules/etag": {
"version": "1.8.1", "version": "1.8.1",
"resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz", "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz",
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
"engines": {
"node": ">= 0.6"
}
}, },
"exit-on-epipe": { "node_modules/exit-on-epipe": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz",
"integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==" "integrity": "sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==",
"engines": {
"node": ">=0.8"
}
}, },
"express": { "node_modules/express": {
"version": "4.18.2", "version": "4.18.2",
"resolved": "https://registry.npmmirror.com/express/-/express-4.18.2.tgz", "resolved": "https://registry.npmmirror.com/express/-/express-4.18.2.tgz",
"integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
"requires": { "dependencies": {
"accepts": "~1.3.8", "accepts": "~1.3.8",
"array-flatten": "1.1.1", "array-flatten": "1.1.1",
"body-parser": "1.20.1", "body-parser": "1.20.1",
...@@ -511,70 +666,94 @@ ...@@ -511,70 +666,94 @@
"utils-merge": "1.0.1", "utils-merge": "1.0.1",
"vary": "~1.1.2" "vary": "~1.1.2"
}, },
"dependencies": { "engines": {
"debug": { "node": ">= 0.10.0"
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"qs": {
"version": "6.11.0",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"requires": {
"side-channel": "^1.0.4"
}
},
"safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
}
} }
}, },
"express-async-handler": { "node_modules/express-async-handler": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/express-async-handler/-/express-async-handler-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/express-async-handler/-/express-async-handler-1.2.0.tgz",
"integrity": "sha512-rCSVtPXRmQSW8rmik/AIb2P0op6l7r1fMW538yyvTMltCO4xQEWMmobfrIxN2V1/mVrgxB8Az3reYF6yUZw37w==" "integrity": "sha512-rCSVtPXRmQSW8rmik/AIb2P0op6l7r1fMW538yyvTMltCO4xQEWMmobfrIxN2V1/mVrgxB8Az3reYF6yUZw37w=="
}, },
"express-history-api-fallback": { "node_modules/express-history-api-fallback": {
"version": "2.2.1", "version": "2.2.1",
"resolved": "https://registry.npmmirror.com/express-history-api-fallback/-/express-history-api-fallback-2.2.1.tgz", "resolved": "https://registry.npmmirror.com/express-history-api-fallback/-/express-history-api-fallback-2.2.1.tgz",
"integrity": "sha512-swxwm3aP8vrOOvlzOdZvHlSZtJGwHKaY94J6AkrAgCTmcbko3IRwbkhLv2wKV1WeZhjxX58aLMpP3atDBnKuZg==" "integrity": "sha512-swxwm3aP8vrOOvlzOdZvHlSZtJGwHKaY94J6AkrAgCTmcbko3IRwbkhLv2wKV1WeZhjxX58aLMpP3atDBnKuZg=="
}, },
"extend": { "node_modules/express/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/express/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/express/node_modules/qs": {
"version": "6.11.0",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dependencies": {
"side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/express/node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
]
},
"node_modules/extend": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz", "resolved": "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
}, },
"extsprintf": { "node_modules/extsprintf": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.3.0.tgz", "resolved": "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==" "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==",
"engines": [
"node >=0.6.0"
]
}, },
"fast-deep-equal": { "node_modules/fast-deep-equal": {
"version": "3.1.3", "version": "3.1.3",
"resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "resolved": "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
}, },
"fast-json-stable-stringify": { "node_modules/fast-json-stable-stringify": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "resolved": "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
}, },
"finalhandler": { "node_modules/finalhandler": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz",
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
"requires": { "dependencies": {
"debug": "2.6.9", "debug": "2.6.9",
"encodeurl": "~1.0.2", "encodeurl": "~1.0.2",
"escape-html": "~1.0.3", "escape-html": "~1.0.3",
...@@ -583,536 +762,721 @@ ...@@ -583,536 +762,721 @@
"statuses": "2.0.1", "statuses": "2.0.1",
"unpipe": "~1.0.0" "unpipe": "~1.0.0"
}, },
"engines": {
"node": ">= 0.8"
}
},
"node_modules/finalhandler/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": { "dependencies": {
"debug": { "ms": "2.0.0"
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
}
} }
}, },
"flatted": { "node_modules/finalhandler/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/flatted": {
"version": "3.2.7", "version": "3.2.7",
"resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz", "resolved": "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz",
"integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ=="
}, },
"forever-agent": { "node_modules/forever-agent": {
"version": "0.6.1", "version": "0.6.1",
"resolved": "https://registry.npmmirror.com/forever-agent/-/forever-agent-0.6.1.tgz", "resolved": "https://registry.npmmirror.com/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==" "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==",
"engines": {
"node": "*"
}
}, },
"form-data": { "node_modules/form-data": {
"version": "2.3.3", "version": "2.3.3",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz", "resolved": "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
"requires": { "dependencies": {
"asynckit": "^0.4.0", "asynckit": "^0.4.0",
"combined-stream": "^1.0.6", "combined-stream": "^1.0.6",
"mime-types": "^2.1.12" "mime-types": "^2.1.12"
},
"engines": {
"node": ">= 0.12"
} }
}, },
"formidable": { "node_modules/formidable": {
"version": "1.2.6", "version": "1.2.6",
"resolved": "https://registry.npmmirror.com/formidable/-/formidable-1.2.6.tgz", "resolved": "https://registry.npmmirror.com/formidable/-/formidable-1.2.6.tgz",
"integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==" "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==",
"deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau",
"funding": {
"url": "https://ko-fi.com/tunnckoCore/commissions"
}
}, },
"forwarded": { "node_modules/forwarded": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz",
"integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
"engines": {
"node": ">= 0.6"
}
}, },
"frac": { "node_modules/frac": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz",
"integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==" "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==",
"engines": {
"node": ">=0.8"
}
}, },
"fresh": { "node_modules/fresh": {
"version": "0.5.2", "version": "0.5.2",
"resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz", "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"engines": {
"node": ">= 0.6"
}
}, },
"fs-extra": { "node_modules/fs-extra": {
"version": "8.1.0", "version": "8.1.0",
"resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz", "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"requires": { "dependencies": {
"graceful-fs": "^4.2.0", "graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0", "jsonfile": "^4.0.0",
"universalify": "^0.1.0" "universalify": "^0.1.0"
},
"engines": {
"node": ">=6 <7 || >=8"
} }
}, },
"function-bind": { "node_modules/function-bind": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz", "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
}, },
"get-intrinsic": { "node_modules/get-intrinsic": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz", "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
"integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
"requires": { "dependencies": {
"function-bind": "^1.1.1", "function-bind": "^1.1.1",
"has": "^1.0.3", "has": "^1.0.3",
"has-proto": "^1.0.1", "has-proto": "^1.0.1",
"has-symbols": "^1.0.3" "has-symbols": "^1.0.3"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
} }
}, },
"get-stream": { "node_modules/get-stream": {
"version": "6.0.1", "version": "6.0.1",
"resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz", "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz",
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==" "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
}, },
"getpass": { "node_modules/getpass": {
"version": "0.1.7", "version": "0.1.7",
"resolved": "https://registry.npmmirror.com/getpass/-/getpass-0.1.7.tgz", "resolved": "https://registry.npmmirror.com/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==",
"requires": { "dependencies": {
"assert-plus": "^1.0.0" "assert-plus": "^1.0.0"
} }
}, },
"graceful-fs": { "node_modules/graceful-fs": {
"version": "4.2.11", "version": "4.2.11",
"resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz",
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
}, },
"har-schema": { "node_modules/har-schema": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmmirror.com/har-schema/-/har-schema-2.0.0.tgz", "resolved": "https://registry.npmmirror.com/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==" "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==",
"engines": {
"node": ">=4"
}
}, },
"har-validator": { "node_modules/har-validator": {
"version": "5.1.5", "version": "5.1.5",
"resolved": "https://registry.npmmirror.com/har-validator/-/har-validator-5.1.5.tgz", "resolved": "https://registry.npmmirror.com/har-validator/-/har-validator-5.1.5.tgz",
"integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
"requires": { "deprecated": "this library is no longer supported",
"dependencies": {
"ajv": "^6.12.3", "ajv": "^6.12.3",
"har-schema": "^2.0.0" "har-schema": "^2.0.0"
},
"engines": {
"node": ">=6"
} }
}, },
"has": { "node_modules/has": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"requires": { "dependencies": {
"function-bind": "^1.1.1" "function-bind": "^1.1.1"
},
"engines": {
"node": ">= 0.4.0"
} }
}, },
"has-proto": { "node_modules/has-proto": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz",
"integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==" "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
}, },
"has-symbols": { "node_modules/has-symbols": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz",
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
}, },
"http-errors": { "node_modules/http-errors": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz", "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz",
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
"requires": { "dependencies": {
"depd": "2.0.0", "depd": "2.0.0",
"inherits": "2.0.4", "inherits": "2.0.4",
"setprototypeof": "1.2.0", "setprototypeof": "1.2.0",
"statuses": "2.0.1", "statuses": "2.0.1",
"toidentifier": "1.0.1" "toidentifier": "1.0.1"
},
"engines": {
"node": ">= 0.8"
} }
}, },
"http-signature": { "node_modules/http-signature": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/http-signature/-/http-signature-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==", "integrity": "sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==",
"requires": { "dependencies": {
"assert-plus": "^1.0.0", "assert-plus": "^1.0.0",
"jsprim": "^1.2.2", "jsprim": "^1.2.2",
"sshpk": "^1.7.0" "sshpk": "^1.7.0"
},
"engines": {
"node": ">=0.8",
"npm": ">=1.3.7"
} }
}, },
"https-proxy-agent": { "node_modules/https-proxy-agent": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", "resolved": "https://registry.npmmirror.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"requires": { "dependencies": {
"agent-base": "6", "agent-base": "6",
"debug": "4" "debug": "4"
}, },
"engines": {
"node": ">= 6"
}
},
"node_modules/https-proxy-agent/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": { "dependencies": {
"debug": { "ms": "2.1.2"
"version": "4.3.4", },
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", "engines": {
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "node": ">=6.0"
"requires": { },
"ms": "2.1.2" "peerDependenciesMeta": {
} "supports-color": {
}, "optional": true
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
} }
} }
}, },
"httpx": { "node_modules/https-proxy-agent/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/httpx": {
"version": "2.2.7", "version": "2.2.7",
"resolved": "https://registry.npmmirror.com/httpx/-/httpx-2.2.7.tgz", "resolved": "https://registry.npmmirror.com/httpx/-/httpx-2.2.7.tgz",
"integrity": "sha512-Wjh2JOAah0pdczfqL8NC5378G7jMt0Zcpn8U+yyxAiejjlagzSTQgJHuVvka2VNPQlKfoGehYRc79WKq9E4gDw==", "integrity": "sha512-Wjh2JOAah0pdczfqL8NC5378G7jMt0Zcpn8U+yyxAiejjlagzSTQgJHuVvka2VNPQlKfoGehYRc79WKq9E4gDw==",
"requires": { "dependencies": {
"@types/node": "^14", "@types/node": "^14",
"debug": "^4.1.1" "debug": "^4.1.1"
}, }
},
"node_modules/httpx/node_modules/@types/node": {
"version": "14.18.54",
"resolved": "https://registry.npmmirror.com/@types/node/-/node-14.18.54.tgz",
"integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw=="
},
"node_modules/httpx/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": { "dependencies": {
"@types/node": { "ms": "2.1.2"
"version": "14.18.54", },
"resolved": "https://registry.npmmirror.com/@types/node/-/node-14.18.54.tgz", "engines": {
"integrity": "sha512-uq7O52wvo2Lggsx1x21tKZgqkJpvwCseBBPtX/nKQfpVlEsLOb11zZ1CRsWUKvJF0+lzuA9jwvA7Pr2Wt7i3xw==" "node": ">=6.0"
}, },
"debug": { "peerDependenciesMeta": {
"version": "4.3.4", "supports-color": {
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", "optional": true
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
} }
} }
}, },
"iconv-lite": { "node_modules/httpx/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/iconv-lite": {
"version": "0.4.24", "version": "0.4.24",
"resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"requires": { "dependencies": {
"safer-buffer": ">= 2.1.2 < 3" "safer-buffer": ">= 2.1.2 < 3"
},
"engines": {
"node": ">=0.10.0"
} }
}, },
"inherits": { "node_modules/inherits": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
}, },
"ipaddr.js": { "node_modules/ipaddr.js": {
"version": "1.9.1", "version": "1.9.1",
"resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "resolved": "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
"engines": {
"node": ">= 0.10"
}
}, },
"is-buffer": { "node_modules/is-buffer": {
"version": "1.1.6", "version": "1.1.6",
"resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz", "resolved": "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
}, },
"is-stream": { "node_modules/is-stream": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz", "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz",
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"engines": {
"node": ">=8"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
}, },
"is-typedarray": { "node_modules/is-typedarray": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA=="
}, },
"isstream": { "node_modules/isstream": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmmirror.com/isstream/-/isstream-0.1.2.tgz", "resolved": "https://registry.npmmirror.com/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g=="
}, },
"jsbn": { "node_modules/jsbn": {
"version": "0.1.1", "version": "0.1.1",
"resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-0.1.1.tgz", "resolved": "https://registry.npmmirror.com/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg=="
}, },
"json-bigint": { "node_modules/json-bigint": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/json-bigint/-/json-bigint-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/json-bigint/-/json-bigint-1.0.0.tgz",
"integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
"requires": { "dependencies": {
"bignumber.js": "^9.0.0" "bignumber.js": "^9.0.0"
} }
}, },
"json-schema": { "node_modules/json-schema": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz", "resolved": "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz",
"integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA=="
}, },
"json-schema-traverse": { "node_modules/json-schema-traverse": {
"version": "0.4.1", "version": "0.4.1",
"resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "resolved": "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
}, },
"json-stringify-safe": { "node_modules/json-stringify-safe": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "resolved": "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
}, },
"jsonfile": { "node_modules/jsonfile": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz", "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
"requires": { "optionalDependencies": {
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
}, },
"jsprim": { "node_modules/jsprim": {
"version": "1.4.2", "version": "1.4.2",
"resolved": "https://registry.npmmirror.com/jsprim/-/jsprim-1.4.2.tgz", "resolved": "https://registry.npmmirror.com/jsprim/-/jsprim-1.4.2.tgz",
"integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==",
"requires": { "dependencies": {
"assert-plus": "1.0.0", "assert-plus": "1.0.0",
"extsprintf": "1.3.0", "extsprintf": "1.3.0",
"json-schema": "0.4.0", "json-schema": "0.4.0",
"verror": "1.10.0" "verror": "1.10.0"
},
"engines": {
"node": ">=0.6.0"
} }
}, },
"kitx": { "node_modules/kitx": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmmirror.com/kitx/-/kitx-1.3.0.tgz", "resolved": "https://registry.npmmirror.com/kitx/-/kitx-1.3.0.tgz",
"integrity": "sha512-fhBqFlXd0GkKTB+8ayLfpzPUw+LHxZlPAukPNBD1Om7JMeInT+/PxCAf1yLagvD+VKoyWhXtJR68xQkX/a0wOQ==" "integrity": "sha512-fhBqFlXd0GkKTB+8ayLfpzPUw+LHxZlPAukPNBD1Om7JMeInT+/PxCAf1yLagvD+VKoyWhXtJR68xQkX/a0wOQ=="
}, },
"log4js": { "node_modules/log4js": {
"version": "6.9.1", "version": "6.9.1",
"resolved": "https://registry.npmmirror.com/log4js/-/log4js-6.9.1.tgz", "resolved": "https://registry.npmmirror.com/log4js/-/log4js-6.9.1.tgz",
"integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==",
"requires": { "dependencies": {
"date-format": "^4.0.14", "date-format": "^4.0.14",
"debug": "^4.3.4", "debug": "^4.3.4",
"flatted": "^3.2.7", "flatted": "^3.2.7",
"rfdc": "^1.3.0", "rfdc": "^1.3.0",
"streamroller": "^3.1.5" "streamroller": "^3.1.5"
}, },
"engines": {
"node": ">=8.0"
}
},
"node_modules/log4js/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": { "dependencies": {
"debug": { "ms": "2.1.2"
"version": "4.3.4", },
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", "engines": {
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "node": ">=6.0"
"requires": { },
"ms": "2.1.2" "peerDependenciesMeta": {
} "supports-color": {
}, "optional": true
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
} }
} }
}, },
"lru-cache": { "node_modules/log4js/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/lru-cache": {
"version": "4.1.5", "version": "4.1.5",
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz", "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz",
"integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
"requires": { "dependencies": {
"pseudomap": "^1.0.2", "pseudomap": "^1.0.2",
"yallist": "^2.1.2" "yallist": "^2.1.2"
} }
}, },
"md5": { "node_modules/md5": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz", "resolved": "https://registry.npmmirror.com/md5/-/md5-2.3.0.tgz",
"integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
"requires": { "dependencies": {
"charenc": "0.0.2", "charenc": "0.0.2",
"crypt": "0.0.2", "crypt": "0.0.2",
"is-buffer": "~1.1.6" "is-buffer": "~1.1.6"
} }
}, },
"media-typer": { "node_modules/media-typer": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz", "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
"engines": {
"node": ">= 0.6"
}
}, },
"merge-descriptors": { "node_modules/merge-descriptors": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
}, },
"methods": { "node_modules/methods": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz",
"integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
"engines": {
"node": ">= 0.6"
}
}, },
"mime": { "node_modules/mime": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz", "resolved": "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"bin": {
"mime": "cli.js"
},
"engines": {
"node": ">=4"
}
}, },
"mime-db": { "node_modules/mime-db": {
"version": "1.52.0", "version": "1.52.0",
"resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"engines": {
"node": ">= 0.6"
}
}, },
"mime-types": { "node_modules/mime-types": {
"version": "2.1.35", "version": "2.1.35",
"resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"requires": { "dependencies": {
"mime-db": "1.52.0" "mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
} }
}, },
"moment": { "node_modules/moment": {
"version": "2.29.4", "version": "2.29.4",
"resolved": "https://registry.npmmirror.com/moment/-/moment-2.29.4.tgz", "resolved": "https://registry.npmmirror.com/moment/-/moment-2.29.4.tgz",
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==",
"engines": {
"node": "*"
}
}, },
"ms": { "node_modules/ms": {
"version": "2.1.3", "version": "2.1.3",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
}, },
"negotiator": { "node_modules/negotiator": {
"version": "0.6.3", "version": "0.6.3",
"resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz", "resolved": "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz",
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
"engines": {
"node": ">= 0.6"
}
}, },
"node-fetch": { "node_modules/node-fetch": {
"version": "2.6.12", "version": "2.6.12",
"resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.12.tgz", "resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.12.tgz",
"integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==",
"requires": { "dependencies": {
"whatwg-url": "^5.0.0" "whatwg-url": "^5.0.0"
},
"engines": {
"node": "4.x || >=6.0.0"
},
"peerDependencies": {
"encoding": "^0.1.0"
},
"peerDependenciesMeta": {
"encoding": {
"optional": true
}
} }
}, },
"node-xlsx": { "node_modules/node-xlsx": {
"version": "0.16.2", "version": "0.16.2",
"resolved": "https://registry.npmmirror.com/node-xlsx/-/node-xlsx-0.16.2.tgz", "resolved": "https://registry.npmmirror.com/node-xlsx/-/node-xlsx-0.16.2.tgz",
"integrity": "sha512-ZT3Y4Zg2BFC2UWdp9B/6x3GqrFL0Bf0cXKy9IyhcwlKbcDAf5GuPAPSqrWFQK68NIpfTNA1Kr/NNjpwYxUgHTA==", "integrity": "sha512-ZT3Y4Zg2BFC2UWdp9B/6x3GqrFL0Bf0cXKy9IyhcwlKbcDAf5GuPAPSqrWFQK68NIpfTNA1Kr/NNjpwYxUgHTA==",
"requires": { "dependencies": {
"@babel/runtime": "^7.14.6", "@babel/runtime": "^7.14.6",
"buffer-from": "^1.1.1", "buffer-from": "^1.1.1",
"xlsx": "^0.17.0" "xlsx": "^0.17.0"
},
"engines": {
"node": ">=4.0.0"
} }
}, },
"nodemailer": { "node_modules/nodemailer": {
"version": "6.9.4", "version": "6.9.4",
"resolved": "https://registry.npmmirror.com/nodemailer/-/nodemailer-6.9.4.tgz", "resolved": "https://registry.npmmirror.com/nodemailer/-/nodemailer-6.9.4.tgz",
"integrity": "sha512-CXjQvrQZV4+6X5wP6ZIgdehJamI63MFoYFGGPtHudWym9qaEHDNdPzaj5bfMCvxG1vhAileSWW90q7nL0N36mA==" "integrity": "sha512-CXjQvrQZV4+6X5wP6ZIgdehJamI63MFoYFGGPtHudWym9qaEHDNdPzaj5bfMCvxG1vhAileSWW90q7nL0N36mA==",
"engines": {
"node": ">=6.0.0"
}
}, },
"oauth-sign": { "node_modules/oauth-sign": {
"version": "0.9.0", "version": "0.9.0",
"resolved": "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz", "resolved": "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz",
"integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
"engines": {
"node": "*"
}
}, },
"object-inspect": { "node_modules/object-inspect": {
"version": "1.12.3", "version": "1.12.3",
"resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz", "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz",
"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
}, },
"on-finished": { "node_modules/on-finished": {
"version": "2.4.1", "version": "2.4.1",
"resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz", "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
"requires": { "dependencies": {
"ee-first": "1.1.1" "ee-first": "1.1.1"
},
"engines": {
"node": ">= 0.8"
} }
}, },
"on-headers": { "node_modules/on-headers": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz",
"integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
"engines": {
"node": ">= 0.8"
}
}, },
"opentype.js": { "node_modules/opentype.js": {
"version": "0.7.3", "version": "0.7.3",
"resolved": "https://registry.npmmirror.com/opentype.js/-/opentype.js-0.7.3.tgz", "resolved": "https://registry.npmmirror.com/opentype.js/-/opentype.js-0.7.3.tgz",
"integrity": "sha512-Veui5vl2bLonFJ/SjX/WRWJT3SncgiZNnKUyahmXCc2sa1xXW15u3R/3TN5+JFiP7RsjK5ER4HA5eWaEmV9deA==", "integrity": "sha512-Veui5vl2bLonFJ/SjX/WRWJT3SncgiZNnKUyahmXCc2sa1xXW15u3R/3TN5+JFiP7RsjK5ER4HA5eWaEmV9deA==",
"requires": { "dependencies": {
"tiny-inflate": "^1.0.2" "tiny-inflate": "^1.0.2"
},
"bin": {
"ot": "bin/ot"
} }
}, },
"parseurl": { "node_modules/parseurl": {
"version": "1.3.3", "version": "1.3.3",
"resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz", "resolved": "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"engines": {
"node": ">= 0.8"
}
}, },
"path-to-regexp": { "node_modules/path-to-regexp": {
"version": "0.1.7", "version": "0.1.7",
"resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz", "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
}, },
"performance-now": { "node_modules/performance-now": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz", "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
}, },
"printj": { "node_modules/printj": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmmirror.com/printj/-/printj-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/printj/-/printj-1.1.2.tgz",
"integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==" "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==",
"bin": {
"printj": "bin/printj.njs"
},
"engines": {
"node": ">=0.8"
}
}, },
"proxy-addr": { "node_modules/proxy-addr": {
"version": "2.0.7", "version": "2.0.7",
"resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz", "resolved": "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz",
"integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
"requires": { "dependencies": {
"forwarded": "0.2.0", "forwarded": "0.2.0",
"ipaddr.js": "1.9.1" "ipaddr.js": "1.9.1"
},
"engines": {
"node": ">= 0.10"
} }
}, },
"pseudomap": { "node_modules/pseudomap": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==" "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ=="
}, },
"psl": { "node_modules/psl": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz", "resolved": "https://registry.npmmirror.com/psl/-/psl-1.9.0.tgz",
"integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
}, },
"punycode": { "node_modules/punycode": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz", "resolved": "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
"engines": {
"node": ">=6"
}
}, },
"qs": { "node_modules/qs": {
"version": "6.11.2", "version": "6.11.2",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.2.tgz", "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.2.tgz",
"integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
"requires": { "dependencies": {
"side-channel": "^1.0.4" "side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
} }
}, },
"range-parser": { "node_modules/range-parser": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz", "resolved": "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"engines": {
"node": ">= 0.6"
}
}, },
"raw-body": { "node_modules/raw-body": {
"version": "2.5.1", "version": "2.5.1",
"resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz", "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz",
"integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
"requires": { "dependencies": {
"bytes": "3.1.2", "bytes": "3.1.2",
"http-errors": "2.0.0", "http-errors": "2.0.0",
"iconv-lite": "0.4.24", "iconv-lite": "0.4.24",
"unpipe": "1.0.0" "unpipe": "1.0.0"
}, },
"dependencies": { "engines": {
"bytes": { "node": ">= 0.8"
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz",
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
}
} }
}, },
"regenerator-runtime": { "node_modules/raw-body/node_modules/bytes": {
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz",
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/regenerator-runtime": {
"version": "0.11.1", "version": "0.11.1",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
}, },
"request": { "node_modules/request": {
"version": "2.88.2", "version": "2.88.2",
"resolved": "https://registry.npmmirror.com/request/-/request-2.88.2.tgz", "resolved": "https://registry.npmmirror.com/request/-/request-2.88.2.tgz",
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
"requires": { "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
"dependencies": {
"aws-sign2": "~0.7.0", "aws-sign2": "~0.7.0",
"aws4": "^1.8.0", "aws4": "^1.8.0",
"caseless": "~0.12.0", "caseless": "~0.12.0",
...@@ -1134,39 +1498,43 @@ ...@@ -1134,39 +1498,43 @@
"tunnel-agent": "^0.6.0", "tunnel-agent": "^0.6.0",
"uuid": "^3.3.2" "uuid": "^3.3.2"
}, },
"dependencies": { "engines": {
"qs": { "node": ">= 6"
"version": "6.5.3",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz",
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA=="
}
} }
}, },
"rfdc": { "node_modules/request/node_modules/qs": {
"version": "6.5.3",
"resolved": "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz",
"integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==",
"engines": {
"node": ">=0.6"
}
},
"node_modules/rfdc": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz", "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.3.0.tgz",
"integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA=="
}, },
"safe-buffer": { "node_modules/safe-buffer": {
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz", "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
}, },
"safer-buffer": { "node_modules/safer-buffer": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
}, },
"sax": { "node_modules/sax": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz", "resolved": "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
}, },
"send": { "node_modules/send": {
"version": "0.18.0", "version": "0.18.0",
"resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz", "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz",
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
"requires": { "dependencies": {
"debug": "2.6.9", "debug": "2.6.9",
"depd": "2.0.0", "depd": "2.0.0",
"destroy": "1.2.0", "destroy": "1.2.0",
...@@ -1181,63 +1549,71 @@ ...@@ -1181,63 +1549,71 @@
"range-parser": "~1.2.1", "range-parser": "~1.2.1",
"statuses": "2.0.1" "statuses": "2.0.1"
}, },
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/send/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": { "dependencies": {
"debug": { "ms": "2.0.0"
"version": "2.6.9",
"resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
},
"dependencies": {
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
}
}
}
} }
}, },
"serve-static": { "node_modules/send/node_modules/debug/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
"node_modules/serve-static": {
"version": "1.15.0", "version": "1.15.0",
"resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz", "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz",
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
"requires": { "dependencies": {
"encodeurl": "~1.0.2", "encodeurl": "~1.0.2",
"escape-html": "~1.0.3", "escape-html": "~1.0.3",
"parseurl": "~1.3.3", "parseurl": "~1.3.3",
"send": "0.18.0" "send": "0.18.0"
},
"engines": {
"node": ">= 0.8.0"
} }
}, },
"setprototypeof": { "node_modules/setprototypeof": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz", "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz",
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
}, },
"side-channel": { "node_modules/side-channel": {
"version": "1.0.4", "version": "1.0.4",
"resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz", "resolved": "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz",
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
"requires": { "dependencies": {
"call-bind": "^1.0.0", "call-bind": "^1.0.0",
"get-intrinsic": "^1.0.2", "get-intrinsic": "^1.0.2",
"object-inspect": "^1.9.0" "object-inspect": "^1.9.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
} }
}, },
"ssf": { "node_modules/ssf": {
"version": "0.11.2", "version": "0.11.2",
"resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz", "resolved": "https://registry.npmmirror.com/ssf/-/ssf-0.11.2.tgz",
"integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
"requires": { "dependencies": {
"frac": "~1.1.2" "frac": "~1.1.2"
},
"engines": {
"node": ">=0.8"
} }
}, },
"sshpk": { "node_modules/sshpk": {
"version": "1.17.0", "version": "1.17.0",
"resolved": "https://registry.npmmirror.com/sshpk/-/sshpk-1.17.0.tgz", "resolved": "https://registry.npmmirror.com/sshpk/-/sshpk-1.17.0.tgz",
"integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==",
"requires": { "dependencies": {
"asn1": "~0.2.3", "asn1": "~0.2.3",
"assert-plus": "^1.0.0", "assert-plus": "^1.0.0",
"bcrypt-pbkdf": "^1.0.0", "bcrypt-pbkdf": "^1.0.0",
...@@ -1247,51 +1623,74 @@ ...@@ -1247,51 +1623,74 @@
"jsbn": "~0.1.0", "jsbn": "~0.1.0",
"safer-buffer": "^2.0.2", "safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0" "tweetnacl": "~0.14.0"
},
"bin": {
"sshpk-conv": "bin/sshpk-conv",
"sshpk-sign": "bin/sshpk-sign",
"sshpk-verify": "bin/sshpk-verify"
},
"engines": {
"node": ">=0.10.0"
} }
}, },
"statuses": { "node_modules/statuses": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz", "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz",
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
"engines": {
"node": ">= 0.8"
}
}, },
"streamroller": { "node_modules/streamroller": {
"version": "3.1.5", "version": "3.1.5",
"resolved": "https://registry.npmmirror.com/streamroller/-/streamroller-3.1.5.tgz", "resolved": "https://registry.npmmirror.com/streamroller/-/streamroller-3.1.5.tgz",
"integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==",
"requires": { "dependencies": {
"date-format": "^4.0.14", "date-format": "^4.0.14",
"debug": "^4.3.4", "debug": "^4.3.4",
"fs-extra": "^8.1.0" "fs-extra": "^8.1.0"
}, },
"engines": {
"node": ">=8.0"
}
},
"node_modules/streamroller/node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"dependencies": { "dependencies": {
"debug": { "ms": "2.1.2"
"version": "4.3.4", },
"resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz", "engines": {
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "node": ">=6.0"
"requires": { },
"ms": "2.1.2" "peerDependenciesMeta": {
} "supports-color": {
}, "optional": true
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
} }
} }
}, },
"svg-captcha": { "node_modules/streamroller/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/svg-captcha": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmmirror.com/svg-captcha/-/svg-captcha-1.4.0.tgz", "resolved": "https://registry.npmmirror.com/svg-captcha/-/svg-captcha-1.4.0.tgz",
"integrity": "sha512-/fkkhavXPE57zRRCjNqAP3txRCSncpMx3NnNZL7iEoyAtYwUjPhJxW6FQTQPG5UPEmCrbFoXS10C3YdJlW7PDg==", "integrity": "sha512-/fkkhavXPE57zRRCjNqAP3txRCSncpMx3NnNZL7iEoyAtYwUjPhJxW6FQTQPG5UPEmCrbFoXS10C3YdJlW7PDg==",
"requires": { "dependencies": {
"opentype.js": "^0.7.3" "opentype.js": "^0.7.3"
},
"engines": {
"node": ">=4.x"
} }
}, },
"tencentcloud-sdk-nodejs": { "node_modules/tencentcloud-sdk-nodejs": {
"version": "4.0.667", "version": "4.0.667",
"resolved": "https://registry.npmmirror.com/tencentcloud-sdk-nodejs/-/tencentcloud-sdk-nodejs-4.0.667.tgz", "resolved": "https://registry.npmmirror.com/tencentcloud-sdk-nodejs/-/tencentcloud-sdk-nodejs-4.0.667.tgz",
"integrity": "sha512-JBLHSlZuz/FRIVtOszvbEE90zG8UmslBLwGrKYq0mKvKiNLiidaSpFcRZjvnJ5Y0YcOuQ7WceLb9FPxvEF11ww==", "integrity": "sha512-JBLHSlZuz/FRIVtOszvbEE90zG8UmslBLwGrKYq0mKvKiNLiidaSpFcRZjvnJ5Y0YcOuQ7WceLb9FPxvEF11ww==",
"requires": { "dependencies": {
"form-data": "^3.0.0", "form-data": "^3.0.0",
"get-stream": "^6.0.0", "get-stream": "^6.0.0",
"https-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.0",
...@@ -1299,150 +1698,191 @@ ...@@ -1299,150 +1698,191 @@
"node-fetch": "^2.2.0", "node-fetch": "^2.2.0",
"tslib": "1.13.0" "tslib": "1.13.0"
}, },
"engines": {
"node": ">=10"
}
},
"node_modules/tencentcloud-sdk-nodejs/node_modules/form-data": {
"version": "3.0.1",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz",
"integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
"dependencies": { "dependencies": {
"form-data": { "asynckit": "^0.4.0",
"version": "3.0.1", "combined-stream": "^1.0.8",
"resolved": "https://registry.npmmirror.com/form-data/-/form-data-3.0.1.tgz", "mime-types": "^2.1.12"
"integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", },
"requires": { "engines": {
"asynckit": "^0.4.0", "node": ">= 6"
"combined-stream": "^1.0.8",
"mime-types": "^2.1.12"
}
}
} }
}, },
"tiny-inflate": { "node_modules/tiny-inflate": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmmirror.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz", "resolved": "https://registry.npmmirror.com/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
"integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==" "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="
}, },
"toidentifier": { "node_modules/toidentifier": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz",
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"engines": {
"node": ">=0.6"
}
}, },
"tough-cookie": { "node_modules/tough-cookie": {
"version": "2.5.0", "version": "2.5.0",
"resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.5.0.tgz", "resolved": "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"requires": { "dependencies": {
"psl": "^1.1.28", "psl": "^1.1.28",
"punycode": "^2.1.1" "punycode": "^2.1.1"
},
"engines": {
"node": ">=0.8"
} }
}, },
"tr46": { "node_modules/tr46": {
"version": "0.0.3", "version": "0.0.3",
"resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz", "resolved": "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz",
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
}, },
"tslib": { "node_modules/tslib": {
"version": "1.13.0", "version": "1.13.0",
"resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.13.0.tgz", "resolved": "https://registry.npmmirror.com/tslib/-/tslib-1.13.0.tgz",
"integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
}, },
"tunnel-agent": { "node_modules/tunnel-agent": {
"version": "0.6.0", "version": "0.6.0",
"resolved": "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "resolved": "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"requires": { "dependencies": {
"safe-buffer": "^5.0.1" "safe-buffer": "^5.0.1"
},
"engines": {
"node": "*"
} }
}, },
"tweetnacl": { "node_modules/tweetnacl": {
"version": "0.14.5", "version": "0.14.5",
"resolved": "https://registry.npmmirror.com/tweetnacl/-/tweetnacl-0.14.5.tgz", "resolved": "https://registry.npmmirror.com/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA=="
}, },
"type-is": { "node_modules/type-is": {
"version": "1.6.18", "version": "1.6.18",
"resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz", "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz",
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"requires": { "dependencies": {
"media-typer": "0.3.0", "media-typer": "0.3.0",
"mime-types": "~2.1.24" "mime-types": "~2.1.24"
},
"engines": {
"node": ">= 0.6"
} }
}, },
"universalify": { "node_modules/universalify": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz", "resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"engines": {
"node": ">= 4.0.0"
}
}, },
"unpipe": { "node_modules/unpipe": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz", "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
"engines": {
"node": ">= 0.8"
}
}, },
"uri-js": { "node_modules/uri-js": {
"version": "4.4.1", "version": "4.4.1",
"resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz", "resolved": "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"requires": { "dependencies": {
"punycode": "^2.1.0" "punycode": "^2.1.0"
} }
}, },
"utils-merge": { "node_modules/utils-merge": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz", "resolved": "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
"engines": {
"node": ">= 0.4.0"
}
}, },
"uuid": { "node_modules/uuid": {
"version": "3.4.0", "version": "3.4.0",
"resolved": "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz", "resolved": "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz",
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
"bin": {
"uuid": "bin/uuid"
}
}, },
"vary": { "node_modules/vary": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz", "resolved": "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz",
"integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
"engines": {
"node": ">= 0.8"
}
}, },
"verror": { "node_modules/verror": {
"version": "1.10.0", "version": "1.10.0",
"resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz", "resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz",
"integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==",
"requires": { "engines": [
"node >=0.6.0"
],
"dependencies": {
"assert-plus": "^1.0.0", "assert-plus": "^1.0.0",
"core-util-is": "1.0.2", "core-util-is": "1.0.2",
"extsprintf": "^1.2.0" "extsprintf": "^1.2.0"
} }
}, },
"webidl-conversions": { "node_modules/webidl-conversions": {
"version": "3.0.1", "version": "3.0.1",
"resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz", "resolved": "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
}, },
"whatwg-url": { "node_modules/whatwg-url": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz", "resolved": "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz",
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
"requires": { "dependencies": {
"tr46": "~0.0.3", "tr46": "~0.0.3",
"webidl-conversions": "^3.0.0" "webidl-conversions": "^3.0.0"
} }
}, },
"wmf": { "node_modules/wmf": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz", "resolved": "https://registry.npmmirror.com/wmf/-/wmf-1.0.2.tgz",
"integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==" "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==",
"engines": {
"node": ">=0.8"
}
}, },
"word": { "node_modules/word": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz", "resolved": "https://registry.npmmirror.com/word/-/word-0.3.0.tgz",
"integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==" "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==",
"engines": {
"node": ">=0.8"
}
}, },
"ws": { "node_modules/ws": {
"version": "5.2.3", "version": "5.2.3",
"resolved": "https://registry.npmmirror.com/ws/-/ws-5.2.3.tgz", "resolved": "https://registry.npmmirror.com/ws/-/ws-5.2.3.tgz",
"integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==", "integrity": "sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==",
"requires": { "dependencies": {
"async-limiter": "~1.0.0" "async-limiter": "~1.0.0"
} }
}, },
"xlsx": { "node_modules/xlsx": {
"version": "0.17.5", "version": "0.17.5",
"resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.17.5.tgz", "resolved": "https://registry.npmmirror.com/xlsx/-/xlsx-0.17.5.tgz",
"integrity": "sha512-lXNU0TuYsvElzvtI6O7WIVb9Zar1XYw7Xb3VAx2wn8N/n0whBYrCnHMxtFyIiUU1Wjf09WzmLALDfBO5PqTb1g==", "integrity": "sha512-lXNU0TuYsvElzvtI6O7WIVb9Zar1XYw7Xb3VAx2wn8N/n0whBYrCnHMxtFyIiUU1Wjf09WzmLALDfBO5PqTb1g==",
"requires": { "dependencies": {
"adler-32": "~1.2.0", "adler-32": "~1.2.0",
"cfb": "^1.1.4", "cfb": "^1.1.4",
"codepage": "~1.15.0", "codepage": "~1.15.0",
...@@ -1450,23 +1890,35 @@ ...@@ -1450,23 +1890,35 @@
"ssf": "~0.11.2", "ssf": "~0.11.2",
"wmf": "~1.0.1", "wmf": "~1.0.1",
"word": "~0.3.0" "word": "~0.3.0"
},
"bin": {
"xlsx": "bin/xlsx.njs"
},
"engines": {
"node": ">=0.8"
} }
}, },
"xml2js": { "node_modules/xml2js": {
"version": "0.4.23", "version": "0.4.23",
"resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.4.23.tgz", "resolved": "https://registry.npmmirror.com/xml2js/-/xml2js-0.4.23.tgz",
"integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
"requires": { "dependencies": {
"sax": ">=0.6.0", "sax": ">=0.6.0",
"xmlbuilder": "~11.0.0" "xmlbuilder": "~11.0.0"
},
"engines": {
"node": ">=4.0.0"
} }
}, },
"xmlbuilder": { "node_modules/xmlbuilder": {
"version": "11.0.1", "version": "11.0.1",
"resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz", "resolved": "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==" "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
"engines": {
"node": ">=4.0"
}
}, },
"yallist": { "node_modules/yallist": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==" "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A=="
......
...@@ -10,7 +10,8 @@ import * as splitResultConfig from "../config/splitResultConfig"; ...@@ -10,7 +10,8 @@ import * as splitResultConfig from "../config/splitResultConfig";
import { selectData } from "../middleware/databaseSuccess"; import { selectData } from "../middleware/databaseSuccess";
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import moment = require("moment"); import moment = require("moment");
import * as verificationEnumTools from "../util/verificationEnum";
import { getStudent } from "./partyMember";
/** /**
* 主页基础数据 * 主页基础数据
...@@ -27,44 +28,55 @@ import moment = require("moment"); ...@@ -27,44 +28,55 @@ import moment = require("moment");
let param = { bId }; let param = { bId };
let partyQualityScore = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量三级指标, param, ["thirdLevelScore", "currentScore"]); let partyQualityScore = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量三级指标, param, ["thirdLevelScore", "currentScore"]);
let massIndex = 0;//得分 let scoreCount = 0;//得分
let massCount = 0;//总分 let massSum = 0;//总分
partyQualityScore.forEach( score => { partyQualityScore.forEach( score => {
massCount += score.thirdLevelScore; massSum += score.thirdLevelScore;
massIndex += score.currentScore; scoreCount += score.currentScore;
}); });
let partyPositionsMap = {}; // = []; //党内职务人员 [{key, list:["", ""]}]
for (let key in clientConfigEnum.PARTYPOSITIONS) {
let anyKey:any = key;
if (isNaN(anyKey)) { //枚举key key = string
partyPositionsMap[anyKey] = {key:anyKey, list:[]}
}
}
let selectAllColumn = ["bId", "partyPositionsName", "name"]; let selectAllColumn = ["bId", "partyPositionsName", "name"];
let allMemberList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, param, selectAllColumn); let allMemberList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, param, selectAllColumn);
let partyMemberNum = allMemberList.length;//本支部人员总数
let partyMemberNum = 0;//本支部人员总数
allMemberList.forEach(item => { let partyNoticeParam = {bId};
let { partyPositionsName, name} = item; let partyNoticeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建通知, partyNoticeParam, []);
const ItemBId = item.bId;
if (ItemBId == bId) { let noticeList = [];
partyMemberNum += 1; partyNoticeList.forEach(info => {
let partyPositionsList = getPartyPositionsList(JSON.parse(partyPositionsName)); noticeList.push({
partyPositionsList.forEach(positions => { title:info.title,//类型
partyPositionsMap[positions].list.push(name); content:info.content,//内容
}); time:moment(info.dataTime).format("YYYY-MM-DD")
} });
}); });
let partyPositions = []; //党内职务人员 [{key, list:["", ""]}]
for (let key in partyPositionsMap ) { // let partyPositionsMap = {}; // = []; //党内职务人员 [{key, list:["", ""]}]
let dataItem = partyPositionsMap[key]; // for (let key in clientConfigEnum.PARTYPOSITIONS) {
if (!dataItem.list.length) dataItem.list.push("暂无数据"); // let anyKey:any = key;
partyPositions.push(dataItem) // if (isNaN(anyKey)) { //枚举key key = string
} // partyPositionsMap[anyKey] = {key:anyKey, list:[]}
// }
return { branch, partyMemberNum, massSum:massCount, massIndex, partyPositions }; // }
// allMemberList.forEach(item => {
// let { partyPositionsName, name} = item;
// const ItemBId = item.bId;
// if (ItemBId == bId) {
// partyMemberNum += 1;
// let partyPositionsList = getPartyPositionsList(JSON.parse(partyPositionsName));
// partyPositionsList.forEach(positions => {
// partyPositionsMap[positions].list.push(name);
// });
// }
// });
// let partyPositions = []; //党内职务人员 [{key, list:["", ""]}]
// for (let key in partyPositionsMap ) {
// let dataItem = partyPositionsMap[key];
// if (!dataItem.list.length) dataItem.list.push("暂无数据");
// partyPositions.push(dataItem)
// }
return { branch, partyMemberNum, scoreCount, noticeList, noticeCount:noticeList.length };
} }
...@@ -90,35 +102,150 @@ function getPartyPositionsList(numberList) { ...@@ -90,35 +102,150 @@ function getPartyPositionsList(numberList) {
*/ */
export async function activitiesData(bId:number) { export async function activitiesData(bId:number) {
let param = { bId }; let param = { bId };
let partyInformationList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, param, ["taId", "theme", "dataMonth"]);
let partyBuildingDynamicDataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建动态表, param, ["pbId", "theme", "dataMonth"]); /**资讯 = 活动表 */
let partyInformationList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, param, ["taId", "theme", "activitesTime"]);
let dataList = []; let dataList = [];
partyInformationList.forEach( info => { partyInformationList.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyInformationConfig, info); let changeData:any = extractData(splitResultConfig.partyInformationConfig, info);
changeData.dataMonth = new Date(info.dataMonth).valueOf(); changeData.time = moment(info.activitesTime).format('YYYY-MM-DD');
changeData.dateMs = new Date(info.activitesTime).valueOf();
changeData.pbType = configEnum.PBTYPE.党建资讯; changeData.pbType = configEnum.PBTYPE.党建资讯;
changeData.labels = ["专题活动"];
changeData.id = info.taId;
dataList.push(changeData); dataList.push(changeData);
}) });
dataList.sort( (a, b) => { return b.dateMs - a.dateMs; });
/**动态 */
let partyBuildingDynamicDataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建动态表, param, ["pbId", "theme", "dataMonth", "fileName"]);
let dynamicsList = [];
partyBuildingDynamicDataList.forEach (info => { partyBuildingDynamicDataList.forEach (info => {
let changeData:any = extractData(splitResultConfig.buildingDynamiconfig, info); let addInfo = {
changeData.dataMonth = new Date(info.dataMonth).valueOf(); theme : info.theme,
changeData.pbType = configEnum.PBTYPE.党建动态; id : info.pbId,
dataList.push(changeData); fileUrl:info.fileName[0] || ""
}) }
dataList.sort( (a, b) => { return b["dataMonth"] - a["dataMonth"]; }) dataList.push(addInfo);
});
return {dynamicsList:dynamicsList, informationList:dataList};
}
dataList.forEach( info => {
info.dataMonth = moment(info.dataMonth).format('YYYY-MM-DD');
})
return dataList; const ColorConfig = {
1:"#C62A23",
2:"#E4B386",
3:"#2aa115",//发展对象
4:"#3549B0",
5:"#1e5eff"
};
function changePartyPositionsName(partyPositionsName, etId) {
let str = "";
for (let i= 0; i < partyPositionsName.length; i++) {
let item = partyPositionsName[i];
if (item < 10) continue;
str += `,${verificationEnumTools.changeEnumValue(configEnum.PARTYPOSITIONS, item)}`;
}
if (!str) {
let partyPositionsNameStr = "";
if (etId == configEnum.ENTRYTYPE.正式党员) partyPositionsNameStr = "党员";
else partyPositionsNameStr = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, etId);
return {partyPositionsNameStr, color:ColorConfig[etId]};
}
return {partyPositionsNameStr : str.replace(",", ""), color:"#C62A23"};
} }
/**
* 个人首页 上面 和 中部
* @param pmId
* @param bId
* @returns
*/
export async function memberHomeData(pmId:string, bId:number) {
let clomun = ["bId", "pmId", "etId", "name", "sex", "birthDate", "phone", "levelOfEducation", "bId", "partyPositionsName", "partyJoiningTime", "administrativePositionName",
"departmentName", "askForTime", "listedAsActivistsTime", "liaison", "talkTime", "partyState"];
let partyMemberInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {pmId}, clomun);
let changeData:any = extractData(splitResultConfig.partyMemberConfig, partyMemberInfo);
let {color, partyPositionsNameStr} = changePartyPositionsName( JSON.parse(partyMemberInfo.partyPositionsName), changeData.etId);
changeData.color = color;
changeData.partyPositionsName = partyPositionsNameStr;
changeData.departmentName = verificationEnumTools.changeEnumValue(configEnum.DEDPARTMENT, JSON.parse(partyMemberInfo.departmentName));
changeData.sex = verificationEnumTools.changeEnumValue(configEnum.SEX, partyMemberInfo.sex);
changeData.administrativePositionName = verificationEnumTools.changeEnumValue(configEnum.ADMINISTRATIVEPOSITION, partyMemberInfo.administrativePositionName);
changeData.partyState = verificationEnumTools.changeEnumValue(configEnum.PARTYSTATE, partyMemberInfo.partyState);
changeData.levelOfEducation = verificationEnumTools.changeEnumValue(configEnum.DEGREE, partyMemberInfo.levelOfEducation);
changeData.study = await getStudent(bId, pmId); //学习相关数据
let time = moment(new Date()).format("YYYY");
let partyJoiningTime = time;
if (changeData.partyJoiningTime) partyJoiningTime = moment(partyMemberInfo.partyJoiningTime).format("YYYY")
changeData.partyStanding = parseInt(time) - parseInt(partyJoiningTime) + "年";
if (partyMemberInfo.partyJoiningTime) {
changeData.partyStanding = Math.floor(moment().diff(partyMemberInfo.partyJoiningTime, 'years'))+'年';
changeData.partyJoiningTime = moment(partyMemberInfo.partyJoiningTime).format("YYYY年MM月DD日");
} else {
changeData.partyStanding = "-年";
changeData.partyJoiningTime = "-";
}
changeData.position = "-";
changeData.branch = changeEnumValue(configEnum.BRANCHNAME, bId);
let partyExpensesClomun = ["payAmount"]
let payList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党费管理表, {pmId, payType:configEnum.PAYTYPE.已缴纳}, partyExpensesClomun);
let payAmountCount = 0;
payList.forEach(info => {
let {payAmount} = info;
payAmountCount += payAmount;
});
let activityCount = await selectData(OPERATIONALDATATYPE.查询数据量, TABLENAME.组织生活表, {signedInMember:{"%like%":pmId } }, [] );
let middleInfo = {
payAmountCount,
activityCount,
offlineCount:0,
online:0
};
return {baseInfo:changeData, middleInfo};
}
/**
* 个人首页 底部
* @param pmId
* @param bId
*/
export async function memberHomeBottomData( bId:number, activitiesType:number) {
let files = ["theme", "activitesTime", "taId", "img", "bId"];
let thematicActivitiesList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, {bId, activitiesType}, files );
let dataList = [];
thematicActivitiesList.forEach(info => {
let { taId, theme, activitesTime, img } = info;
dataList.push({
taId,
theme,
activitesTime:moment(activitesTime).format("YYYY-MM-DD"),
img:img || "",
source:changeEnumValue(configEnum.BRANCHNAME, bId)
});
});
return {dataList};
}
......
...@@ -2,13 +2,17 @@ ...@@ -2,13 +2,17 @@
* 支部制度 * 支部制度
*/ */
import moment = require("moment");
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import { UPTYPE } from "../config/enum"; import { UPTYPE } from "../config/enum";
import { ERRORENUM } from "../config/errorEnum"; import { ERRORENUM } from "../config/errorEnum";
import { systemConfig } from "../config/systemConfig"; import { systemConfig } from "../config/systemConfig";
import { selectData } from "../middleware/databaseSuccess"; import { operationalData, selectData } from "../middleware/databaseSuccess";
import { getFileUrl } from "../middleware/getUrl"; import { getFileUrl } from "../middleware/getUrl";
import { BizError } from "../util/bizError"; import { BizError } from "../util/bizError";
import { eccFormParam } from "../util/verificationParam";
import { CreateZBZDConfig } from "../config/eccFormParamConfig";
import { getBindId } from "../tools/system";
/** /**
...@@ -21,10 +25,18 @@ export async function branchSystemList(bId:number, systemTitle:string) { ...@@ -21,10 +25,18 @@ export async function branchSystemList(bId:number, systemTitle:string) {
let param = { bId:{"%like%": bId} }; let param = { bId:{"%like%": bId} };
if(systemTitle) param["systemTitle"] = {"%like%": systemTitle}; if(systemTitle) param["systemTitle"] = {"%like%": systemTitle};
let branchSystemList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.支部制度表, param, ["bsId", "systemTitle"]); let branchSystemList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.支部制度表, param, ["bsId", "systemTitle", "releaseTime"]);
branchSystemList = branchSystemList || []; branchSystemList = branchSystemList || [];
let dataList = [];
branchSystemList.forEach(info => {
dataList.push({
bsId:info.bsId,
title:info.systemTitle,
time:moment(info.releaseTime).format("YYYY-MM-DD")
});
});
return branchSystemList; return {dataList};
} }
...@@ -33,13 +45,43 @@ export async function branchSystemList(bId:number, systemTitle:string) { ...@@ -33,13 +45,43 @@ export async function branchSystemList(bId:number, systemTitle:string) {
* @param bsId 支部制度id * @param bsId 支部制度id
* @returns branchSystemInfo:{"bsId":1, "systemTitle":"制度标题", "fileName":["制度文件1", ......]} * @returns branchSystemInfo:{"bsId":1, "systemTitle":"制度标题", "fileName":["制度文件1", ......]}
*/ */
export async function branchSystemDetsils(bsId:number, token:string, userid:string) { export async function branchSystemDetsils(bsId:number) {
let clomun = ["bsId", "systemTitle", "fileName"]; let clomun = ["bsId", "systemTitle", "content", "periodTime", "releaseTime"];
let branchSystemInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.支部制度表, {bsId}, clomun); let branchSystemInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.支部制度表, {bsId}, clomun);
if(!branchSystemInfo || !branchSystemInfo.bsId) throw new BizError(ERRORENUM.库中不存在对应数据, `制度细则中不存在id=${bsId}的数据`); if(!branchSystemInfo || !branchSystemInfo.bsId) throw new BizError(ERRORENUM.库中不存在对应数据, `制度细则中不存在id=${bsId}的数据`);
let fileNameList = getFileUrl(branchSystemInfo.fileName, token, UPTYPE.支部制度, userid); // let fileNameList = getFileUrl(branchSystemInfo.fileName, token, UPTYPE.支部制度, userid);
branchSystemInfo.fileName = fileNameList; // branchSystemInfo.fileName = fileNameList;
return branchSystemInfo;
let dataInfo = {
title:branchSystemInfo.systemTitle,
releaseTime:moment(branchSystemInfo.releaseTime).format("YYYY-MM-DD"),
content:branchSystemInfo.content,
source:"牙防所党建"
};
return {dataInfo};
}
/**
* 添加制度细则
* @param bsId 支部制度id
* @returns
*/
export async function addOneBranchSystemDetsils(bId:number, param) {
eccFormParam("添加制度细则", CreateZBZDConfig, param);
let addInfo = {
systemTitle:param.title,
releaseTime:moment(param.releaseTime).format("YYYY-MM-DD"),
periodTime:moment(param.periodTime).format("YYYY-MM-DD"),
content:param.content,
bId:JSON.stringify([bId])
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.支部制度表, addInfo, {});
return {isSuccess:true};
} }
......
import { changeEnumValue } from "../util/verificationEnum";
import * as configEnum from "../config/enum";
import * as clientConfigEnum from "../config/clientEnum";
import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig";
import { selectData } from "../middleware/databaseSuccess";
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import moment = require("moment");
import * as verificationEnumTools from "../util/verificationEnum";
import { getStudent } from "./partyMember";
const ColorConfig = {
1:"#C62A23",
2:"#E4B386",
3:"#2aa115",//发展对象
4:"#3549B0",
5:"#1e5eff"
};
function changePartyPositionsName(partyPositionsName, etId) {
let str = "";
for (let i= 0; i < partyPositionsName.length; i++) {
let item = partyPositionsName[i];
if (item < 10) continue;
str += `,${verificationEnumTools.changeEnumValue(configEnum.PARTYPOSITIONS, item)}`;
}
if (!str) {
let partyPositionsNameStr = "";
if (etId == configEnum.ENTRYTYPE.正式党员) partyPositionsNameStr = "党员";
else partyPositionsNameStr = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, etId);
return {partyPositionsNameStr, color:ColorConfig[etId]};
}
return {partyPositionsNameStr : str.replace(",", ""), color:"#C62A23"};
}
export async function homeData() {
let branch = "牙防所党委" //支部名称
let param = { };
let partyQualityScore = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量三级指标, param, ["thirdLevelScore", "currentScore"]);
let scoreCount = 0;//得分
let massSum = 0;//总分
partyQualityScore.forEach( score => {
massSum += score.thirdLevelScore;
scoreCount += score.currentScore;
});
let branchCount = 4;
let partyNoticeParam = {};
let partyNoticeList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建通知, partyNoticeParam, []);
let noticeList = [];
partyNoticeList.forEach(info => {
noticeList.push({
title:info.title,//类型
content:info.content,//内容
time:moment(info.dataTime).format("YYYY-MM-DD")
});
});
return { branch, branchCount, scoreCount, noticeList, noticeCount:noticeList.length };
}
export async function activitiesData() {
let param = { };
/**资讯 = 活动表 */
let partyInformationList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, param, ["taId", "theme", "activitesTime"]);
let dataList = [];
partyInformationList.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyInformationConfig, info);
changeData.time = moment(info.activitesTime).format('YYYY-MM-DD');
changeData.dateMs = new Date(info.activitesTime).valueOf();
changeData.pbType = configEnum.PBTYPE.党建资讯;
changeData.labels = ["专题活动"];
changeData.id = info.taId;
dataList.push(changeData);
});
dataList.sort( (a, b) => { return b.dateMs - a.dateMs; });
/**动态 */
let partyBuildingDynamicDataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建动态表, param, ["pbId", "theme", "dataMonth", "fileName"]);
let dynamicsList = [];
partyBuildingDynamicDataList.forEach (info => {
let addInfo = {
theme : info.theme,
id : info.pbId,
fileUrl:info.fileName[0] || ""
}
dataList.push(addInfo);
});
return {dynamicsList:dynamicsList, informationList:dataList};
}
export async function partymemberList() {
/**资讯 = 活动表 */
let pmList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, {}, ["pmId", "bId"]);
let dataList = [];
let map = {};
let count = pmList.length;
pmList.forEach(info => {
let nameStr = changeEnumValue(configEnum.BRANCHNAMESTR, info.bId);
if ( !map[nameStr] ) map[nameStr] = {name:`${nameStr}人数`,bId:info.bId, count:0};
map[nameStr].count += 1;
})
dataList.push({name:"牙防所党建总人数", count});
for (let key in map) {
dataList.push(map[key]);
}
return {dataList};
}
export async function partymemberTypeList(bId) {
verificationEnumTools.eccEnumValue("党员支部人数", "bId", configEnum.BRANCHNAME, bId);
/**资讯 = 活动表 */
let pmList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, {bId}, ["pmId", "etId"]);
let dataList = [];
let map = {};
pmList.forEach(info => {
let nameStr = changeEnumValue(configEnum.ENTRYTYPE, info.etId);
if ( !map[nameStr] ) map[nameStr] = {name:`牙防所${nameStr}人数`, etId:info.etId, count:0};
map[nameStr].count += 1;
})
for (let key in map) {
dataList.push(map[key]);
}
return {dataList};
}
export async function partymemberSublist(bId, name, partyPositionsName ) {
let param = {bId:{"%like%":bId}}
if (name) param["name"] = {"%like%":name};
if (partyPositionsName) param["partyPositionsName"] = {"%like%":partyPositionsName};
let clomun = ["pmId", "name", "etId", "partyPositionsName", "partyJoiningTime", "departmentName"];
let partyMemberList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, param, clomun);
let nameList = [];
/**截取返回字段 */
partyMemberList.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyMemberConfig, info);
let {color, partyPositionsNameStr} = changePartyPositionsName( JSON.parse(info.partyPositionsName), changeData.etId);
changeData.partyPositionsName = partyPositionsNameStr;
changeData.color = color;
let time = moment(new Date()).format("YYYY");
let partyJoiningTime = time;
if (info.partyJoiningTime) partyJoiningTime = moment(info.partyJoiningTime).format("YYYY")
changeData.partyStanding = parseInt(time) - parseInt(partyJoiningTime) + "年";
let departmentName = JSON.parse(changeData.departmentName);
changeData.departmentName = verificationEnumTools.changeEnumValue(configEnum.DEDPARTMENT, departmentName);
nameList.push(changeData);
})
return {nameList};
}
...@@ -37,12 +37,15 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co ...@@ -37,12 +37,15 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co
if(courseTypeName) param["courseTypeName"] = courseTypeName; if(courseTypeName) param["courseTypeName"] = courseTypeName;
if(contentTitle) param["contentTitle"] = {"%like%": contentTitle}; if(contentTitle) param["contentTitle"] = {"%like%": contentTitle};
let clomun = ["mlId", "contentTitle", "fileName", "coverImage", "videoDuration", "courseEntryType"]; let clomun = ["mlId", "contentTitle", "fileName", "coverImage", "videoDuration", "courseEntryType", "desc"];
let memberLearningInfo = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员学习表, param, clomun); let memberLearningInfo = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员学习表, param, clomun);
let courseList = [];
for(let i = 0; i < memberLearningInfo.length; i++) { for(let i = 0; i < memberLearningInfo.length; i++) {
let memberInfo = memberLearningInfo[i]; let memberInfo = memberLearningInfo[i];
let {mlId, contentTitle, fileName, coverImage, videoDuration} = memberInfo; let {mlId, contentTitle, fileName, coverImage, videoDuration, desc} = memberInfo;
let learningInfo = rateLearningMap[mlId]; let learningInfo = rateLearningMap[mlId];
if (!learningInfo) { //如果对应学习课程没有进度数据,创建一条对应进度为0的数据 if (!learningInfo) { //如果对应学习课程没有进度数据,创建一条对应进度为0的数据
let addInfo = { let addInfo = {
...@@ -65,7 +68,16 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co ...@@ -65,7 +68,16 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co
} else { } else {
alanysisFileName = JSON.parse(fileName); alanysisFileName = JSON.parse(fileName);
} }
//todo 这里 fileName不再是一个字符串 而是一个对象{}
courseList.push({
videoDuration,
coverImage,
contentTitle,
desc,
fileName:alanysisFileName
});
// fileName不再是一个字符串 而是一个对象{}
rateLearningList.push({ rateLearningList.push({
rlId: learningInfo.rlId, rlId: learningInfo.rlId,
contentTitle, contentTitle,
...@@ -78,7 +90,7 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co ...@@ -78,7 +90,7 @@ export async function memberLearningList(pmId:string, courseEntryType:number, co
}) })
} }
return rateLearningList; return {rateLearningList, courseList};
} }
......
...@@ -5,13 +5,15 @@ ...@@ -5,13 +5,15 @@
import moment = require("moment"); import moment = require("moment");
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import { ERRORENUM } from "../config/errorEnum"; import { ERRORENUM } from "../config/errorEnum";
import { selectData } from "../middleware/databaseSuccess"; import { operationalData, selectData } from "../middleware/databaseSuccess";
import { BizError } from "../util/bizError"; import { BizError } from "../util/bizError";
import { extractData } from "../util/piecemeal"; import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig"; import * as splitResultConfig from "../config/splitResultConfig";
import * as verificationEnumTools from "../util/verificationEnum"; import * as verificationEnumTools from "../util/verificationEnum";
import * as configEnum from "../config/enum"; import * as configEnum from "../config/enum";
import { getFileUrl } from "../middleware/getUrl"; import { getFileUrl } from "../middleware/getUrl";
import { eccFormParam } from "../util/verificationParam";
import { CreateActivityConfig, UpdateActivityConfig } from "../config/eccFormParamConfig";
/** /**
...@@ -22,48 +24,192 @@ import { getFileUrl } from "../middleware/getUrl"; ...@@ -22,48 +24,192 @@ import { getFileUrl } from "../middleware/getUrl";
* @param dataMonth 活动月份 * @param dataMonth 活动月份
* @returns organizationalLifeList[{"oId":1, "theme":"活动主题", "themeType":"活动类型", "dataMonth":"活动月份"}] * @returns organizationalLifeList[{"oId":1, "theme":"活动主题", "themeType":"活动类型", "dataMonth":"活动月份"}]
*/ */
export async function organizationalLifeList(bId:number, theme:string, themeType:number, dataMonth:string) { export async function organizationalLifeList(bId:number, theme:string, themeType:number) {
let param = { bId }; let param = { bId };
if (theme) param["theme"] = {"%like%": theme}; if (theme) param["theme"] = {"%like%": theme};
if (themeType) param["themeType"] = themeType; if (themeType) param["partyActivityType"] = themeType;
if (dataMonth) {
let stTime = moment(dataMonth).startOf("month").format("YYYY-MM-DD HH:mm:ss");
let etTime = moment(dataMonth).endOf('month').format("YYYY-MM-DD HH:mm:ss");
param["dataMonth"] = {"%between%": [stTime, etTime]}; //`DATE_FORMAT(dataMonth, '%Y-%m') = DATE_FORMAT(${dataMonth}, '%Y-%m')`;
}
let clomun = ["oId", "theme", "themeType", "dataMonth"]; let clomun = ["oId", "activityStartTime", "activityEndTime", "activityAdd", "partyActivityType"];
let organizationalLifeDataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.组织生活表, param, clomun); let organizationalLifeDataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.组织生活表, param, clomun);
let organizationalLifeList = []; const Now = new Date().valueOf();
organizationalLifeDataList.forEach( info => { let dataList = [];
let changeData:any = extractData(splitResultConfig.organlzationalLifeConfig, info, "YYYY-MM-DD"); organizationalLifeDataList.forEach(info => {
changeData.themeType = verificationEnumTools.changeEnumValue(configEnum.THEMETYPE, info.themeType); let st = new Date(info.activityStartTime).valueOf();
organizationalLifeList.push(changeData); let et = new Date(info.activityEndTime).valueOf();
}) let state = "";
if (st < Now && et > Now) state = "正在进行";
return organizationalLifeList; else if (Now > et) state = "已结束";
else state = "即将开展";
let sTimeStr = moment(info.activityStartTime).format("YYYY-MM-DD HH:mm");
let time = `${sTimeStr}-${moment(info.activityEndTime).format("HH:mm")}`
dataList.push({
oId:info.oId,
address:info.activityAdd,
time,
state,
theme:verificationEnumTools.changeEnumValue(configEnum.THEMETYPE, info.partyActivityType)
});
});
return {dataList};
} }
/** /**
* 获取组织生活详情 * 获取组织生活详情
* @param oId 组织生活id * @param oId 组织生活id
* @returns orgLifeInfo:{"oId":1, "theme":"活动主题", "themeType":"活动类型", "fileName":["活动文件名称", ......]} * @returns orgLifeInfo:{"oId":1, "theme":"活动主题", "themeType":"活动类型", "fileName":["活动文件名称", ......]}
*/ */
export async function organlzationalLifeListDetsils(oId:number, token:string, userid:string) { export async function organlzationalLifeListDetsils(oId:number, token:string, userid:string, bId) {
let clomun = ["oId", "theme", "themeType", "dataMonth", "fileName"];
let clomun = ["oId", "partyActivityType", "activityStartTime", "activityEndTime", "activityAdd", "activityHost", "activityNoteTaker", "leavePartyMember", "participatingPartyMember", "activityLog", "signedInMember"];
let orgLifeInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.组织生活表, {oId}, clomun);
if (!orgLifeInfo || !orgLifeInfo.oId) throw new BizError(ERRORENUM.目标数据不存在);
let leavePartyMember = JSON.parse(orgLifeInfo.leavePartyMember);
let signedInMember = JSON.parse(orgLifeInfo.signedInMember);//签到人员列表
let participatingPartyMemberIdList = JSON.parse(orgLifeInfo.participatingPartyMember);
let thisBIdAllUser = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, {bId}, ["pmId", "name"]);
let checkNameMap = {};
thisBIdAllUser.forEach(info => {
checkNameMap[info.pmId] = info.name;
})
let statis = { signedIn:0, notSignedIn:0 };
let participatingPartyMember = "";
let participatingPartyMemberList = [];
participatingPartyMemberIdList.forEach(item => {
participatingPartyMember += `,${checkNameMap[item]}`;
participatingPartyMemberList.push(item);
if (signedInMember.indexOf(item) > -1) {
statis.signedIn += 1;
} else {
statis.notSignedIn += 1;
}
});
participatingPartyMember = participatingPartyMember.replace(",", "");
let dataInfo = {
partyActivityType:orgLifeInfo.partyActivityType,//党建活动类型
activityStartTime:new Date(orgLifeInfo.activityStartTime).valueOf(),//活动开始时间
activityEndTime:new Date(orgLifeInfo.activityEndTime).valueOf(),//活动结束时间
activityAdd:orgLifeInfo.activityAdd,//活动地点
activityHost:orgLifeInfo.activityHost,//活动主持人
activityNoteTaker:orgLifeInfo.activityNoteTaker,//活动记录人
leavePartyMember,//请假党员
participatingPartyMember:participatingPartyMemberList,//参与党员
activityLog:orgLifeInfo.activityLog,
statis
};
return {dataInfo};
}
export async function addOrg(bId, param) {
const FuncName = "添加支部活动";
eccFormParam(FuncName, CreateActivityConfig, param);
verificationEnumTools.eccEnumValue(FuncName, "partyActivityType", configEnum.THEMETYPE, param.partyActivityType );
let leavePartyMember = [];
if (param.leavePartyMember) leavePartyMember = [param.leavePartyMember];
let addInfo = {
bId,
partyActivityType:param.partyActivityType,
activityStartTime:moment(param.activityStartTime).format("YYYY-MM-DD"),
activityEndTime:moment(param.activityEndTime).format("YYYY-MM-DD"),
activityAdd:param.activityAdd,
activityHost:param.activityHost,
activityNoteTaker:param.activityNoteTaker,
leavePartyMember:JSON.stringify(leavePartyMember),
participatingPartyMember:JSON.stringify(param.participatingPartyMember || []),
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.组织生活表, addInfo, {});
return {isSuccess:true}
}
export async function updateOrg(oId, param) {
let clomun = ["oId"];
let orgLifeInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.组织生活表, {oId}, clomun); let orgLifeInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.组织生活表, {oId}, clomun);
if(!orgLifeInfo || !orgLifeInfo.oId) throw new BizError(ERRORENUM.未找到数据, `库中找不到id为${oId}的组织生活详情`); if (!orgLifeInfo || !orgLifeInfo.oId) throw new BizError(ERRORENUM.目标数据不存在);
eccFormParam("修改支部活动", UpdateActivityConfig, param);
let activityNoteTaker = [];
if (param.activityNoteTaker) activityNoteTaker = [param.activityNoteTaker];
let leavePartyMember = [];
if (param.leavePartyMember) leavePartyMember = [param.leavePartyMember];
let updateInfo = {
partyActivityType:param.partyActivityType,
activityStartTime:moment(param.activityStartTime).format("YYYY-MM-DD"),
activityEndTime:moment(param.activityEndTime).format("YYYY-MM-DD"),
activityAdd:param.activityAdd,
activityHost:JSON.stringify(param.activityHost || []),
activityNoteTaker:JSON.stringify(activityNoteTaker),
leavePartyMember:JSON.stringify(leavePartyMember),
participatingPartyMember:JSON.stringify(param.participatingPartyMember || []),
signedInMember:JSON.stringify(param.signedInMember || []),//签到人员
activityLog:param.log,//活动记录
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.组织生活表, updateInfo, {oId});
return {isSuccess:true}
}
const ColorConfig = {
1:"#C62A23",
2:"#E4B386",
3:"#2aa115",//发展对象
4:"#3549B0",
5:"#1e5eff"
};
function changePartyPositionsName(partyPositionsName, etId) {
let str = "";
for (let i= 0; i < partyPositionsName.length; i++) {
let item = partyPositionsName[i];
if (item < 10) continue;
str += `,${verificationEnumTools.changeEnumValue(configEnum.PARTYPOSITIONS, item)}`;
}
if (!str) {
let partyPositionsNameStr = "";
if (etId == configEnum.ENTRYTYPE.正式党员) partyPositionsNameStr = "党员";
else partyPositionsNameStr = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, etId);
return {partyPositionsNameStr, color:ColorConfig[etId]};
}
orgLifeInfo.themeType = verificationEnumTools.changeEnumValue(configEnum.THEMETYPE, orgLifeInfo.themeType); return {partyPositionsNameStr : str.replace(",", ""), color:"#C62A23"};
orgLifeInfo.dataMonth = moment(orgLifeInfo.dataMonth).format("YYYY-MM-DD");
orgLifeInfo.fileName = getFileUrl(orgLifeInfo.fileName, token, configEnum.UPTYPE.组织生活, userid);
return orgLifeInfo;
} }
export async function memberSelect(bId:number) {
let clomun = ["pmId", "name", "etId", "partyPositionsName", "partyJoiningTime", "departmentName"];
let partyMemberList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党员基础信息表, {bId}, clomun);
let dataList = [];
partyMemberList.forEach(info => {
let {partyPositionsNameStr} = changePartyPositionsName(JSON.parse(info.partyPositionsName), info.etId)
dataList.push({
name:info.name,
userId:info.pmId,
type:info.etId,
label:partyPositionsNameStr
});
});
return {dataList}
}
......
/** /**
* 党建动态 partyBuildingDynamic * 党建资讯 partyBuildingDynamic
*/ */
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
...@@ -7,9 +7,9 @@ import { selectData } from "../middleware/databaseSuccess"; ...@@ -7,9 +7,9 @@ import { selectData } from "../middleware/databaseSuccess";
import { extractData } from "../util/piecemeal"; import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig"; import * as splitResultConfig from "../config/splitResultConfig";
import moment = require("moment"); import moment = require("moment");
import { PBTYPE, UPTYPE } from "../config/enum"; import { ACTIVITIESTYPE, PBTYPE, UPTYPE } from "../config/enum";
import { systemConfig } from "../config/systemConfig";
import { getFileUrl } from "../middleware/getUrl"; import { getFileUrl } from "../middleware/getUrl";
import { changeEnumValue } from "../util/verificationEnum";
/** /**
...@@ -20,35 +20,34 @@ import { getFileUrl } from "../middleware/getUrl"; ...@@ -20,35 +20,34 @@ import { getFileUrl } from "../middleware/getUrl";
* @param activityMonth 月份 * @param activityMonth 月份
* @returns partyBuildingDynamicList:[{"pbId":1, "theme":"党建动态主题", "dataMonth":"数据月份"}, ......] * @returns partyBuildingDynamicList:[{"pbId":1, "theme":"党建动态主题", "dataMonth":"数据月份"}, ......]
*/ */
export async function partyBuildingDynamicList(bId:number, theme:string, activityYear:string, activityMonth:string) { export async function partyBuildingDynamicList(bId:number, activitiesType:Number) {
let timeStr = new Date(`${activityYear}-${activityMonth}`).valueOf();
let stTime = moment(timeStr).startOf("month").format("YYYY-MM-DD HH:mm:ss");
let etTime = moment(timeStr).endOf('month').format("YYYY-MM-DD HH:mm:ss");
let param = { let param:any = {
bId, bId,
dataMonth: {"%between%": [stTime, etTime]} activitiesType:{"%like%":activitiesType}
} };
if(theme) param["theme"] = {"%like%":theme};
let partyBuildingDynamicList = []; let partyInformationList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, param, ["taId", "theme", "activitiesType","activitesTime"]);
let dataList = [];
let partyInformationList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.专题活动表, param, ["taId", "theme", "dataMonth"]); partyInformationList.forEach(info => {
for (let i = 0; i < partyInformationList.length; i++) {
let info = partyInformationList[i]; let activitiesTypeList = [];
let changeData:any = extractData(splitResultConfig.thematicActivitiesConfig, info, "YYYY-MM-DD"); JSON.parse(info.activitiesType).forEach(itemKey => {
changeData.pbType = PBTYPE.党建资讯; activitiesTypeList.push({
partyBuildingDynamicList.push(changeData); title:changeEnumValue(ACTIVITIESTYPE, itemKey),
} color:"red"
});
let buildingDynamicDataList = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建动态表, param, ["pbId", "theme", "dataMonth"]); })
for (let i = 0; i < buildingDynamicDataList.length; i++) {
let info = buildingDynamicDataList[i]; dataList.push({
let changeData:any = extractData(splitResultConfig.partyBuildingDynamicConfig, info, "YYYY-MM-DD"); taId:info.taId,
changeData.pbType = PBTYPE.党建动态; activitiesType:activitiesTypeList,
partyBuildingDynamicList.push(changeData); theme:info.theme,
} activitesTime:moment(info.activitesTime).format("YYYY-MM-DD")
});
return partyBuildingDynamicList; });
return {dataList};
} }
...@@ -57,20 +56,29 @@ export async function partyBuildingDynamicList(bId:number, theme:string, activit ...@@ -57,20 +56,29 @@ export async function partyBuildingDynamicList(bId:number, theme:string, activit
* @param pbId * @param pbId
* @returns partyBuildingDynamicInfo:{ "theme":"党建动态主题", "dataMonth":"数据月份", "fileName":["党建动态文件名称", ......] } * @returns partyBuildingDynamicInfo:{ "theme":"党建动态主题", "dataMonth":"数据月份", "fileName":["党建动态文件名称", ......] }
*/ */
export async function partyBuildingDynamicDetsils(pbId:number, pbType:number, token:string, userid:string) { export async function partyBuildingDynamicDetsils(taId:number) {
let clomun = ["theme", "dataMonth", "fileName"];
let partyBuildingDynamicInfo:any = {}; let files = ["taId", "activitiesType", "theme", "content", "activitesTime"];
if (pbType == PBTYPE.党建资讯) partyBuildingDynamicInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.专题活动表, {taId: pbId}, clomun); let partyInformation = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.专题活动表, {taId}, files);
if (pbType == PBTYPE.党建动态) partyBuildingDynamicInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建动态表, {pbId}, clomun);
let activitiesTypeList = [];
partyBuildingDynamicInfo.dataMonth = moment(partyBuildingDynamicInfo.dataMonth).format("YYYY-MM-DD"); JSON.parse(partyInformation.activitiesType).forEach(itemKey => {
let fileNameList = getFileUrl(partyBuildingDynamicInfo.fileName, token, UPTYPE.党建动态, userid); activitiesTypeList.push({
partyBuildingDynamicInfo.fileName = fileNameList; title:changeEnumValue(ACTIVITIESTYPE, itemKey),
color:"red"
return partyBuildingDynamicInfo; });
})
let dataInfo:any = {};
dataInfo.taId = partyInformation.taId;
dataInfo.theme = partyInformation.theme;
dataInfo.content = partyInformation.content;
dataInfo.activitesTime = moment(partyInformation.activitesTime).format("YYYY-MM-DD");
dataInfo.source = "牙防所党建";
dataInfo.activitiesType = activitiesTypeList;
return {dataInfo};
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
*/ */
import * as configEnum from "../config/enum"; import * as configEnum from "../config/enum";
import { selectData } from "../middleware/databaseSuccess"; import { selectData, selectManyTableData } from "../middleware/databaseSuccess";
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import moment = require("moment"); import moment = require("moment");
import { changeEnumValue } from "../util/verificationEnum"; import { changeEnumValue } from "../util/verificationEnum";
...@@ -19,81 +19,50 @@ import { changeEnumValue } from "../util/verificationEnum"; ...@@ -19,81 +19,50 @@ import { changeEnumValue } from "../util/verificationEnum";
* @returns 基础数据:"baseData": {"partyCount":党员总数, "paid":已缴纳人数, "unpaid":未缴纳人数} * @returns 基础数据:"baseData": {"partyCount":党员总数, "paid":已缴纳人数, "unpaid":未缴纳人数}
* @returns 党费列表:"partyExpensesList": [{"name":"党员名称","payType":"缴纳状态","pmId":"党员id","payTime":"缴纳时间","partyPositionsName":"党内职务","departmentName":"所属科室","partyJoiningTime":"党龄"}, ......] * @returns 党费列表:"partyExpensesList": [{"name":"党员名称","payType":"缴纳状态","pmId":"党员id","payTime":"缴纳时间","partyPositionsName":"党内职务","departmentName":"所属科室","partyJoiningTime":"党龄"}, ......]
*/ */
export async function partyExpensesData(bId, name, payType, payableYear, payableMonth) { export async function partyExpensesData(bId, payType, payableYear, payableMonth) {
let timeStr = new Date(`${payableYear}-${payableMonth}`).valueOf(); let param:any = { bId, payableYear, payableMonth };
let stTime = moment(timeStr).startOf("month").format("YYYY-MM-DD HH:mm:ss"); // if (payType) param.payType = payType;
let etTime = moment(timeStr).endOf('month').format("YYYY-MM-DD HH:mm:ss");
let param = {
bId,
payableMonth: {"%between%": [stTime, etTime]}
}
if(payType) param["payType"] = payType;
let clomun = ["pmId", "payType", "payTime"];
let partyExpensesDataList = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党费管理表, param, clomun);
let expMap = {};//党费缴纳记录
partyExpensesDataList.forEach(info => {
let {pmId, payType, payTime} = info;
expMap[pmId] = {payType, payTime};
});
let partyExpensesList = []; let manyTableConfig = {};
manyTableConfig[TABLENAME.党员基础信息表] = {column:["name", "etId", "partyPositionsName", "partyJoiningTime", "departmentName"], where:{etId:1} };
let partyExpensesList = await selectManyTableData(OPERATIONALDATATYPE.多表联查, TABLENAME.党费管理表, param, ["peId", "payType", "payAmount"], manyTableConfig);
let memberParam = { etId: 1, bId: {"%like%": bId} }; let dataList = [];
if(name) memberParam["name"] = {"%like%": name}; let allAmount = 0;
let memberClomun = ["pmId", "etId", "name", "partyPositionsName", "departmentName", "partyJoiningTime"]; let completed = 0;
let partyMenberDataList = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党员基础信息表, memberParam, memberClomun); let incomplete = 0;
partyExpensesList.forEach(info => {
partyMenberDataList.forEach(info => { let {partyMember, payAmount} = info;
let {name, etId, pmId, partyPositionsName, departmentName, partyJoiningTime} = info;
let expInfo = expMap[pmId]; let item = {
name:partyMember.name,
if (expInfo) { partyPositionsName:"党员",//党员类型
let payTime = ""; payType:changeEnumValue(configEnum.PAYTYPE, info.payType),//状态
if(expInfo.payTime) payTime = moment(expInfo.payTime).format("YYYY-MM-DD"); partyJoiningTime:moment(partyMember.partyJoiningTime).format("YYYY-MM-DD"),
let partyPositions = ""; departmentName:changeEnumValue(configEnum.DEDPARTMENT , partyMember.departmentName),
switch(etId) { payAmount:payAmount
case configEnum.ENTRYTYPE.正式党员: };
partyPositions = changeEnumValue(configEnum.PARTYPOSITIONS, JSON.parse(partyPositionsName)); if (payType && info.payType == payType) {
if (!partyPositions || partyPositions=='undefined') partyPositions = "党员"; dataList.push(item);
break; } else {
default: partyPositions = changeEnumValue(configEnum.ENTRYTYPE, etId); dataList.push(item);
} }
partyExpensesList.push({
name, if (info.payType == configEnum.PAYTYPE.已缴纳) {
payType:changeEnumValue(configEnum.PAYTYPE, expInfo.payType), allAmount += payAmount;
pmId, completed += 1;
payTime, } else {
partyPositionsName: partyPositions, //党内职务 allAmount += payAmount;
departmentName: changeEnumValue(configEnum.DEDPARTMENT, JSON.parse(departmentName)), //所属科室 incomplete += 1;
partyJoiningTime: `${new Date().getFullYear() - parseInt(partyJoiningTime)}年` //党龄
});
} }
}); });
let baseExpenses = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党费管理表, {bId, payableMonth: {"%between%": [stTime, etTime]}}, clomun); let rate = 0;
if ( (completed + incomplete) ) {
let baseExpMap = {};//党费缴纳记录 rate = Math.round(completed/(completed + incomplete)*100)
baseExpenses.forEach(info => { }
let {pmId, payType, payTime} = info;
baseExpMap[pmId] = {payType, payTime};
});
let baseMember = await selectData(OPERATIONALDATATYPE.查询多个 , TABLENAME.党员基础信息表, {etId: 1, bId: {"%like%": bId}}, memberClomun);
let baseData = { //基础数据
partyCount:baseMember.length,//党员总数,
paid:0, // 已缴纳
unpaid:0 // 未缴纳
};
baseMember.forEach(info => {
let expInfo = baseExpMap[info.pmId];
if (!expInfo) expInfo = {payType:configEnum.PAYTYPE.未缴纳, payTime:timeStr}; //对应党员没有缴纳信息,返回一条该月未缴纳数据
if (expInfo.payType == configEnum.PAYTYPE.未缴纳) baseData.unpaid += 1;
if (expInfo.payType == configEnum.PAYTYPE.已缴纳) baseData.paid += 1;
});
return {baseData, partyExpensesList}; return {statisInfo:{rate, allAmount, completed, incomplete }, dataList};
} }
......
...@@ -9,7 +9,36 @@ import { extractData } from "../util/piecemeal"; ...@@ -9,7 +9,36 @@ import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig"; import * as splitResultConfig from "../config/splitResultConfig";
import moment = require("moment"); import moment = require("moment");
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import { selectData, selectManyTableData } from "../middleware/databaseSuccess"; import { operationalData, selectData, selectManyTableData } from "../middleware/databaseSuccess";
import { eccFormParam } from "../util/verificationParam";
import { CreateFZDXConfig, CreateRDJJFZConfig, CreateRDSQConfig, CreateYBDYConfig, CreateZSDYConfig } from "../config/eccFormParamConfig";
import { getBindId, getRandomId, md5PwdStr } from "../tools/system";
const ColorConfig = {
1:"#C62A23",
2:"#E4B386",
3:"#2aa115",//发展对象
4:"#3549B0",
5:"#1e5eff"
};
function changePartyPositionsName(partyPositionsName, etId) {
let str = "";
for (let i= 0; i < partyPositionsName.length; i++) {
let item = partyPositionsName[i];
if (item < 10) continue;
str += `,${verificationEnumTools.changeEnumValue(configEnum.PARTYPOSITIONS, item)}`;
}
if (!str) {
let partyPositionsNameStr = "";
if (etId == configEnum.ENTRYTYPE.正式党员) partyPositionsNameStr = "党员";
else partyPositionsNameStr = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, etId);
return {partyPositionsNameStr, color:ColorConfig[etId]};
}
return {partyPositionsNameStr : str.replace(",", ""), color:"#C62A23"};
}
/** /**
* 获取党员名册 * 获取党员名册
...@@ -33,22 +62,10 @@ export async function partyMemberNameList(bId:number, name:string) { ...@@ -33,22 +62,10 @@ export async function partyMemberNameList(bId:number, name:string) {
/**截取返回字段 */ /**截取返回字段 */
partyMemberList.forEach( info => { partyMemberList.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyMemberConfig, info); let changeData:any = extractData(splitResultConfig.partyMemberConfig, info);
switch (changeData.etId) {
case configEnum.ENTRYTYPE.正式党员: let {color, partyPositionsNameStr} = changePartyPositionsName( JSON.parse(info.partyPositionsName), changeData.etId);
changeData.color = "#C62A23"; changeData.partyPositionsName = partyPositionsNameStr;
let partyPositions = JSON.parse(info.partyPositionsName); changeData.color = color;
changeData.partyPositionsName = verificationEnumTools.changeEnumValue(configEnum.PARTYPOSITIONS, partyPositions);
if (!changeData.partyPositionsName || changeData.partyPositionsName == "undefined") changeData.partyPositionsName = "党员";
break;
case configEnum.ENTRYTYPE.入党积极分子:
changeData.color = "#3549B0";
changeData.partyPositionsName = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, info.etId);
break;
case configEnum.ENTRYTYPE.预备党员:
changeData.color = "#E4B386";
changeData.partyPositionsName = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, info.etId);
break;
}
let time = moment(new Date()).format("YYYY"); let time = moment(new Date()).format("YYYY");
let partyJoiningTime = time; let partyJoiningTime = time;
...@@ -72,44 +89,38 @@ export async function partyMemberNameList(bId:number, name:string) { ...@@ -72,44 +89,38 @@ export async function partyMemberNameList(bId:number, name:string) {
*/ */
export async function partyMemberDetails(bId:number, pmId:string) { export async function partyMemberDetails(bId:number, pmId:string) {
let clomun = ["bId", "pmId", "etId", "name", "sex", "birthDate", "phone", "levelOfEducation", "bId", "partyPositionsName", "partyJoiningTime", "administrativePositionName", let clomun = ["bId", "pmId", "etId", "name", "sex", "birthDate", "phone", "levelOfEducation", "bId", "partyPositionsName", "partyJoiningTime", "administrativePositionName",
"departmentName", "askForTime", "listedAsActivistsTime", "liaison", "talkTime", "partyState"] "departmentName", "askForTime", "listedAsActivistsTime", "liaison", "talkTime", "partyState"];
let partyMemberList = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {pmId}, clomun); let partyMemberInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {pmId}, clomun);
let changeData:any = {}; let changeData:any = extractData(splitResultConfig.partyMemberConfig, partyMemberInfo);
let {color, partyPositionsNameStr} = changePartyPositionsName( JSON.parse(partyMemberInfo.partyPositionsName), changeData.etId);
changeData.color = color;
changeData.partyPositionsName = partyPositionsNameStr;
/**截取返回字段 */ changeData.departmentName = verificationEnumTools.changeEnumValue(configEnum.DEDPARTMENT, JSON.parse(partyMemberInfo.departmentName));
switch (partyMemberList.etId) { changeData.sex = verificationEnumTools.changeEnumValue(configEnum.SEX, partyMemberInfo.sex);
case configEnum.ENTRYTYPE.正式党员: changeData.administrativePositionName = verificationEnumTools.changeEnumValue(configEnum.ADMINISTRATIVEPOSITION, partyMemberInfo.administrativePositionName);
changeData = extractData(splitResultConfig.partyMemberDetailsConfig, partyMemberList, "YYYY-MM-DD"); changeData.partyState = verificationEnumTools.changeEnumValue(configEnum.PARTYSTATE, partyMemberInfo.partyState);
changeData.color = "#C62A23"; changeData.levelOfEducation = verificationEnumTools.changeEnumValue(configEnum.DEGREE, partyMemberInfo.levelOfEducation);
if(partyMemberList.partyPositionsName) changeData.partyPositionsName = verificationEnumTools.changeEnumValue(configEnum.PARTYPOSITIONS, JSON.parse(partyMemberList.partyPositionsName));
if(!changeData.partyPositionsName || changeData.partyPositionsName == "undefined") changeData.partyPositionsName = "党员";
break;
case configEnum.ENTRYTYPE.入党积极分子:
changeData = extractData(splitResultConfig.activistDetailsConfig, partyMemberList, "YYYY-MM-DD");
changeData.color = "#3549B0";
changeData.partyPositionsName = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, partyMemberList.etId);
break;
case configEnum.ENTRYTYPE.预备党员:
changeData = extractData(splitResultConfig.prepareDetailsConfig, partyMemberList, "YYYY-MM-DD");
changeData.color = "#E4B386";
changeData.partyPositionsName = verificationEnumTools.changeEnumValue(configEnum.ENTRYTYPE, partyMemberList.etId);
changeData.branchName = verificationEnumTools.changeEnumValue(configEnum.BRANCHNAME, partyMemberList.bId);
break;
}
changeData.departmentName = verificationEnumTools.changeEnumValue(configEnum.DEDPARTMENT, JSON.parse(partyMemberList.departmentName));
changeData.sex = verificationEnumTools.changeEnumValue(configEnum.SEX, partyMemberList.sex);
changeData.administrativePositionName = verificationEnumTools.changeEnumValue(configEnum.ADMINISTRATIVEPOSITION, partyMemberList.administrativePositionName);
changeData.partyState = verificationEnumTools.changeEnumValue(configEnum.PARTYSTATE, partyMemberList.partyState);
changeData.levelOfEducation = verificationEnumTools.changeEnumValue(configEnum.DEGREE, partyMemberList.levelOfEducation);
changeData.study = await getStudent(bId, pmId); //学习相关数据 changeData.study = await getStudent(bId, pmId); //学习相关数据
let time = moment(new Date()).format("YYYY"); let time = moment(new Date()).format("YYYY");
let partyJoiningTime = time; let partyJoiningTime = time;
if (changeData.partyJoiningTime) partyJoiningTime = moment(partyMemberList.partyJoiningTime).format("YYYY") if (changeData.partyJoiningTime) partyJoiningTime = moment(partyMemberInfo.partyJoiningTime).format("YYYY")
changeData.partyStanding = parseInt(time) - parseInt(partyJoiningTime) + "年"; changeData.partyStanding = parseInt(time) - parseInt(partyJoiningTime) + "年";
if (partyMemberInfo.partyJoiningTime) {
changeData.partyStanding = Math.floor(moment().diff(partyMemberInfo.partyJoiningTime, 'years'))+'年';
changeData.partyJoiningTime = moment(partyMemberInfo.partyJoiningTime).format("YYYY年MM月DD日");
} else {
changeData.partyStanding = "-年";
changeData.partyJoiningTime = "-";
}
return changeData; changeData.position = "-";
return {dataInfo:changeData};
} }
...@@ -184,6 +195,68 @@ export async function getStudent(bId:number, pmId:string) { ...@@ -184,6 +195,68 @@ export async function getStudent(bId:number, pmId:string) {
} }
/**
* 添加党员信息
* @param memberType
* @param param
* @returns
*/
export async function addMember(bId, memberType:number, param) {
let addInfo:any = {
pmId:getRandomId("member"),
bId,
etId:memberType,
isAdmin:0,
loginId:param.phone,
};//添加参数
for (let key in param) {
addInfo[key] = param[key];
}
const FuncName = "添加党员";
switch (memberType) {
case configEnum.ENTRYTYPE.正式党员:
eccFormParam(FuncName, CreateZSDYConfig, param);
addInfo.partyJoiningTime =moment(param.partyJoiningTime).format("YYYY-MM-DD");
param.partyPositionsName.forEach(itemId => {
verificationEnumTools.eccEnumValue(FuncName, "partyPositionsName", configEnum.PARTYPOSITIONS, itemId);
});
addInfo.partyPositionsName = JSON.stringify(param.partyPositionsName);
break;
case configEnum.ENTRYTYPE.入党申请:
eccFormParam(FuncName, CreateRDSQConfig, param);
addInfo.askForTime = moment(param.askForTime).format("YYYY-MM-DD");
addInfo.talkTime = moment(param.talkTime).format("YYYY-MM-DD");
break;
case configEnum.ENTRYTYPE.入党积极分子:
eccFormParam(FuncName, CreateRDJJFZConfig, param);
addInfo.askForTime = moment(param.askForTime).format("YYYY-MM-DD");
addInfo.listedAsActivistsTime = moment(param.listedAsActivistsTime).format("YYYY-MM-DD");
break;
case configEnum.ENTRYTYPE.发展对象:
eccFormParam(FuncName, CreateFZDXConfig, param);
addInfo.askForTime = moment(param.askForTime).format("YYYY-MM-DD");
addInfo.fzdxTime = moment(param.fzdxTime).format("YYYY-MM-DD");
break;
case configEnum.ENTRYTYPE.预备党员:
eccFormParam(FuncName, CreateYBDYConfig, param);
addInfo.askForTime = moment(param.askForTime).format("YYYY-MM-DD");
addInfo.yubeiTime = moment(param.yubeiTime).format("YYYY-MM-DD");
break;
}
verificationEnumTools.eccEnumValue(FuncName, "sex", configEnum.SEX, param.sex);
verificationEnumTools.eccEnumValue(FuncName, "levelOfEducation", configEnum.DEGREE, param.levelOfEducation);
verificationEnumTools.eccEnumValue(FuncName, "administrativePositionName", configEnum.ADMINISTRATIVEPOSITION, param.administrativePositionName);
addInfo.birthDate = moment(param.birthDate).format("YYYY-MM-DD");
addInfo.pwd = md5PwdStr(param.phone.slice(param.phone.length-6));
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党员基础信息表, addInfo, {});
return {isSuccess:true};
}
...@@ -16,8 +16,9 @@ import moment = require("moment"); ...@@ -16,8 +16,9 @@ import moment = require("moment");
*/ */
export async function partyQualityList(bId:number) { export async function partyQualityList(bId:number) {
let dataYear = moment(new Date().valueOf()).format("YYYY"); let dataYear = moment(new Date().valueOf()).format("YYYY");
let selectParam = {bId:{"%like%": bId}};
let clomun = ["tlId", "primaryIndicators", "secondaryIndicators", "thirdLevelContent", "thirdLevelScore", "currentScore", "completionProgress"]; let clomun = ["tlId", "primaryIndicators", "secondaryIndicators", "thirdLevelContent", "thirdLevelScore", "currentScore", "completionProgress"];
let partyQualityData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量三级指标, {bId:{"%like%": bId}, dataYear}, clomun); let partyQualityData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量三级指标, selectParam, clomun);
let partyQualityList = []; let partyQualityList = [];
for (let key in configEnum.PRIMARYINDICATORS) { for (let key in configEnum.PRIMARYINDICATORS) {
...@@ -25,7 +26,7 @@ export async function partyQualityList(bId:number) { ...@@ -25,7 +26,7 @@ export async function partyQualityList(bId:number) {
let anyKey:any = key; let anyKey:any = key;
if (isNaN(anyKey)) { if (isNaN(anyKey)) {
const EnumValue = parseInt(configEnum.PRIMARYINDICATORS[key]) const EnumValue = parseInt(configEnum.PRIMARYINDICATORS[key])
primaryIndicatorsData["dataList"] = {key: anyKey, list: []}; primaryIndicatorsData["dataList"] = {key: anyKey, value:EnumValue, list: []};
primaryIndicatorsData["detail"] = {}; primaryIndicatorsData["detail"] = {};
partyQualityData.forEach( info => { partyQualityData.forEach( info => {
...@@ -57,11 +58,11 @@ export async function partyQualityList(bId:number) { ...@@ -57,11 +58,11 @@ export async function partyQualityList(bId:number) {
let partyQuality = []; let partyQuality = [];
partyQualityList.forEach( item => { partyQualityList.forEach( item => {
let {dataList, detail} = item; let {dataList} = item;
let {key, list} = dataList; let {key, value, list} = dataList;
let count = list.length; let count = list.length;
let changeDataList = {}; let changeDataInfo:any = {};
let changeData:any = {totalScore:0, completionProgress:0, currentScore:0}; let changeData:any = {totalScore:0, completionProgress:0, currentScore:0};
list.forEach( info => { list.forEach( info => {
let {thirdLevelScore, currentScore, completionProgress, schedule} = info; let {thirdLevelScore, currentScore, completionProgress, schedule} = info;
...@@ -73,21 +74,54 @@ export async function partyQualityList(bId:number) { ...@@ -73,21 +74,54 @@ export async function partyQualityList(bId:number) {
let completion = changeData.completionProgress/count; let completion = changeData.completionProgress/count;
if (completion == 100) changeData.schedule = "已完成"; if (completion == 100) changeData.schedule = "已完成";
changeData.completionProgress = Math.round(completion)+ "%" changeData.completionProgress = Math.round(completion);
changeDataList["key"] = key; changeDataInfo.key = key;
changeDataList["list"] = changeData; changeDataInfo.value = value;
changeDataInfo.dataInfo = changeData;
partyQuality.push({dataList:changeDataList, detail}); partyQuality.push(changeDataInfo);
}) })
return partyQuality; return {dataList:partyQuality};
} }
export async function partyQualityInfo(bId:number, qualityId:number) {
verificationEnumTools.eccEnumValue("获取详情", "qualityId", configEnum.PRIMARYINDICATORS, qualityId);
let dataYear = moment(new Date().valueOf()).format("YYYY");
let selectParam = {bId:{"%like%": bId}, primaryIndicators:qualityId};
let clomun = ["tlId", "primaryIndicators", "secondaryIndicators", "thirdLevelContent", "thirdLevelScore", "currentScore", "completionProgress"];
let partyQualityData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建质量三级指标, selectParam, clomun);
let dataMap = {};
partyQualityData.forEach(info => {
if (!dataMap[info.secondaryIndicators]) dataMap[info.secondaryIndicators] = {state:1, content:info.thirdLevelContent};
else {
dataMap[info.secondaryIndicators].content += "<br>";
dataMap[info.secondaryIndicators].content += info.thirdLevelContent;
}
if (info.completionProgress < 100) dataMap[info.secondaryIndicators].state = 0;
});
let dataList = [];
for (let key in dataMap) {
let title = configEnum.SECONDARYINDICATORS[parseInt(key)];
dataList.push({
title,
content:dataMap[key].content,
schedule:dataMap[key].state == 1 ? "已完成" : "进行中"
});
}
return {dataList};
}
......
...@@ -3,12 +3,16 @@ ...@@ -3,12 +3,16 @@
*/ */
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import { selectData } from "../middleware/databaseSuccess"; import { operationalData, selectData } from "../middleware/databaseSuccess";
import { extractData } from "../util/piecemeal"; import { extractData } from "../util/piecemeal";
import * as splitResultConfig from "../config/splitResultConfig"; import * as splitResultConfig from "../config/splitResultConfig";
import * as configEnum from "../config/enum"; import * as configEnum from "../config/enum";
import * as verificationEnumTools from "../util/verificationEnum"; import * as verificationEnumTools from "../util/verificationEnum";
import moment = require("moment"); import moment = require("moment");
import { eccFormParam } from "../util/verificationParam";
import { CreateDJXFConfig } from "../config/eccFormParamConfig";
import { BizError } from "../util/bizError";
import { ERRORENUM } from "../config/errorEnum";
/** /**
* 获取党建先锋列表 * 获取党建先锋列表
...@@ -17,25 +21,33 @@ import moment = require("moment"); ...@@ -17,25 +21,33 @@ import moment = require("moment");
* @returns * @returns
*/ */
export async function partyVanguardList(bId:number, honorName:string) { export async function partyVanguardList(bId:number, honorName:string) {
let param = {
isUse: 1,
};
if(honorName) param["honorName"] = {"%like%":honorName};
let clomun = ["pvId", "honorName", "honorType", "grantingRange", "grantingUnit", "grantTime"];
let param:any = {};
if (honorName) param.honorName = honorName;
let clomun = ["pvId", "honorName", "honorType", "grantingRange", "grantingUnit", "grantTime", "img", "content" ];
let partyVanguardData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建先锋表, param, clomun); let partyVanguardData = await selectData(OPERATIONALDATATYPE.查询多个, TABLENAME.党建先锋表, param, clomun);
let partyVanguardList = []; let dataList = [];
partyVanguardData.forEach( async info => { partyVanguardData.forEach( info => {
let changeData:any = extractData(splitResultConfig.partyVanguardConfig, info); let changeData:any = extractData(splitResultConfig.partyVanguardConfig, info);
changeData.honorType = verificationEnumTools.changeEnumValue(configEnum.HONORTYPE, info.honorType); changeData.honorType = verificationEnumTools.changeEnumValue(configEnum.HONORTYPE, info.honorType);
changeData.grantingRange = verificationEnumTools.changeEnumValue(configEnum.GRANTINGRANGE, info.grantingRange); changeData.grantingRange = verificationEnumTools.changeEnumValue(configEnum.GRANTINGRANGE, info.grantingRange);
changeData.grantTime = moment(info.grantTime).format("YYYY-MM-DD"); changeData.grantTime = moment(info.grantTime).format("YYYY-MM-DD");
changeData.content = info.content;
changeData.img = info.img;
let grantingUnitStr = "";
JSON.parse(info.grantingUnit).forEach(str => {
grantingUnitStr += `,${str}`;
});
changeData.grantingUnit = grantingUnitStr.replace(",", "");
partyVanguardList.push(changeData); dataList.push(changeData);
}); });
return partyVanguardList; return {dataList};
} }
...@@ -46,14 +58,46 @@ export async function partyVanguardList(bId:number, honorName:string) { ...@@ -46,14 +58,46 @@ export async function partyVanguardList(bId:number, honorName:string) {
*/ */
export async function partyVanguardDetsils(pvId:number) { export async function partyVanguardDetsils(pvId:number) {
let param = {pvId}; let param = {pvId};
let clomun = ["honorName", "honorType", "grantingRange", "grantingUnit", "grantTime"]; let clomun = ["pvId", "honorName", "honorType", "grantingRange", "grantingUnit", "grantTime", "img", "content" ];
let partyVanguardData = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建先锋表, param, clomun); let partyVanguardData = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党建先锋表, param, clomun);
if (!partyVanguardData || !partyVanguardData.pvId) throw new BizError(ERRORENUM.目标数据不存在);
let dataInfo:any = extractData(splitResultConfig.partyVanguardConfig, partyVanguardData);
dataInfo.honorType = verificationEnumTools.changeEnumValue(configEnum.HONORTYPE, partyVanguardData.honorType);
dataInfo.grantingRange = verificationEnumTools.changeEnumValue(configEnum.GRANTINGRANGE, partyVanguardData.grantingRange);
dataInfo.grantTime = moment(partyVanguardData.grantTime).format("YYYY-MM-DD");
dataInfo.content = partyVanguardData.content;
dataInfo.img = partyVanguardData.img;
let grantingUnitStr = "";
partyVanguardData.grantingUnit.forEach(str => {
grantingUnitStr += `,${str}`;
});
partyVanguardData.honorType = verificationEnumTools.changeEnumValue(configEnum.HONORTYPE, partyVanguardData.honorType); dataInfo.grantingUnit = grantingUnitStr.replace(",", "");
partyVanguardData.grantingRange = verificationEnumTools.changeEnumValue(configEnum.GRANTINGRANGE, partyVanguardData.grantingRange);
partyVanguardData.grantTime = moment(partyVanguardData.grantTime).format("YYYY-MM-DD");
return partyVanguardData; return { dataInfo }
} }
export async function addPartyVanguard(bId, param) {
const FuncName = "添加先锋";
eccFormParam(FuncName, CreateDJXFConfig, param);
verificationEnumTools.eccEnumValue(FuncName, "honorType", configEnum.HONORTYPE, param.honorType);
verificationEnumTools.eccEnumValue(FuncName, "grantingRange", configEnum.GRANTINGRANGE, param.grantingRange);
let addInfo = {
honorName:param.honorName,// "荣誉名称1",
honorType:param.honorType,// "区级",
grantingRange:param.grantingRange,// "团体",
grantingUnit:JSON.stringify(param.grantingUnit),// "上海市*****单位",
grantTime:new Date(param.grantTime),// "2023-08-30"
content:param.content,// "内容"
img:param.img,// "图片
bId
};
await operationalData(OPERATIONALDATATYPE.增加, TABLENAME.党建先锋表, addInfo, {});
return {isSuccess:true}
}
...@@ -7,10 +7,19 @@ import { BizError } from '../util/bizError'; ...@@ -7,10 +7,19 @@ import { BizError } from '../util/bizError';
import * as sysTools from "../tools/system"; import * as sysTools from "../tools/system";
import { operationalData, selectData } from '../middleware/databaseSuccess'; import { operationalData, selectData } from '../middleware/databaseSuccess';
import { OPERATIONALDATATYPE, TABLENAME } from '../config/dbEnum'; import { OPERATIONALDATATYPE, TABLENAME } from '../config/dbEnum';
import { PARTYPOSITIONS } from '../config/enum';
const moment = require("moment"); const moment = require("moment");
function checkLeader(partyPositionsNames) {
for (let i = 0; i < partyPositionsNames.length; i++) {
if (partyPositionsNames[i] >= PARTYPOSITIONS.党总支书记) return true;
}
return false
}
export async function login(loginId:string, pwd:string) { export async function login(loginId:string, pwd:string) {
let clomun = ["pmId", "loginId", "pwd", "token", "bId"]; let clomun = ["pmId", "loginId", "pwd", "token", "bId", "administrativePositionName", "partyPositionsName"];
let loginInfo:any = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {loginId}, clomun); let loginInfo:any = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {loginId}, clomun);
if (!loginInfo) throw new BizError(ERRORENUM.账号不存在, `${loginId}账号非党员账号`); if (!loginInfo) throw new BizError(ERRORENUM.账号不存在, `${loginId}账号非党员账号`);
...@@ -25,10 +34,13 @@ export async function login(loginId:string, pwd:string) { ...@@ -25,10 +34,13 @@ export async function login(loginId:string, pwd:string) {
await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, updateLogin, {loginId}); await operationalData(OPERATIONALDATATYPE.修改, TABLENAME.党员基础信息表, updateLogin, {loginId});
let userType = checkLeader(JSON.parse(loginInfo.partyPositionsName) ) ? 2 : 1;
return { return {
userid: loginInfo.pmId, userid: loginInfo.pmId,
token: Token, token: Token,
name:loginInfo.name,
bId: loginInfo.bId, bId: loginInfo.bId,
userType,
}; };
} }
...@@ -42,7 +54,7 @@ export async function login(loginId:string, pwd:string) { ...@@ -42,7 +54,7 @@ export async function login(loginId:string, pwd:string) {
* @param confirmPwd 确认新密码 未md5 * @param confirmPwd 确认新密码 未md5
* @returns {isSuccess:true} * @returns {isSuccess:true}
*/ */
export async function changePassword(loginId:string, pwd:string, newPwd:string, confirmPwd:string ) { export async function changePassword(loginId:string, pwd:string, newPwd:string, confirmPwd:string ) {
if (newPwd != confirmPwd) throw new BizError(ERRORENUM.密码不一致); if (newPwd != confirmPwd) throw new BizError(ERRORENUM.密码不一致);
if (newPwd.search(/^[A-Za-z0-9]{6,18}$/) < 0) throw new BizError(ERRORENUM.密码只能由618位字符和数字组成); if (newPwd.search(/^[A-Za-z0-9]{6,18}$/) < 0) throw new BizError(ERRORENUM.密码只能由618位字符和数字组成);
...@@ -68,3 +80,4 @@ export async function login(loginId:string, pwd:string) { ...@@ -68,3 +80,4 @@ export async function login(loginId:string, pwd:string) {
...@@ -36,9 +36,11 @@ export enum PARTYPOSITIONSICON { ...@@ -36,9 +36,11 @@ export enum PARTYPOSITIONSICON {
* 名册录入类型 * 名册录入类型
*/ */
export enum ENTRYTYPE { export enum ENTRYTYPE {
正式党员录入 = 1, 正式党员 = 1,
入党积极分子录入, 预备党员,
入党申请录入 发展对象,
入党积极分子,
入党申请
} }
...@@ -53,4 +55,10 @@ export enum PARTYPOSITIONSICON { ...@@ -53,4 +55,10 @@ export enum PARTYPOSITIONSICON {
统战委员, 统战委员,
组织委员, 组织委员,
宣传委员, 宣传委员,
}
export enum PAYSTATE {
全部 =0,
已支付 = 1,
未支付 =2
} }
\ No newline at end of file
...@@ -34,4 +34,6 @@ export enum TABLENAME { ...@@ -34,4 +34,6 @@ export enum TABLENAME {
课程类型='courseType', 课程类型='courseType',
学习强国='learningPower', 学习强国='learningPower',
党建质量三级指标='thirdLevel', 党建质量三级指标='thirdLevel',
党建通知='partyNotice'
} }
\ No newline at end of file
...@@ -13,14 +13,141 @@ ...@@ -13,14 +13,141 @@
* 备注: 1.0 * 备注: 1.0
*/ */
export const CreateActivityConfig = { export const CreateActivityConfig = {
partyActivityType:{type:"Number", notMustHave:true},//党建活动类型 partyActivityType:{type:"Number"},//党建活动类型
activityStartTime:{type:"Number", notMustHave:true},//活动开始时间 activityStartTime:{type:"Number"},//活动开始时间
activityEndTime:{type:"Number", notMustHave:true},//活动结束时间 activityEndTime:{type:"Number"},//活动结束时间
activityAdd:{type:"String", notMustHave:true},//活动地点 activityAdd:{type:"String", notMustHave:true},//活动地点
activityHost:{type:"[String]", notMustHave:true},//活动主持人 activityHost:{type:"String", notMustHave:true},//活动主持人
activityNoteTaker:{type:"[String]", notMustHave:true},//活动记录人 activityNoteTaker:{type:"String", notMustHave:true},//活动记录人
// leavePartyMember:{type:"[String]", notMustHave:true},//请假党员
participatingPartyMember:{type:"[String]", notMustHave:true},//参与党员
// participationRecord:{type:"String", notMustHave:true},//活动记录
};
export const UpdateActivityConfig = {
partyActivityType:{type:"Number"},//党建活动类型
activityStartTime:{type:"Number"},//活动开始时间
activityEndTime:{type:"Number"},//活动结束时间
activityAdd:{type:"String", notMustHave:true},//活动地点
activityHost:{type:"String", notMustHave:true},//活动主持人
activityNoteTaker:{type:"String", notMustHave:true},//活动记录人
leavePartyMember:{type:"[String]", notMustHave:true},//请假党员 leavePartyMember:{type:"[String]", notMustHave:true},//请假党员
signedInMember:{type:"[String]", notMustHave:true},//签到人员
log:{type:"String", notMustHave:true},//活动记录
participatingPartyMember:{type:"[String]", notMustHave:true},//参与党员 participatingPartyMember:{type:"[String]", notMustHave:true},//参与党员
participationRecord:{type:"String", notMustHave:true},//活动记录 // participationRecord:{type:"String", notMustHave:true},//活动记录
branchName:{type:"[Number]", notMustHave:true}, //支部名称
}; };
/**
* 正式党员
*/
export const CreateZSDYConfig = {
name:{type:"String", notMustHave:true},//姓名
sex:{type:"Number", notMustHave:true},//性别 1男2女
birthDate:{type:"Number", notMustHave:true},//性别 1男2女
phone:{type:"String", notMustHave:true},//手机号码
levelOfEducation:{type:"Number", notMustHave:true},//文化程度
partyJoiningTime:{type:"Number", notMustHave:true},//入党时间
administrativePositionName:{type:"Number", notMustHave:true},//行政职务id
partyPositionsName:{type:"[Number]", notMustHave:true},//党内职务id
desc:{type:"String", notMustHave:true},//备注
}
/**
* 预备党员
*/
export const CreateYBDYConfig = {
name:{type:"String", notMustHave:true},//姓名
sex:{type:"Number", notMustHave:true},//性别 1男2女
birthDate:{type:"Number", notMustHave:true},//性别 1男2女
phone:{type:"String", notMustHave:true},//手机号码
levelOfEducation:{type:"Number", notMustHave:true},//文化程度
askForTime:{type:"Number", notMustHave:true},//申请入党时间
yubeiTime:{type:"Number", notMustHave:true},//预备党员时间
administrativePositionName:{type:"Number", notMustHave:true},//行政职务id
desc:{type:"String", notMustHave:true},//备注
}
/**
* 发展对象
*/
export const CreateFZDXConfig = {
name:{type:"String", notMustHave:true},//姓名
sex:{type:"Number", notMustHave:true},//性别 1男2女
birthDate:{type:"Number", notMustHave:true},//性别 1男2女
phone:{type:"String", notMustHave:true},//手机号码
levelOfEducation:{type:"Number", notMustHave:true},//文化程度
askForTime:{type:"Number", notMustHave:true},//申请入党时间
fzdxTime:{type:"Number", notMustHave:true},//发展对象时间
administrativePositionName:{type:"Number", notMustHave:true},//行政职务id
desc:{type:"String", notMustHave:true},//备注
}
/**
* 入党积极分子
*/
export const CreateRDJJFZConfig = {
name:{type:"String", notMustHave:true},//姓名
sex:{type:"Number", notMustHave:true},//性别 1男2女
birthDate:{type:"Number", notMustHave:true},//性别 1男2女
phone:{type:"String", notMustHave:true},//手机号码
levelOfEducation:{type:"Number", notMustHave:true},//文化程度
askForTime:{type:"Number", notMustHave:true},//申请入党时间
listedAsActivistsTime:{type:"Number", notMustHave:true},//列为积极分子时间
administrativePositionName:{type:"Number", notMustHave:true},//行政职务id
desc:{type:"String", notMustHave:true},//备注
}
/**
* 入党申请
*/
export const CreateRDSQConfig = {
name:{type:"String", notMustHave:true},//姓名
sex:{type:"Number", notMustHave:true},//性别 1男2女
birthDate:{type:"Number", notMustHave:true},//性别 1男2女
phone:{type:"String", notMustHave:true},//手机号码
levelOfEducation:{type:"Number", notMustHave:true},//文化程度
askForTime:{type:"Number", notMustHave:true},//申请入党时间
talkTime:{type:"Number", notMustHave:true},//谈话时间
administrativePositionName:{type:"Number", notMustHave:true},//行政职务id
desc:{type:"String", notMustHave:true},//备注
}
/**
* 支部制度
*/
export const CreateZBZDConfig = {
title:{type:"String", notMustHave:true},//制度标题
releaseTime:{type:"Number", notMustHave:true},//发布时间
periodTime:{type:"Number", notMustHave:true},//有效期
content:{type:"String", notMustHave:true},//内容
}
export const CreateDJXFConfig = {
honorName:{type:"String"},// "荣誉名称1",
honorType:{type:"Number"},// "区级",
grantingRange:{type:"Number", },// "团体",
grantingUnit:{type:"[String]"},// "上海市*****单位",
grantTime:{type:"Number"},// "2023-08-30"
content:{type:"String"},// "内容"
img:{type:"String"},// "图片
}
...@@ -20,8 +20,10 @@ export enum FILETYPE { ...@@ -20,8 +20,10 @@ export enum FILETYPE {
/**名册录入类型 */ /**名册录入类型 */
export enum ENTRYTYPE { export enum ENTRYTYPE {
正式党员 = 1, 正式党员 = 1,
预备党员,
发展对象,
入党积极分子, 入党积极分子,
预备党员 入党申请
} }
...@@ -51,6 +53,14 @@ export enum BRANCHNAME { ...@@ -51,6 +53,14 @@ export enum BRANCHNAME {
牙防所第四支部 牙防所第四支部
} }
/**所属支部 */
export enum BRANCHNAMESTR {
第一支部 = 1,
第二支部,
第三支部,
第四支部
}
/**行政职务 */ /**行政职务 */
export enum ADMINISTRATIVEPOSITION { export enum ADMINISTRATIVEPOSITION {
...@@ -91,7 +101,7 @@ export enum ADMINISTRATIVEPOSITION { ...@@ -91,7 +101,7 @@ export enum ADMINISTRATIVEPOSITION {
/**党内职务 */ /**党内职务 */
export enum PARTYPOSITIONS { export enum PARTYPOSITIONS {
党总支书记 = 4, 党总支书记 = 10,
党总支副书记, 党总支副书记,
党总支宣传委员, 党总支宣传委员,
党总支统战委员, 党总支统战委员,
...@@ -154,8 +164,15 @@ export enum PARTYSTATE { ...@@ -154,8 +164,15 @@ export enum PARTYSTATE {
/**主题类型 */ /**主题类型 */
export enum THEMETYPE { export enum THEMETYPE {
理论学习 = 1, // 理论学习 = 1,
实践学习 // 实践学习,
日常教育培训 =1,
主题党课活动,
骨干队伍培训,
支部工作会,
二十大精神,
三会一课
} }
...@@ -225,6 +242,11 @@ export enum GRANTINGRANGE { ...@@ -225,6 +242,11 @@ export enum GRANTINGRANGE {
单位, 单位,
} }
export enum PERSONHONORTYPE {
模范类型1 = 1,
模范类型2 = 2
}
/** /**
* 党员学习--------------------------- * 党员学习---------------------------
...@@ -255,4 +277,11 @@ export enum UPTYPE { ...@@ -255,4 +277,11 @@ export enum UPTYPE {
学习强国 = 6 学习强国 = 6
} }
export enum ACTIVITIESTYPE {
党建动态 = 1,
专题活动,
精神文明,
先进典型,
}
...@@ -14,7 +14,7 @@ export const partyInformationConfig = { ...@@ -14,7 +14,7 @@ export const partyInformationConfig = {
theme:{key:"资讯标题"}, theme:{key:"资讯标题"},
branchName:{key:"支部名称"}, branchName:{key:"支部名称"},
dataMonth:{key:"资讯时间"}, dataMonth:{key:"资讯时间"},
pbType:{key:"资讯类型"}, // pbType:{key:"资讯类型"},
}; };
...@@ -27,7 +27,7 @@ export const buildingDynamiconfig = { ...@@ -27,7 +27,7 @@ export const buildingDynamiconfig = {
theme:{key:"资讯标题"}, theme:{key:"资讯标题"},
branchName:{key:"支部名称"}, branchName:{key:"支部名称"},
dataMonth:{key:"资讯时间"}, dataMonth:{key:"资讯时间"},
pbType:{key:"资讯类型"}, // pbType:{key:"资讯类型"},
}; };
...@@ -150,7 +150,9 @@ export const partyVanguardConfig = { ...@@ -150,7 +150,9 @@ export const partyVanguardConfig = {
honorType:{key:"荣誉类型"}, honorType:{key:"荣誉类型"},
grantingRange:{key:"授予范围"}, grantingRange:{key:"授予范围"},
grantingUnit:{key:"授予单位"}, grantingUnit:{key:"授予单位"},
grantTime:{key:"授予时间", changeDate:true} grantTime:{key:"授予时间", changeDate:true},
img:{key:"图片地址"},
content:{key:"内容内容"},
} }
......
import { partyQualityList } from "./biz/partyQuality";
import { initConfig, systemConfig} from "./config/systemConfig"; import { initConfig, systemConfig} from "./config/systemConfig";
import { httpServer } from "./net/http_server"; import { httpServer } from "./net/http_server";
import { initBasicData } from "./tools/dataInit"; import { initBasicData } from "./tools/dataInit";
...@@ -17,7 +18,9 @@ async function lanuch() { ...@@ -17,7 +18,9 @@ async function lanuch() {
lanuch(); lanuch();
function test() { async function test() {
let pwd = md5PwdStr("admin"); let pwd = md5PwdStr("admin");
console.log(); console.log();
let data = await partyQualityList(1);
console.log()
} }
\ No newline at end of file
import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum"; import { OPERATIONALDATATYPE, TABLENAME } from "../config/dbEnum";
import { PARTYPOSITIONS } from "../config/enum";
import { ERRORCODEENUM, ERRORENUM } from "../config/errorEnum"; import { ERRORCODEENUM, ERRORENUM } from "../config/errorEnum";
import { BizError } from "../util/bizError"; import { BizError } from "../util/bizError";
import { selectData } from "./databaseSuccess"; import { selectData } from "./databaseSuccess";
...@@ -11,6 +12,7 @@ import { selectData } from "./databaseSuccess"; ...@@ -11,6 +12,7 @@ import { selectData } from "./databaseSuccess";
* @returns * @returns
*/ */
export async function checkAppletToken(req, res, next) { export async function checkAppletToken(req, res, next) {
if (!req.headers) req.headers = {}; if (!req.headers) req.headers = {};
let ReqToken = req.headers.token; let ReqToken = req.headers.token;
let UserId = req.headers.userid; let UserId = req.headers.userid;
...@@ -22,6 +24,35 @@ export async function checkAppletToken(req, res, next) { ...@@ -22,6 +24,35 @@ export async function checkAppletToken(req, res, next) {
if (!partyMemberInfo.token || partyMemberInfo.token != ReqToken) return next(new BizError(ERRORENUM.身份验证过期)); if (!partyMemberInfo.token || partyMemberInfo.token != ReqToken) return next(new BizError(ERRORENUM.身份验证过期));
req.headers.userid = partyMemberInfo.pmId; req.headers.userid = partyMemberInfo.pmId;
req.headers.bId = partyMemberInfo.bId;
next(); next();
} }
export async function checkAppletDWToken(req, res, next) {
if (!req.headers) req.headers = {};
let ReqToken = req.headers.token;
let UserId = req.headers.userid;
if(!UserId || !ReqToken) return next(new BizError(ERRORENUM.非法登录));
let partyMemberInfo = await selectData(OPERATIONALDATATYPE.查询单个, TABLENAME.党员基础信息表, {pmId: UserId}, ["pmId", "bId", "loginId", "token", "partyPositionsName"]);
if (!partyMemberInfo || !partyMemberInfo.pmId) return next(new BizError(ERRORENUM.身份验证失败));
if (!partyMemberInfo.token || partyMemberInfo.token != ReqToken) return next(new BizError(ERRORENUM.身份验证过期));
req.headers.userid = partyMemberInfo.pmId;
req.headers.bId = partyMemberInfo.bId;
//判断是否是领导
let isZZB = false;
JSON.parse(partyMemberInfo.partyPositionsName).forEach(itemId => {
if (itemId >= PARTYPOSITIONS.党总支书记 && itemId <= PARTYPOSITIONS.党总支纪检委员) {
isZZB = true;
}
});
if (!isZZB) {
throw new BizError(ERRORENUM.权限不足);
}
next();
}
\ No newline at end of file
/** /**
* 小程序端 党员入口 党建首页路由 * 小程序端
* 党建首页路由
*/ */
import * as baseBiz from '../../biz/base'; import * as baseBiz from '../../biz/base';
import * as asyncHandler from 'express-async-handler'; import * as asyncHandler from 'express-async-handler';
import { eccReqParamater } from '../../util/verificationParam'; import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken } from '../../middleware/user'; import { checkAppletToken, checkAppletDWToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partymember/home', checkAppletToken, asyncHandler(homeBase)); httpServer.post('/yfs/applet/partymember/home', checkAppletToken, asyncHandler(homeBase));
httpServer.post('/yfs/applet/partymember/activities', checkAppletToken, asyncHandler(activitiesBase)); httpServer.post('/yfs/applet/partymember/activities', checkAppletToken, asyncHandler(activitiesBase));
httpServer.post('/yfs/member/partymember/home', checkAppletToken, asyncHandler(member_home));
httpServer.post('/yfs/member/partymember/bottomhome', checkAppletToken, asyncHandler(member_home_bottom));
} }
...@@ -19,10 +24,7 @@ export function setRouter(httpServer) { ...@@ -19,10 +24,7 @@ export function setRouter(httpServer) {
* @param res * @param res
*/ */
async function homeBase(req, res) { async function homeBase(req, res) {
//优化点 bId可以根据中间件验证token时获取,无需前端传递bId参数 其他接口也一样 let bId = req.headers.bId;
let reqConf = {bId:'Number'};
let {bId} = eccReqParamater(reqConf, req.body);
let baseInfo = await baseBiz.homeData(bId); let baseInfo = await baseBiz.homeData(bId);
res.success(baseInfo); res.success(baseInfo);
} }
...@@ -34,10 +36,28 @@ async function homeBase(req, res) { ...@@ -34,10 +36,28 @@ async function homeBase(req, res) {
* @param res * @param res
*/ */
async function activitiesBase(req, res) { async function activitiesBase(req, res) {
let reqConf = {bId:'Number'}; let bId = req.headers.bId;
let {bId} = eccReqParamater(reqConf, req.body);
let activitiesInfo = await baseBiz.activitiesData(bId); let activitiesInfo = await baseBiz.activitiesData(bId);
res.success(activitiesInfo); res.success(activitiesInfo);
} }
async function member_home(req, res) {
let userid = req.headers.userid;
let bId = req.headers.bId;
let activitiesInfo = await baseBiz.memberHomeData(userid, bId);
res.success(activitiesInfo);
}
async function member_home_bottom(req, res) {
let reqConf = { activitiesType:'Number'};
let { activitiesType } = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let activitiesInfo = await baseBiz.memberHomeBottomData(bId, activitiesType);
res.success(activitiesInfo);
}
/** /**
* 小程序端 党员入口 支部制度 * 小程序端
* 支部制度
*/ */
import * as branchSystemBiz from '../../biz/branchSystem'; import * as branchSystemBiz from '../../biz/branchSystem';
...@@ -7,10 +8,11 @@ ...@@ -7,10 +8,11 @@
import { eccReqParamater } from '../../util/verificationParam'; import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken } from '../../middleware/user'; import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/branchsystem/list', checkAppletToken, asyncHandler(getBranchSystem)); httpServer.post('/yfs/applet/branchsystem/list', checkAppletToken, asyncHandler(getBranchSystem));
httpServer.post('/yfs/applet/branchsystem/detsils', checkAppletToken, asyncHandler(getBranchSystemDetsils)); httpServer.post('/yfs/applet/branchsystem/detsils', checkAppletToken, asyncHandler(getBranchSystemDetsils));
} httpServer.post('/yfs/applet/branchsystem/add', checkAppletToken, asyncHandler(addBranchSystemDetsils));
}
/** /**
...@@ -19,8 +21,9 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -19,8 +21,9 @@ import { checkAppletToken } from '../../middleware/user';
* @param res * @param res
*/ */
async function getBranchSystem(req, res) { async function getBranchSystem(req, res) {
let reqConf = {bId:'Number', systemTitle:'String'}; let reqConf = { systemTitle:'String'};
let {bId, systemTitle} = eccReqParamater(reqConf, req.body, ["systemTitle"]); let { systemTitle} = eccReqParamater(reqConf, req.body, ["systemTitle"]);
let bId = req.headers.bId;
let result = await branchSystemBiz.branchSystemList(bId, systemTitle); let result = await branchSystemBiz.branchSystemList(bId, systemTitle);
res.success(result); res.success(result);
...@@ -35,11 +38,21 @@ async function getBranchSystem(req, res) { ...@@ -35,11 +38,21 @@ async function getBranchSystem(req, res) {
async function getBranchSystemDetsils(req, res) { async function getBranchSystemDetsils(req, res) {
let reqConf = {bsId: 'Number'}; let reqConf = {bsId: 'Number'};
let {bsId} = eccReqParamater(reqConf, req.body); let {bsId} = eccReqParamater(reqConf, req.body);
let result = await branchSystemBiz.branchSystemDetsils(bsId);
let token = req.headers.token; res.success(result);
let userid = req.headers.userid; }
let result = await branchSystemBiz.branchSystemDetsils(bsId, token, userid); /**
* 支部制度 制度细则
* @param req
* @param res
*/
async function addBranchSystemDetsils(req, res) {
let reqConf = {param: 'Object'};
let {param} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let result = await branchSystemBiz.addOneBranchSystemDetsils(bId, param);
res.success(result); res.success(result);
} }
/**
* 小程序端
* 党建首页路由
*/
import * as dwBiz from '../../biz/dw';
import * as asyncHandler from 'express-async-handler';
import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken, checkAppletDWToken } from '../../middleware/user';
export function setRouter(httpServer) {
//总支部权限
//名册
httpServer.post('/yfs/dw/home', checkAppletDWToken, asyncHandler(homeBase));
httpServer.post('/yfs/dw/activities', checkAppletDWToken, asyncHandler(activitiesBase));
httpServer.post('/yfs/dw/member/partymember/list', checkAppletDWToken, asyncHandler(partymember_list));
httpServer.post('/yfs/dw/member/partymember/list/sublist', checkAppletDWToken, asyncHandler(partymember_sublist));
httpServer.post('/yfs/dw/member/partymember/typelist', checkAppletDWToken, asyncHandler(partymember_type_list));
httpServer.post('/yfs/dw/member/partymember/typelist/sublist', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/dw/applet/partyexpenses/list', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/dw/applet/partyexpenses/statis', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/dw/applet/partyexpenses/list', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/dw/applet/partyexpenses/list/sublist', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/dw/applet/partyexpenses/statis', checkAppletDWToken, asyncHandler());
httpServer.post('/yfs/applet/branchsystem/list', checkAppletToken, asyncHandler(getBranchSystem));
httpServer.post('/yfs/applet/branchsystem/detsils', checkAppletToken, asyncHandler(getBranchSystemDetsils));
httpServer.post('/yfs/applet/branchsystem/add', checkAppletToken, asyncHandler(addBranchSystemDetsils));
httpServer.post('/yfs/applet/organizationallife/list', checkAppletToken, asyncHandler(organizationalLifeList));
httpServer.post('/yfs/applet/organizationallife/add', checkAppletToken, asyncHandler(addDetails));
}
/**
*
* @param req
* @param res
*/
async function homeBase(req, res) {
let baseInfo = await dwBiz.homeData();
res.success(baseInfo);
}
/**
*
* @param req
* @param res
*/
async function activitiesBase(req, res) {
let activitiesInfo = await dwBiz.activitiesData();
res.success(activitiesInfo);
}
/**
*
* @param req
* @param res
*/
async function partymember_list(req, res) {
let activitiesInfo = await dwBiz.partymemberList();
res.success(activitiesInfo);
}
async function partymember_sublist(req, res) {
let reqConf = {bId:'Number', name:"String", partyPositionsName:"Number"};
let {bId, name, partyPositionsName} = eccReqParamater(reqConf, req.body, ["name", "partyPositionsName"]);
let activitiesInfo = await dwBiz.partymemberSublist(bId, name, partyPositionsName );
res.success(activitiesInfo);
}
/**
*
* @param req
* @param res
*/
async function partymember_type_list(req, res) {
let reqConf = {bId:'Number'};
let {bId} = eccReqParamater(reqConf, req.body);
let activitiesInfo = await dwBiz.partymemberTypeList(bId);
res.success(activitiesInfo);
}
/** /**
* 小程序端 党员入口 党员学习 * 小程序端
* 党员学习
*/ */
import * as memberLearningBiz from '../../biz/memberLearning'; import * as memberLearningBiz from '../../biz/memberLearning';
...@@ -10,21 +11,21 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -10,21 +11,21 @@ import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/memberlearning/list', checkAppletToken, asyncHandler(getMemberLearning)); httpServer.post('/yfs/applet/memberlearning/list', checkAppletToken, asyncHandler(getMemberLearning));
httpServer.post('/yfs/applet/memberlearning/branchranking', checkAppletToken, asyncHandler(getBranchRanking)); httpServer.post('/yfs/applet/memberlearning/branchranking', checkAppletToken, asyncHandler(getBranchRanking));
httpServer.post('/yfs/applet/memberlearning/monthranking', checkAppletToken, asyncHandler(getMonthRanking)); httpServer.post('/yfs/applet/memberlearning/ranking', checkAppletToken, asyncHandler(getRanking));
httpServer.post('/yfs/applet/memberlearning/updateschedule', checkAppletToken, asyncHandler(updateRateLearning)); httpServer.post('/yfs/applet/memberlearning/updateschedule', checkAppletToken, asyncHandler(updateRateLearning));
httpServer.post('/yfs/applet/memberlearning/updatefileschedule', checkAppletToken, asyncHandler(updateFileRateLearning)); httpServer.post('/yfs/applet/memberlearning/updatefileschedule', checkAppletToken, asyncHandler(updateFileRateLearning));
} }
/** /**
* 党建先锋 视频课程与文字课程列表 * 本人 视频课程与文字课程列表
* @param req * @param req
* @param res * @param res
*/ */
async function getMemberLearning(req, res) { async function getMemberLearning(req, res) {
let pmId = req.headers.userid; let pmId = req.headers.userid;
let reqConf = {courseEntryType:'Number', courseTypeName:'Number', contentTitle:'String'}; let reqConf = {courseEntryType:'Number', courseTypeName:'Number', contentTitle:'String'};
let {courseEntryType, courseTypeName, contentTitle} = eccReqParamater(reqConf, req.body); let {courseEntryType, courseTypeName, contentTitle} = eccReqParamater(reqConf, req.body, ["contentTitle"]);
let token = req.headers.token; let token = req.headers.token;
let userid = req.headers.userid; let userid = req.headers.userid;
...@@ -41,7 +42,7 @@ async function getMemberLearning(req, res) { ...@@ -41,7 +42,7 @@ async function getMemberLearning(req, res) {
*/ */
async function getBranchRanking(req, res) { async function getBranchRanking(req, res) {
let pmId = req.headers.userid; let pmId = req.headers.userid;
let {bId} = eccReqParamater({bId:'Number'}, req.body); let bId = req.headers.bId;
let result = await memberLearningBiz.branchRanking(pmId, bId); let result = await memberLearningBiz.branchRanking(pmId, bId);
res.success(result); res.success(result);
...@@ -53,7 +54,7 @@ async function getBranchRanking(req, res) { ...@@ -53,7 +54,7 @@ async function getBranchRanking(req, res) {
* @param req * @param req
* @param res * @param res
*/ */
async function getMonthRanking(req, res) { async function getRanking(req, res) {
let pmId = req.headers.userid; let pmId = req.headers.userid;
let result = await memberLearningBiz.branchRanking(pmId); let result = await memberLearningBiz.branchRanking(pmId);
res.success(result); res.success(result);
......
/** /**
* 小程序端 党员入口 组织生活路由 * 小程序端
* 组织生活路由
*/ */
import * as organizationalLifeBiz from '../../biz/organizationalLife'; import * as organizationalLifeBiz from '../../biz/organizationalLife';
...@@ -9,20 +10,26 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -9,20 +10,26 @@ import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/organizationallife/list', checkAppletToken, asyncHandler(organizationalLifeList)); httpServer.post('/yfs/applet/organizationallife/list', checkAppletToken, asyncHandler(organizationalLifeList));
httpServer.post('/yfs/applet/organizationallife/details', checkAppletToken, asyncHandler(detailsList)); httpServer.post('/yfs/applet/organizationallife/details', checkAppletToken, asyncHandler(details));
httpServer.post('/yfs/applet/organizationallife/add', checkAppletToken, asyncHandler(addDetails));
httpServer.post('/yfs/applet/organizationallife/update', checkAppletToken, asyncHandler(updateDetails));
httpServer.post('/yfs/applet/organizationallife/memberlist', checkAppletToken, asyncHandler(memberlist));
} }
/** /**
* 组织生活列表 * 组织生活列表
* @param req * @param req
* @param res * @param res
*/ */
async function organizationalLifeList(req, res) { async function organizationalLifeList(req, res) {
let reqConf = {bId:'Number', theme:'String', themeType:'Number', dataMonth:'String'}; let reqConf = {theme:'String', themeType:'Number'};
let {bId, theme, themeType, dataMonth} = eccReqParamater(reqConf, req.body, ["theme","themeType","dataMonth"]); let {theme, themeType} = eccReqParamater(reqConf, req.body, ["theme","themeType"]);
let result = await organizationalLifeBiz.organizationalLifeList(bId, theme, themeType, dataMonth); let bId = req.headers.bId;
let result = await organizationalLifeBiz.organizationalLifeList(bId, theme, themeType);
res.success(result); res.success(result);
} }
...@@ -32,14 +39,49 @@ async function organizationalLifeList(req, res) { ...@@ -32,14 +39,49 @@ async function organizationalLifeList(req, res) {
* @param req * @param req
* @param res * @param res
*/ */
async function detailsList(req, res) { async function details(req, res) {
let reqConf = {oId: 'Number' }; let reqConf = {oId: 'Number' };
let {oId} = eccReqParamater(reqConf, req.body); let {oId} = eccReqParamater(reqConf, req.body);
let token = req.headers.token; let token = req.headers.token;
let userid = req.headers.userid; let userid = req.headers.userid;
let bId = req.headers.bId;
let result = await organizationalLifeBiz.organlzationalLifeListDetsils(oId, token, userid, bId);
res.success(result);
}
/**
*
* @param req
* @param res
*/
async function addDetails(req, res) {
let reqConf = {param:"Object"};
let {param} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let result = await organizationalLifeBiz.addOrg(bId, param);
res.success(result);
}
let result = await organizationalLifeBiz.organlzationalLifeListDetsils(oId, token, userid);
/**
*
* @param req
* @param res
*/
async function updateDetails(req, res) {
let reqConf = {oId:"Number", param:"Object"};
let {oId, param} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let result = await organizationalLifeBiz.updateOrg(oId, param);
res.success(result); res.success(result);
} }
async function memberlist(req, res) {
let bId = req.headers.bId;
let result = await organizationalLifeBiz.memberSelect(bId);
res.success(result);
}
\ No newline at end of file
/** /**
* 小程序端 党员入口 党建动态路由 * 小程序端
* 党建资讯 请求的是活动表
*/ */
import * as partyBuildingDynamicBiz from '../../biz/partyBuildingDynamic'; import * as partyBuildingDynamicBiz from '../../biz/partyBuildingDynamic';
...@@ -14,15 +15,17 @@ export function setRouter(httpServer) { ...@@ -14,15 +15,17 @@ export function setRouter(httpServer) {
/** /**
* 党建动态列表 * 党建资讯列表
* @param req * @param req
* @param res * @param res
*/ */
async function partyBuildingDynamicList(req, res) { async function partyBuildingDynamicList(req, res) {
let reqConf = {bId:'Number', theme:'String', activityYear:'String', activityMonth:'String'}; let reqConf = {activitiesType:'Number'};
let {bId, theme, activityYear, activityMonth} = eccReqParamater(reqConf, req.body, ["theme","activityYear","activityMonth"]); let {activitiesType} = eccReqParamater(reqConf, req.body);
let result = await partyBuildingDynamicBiz.partyBuildingDynamicList(bId, theme, activityYear, activityMonth); let bId = req.headers.bId;
let result = await partyBuildingDynamicBiz.partyBuildingDynamicList(bId, activitiesType);
res.success(result); res.success(result);
} }
...@@ -33,13 +36,10 @@ async function partyBuildingDynamicList(req, res) { ...@@ -33,13 +36,10 @@ async function partyBuildingDynamicList(req, res) {
* @param res * @param res
*/ */
async function detailsList(req, res) { async function detailsList(req, res) {
let reqConf = {pbId: 'Number', pbType: 'Number'}; let reqConf = {taId: 'Number'};
let {pbId, pbType} = eccReqParamater(reqConf, req.body); let {taId} = eccReqParamater(reqConf, req.body);
let token = req.headers.token;
let userid = req.headers.userid;
let result = await partyBuildingDynamicBiz.partyBuildingDynamicDetsils(pbId, pbType, token, userid); let result = await partyBuildingDynamicBiz.partyBuildingDynamicDetsils(taId);
res.success(result); res.success(result);
} }
......
/** /**
* 小程序端 党员入口 党费管理 * 小程序端
* 党费管理
*/ */
import * as partyExpensesBiz from '../../biz/partyExpenses'; import * as partyExpensesBiz from '../../biz/partyExpenses';
import * as asyncHandler from 'express-async-handler'; import * as asyncHandler from 'express-async-handler';
import { eccReqParamater } from '../../util/verificationParam'; import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken } from '../../middleware/user'; import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partyexpenses/list', checkAppletToken, asyncHandler(getPartyExpenses)); httpServer.post('/yfs/applet/partyexpenses/list', checkAppletToken, asyncHandler(getPartyExpenses));
} }
/** /**
* 党费列表 * 党费列表
* @param req * @param req
* @param res * @param res
*/ */
async function getPartyExpenses(req, res) { async function getPartyExpenses(req, res) {
let reqConf = {bId:'Number', name:'String', payType:'Number', payableYear:'String', payableMonth:'String'}; let reqConf = {payableYear:'Number', payType:"Number", payableMonth:'Number'};
let {bId, name, payType, payableYear, payableMonth} = eccReqParamater(reqConf, req.body, ["name", "payType", "payableYear", "payableMonth"]); let {payableYear, payableMonth, payType} = eccReqParamater(reqConf, req.body, ["payType"]);
let result = await partyExpensesBiz.partyExpensesData(bId, name, payType, payableYear, payableMonth); let bId = req.headers.bId;
let result = await partyExpensesBiz.partyExpensesData(bId, payType, payableYear, payableMonth);
res.success(result); res.success(result);
} }
\ No newline at end of file
/** /**
* 小程序端 党员入口 党员基础信息 * 小程序端
* 党员基础信息
*/ */
import * as partyMemberBiz from '../../biz/partyMember'; import * as partyMemberBiz from '../../biz/partyMember';
...@@ -8,8 +9,9 @@ import { eccReqParamater } from '../../util/verificationParam'; ...@@ -8,8 +9,9 @@ import { eccReqParamater } from '../../util/verificationParam';
import { checkAppletToken } from '../../middleware/user'; import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partymember/partymembername', checkAppletToken, asyncHandler(getPartyMemberName)); httpServer.post('/yfs/applet/partymember/partymembername', checkAppletToken, asyncHandler(get_party_member_name));
httpServer.post('/yfs/applet/partymember/detsils', checkAppletToken, asyncHandler(partyDetsils)); httpServer.post('/yfs/applet/partymember/detsils', checkAppletToken, asyncHandler(party_detsils));
httpServer.post('/yfs/applet/partymember/add', checkAppletToken, asyncHandler(add_member));
} }
...@@ -18,7 +20,7 @@ export function setRouter(httpServer) { ...@@ -18,7 +20,7 @@ export function setRouter(httpServer) {
* @param req * @param req
* @param res * @param res
*/ */
async function getPartyMemberName(req, res) { async function get_party_member_name(req, res) {
let reqConf = {bId:'Number', name:'String'}; let reqConf = {bId:'Number', name:'String'};
let {bId, name} = eccReqParamater(reqConf, req.body, ["name"]); let {bId, name} = eccReqParamater(reqConf, req.body, ["name"]);
...@@ -32,7 +34,7 @@ async function getPartyMemberName(req, res) { ...@@ -32,7 +34,7 @@ async function getPartyMemberName(req, res) {
* @param req * @param req
* @param res * @param res
*/ */
async function partyDetsils(req, res) { async function party_detsils(req, res) {
let reqConf = {bId: 'Number', pmId: 'String'}; let reqConf = {bId: 'Number', pmId: 'String'};
let {bId, pmId} = eccReqParamater(reqConf, req.body); let {bId, pmId} = eccReqParamater(reqConf, req.body);
...@@ -41,6 +43,21 @@ async function partyDetsils(req, res) { ...@@ -41,6 +43,21 @@ async function partyDetsils(req, res) {
} }
/**
* 添加
* @param req
* @param res
*/
async function add_member(req, res) {
let reqConf = {memberType: 'Number', param: 'Object'};
let {memberType, param} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let result = await partyMemberBiz.addMember(bId, memberType, param);
res.success(result);
}
/** /**
* 小程序端 党员入口 党建质量指数 三级指标 * 小程序端
* 党建质量指数 三级指标
*/ */
import * as partyQualityBiz from '../../biz/partyQuality'; import * as partyQualityBiz from '../../biz/partyQuality';
...@@ -9,7 +10,7 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -9,7 +10,7 @@ import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partyquality/list', checkAppletToken, asyncHandler(getPartyQuality)); httpServer.post('/yfs/applet/partyquality/list', checkAppletToken, asyncHandler(getPartyQuality));
// httpServer.post('/yfs/applet/partyquality/detsils', asyncHandler(getPartyVanguardDetsils)); httpServer.post('/yfs/applet/partyquality/detsils', asyncHandler(getPartyVanguardDetsils));
} }
...@@ -19,9 +20,7 @@ export function setRouter(httpServer) { ...@@ -19,9 +20,7 @@ export function setRouter(httpServer) {
* @param res * @param res
*/ */
async function getPartyQuality(req, res) { async function getPartyQuality(req, res) {
let reqConf = {bId:'Number'}; let bId = req.headers.bId;
let {bId} = eccReqParamater(reqConf, req.body);
let result = await partyQualityBiz.partyQualityList(bId); let result = await partyQualityBiz.partyQualityList(bId);
res.success(result); res.success(result);
} }
...@@ -32,13 +31,13 @@ async function getPartyQuality(req, res) { ...@@ -32,13 +31,13 @@ async function getPartyQuality(req, res) {
* @param req * @param req
* @param res * @param res
*/ */
// async function getPartyVanguardDetsils(req, res) { async function getPartyVanguardDetsils(req, res) {
// let reqConf = {pvId:'Number'}; let reqConf = {qualityId:'Number'};
// let {pvId} = eccReqParamater(reqConf, req.body); let {qualityId} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
// let result = await partyQualityBiz.partyVanguardDetsils(pvId); let result = await partyQualityBiz.partyQualityInfo(bId, qualityId);
// res.success(result); res.success(result);
// } }
......
/** /**
* 小程序端 党员入口 党建先锋 * 小程序端
* 党建先锋
*/ */
import * as partyVanguardBiz from '../../biz/partyVanguard'; import * as partyVanguardBiz from '../../biz/partyVanguard';
...@@ -10,6 +11,7 @@ import { checkAppletToken } from '../../middleware/user'; ...@@ -10,6 +11,7 @@ import { checkAppletToken } from '../../middleware/user';
export function setRouter(httpServer) { export function setRouter(httpServer) {
httpServer.post('/yfs/applet/partyvanguard/list', checkAppletToken, asyncHandler(getPartyVanguard)); httpServer.post('/yfs/applet/partyvanguard/list', checkAppletToken, asyncHandler(getPartyVanguard));
httpServer.post('/yfs/applet/partyvanguard/detsils', checkAppletToken, asyncHandler(getPartyVanguardDetsils)); httpServer.post('/yfs/applet/partyvanguard/detsils', checkAppletToken, asyncHandler(getPartyVanguardDetsils));
httpServer.post('/yfs/applet/partyvanguard/add', checkAppletToken, asyncHandler(addPartyVanguardDetsils));
} }
...@@ -19,9 +21,10 @@ export function setRouter(httpServer) { ...@@ -19,9 +21,10 @@ export function setRouter(httpServer) {
* @param res * @param res
*/ */
async function getPartyVanguard(req, res) { async function getPartyVanguard(req, res) {
let reqConf = {bId:'Number', honorName:'String'}; let reqConf = { honorName:'String'};
let {bId, honorName} = eccReqParamater(reqConf, req.body, ["honorName"]); let {honorName} = eccReqParamater(reqConf, req.body, ["honorName"]);
let bId = req.headers.bId;
let result = await partyVanguardBiz.partyVanguardList(bId, honorName); let result = await partyVanguardBiz.partyVanguardList(bId, honorName);
res.success(result); res.success(result);
} }
...@@ -43,3 +46,21 @@ async function getPartyVanguardDetsils(req, res) { ...@@ -43,3 +46,21 @@ async function getPartyVanguardDetsils(req, res) {
/**
* 党建先锋 添加荣誉详情
* @param req
* @param res
*/
async function addPartyVanguardDetsils(req, res) {
let reqConf = {param:'Object'};
let {param} = eccReqParamater(reqConf, req.body);
let bId = req.headers.bId;
let result = await partyVanguardBiz.addPartyVanguard(bId, param);
res.success(result);
}
...@@ -15,15 +15,44 @@ export function setRouter(httpServer) { ...@@ -15,15 +15,44 @@ export function setRouter(httpServer) {
httpServer.post('/yfs/applet/public/degree', asyncHandler(degreeType)); httpServer.post('/yfs/applet/public/degree', asyncHandler(degreeType));
httpServer.post('/yfs/applet/public/administrativeposition', asyncHandler(administrativePosition)); httpServer.post('/yfs/applet/public/administrativeposition', asyncHandler(administrativePosition));
httpServer.post('/yfs/applet/public/department', asyncHandler(department)); httpServer.post('/yfs/applet/public/department', asyncHandler(department));
httpServer.post('/yfs/applet/public/degreetype', asyncHandler(degreeType));
httpServer.post('/yfs/applet/public/honortype', asyncHandler(honorType)); httpServer.post('/yfs/applet/public/honortype', asyncHandler(honorType));
httpServer.post('/yfs/applet/public/themetype', asyncHandler(themeType)); httpServer.post('/yfs/applet/public/themetype', asyncHandler(themeType));
httpServer.post('/yfs/applet/public/paytype', asyncHandler(payType)); httpServer.post('/yfs/applet/public/paytype', asyncHandler(payType));
httpServer.post('/yfs/applet/public/paytime', asyncHandler(getPayTime)); httpServer.post('/yfs/applet/public/paytime', asyncHandler(getPayTime));
httpServer.post('/yfs/applet/public/coursetype', asyncHandler(courseType)); httpServer.post('/yfs/applet/public/coursetype', asyncHandler(courseType));
httpServer.post('/yfs/applet/public/activitytype', asyncHandler(activityType));
httpServer.post('/yfs/applet/public/grantingrange', asyncHandler(grantingRange));
httpServer.post('/yfs/applet/public/personhonortype', asyncHandler(personhonortype));
} }
function personhonortype(req, res) {
let dataList = getEnumList(configEnum.PERSONHONORTYPE);
res.success(dataList);
}
function grantingRange(req, res) {
let dataList = getEnumList(configEnum.GRANTINGRANGE);
res.success(dataList);
}
/**
*
* @param req
* @param res
*/
function activityType(req, res) {
let dataList = getEnumList(configEnum.ACTIVITIESTYPE);
res.success(dataList);
}
/** /**
* 党内职务 * 党内职务
...@@ -195,7 +224,7 @@ export function payTime() { ...@@ -195,7 +224,7 @@ export function payTime() {
for(let i = nowYear; i >= smallYear; i--) { for(let i = nowYear; i >= smallYear; i--) {
yearList.push(i); yearList.push(i);
let yearmonth = []; let yearmonth = [];
for(let m = 1; m <= 12; m++){ for(let m = 12; m >= 1; m--){
yearmonth.push(m); yearmonth.push(m);
} }
monthList.push(yearmonth); monthList.push(yearmonth);
......
...@@ -145,7 +145,7 @@ async function initPartyMember() { ...@@ -145,7 +145,7 @@ async function initPartyMember() {
if (i == 2 && item) { if (i == 2 && item) {
value = moment(item).format("YYYY-MM-DD"); value = moment(item).format("YYYY-MM-DD");
} }
if (i ==3) { if (i ==3 ) {
let itemStr = `${item}`; let itemStr = `${item}`;
if(!addDataInfo.pmId) addDataInfo.pmId = md5PwdStr(itemStr.slice(itemStr.length-6)); if(!addDataInfo.pmId) addDataInfo.pmId = md5PwdStr(itemStr.slice(itemStr.length-6));
if(!addDataInfo.pwd) addDataInfo.pwd = md5PwdStr(itemStr.slice(itemStr.length-6)); if(!addDataInfo.pwd) addDataInfo.pwd = md5PwdStr(itemStr.slice(itemStr.length-6));
......
...@@ -166,4 +166,9 @@ export function getSMSCode() { ...@@ -166,4 +166,9 @@ export function getSMSCode() {
code += Math.floor(Math.random() * 10) code += Math.floor(Math.random() * 10)
} }
return code; return code;
} }
\ No newline at end of file
export function getRandomId(str) {
return md5(`${str}${new Date().valueOf()}${Math.ceil(Math.random()*1000000)}`);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment