diff --git a/build.gradle b/build.gradle
index bd26798e..e2084b7d 100644
--- a/build.gradle
+++ b/build.gradle
@@ -68,8 +68,8 @@ dependencies {
compile group: 'com.amazonaws', name: 'aws-lambda-java-core', version: '1.1.0'
compile group: "com.github.jknack", name: "handlebars", version: "4.2.0"
compile group: 'org.xhtmlrenderer', name: 'flying-saucer-pdf-openpdf', version: '9.1.20'
- compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.13.4.1'
- compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.14.0'
+ compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.15.0'
+ compile group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.15.0'
compile group: 'com.amazonaws', name: 'aws-lambda-java-log4j2', version: '1.5.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.22.1'
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.22.1'
@@ -78,7 +78,7 @@ dependencies {
compile fileTree(dir: 'jars', include: '*.jar')
testCompile group: 'junit', name: 'junit', version: '4.13.1'
testCompile group: 'org.jsoup', name: 'jsoup', version: '1.15.3'
- testCompile group: 'commons-io', name: 'commons-io', version: '2.7'
+ testCompile group: 'commons-io', name: 'commons-io', version: '2.14.0'
testCompile group: 'com.itextpdf', name: 'itextpdf', version: '5.5.12'
}
diff --git a/manifest.json b/manifest.json
index 4fecf3b2..c6a6ac56 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,9 @@
"name": "doc-gen",
"description": "",
"team": "",
- "documentation": "",
- "language": "handlebars",
+ "documentation": "N/A",
+ "language": "java",
+ "language_version": "11",
"terraform": false,
"monorepo": false,
"dynamo_tables": []
diff --git a/package-lock.json b/package-lock.json
index fafc50c6..4a40f08f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,174 +1,211 @@
{
+ "name": "cvs-svc-doc-gen",
+ "lockfileVersion": 3,
"requires": true,
- "lockfileVersion": 1,
- "dependencies": {
- "@babel/code-frame": {
+ "packages": {
+ "": {
+ "devDependencies": {
+ "husky": "^3.0.9"
+ }
+ },
+ "node_modules/@babel/code-frame": {
"version": "7.12.13",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
"integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
"dev": true,
- "requires": {
+ "dependencies": {
"@babel/highlight": "^7.12.13"
}
},
- "@babel/helper-validator-identifier": {
+ "node_modules/@babel/helper-validator-identifier": {
"version": "7.14.0",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz",
"integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==",
"dev": true
},
- "@babel/highlight": {
+ "node_modules/@babel/highlight": {
"version": "7.14.0",
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz",
"integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==",
"dev": true,
- "requires": {
+ "dependencies": {
"@babel/helper-validator-identifier": "^7.14.0",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
}
},
- "@types/normalize-package-data": {
+ "node_modules/@types/normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
"dev": true
},
- "ansi-styles": {
+ "node_modules/ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
- "requires": {
+ "dependencies": {
"color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "argparse": {
+ "node_modules/argparse": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
- "requires": {
+ "dependencies": {
"sprintf-js": "~1.0.2"
}
},
- "caller-callsite": {
+ "node_modules/caller-callsite": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
"integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
"dev": true,
- "requires": {
+ "dependencies": {
"callsites": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "caller-path": {
+ "node_modules/caller-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
"integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
"dev": true,
- "requires": {
+ "dependencies": {
"caller-callsite": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "callsites": {
+ "node_modules/callsites": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
"integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
},
- "chalk": {
+ "node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "ci-info": {
+ "node_modules/ci-info": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
"integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
"dev": true
},
- "color-convert": {
+ "node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
- "requires": {
+ "dependencies": {
"color-name": "1.1.3"
}
},
- "color-name": {
+ "node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
- "cosmiconfig": {
+ "node_modules/cosmiconfig": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
"integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
"dev": true,
- "requires": {
+ "dependencies": {
"import-fresh": "^2.0.0",
"is-directory": "^0.3.1",
"js-yaml": "^3.13.1",
"parse-json": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "cross-spawn": {
+ "node_modules/cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
+ },
+ "engines": {
+ "node": ">=4.8"
}
},
- "end-of-stream": {
+ "node_modules/end-of-stream": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dev": true,
- "requires": {
+ "dependencies": {
"once": "^1.4.0"
}
},
- "error-ex": {
+ "node_modules/error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"dev": true,
- "requires": {
+ "dependencies": {
"is-arrayish": "^0.2.1"
}
},
- "escape-string-regexp": {
+ "node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
},
- "esprima": {
+ "node_modules/esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
- "dev": true
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
},
- "execa": {
+ "node_modules/execa": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
"integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
"dev": true,
- "requires": {
+ "dependencies": {
"cross-spawn": "^6.0.0",
"get-stream": "^4.0.0",
"is-stream": "^1.1.0",
@@ -176,66 +213,85 @@
"p-finally": "^1.0.0",
"signal-exit": "^3.0.0",
"strip-eof": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6"
}
},
- "find-up": {
+ "node_modules/find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
- "requires": {
+ "dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "function-bind": {
+ "node_modules/function-bind": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
- "get-stdin": {
+ "node_modules/get-stdin": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
"integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "get-stream": {
+ "node_modules/get-stream": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
"dev": true,
- "requires": {
+ "dependencies": {
"pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
}
},
- "has": {
+ "node_modules/has": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
- "requires": {
+ "dependencies": {
"function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
}
},
- "has-flag": {
+ "node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
},
- "hosted-git-info": {
+ "node_modules/hosted-git-info": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
"dev": true
},
- "husky": {
+ "node_modules/husky": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/husky/-/husky-3.1.0.tgz",
"integrity": "sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ==",
"dev": true,
- "requires": {
+ "hasInstallScript": true,
+ "dependencies": {
"chalk": "^2.4.2",
"ci-info": "^2.0.0",
"cosmiconfig": "^5.2.1",
@@ -247,388 +303,494 @@
"read-pkg": "^5.2.0",
"run-node": "^1.0.0",
"slash": "^3.0.0"
+ },
+ "bin": {
+ "husky-run": "run.js",
+ "husky-upgrade": "lib/upgrader/bin.js"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/husky"
}
},
- "import-fresh": {
+ "node_modules/import-fresh": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
"integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
"dev": true,
- "requires": {
+ "dependencies": {
"caller-path": "^2.0.0",
"resolve-from": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "is-arrayish": {
+ "node_modules/is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
"dev": true
},
- "is-core-module": {
+ "node_modules/is-core-module": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
"integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
"dev": true,
- "requires": {
+ "dependencies": {
"has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "is-directory": {
+ "node_modules/is-directory": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
"integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "is-stream": {
+ "node_modules/is-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "isexe": {
+ "node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
- "js-tokens": {
+ "node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"dev": true
},
- "js-yaml": {
+ "node_modules/js-yaml": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
"dev": true,
- "requires": {
+ "dependencies": {
"argparse": "^1.0.7",
"esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
- "json-parse-better-errors": {
+ "node_modules/json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
- "json-parse-even-better-errors": {
+ "node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
"integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
"dev": true
},
- "lines-and-columns": {
+ "node_modules/lines-and-columns": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
"integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
"dev": true
},
- "locate-path": {
+ "node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
- "requires": {
+ "dependencies": {
"p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "nice-try": {
+ "node_modules/nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
- "normalize-package-data": {
+ "node_modules/normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"dev": true,
- "requires": {
+ "dependencies": {
"hosted-git-info": "^2.1.4",
"resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
}
},
- "npm-run-path": {
+ "node_modules/npm-run-path": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
"integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
"dev": true,
- "requires": {
+ "dependencies": {
"path-key": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "once": {
+ "node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
- "requires": {
+ "dependencies": {
"wrappy": "1"
}
},
- "opencollective-postinstall": {
+ "node_modules/opencollective-postinstall": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz",
"integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==",
- "dev": true
+ "dev": true,
+ "bin": {
+ "opencollective-postinstall": "index.js"
+ }
},
- "p-finally": {
+ "node_modules/p-finally": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
"integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
},
- "p-limit": {
+ "node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
- "requires": {
+ "dependencies": {
"p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "p-locate": {
+ "node_modules/p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
- "requires": {
+ "dependencies": {
"p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "p-try": {
+ "node_modules/p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
},
- "parse-json": {
+ "node_modules/parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
"integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
"dev": true,
- "requires": {
+ "dependencies": {
"error-ex": "^1.3.1",
"json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "path-exists": {
+ "node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "path-key": {
+ "node_modules/path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
},
- "path-parse": {
+ "node_modules/path-parse": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
- "pkg-dir": {
+ "node_modules/pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
"integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
}
},
- "please-upgrade-node": {
+ "node_modules/please-upgrade-node": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
"integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
"dev": true,
- "requires": {
+ "dependencies": {
"semver-compare": "^1.0.0"
}
},
- "pump": {
+ "node_modules/pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
- "requires": {
+ "dependencies": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
- "read-pkg": {
+ "node_modules/read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
"integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
- "requires": {
+ "dependencies": {
"@types/normalize-package-data": "^2.4.0",
"normalize-package-data": "^2.5.0",
"parse-json": "^5.0.0",
"type-fest": "^0.6.0"
},
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/read-pkg/node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
"dependencies": {
- "parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- }
- }
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "resolve": {
+ "node_modules/resolve": {
"version": "1.20.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
"integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
"dev": true,
- "requires": {
+ "dependencies": {
"is-core-module": "^2.2.0",
"path-parse": "^1.0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "resolve-from": {
+ "node_modules/resolve-from": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
"integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
},
- "run-node": {
+ "node_modules/run-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz",
"integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==",
- "dev": true
+ "dev": true,
+ "bin": {
+ "run-node": "run-node"
+ },
+ "engines": {
+ "node": ">=4"
+ }
},
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
+ "node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
},
- "semver-compare": {
+ "node_modules/semver-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
"integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
"dev": true
},
- "shebang-command": {
+ "node_modules/shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
"dev": true,
- "requires": {
+ "dependencies": {
"shebang-regex": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
}
},
- "shebang-regex": {
+ "node_modules/shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "signal-exit": {
+ "node_modules/signal-exit": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
"integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
"dev": true
},
- "slash": {
+ "node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "spdx-correct": {
+ "node_modules/spdx-correct": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
"integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
"dev": true,
- "requires": {
+ "dependencies": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
}
},
- "spdx-exceptions": {
+ "node_modules/spdx-exceptions": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
"integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
"dev": true
},
- "spdx-expression-parse": {
+ "node_modules/spdx-expression-parse": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
"integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
"dev": true,
- "requires": {
+ "dependencies": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
}
},
- "spdx-license-ids": {
+ "node_modules/spdx-license-ids": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz",
"integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==",
"dev": true
},
- "sprintf-js": {
+ "node_modules/sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
},
- "strip-eof": {
+ "node_modules/strip-eof": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
"integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "supports-color": {
+ "node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
- "requires": {
+ "dependencies": {
"has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "type-fest": {
+ "node_modules/type-fest": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
"integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
- "dev": true
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
},
- "validate-npm-package-license": {
+ "node_modules/validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
"integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
"dev": true,
- "requires": {
+ "dependencies": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
}
},
- "which": {
+ "node_modules/which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
- "requires": {
+ "dependencies": {
"isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
}
},
- "wrappy": {
+ "node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
diff --git a/src/main/java/uk/gov/dvsa/enums/CertificateTemplates.java b/src/main/java/uk/gov/dvsa/enums/CertificateTemplates.java
index de00f9f3..1066985e 100644
--- a/src/main/java/uk/gov/dvsa/enums/CertificateTemplates.java
+++ b/src/main/java/uk/gov/dvsa/enums/CertificateTemplates.java
@@ -42,7 +42,11 @@ public enum CertificateTemplates {
IVA30("CommercialVehicles/IVA30"),
- MSVA30("CommercialVehicles/MSVA30");
+ MSVA30("CommercialVehicles/MSVA30"),
+
+ VTG12("CommercialVehicles/Abandoned"),
+
+ VTP12("CommercialVehicles/Abandoned");
private final String certificateTemplateName;
diff --git a/src/main/java/uk/gov/dvsa/enums/CertificateTypes.java b/src/main/java/uk/gov/dvsa/enums/CertificateTypes.java
index 54407460..274d62a5 100644
--- a/src/main/java/uk/gov/dvsa/enums/CertificateTypes.java
+++ b/src/main/java/uk/gov/dvsa/enums/CertificateTypes.java
@@ -30,6 +30,7 @@ public enum CertificateTypes {
CVS_FAIL_WELSH("CVS/VTP30W"),
CVS_FAIL_BILINGUAL("CVS/VTP30_BILINGUAL"),
CVS_PSV_PRS("CVS/PSV_PRS"),
+ CVS_PSV_PRS_BILINGUAL("CVS/PSV_PRS_BILINGUAL"),
CVS_HGV_PASS("CVS/VTG5"),
CVS_HGV_PASS_WELSH("CVS/VTG5W"),
@@ -41,7 +42,9 @@ public enum CertificateTypes {
CVS_HGV_TRL_FAIL_WELSH("CVS/VTG30W"),
CVS_HGV_TRL_FAIL_BILINGUAL("CVS/VTG30_BILINGUAL"),
CVS_HGV_PRS("CVS/HGV_PRS"),
+ CVS_HGV_PRS_BILINGUAL("CVS/HGV_PRS_BILINGUAL"),
CVS_TRL_PRS("CVS/TRL_PRS"),
+ CVS_TRL_PRS_BILINGUAL("CVS/TRL_PRS_BILINGUAL"),
RWT_DATA("CVS/RWT"),
ADR_PASS("CVS/ADR_PASS"),
VTG6_VTG7("CVS/VTG6_VTG7"),
@@ -52,7 +55,9 @@ public enum CertificateTypes {
IVA30("CVS/IVA30"),
- MSVA30("CVS/MSVA30");
+ MSVA30("CVS/MSVA30"),
+ VTG12("CVS/VTG12"),
+ VTP12("CVS/VTP12");
private final String certificateType;
diff --git a/src/main/java/uk/gov/dvsa/enums/DocumentsConfig.java b/src/main/java/uk/gov/dvsa/enums/DocumentsConfig.java
index 5912c46f..e1b071f3 100644
--- a/src/main/java/uk/gov/dvsa/enums/DocumentsConfig.java
+++ b/src/main/java/uk/gov/dvsa/enums/DocumentsConfig.java
@@ -44,6 +44,9 @@ public enum DocumentsConfig {
CVS_PSV_PRS(CertificateTypes.CVS_PSV_PRS.getCertificateType(), CvsPsvPRS.class,
new String[]{CertificateTemplates.VTP20.getCertificateTemplateName(), CertificateTemplates.VTP30.getCertificateTemplateName()}),
+ CVS_PSV_PRS_BILINGUAL(CertificateTypes.CVS_PSV_PRS_BILINGUAL.getCertificateType(), CvsPsvPRSBilingual.class,
+ new String[]{CertificateTemplates.VTP20.getCertificateTemplateName(), CertificateTemplates.VTP30.getCertificateTemplateName(),
+ CertificateTemplates.VTP20W.getCertificateTemplateName(), CertificateTemplates.VTP30W.getCertificateTemplateName()}),
VTP20(CertificateTypes.CVS_PASS.getCertificateType(), uk.gov.dvsa.model.cvs.VTP20.class,
new String[]{CertificateTemplates.VTP20.getCertificateTemplateName()}),
VTP20W(CertificateTypes.CVS_PASS_WELSH.getCertificateType(), uk.gov.dvsa.model.cvs.VTP20W.class,
@@ -80,6 +83,9 @@ public enum DocumentsConfig {
new String[]{CertificateTemplates.RWT_DATA.getCertificateTemplateName()}),
CVS_HGV_PRS(CertificateTypes.CVS_HGV_PRS.getCertificateType(), uk.gov.dvsa.model.cvs.CvsHgvPRS.class,
new String[]{CertificateTemplates.VTG5.getCertificateTemplateName(), CertificateTemplates.VTG30.getCertificateTemplateName()}),
+ CVS_HGV_PRS_BILINGUAL(CertificateTypes.CVS_HGV_PRS_BILINGUAL.getCertificateType(), uk.gov.dvsa.model.cvs.CvsHgvPRSBilingual.class,
+ new String[]{CertificateTemplates.VTG5.getCertificateTemplateName(), CertificateTemplates.VTG30.getCertificateTemplateName(),
+ CertificateTemplates.VTG5W.getCertificateTemplateName(), CertificateTemplates.VTG30W.getCertificateTemplateName()}),
CVS_PASS_BILINGUAL(CertificateTypes.CVS_PASS_BILINGUAL.getCertificateType(), uk.gov.dvsa.model.cvs.CvsPsvPassBilingual.class,
new String[]{CertificateTemplates.VTP20.getCertificateTemplateName(), CertificateTemplates.VTP20W.getCertificateTemplateName()}),
CVS_HGV_PASS_BILINGUAL(CertificateTypes.CVS_HGV_PASS_BILINGUAL.getCertificateType(), uk.gov.dvsa.model.cvs.CvsHgvPassBilingual.class,
@@ -91,6 +97,10 @@ public enum DocumentsConfig {
CVS_TRL_PRS(CertificateTypes.CVS_TRL_PRS.getCertificateType(), uk.gov.dvsa.model.cvs.CvsTrlPRS.class,
new String[]{CertificateTemplates.VTG5A.getCertificateTemplateName(), CertificateTemplates.VTG30.getCertificateTemplateName()}),
+ CVS_TRL_PRS_BILINGUAL(CertificateTypes.CVS_TRL_PRS_BILINGUAL.getCertificateType(), uk.gov.dvsa.model.cvs.CvsTrlPRSBilingual.class,
+ new String[]{CertificateTemplates.VTG5A.getCertificateTemplateName(), CertificateTemplates.VTG30.getCertificateTemplateName(),
+ CertificateTemplates.VTG5AW.getCertificateTemplateName(), CertificateTemplates.VTG30W.getCertificateTemplateName()}),
+
INSPECTION_CHECKLIST(CertificateTypes.INSPECTION_CHECKLIST.getCertificateType(), InspectionChecklist.class,
new String[]{CertificateTemplates.INSPECTION_CHECKLIST.getCertificateTemplateName()}),
@@ -98,7 +108,13 @@ public enum DocumentsConfig {
new String[]{CertificateTemplates.IVA30.getCertificateTemplateName()}),
MSVA30(CertificateTypes.MSVA30.getCertificateType(), MSVA30.class,
- new String[]{CertificateTemplates.MSVA30.getCertificateTemplateName()});
+ new String[]{CertificateTemplates.MSVA30.getCertificateTemplateName()}),
+
+ VTG12(CertificateTypes.VTG12.getCertificateType(), VTG12.class,
+ new String[]{CertificateTemplates.VTG12.getCertificateTemplateName()}),
+
+ VTP12(CertificateTypes.VTP12.getCertificateType(), VTP12.class,
+ new String[]{CertificateTemplates.VTP12.getCertificateTemplateName()});
private final String documentName;
diff --git a/src/main/java/uk/gov/dvsa/model/cvs/AbandonedCertificate.java b/src/main/java/uk/gov/dvsa/model/cvs/AbandonedCertificate.java
new file mode 100644
index 00000000..e00cd43f
--- /dev/null
+++ b/src/main/java/uk/gov/dvsa/model/cvs/AbandonedCertificate.java
@@ -0,0 +1,51 @@
+package uk.gov.dvsa.model.cvs;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import uk.gov.dvsa.model.Document;
+import uk.gov.dvsa.model.cvs.certificateData.AbandonedData;
+import uk.gov.dvsa.model.cvs.certificateData.Signature;
+
+public abstract class AbandonedCertificate extends Document {
+ protected String regulationText;
+ protected String vehicleTypeText;
+ protected String titleTextIncludingRollingHeaders;
+ protected String sectionTextRef;
+ protected String formNumber;
+ @JsonProperty("ABANDONED_DATA")
+ private AbandonedData data;
+ @JsonProperty("Signature")
+ private Signature signature;
+
+ public String getRegulationText() { return this.regulationText; }
+
+ public String getVehicleTypeText() { return this.vehicleTypeText; }
+
+ public String getTitleTextIncludingRollingHeaders() {
+ return this.titleTextIncludingRollingHeaders;
+ }
+
+ public String getSectionTextRef() { return this.sectionTextRef; }
+
+ public String getFormNumber() { return formNumber; }
+
+ public AbandonedData getData() {
+ return data;
+ }
+
+ public Signature getSignature() {
+ return signature;
+ }
+
+ public Document setData(AbandonedData data) {
+ this.data = data;
+ return this;
+ }
+
+ public void setSignature(Signature signature) {
+ this.signature = signature;
+ }
+
+ public String getDocumentType() {
+ return this.getDocumentName().split("/")[1];
+ }
+}
diff --git a/src/main/java/uk/gov/dvsa/model/cvs/CvsHgvPRSBilingual.java b/src/main/java/uk/gov/dvsa/model/cvs/CvsHgvPRSBilingual.java
new file mode 100644
index 00000000..d0d9e1c5
--- /dev/null
+++ b/src/main/java/uk/gov/dvsa/model/cvs/CvsHgvPRSBilingual.java
@@ -0,0 +1,32 @@
+package uk.gov.dvsa.model.cvs;
+
+import uk.gov.dvsa.model.Document;
+import uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateDataWelsh;
+
+public class CvsHgvPRSBilingual extends CvsHgvTrlFailBilingual {
+
+ public String getTestType() {
+ return "HGV";
+ }
+
+ public String getPresentedDocumentNamePass() {
+ return "VTG5";
+ }
+
+ public String getPresentedDocumentNamePassWelsh() {
+ return "VTG5W";
+ }
+
+ public String getVersionNumberPass() {
+ return "1.0";
+ }
+
+ public String getVersionNumberPassWelsh() {
+ return "1.0";
+ }
+
+ public Document setData(CvsMotCertificateDataWelsh data) {
+ this.data = data;
+ return this;
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/uk/gov/dvsa/model/cvs/CvsPsvPRSBilingual.java b/src/main/java/uk/gov/dvsa/model/cvs/CvsPsvPRSBilingual.java
new file mode 100644
index 00000000..dc63a758
--- /dev/null
+++ b/src/main/java/uk/gov/dvsa/model/cvs/CvsPsvPRSBilingual.java
@@ -0,0 +1,27 @@
+package uk.gov.dvsa.model.cvs;
+
+import uk.gov.dvsa.model.Document;
+import uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateDataWelsh;
+
+public class CvsPsvPRSBilingual extends VTP30Bilingual {
+ public String getPresentedDocumentNamePass() {
+ return "VTP20";
+ }
+
+ public String getPresentedDocumentNamePassWelsh() {
+ return "VTP20W";
+ }
+
+ public String getVersionNumberPass() {
+ return "1.0";
+ }
+
+ public String getVersionNumberPassWelsh() {
+ return "1.0";
+ }
+
+ public Document setData(CvsMotCertificateDataWelsh data) {
+ this.data = data;
+ return this;
+ }
+}
diff --git a/src/main/java/uk/gov/dvsa/model/cvs/CvsTrlPRSBilingual.java b/src/main/java/uk/gov/dvsa/model/cvs/CvsTrlPRSBilingual.java
new file mode 100644
index 00000000..50045362
--- /dev/null
+++ b/src/main/java/uk/gov/dvsa/model/cvs/CvsTrlPRSBilingual.java
@@ -0,0 +1,31 @@
+package uk.gov.dvsa.model.cvs;
+
+import uk.gov.dvsa.model.Document;
+import uk.gov.dvsa.model.cvs.certificateData.CvsMotCertificateDataWelsh;
+
+public class CvsTrlPRSBilingual extends CvsHgvTrlFailBilingual {
+ public String getTestType() {
+ return "TRL";
+ }
+
+ public String getPresentedDocumentNamePass() {
+ return "VTG5A";
+ }
+
+ public String getPresentedDocumentNamePassWelsh() {
+ return "VTG5AW";
+ }
+
+ public String getVersionNumberPass() {
+ return "1.0";
+ }
+
+ public String getVersionNumberPassWelsh() {
+ return "1.0";
+ }
+
+ public Document setData(CvsMotCertificateDataWelsh data) {
+ this.data = data;
+ return this;
+ }
+}
diff --git a/src/main/java/uk/gov/dvsa/model/cvs/VTG12.java b/src/main/java/uk/gov/dvsa/model/cvs/VTG12.java
new file mode 100644
index 00000000..a8ff2b96
--- /dev/null
+++ b/src/main/java/uk/gov/dvsa/model/cvs/VTG12.java
@@ -0,0 +1,13 @@
+package uk.gov.dvsa.model.cvs;
+
+public class VTG12 extends AbandonedCertificate {
+
+ public VTG12() {
+ super();
+ super.regulationText = "Regulations 7 and 8 of the Goods Vehicles (Plating and Testing) Regulations 1988 as Amended";
+ super.vehicleTypeText = "In respect of the goods vehicle with registration number / chassis serial number / trailer identification mark :";
+ super.titleTextIncludingRollingHeaders = "Goods Vehicle for Examination";
+ super.formNumber = "0440";
+ super.sectionTextRef = "49 and 51";
+ }
+}
diff --git a/src/main/java/uk/gov/dvsa/model/cvs/VTP12.java b/src/main/java/uk/gov/dvsa/model/cvs/VTP12.java
new file mode 100644
index 00000000..9ad313b3
--- /dev/null
+++ b/src/main/java/uk/gov/dvsa/model/cvs/VTP12.java
@@ -0,0 +1,13 @@
+package uk.gov.dvsa.model.cvs;
+
+public class VTP12 extends AbandonedCertificate {
+
+ public VTP12() {
+ super();
+ super.regulationText = "Regulation 13 of the Motor Vehicles (Tests) Regulations 1981 as amended";
+ super.vehicleTypeText = "In respect of the public service vehicle with registration number / chassis serial number :";
+ super.titleTextIncludingRollingHeaders = "Public Service Vehicle for Examination";
+ super.formNumber = "0453";
+ super.sectionTextRef = "45";
+ }
+}
diff --git a/src/main/java/uk/gov/dvsa/model/cvs/certificateData/AbandonedData.java b/src/main/java/uk/gov/dvsa/model/cvs/certificateData/AbandonedData.java
new file mode 100644
index 00000000..e9ddf59c
--- /dev/null
+++ b/src/main/java/uk/gov/dvsa/model/cvs/certificateData/AbandonedData.java
@@ -0,0 +1,68 @@
+package uk.gov.dvsa.model.cvs.certificateData;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class AbandonedData {
+ @JsonProperty("RegistrationNumber")
+ private String registrationNumber;
+ @JsonProperty("ReasonsForRefusal")
+ private String[] reasonsForRefusal;
+ @JsonProperty("TestStationName")
+ private String testStationName;
+ @JsonProperty("TestStationPNumber")
+ private String testStationPNumber;
+ @JsonProperty("IssuersName")
+ private String issuersName;
+ @JsonProperty("AdditionalComments")
+ private String additionalComments;
+ @JsonProperty("DateOfTheTest")
+ private String dateOfTheTest;
+
+ public AbandonedData() {
+ }
+
+ public AbandonedData(String registrationNumber,
+ String[] reasonsForRefusal,
+ String dateOfTheTest,
+ String testStationName,
+ String testStationPNumber,
+ String issuersName,
+ String additionalComments) {
+ this.registrationNumber = registrationNumber;
+ this.reasonsForRefusal = reasonsForRefusal;
+ this.dateOfTheTest = dateOfTheTest;
+ this.testStationName = testStationName;
+ this.testStationPNumber = testStationPNumber;
+ this.issuersName = issuersName;
+ this.additionalComments = additionalComments;
+ }
+
+ public String[] getRegistrationNumber() {
+ return registrationNumber.split("");
+ }
+
+ public String[] getReasonsForRefusal() {
+ return reasonsForRefusal;
+ }
+
+ public String getTestStationName() {
+ return testStationName;
+ }
+
+ public String getTestStationPNumber() {
+ return testStationPNumber;
+ }
+
+ public String getIssuersName() {
+ return issuersName;
+ }
+
+ public String getAdditionalComments() {
+ return additionalComments;
+ }
+
+ public String getDateOfTheTest() {
+ return dateOfTheTest;
+ }
+
+}
diff --git a/src/main/java/uk/gov/dvsa/model/cvs/certificateData/CvsMotCertificateData.java b/src/main/java/uk/gov/dvsa/model/cvs/certificateData/CvsMotCertificateData.java
index e1a0e349..a0a43284 100644
--- a/src/main/java/uk/gov/dvsa/model/cvs/certificateData/CvsMotCertificateData.java
+++ b/src/main/java/uk/gov/dvsa/model/cvs/certificateData/CvsMotCertificateData.java
@@ -98,6 +98,9 @@ public class CvsMotCertificateData {
@JsonProperty("IsTrailer")
private boolean isTrailer;
+ @JsonProperty("Recalls")
+ private Recalls recalls;
+
public String getSeatBeltTested() {
return seatBeltTested;
}
@@ -378,4 +381,11 @@ public CvsMotCertificateData setIsTrailer(boolean isTrailerValue) {
this.isTrailer = isTrailerValue;
return this;
}
+
+ public Recalls getRecalls() {return recalls;}
+
+ public CvsMotCertificateData setRecalls(Recalls recalls) {
+ this.recalls = recalls;
+ return this;
+ }
}
diff --git a/src/main/java/uk/gov/dvsa/model/cvs/certificateData/MsvaFailCertificateData.java b/src/main/java/uk/gov/dvsa/model/cvs/certificateData/MsvaFailCertificateData.java
index a2f3f7c9..721b09e5 100644
--- a/src/main/java/uk/gov/dvsa/model/cvs/certificateData/MsvaFailCertificateData.java
+++ b/src/main/java/uk/gov/dvsa/model/cvs/certificateData/MsvaFailCertificateData.java
@@ -19,8 +19,8 @@ public class MsvaFailCertificateData {
private String model;
@JsonProperty("date")
private String date;
- @JsonProperty("retestDate")
- private String retestDate;
+ @JsonProperty("reapplicationDate")
+ private String reapplicationDate;
@JsonProperty("station")
private String station;
@JsonProperty("testerName")
@@ -86,12 +86,12 @@ public void setDate(String date) {
this.date = date;
}
- public String getRetestDate() {
- return retestDate;
+ public String getReapplicationDate() {
+ return reapplicationDate;
}
- public void setRetestDate(String retestDate) {
- this.retestDate = retestDate;
+ public void setReapplicationDate(String reapplicationDate) {
+ this.reapplicationDate = reapplicationDate;
}
public String getStation() {
diff --git a/src/main/java/uk/gov/dvsa/model/cvs/certificateData/Recalls.java b/src/main/java/uk/gov/dvsa/model/cvs/certificateData/Recalls.java
new file mode 100644
index 00000000..5e150cdc
--- /dev/null
+++ b/src/main/java/uk/gov/dvsa/model/cvs/certificateData/Recalls.java
@@ -0,0 +1,29 @@
+package uk.gov.dvsa.model.cvs.certificateData;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class Recalls {
+ @JsonProperty
+ private String manufacturer;
+ @JsonProperty
+ private boolean hasRecall;
+
+ public Recalls(){}
+
+ public Recalls(String manufacturer, Boolean hasRecall){
+ this.manufacturer = manufacturer;
+ this.hasRecall = hasRecall;
+ }
+
+ public String getManufacturer() {return this.manufacturer;}
+
+ public boolean isHasRecall() {return this.hasRecall;}
+
+ public void setManufacturer(String manufacturer) {this.manufacturer = manufacturer;}
+
+ public void setHasRecall(boolean hasRecall) {this.hasRecall = hasRecall;}
+
+
+
+
+}
diff --git a/src/main/resources/assets/images/info-icon.png b/src/main/resources/assets/images/info-icon.png
new file mode 100644
index 00000000..1b93a95b
Binary files /dev/null and b/src/main/resources/assets/images/info-icon.png differ
diff --git a/src/main/resources/assets/stylesheets/Abandoned.hbs b/src/main/resources/assets/stylesheets/Abandoned.hbs
new file mode 100644
index 00000000..4e4f5a7f
--- /dev/null
+++ b/src/main/resources/assets/stylesheets/Abandoned.hbs
@@ -0,0 +1,218 @@
+@font-face {
+ font-family: nta;
+ font-weight: 100;
+ src: url({{root}}/assets/fonts/NTA-Light.ttf);
+ -fs-pdf-font-embed: embed;
+ -fs-pdf-font-encoding: Identity-H
+}
+
+@font-face {
+ font-family: nta-bold;
+ font-weight: 700;
+ src: url({{root}}/assets/fonts/NTA-Bold.ttf);
+ -fs-pdf-font-embed: embed;
+ -fs-pdf-font-encoding: Identity-H
+}
+
+@font-face {
+ font-family: gds-transport;
+ font-weight: 400;
+ src: url({{root}}/assets/fonts/GDSTransportWebsite.ttf);
+ -fs-pdf-font-embed: embed;
+ -fs-pdf-font-encoding: Identity-H
+}
+
+body,
+html {
+ font-family: nta;
+ font-weight: 100;
+ line-height: 1;
+ margin: 0;
+ -fs-page-sequence: start;
+ page-break-before: always
+}
+
+.header__crest-img {
+ min-width: 180px;
+ min-height: 112px;
+ width: 180px;
+ height: 112px;
+ float: left;
+}
+
+.header {
+ border-bottom: 4px solid black;
+ padding-bottom: 24px;
+}
+
+.title-text {
+ padding-bottom: 6px;
+ margin-right: 1.8cm;
+ text-align: right;
+ margin-left: 210px;
+ font-weight: bold;
+ font-size: 21px;
+ line-height: 24px;
+}
+
+.regulation-text {
+ margin-left: 290px;
+ text-align: right;
+}
+
+.vin-wrapper {
+ padding: 10px 0 10px 0;
+}
+
+.vin-text {
+ font-size: 1.0em;
+ font-weight: bold;
+ letter-spacing: 1000px;
+ text-transform: uppercase;
+ padding: 0 5px 0 5px;
+}
+
+#sectionText {
+ padding-bottom: 24px;
+}
+
+.standard-text {
+ padding-top: 4px;
+ padding-bottom: 4px;
+ margin-right: 2cm;
+}
+
+/* pdf Page styling */
+@page {
+ size: A4 portrait;
+ margin: 3cm 1.5cm 50px 1cm;
+ @bottom-left {
+ content: element(footer-left);
+ }
+ @bottom-right {
+ content: element(footer-right);
+ }
+ @top-left {
+ content: element(running-header);
+ }
+}
+@page :first {
+ margin: 1cm 1.5cm 50px 1cm;
+ @top-left {
+ content: normal;
+ }
+}
+
+.footer-left {
+ font-size: 1.25em;
+ position: running(footer-left);
+}
+
+.footer-right {
+ text-align: right;
+ position: running(footer-right);
+}
+
+/* the border is need to take up space so the text to the
+ right does not have the 2nd line move all the way back left */
+.header-left {
+ float: left;
+ border: 1px solid transparent;
+ width: 300px;
+ padding-top: 16px;
+ font-weight: bold;
+}
+
+.running-header {
+ position: running(running-header);
+ border-bottom: 4px solid gray;
+ padding-bottom: 16px;
+}
+
+.back-page {
+ page-break-before: always;
+}
+
+.blue-text {
+ color: blue;
+}
+
+.additional-comments-header {
+ margin-bottom: 20px;
+}
+
+.additional-comments-box {
+ border: 1px solid black;
+ padding: 20px;
+}
+
+.data-protection-box {
+ background: #d2d2d2;
+ padding: 5px;
+ margin-top: 10px;
+}
+
+.data-protection-text {
+ padding-bottom: 10px;
+}
+
+.bold-text {
+ font-weight: bold;
+}
+
+.table {
+ width: 100%;
+ margin-bottom: 1em;
+ table-layout: auto;
+ margin-top: 30px;
+ border-collapse: separate;
+ border-spacing: 5pt;
+ page-break-inside: avoid;
+}
+
+.table-row-cell {
+ border-style: solid;
+ border-width: 1px;
+ vertical-align: middle;
+ padding: 6px 0 6px 0;
+ margin: 6px 0 6px 0;
+}
+
+.table-row-left {
+ width: 25%;
+ border: none;
+}
+
+.table-row-right {
+ width: 75%;
+ border: 1px solid black;
+ padding-left: 5px;
+}
+
+.last-row-first-column {
+ width: 25%;
+ border: none;
+}
+
+.last-row-second-column {
+ width: 30%;
+ border: 1px solid black;
+ padding-left: 5px;
+}
+
+.last-row-third-column {
+ width: 15%;
+ border: none;
+ text-align: center;
+}
+
+.last-row-fourth-column {
+ width: 30%;
+ border: 1px solid black;
+ padding-left: 5px;
+}
+
+.right-align {
+ text-align: right;
+ display: block;
+}
\ No newline at end of file
diff --git a/src/main/resources/assets/stylesheets/cvs-version-1.hbs b/src/main/resources/assets/stylesheets/cvs-version-1.hbs
index 9affbbd1..d3bb6e6c 100644
--- a/src/main/resources/assets/stylesheets/cvs-version-1.hbs
+++ b/src/main/resources/assets/stylesheets/cvs-version-1.hbs
@@ -285,8 +285,8 @@ font-weight: 700
.results__wrapper {
border-left: 10pt solid #9e9e9e;
-padding: 8.5pt 0 8.5pt 20pt;
-margin-bottom: 11pt
+padding: 8.5pt 0 0 20pt;
+margin-bottom: 0
}
.results--welsh .results__wrapper {
@@ -387,6 +387,40 @@ display: none
display: block
}
+.recalls {
+margin-top: 15pt;
+padding-top: 0pt;
+margin-bottom: 15pt;
+display: inline-block;
+}
+
+.recalls__icon {
+padding: 5pt 15pt 0pt 0pt;
+float: left;
+}
+
+.recalls__icon-img {
+height: 22pt;
+}
+
+.recalls__content {
+padding-left: 5pt;
+display: inline-block;
+}
+
+.recalls__content-header {
+padding-bottom: 5pt;
+margin-bottom: 0pt;
+font-size: 1.5em;
+font-family: nta-bold;
+font-weight: 700;
+}
+
+.recalls__content-text {
+padding-top: 1pt;
+margin-top: 0pt;
+}
+
.test-information__two-columns {
display: table
}
@@ -534,7 +568,7 @@ margin-bottom: 11pt
.seat-belt-information__two-columns-two {
width: 50%;
display: table-cell;
-vertical-align: top;
+vertical-align: bottom;
text-align: left
}
diff --git a/src/main/resources/assets/stylesheets/iva-msva-30.hbs b/src/main/resources/assets/stylesheets/iva-msva-30.hbs
index 3428c108..ac40fe33 100644
--- a/src/main/resources/assets/stylesheets/iva-msva-30.hbs
+++ b/src/main/resources/assets/stylesheets/iva-msva-30.hbs
@@ -141,14 +141,6 @@ text-align: center-left;
width:100%;
}
-.separate-page{
-page-break-after: always;
-}
-
-#back-page{
-page-break-after: avoid;
-}
-
.section-border {
border-style: solid;
border-color: black;
@@ -167,6 +159,10 @@ margin-left: -1px;
width: 100.3%;
}
+#defect-section {
+page-break-inside: auto;
+}
+
#cert-subtitle{
margin-top: 0px;
font-size: 85%;
@@ -228,6 +224,11 @@ text-transform:uppercase;
list-style-type: none;
}
+.required-standard-list-item {
+page-break-inside: avoid;
+margin-bottom: 20px;
+}
+
.required-standard-section {
text-transform:uppercase;
}
diff --git a/src/main/resources/views/CommercialVehicles/ADR_PASS.hbs b/src/main/resources/views/CommercialVehicles/ADR_PASS.hbs
index 2f27e0b5..f53fd235 100644
--- a/src/main/resources/views/CommercialVehicles/ADR_PASS.hbs
+++ b/src/main/resources/views/CommercialVehicles/ADR_PASS.hbs
@@ -21,11 +21,16 @@
{{#if adrData.isApplicantDetailsNull}}
{{else}}
-
{{#if adrData.applicantDetails.name}}{{adrData.applicantDetails.name}}{{/if}}
-{{#if adrData.applicantDetails.address1}}{{adrData.applicantDetails.address1}}, {{/if}} - {{#if adrData.applicantDetails.address2}}{{adrData.applicantDetails.address2}}, {{/if}} - {{#if adrData.applicantDetails.city}}{{adrData.applicantDetails.city}}, {{/if}} - {{#if adrData.applicantDetails.postCode}}{{adrData.applicantDetails.postCode}}{{/if}}
+{{#if adrData.applicantDetails.name}} + {{adrData.applicantDetails.name}}{{/if}}
+{{#if adrData.applicantDetails.address1}} + {{adrData.applicantDetails.address1}}, {{/if}} + {{#if adrData.applicantDetails.postTown}} + {{adrData.applicantDetails.postTown}}, {{/if}} + {{#if adrData.applicantDetails.address2}} + {{adrData.applicantDetails.address2}}, {{/if}} + {{#if adrData.applicantDetails.postCode}} + {{adrData.applicantDetails.postCode}}{{/if}}
{{/if}}Signature: | +
+ |
+ ||
Print Name: | +{{data.issuersName}} | +||
Location: | +{{data.testStationName}} | +||
Location Number: | +{{data.testStationPNumber}} | +Date: | +{{data.dateOfTheTest}} | +
{{this.sectionNumber}} - {{this.sectionDescription}}
RS{{this.rsNumber}}: {{this.requiredStandard}}
+RS{{this.rsNumber}}: {{this.requiredStandard}} {{#if this.prs}} (PRS) {{/if}}
{{#if this.additionalNotes}} Additional Information: {{this.additionalNotes}} {{/if}} @@ -97,55 +96,55 @@ {{/if}}I hereby refuse an Individual Approval Certificate in respect of the above described vehicle on the + grounds that the vehicle fails to comply with the relevant requirements prescribed under The Road Vehicles + (Approval) Regulations 2020
-I hereby refuse an Individual Approval Certificate in respect of the above described vehicle on the - grounds that the vehicle fails to comply with the relevant requirements prescribed under The Road Vehicles - (Approval) Regulations 2020
- - -
-
- Signed:
-
-
-
- |
- Reapplication required by: {{ivaData.reapplicationDate}} | -
Date: {{ivaData.date}} | -|
Name: {{ivaData.testerName}} | -Station: {{ivaData.station}} | -
The following additional defects may result in the vehicle not complying with the requirements - of The Road Vehicles (Construction and Use) Regulations 1986. (See notes overleaf) - {{#if ivaData.additionalDefects}} -
|
-
+
+ Signed:
+
+
+
+ |
+ Reapplication required by: {{ivaData.reapplicationDate}} | +
Date: {{ivaData.date}} | +|
Name: {{ivaData.testerName}} | +Station: {{ivaData.station}} | +
The following additional defects may result in the vehicle not complying with the requirements + of The Road Vehicles (Construction and Use) Regulations 1986. (See notes overleaf) + {{#if ivaData.additionalDefects}} +
|
+
This notification indicates the items of non-compliance being the reason(s) why an Individual Approval Certificate (IAC) has not been issued. An application - for re-examination can be made up to 6 calendar months following the issue date + for re-examination must be made no later than 6 months following the issue date of the first "Notification of Refusal" in respect of the original application. In any other case, a new application and a full fee must be submitted.
When modification/rectification has been completed, or additional evidence of @@ -271,6 +266,5 @@ test as this may affect the outcome of the appeal.