diff --git a/.gitignore b/.gitignore index 0728b6b..162019c 100644 --- a/.gitignore +++ b/.gitignore @@ -92,7 +92,8 @@ local.properties # Uncomment this line if you wish to ignore the project description file. # Typically, this file would be tracked if it contains build/dependency configurations: -#.project +.project +.classpath ### Eclipse Patch ### # Spring Boot Tooling @@ -220,3 +221,7 @@ buildNumber.properties .history # End of https://www.toptal.com/developers/gitignore/api/maven,eclipse,angular,intellij,visualstudiocode + +model/src/main/db/templateDB.lck +model/src/main/db/templateDB.log +model/src/main/db/templateDB.properties \ No newline at end of file diff --git a/Ontimize Boot Training.postman_collection.json b/Ontimize Boot Training.postman_collection.json new file mode 100644 index 0000000..9de46d5 --- /dev/null +++ b/Ontimize Boot Training.postman_collection.json @@ -0,0 +1,1829 @@ +{ + "info": { + "_postman_id": "aa064168-a723-4551-a42a-26f4c0063ca4", + "name": "Ontimize Boot Training", + "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" + }, + "item": [ + { + "name": "Candidates", + "item": [ + { + "name": "candidate -C", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"PHONE\": \"555-444-8888\",\n \"BIRTHDAY\": 788224700000,\n \"SURNAME\": \"Wilson\",\n \"EMAIL\": \"wwiilsoon@example.org\",\n \"SPECIALTIES\": \"C#\",\n \"NAME\": \"William\",\n \"DNI\": \"88643946Z\"\n },\n \"sqltypes\": {\n \"SPECIALTIES\": 12,\n \"LINKEDIN\": 12,\n \"PHONE\": 12,\n \"EXPERIENCE_LEVEL\": 4,\n \"STATUS\": 4,\n \"EMAIL\": 12,\n \"WAGE_LEVEL\": 2,\n \"DNI\": 12,\n \"ID\": 4,\n \"ORIGIN\": 4,\n \"EDUCATION\": 4,\n \"COMMENT\": 12,\n \"PROFILE\": 4,\n \"SURNAME\": 12,\n \"NAME\": 12,\n \"BIRTHDAY\": 91\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/candidates/candidate", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "candidates", + "candidate" + ] + } + }, + "response": [] + }, + { + "name": "candidate -C Non Related", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"PHONE\": \"555-444-8888\",\n \"BIRTHDAY\": 788224700000,\n \"SURNAME\": \"Wilson\",\n \"EMAIL\": \"wwiilsoon@example.org\",\n \"SPECIALTIES\": \"C#\",\n \"NAME\": \"William\",\n \"DNI\": \"88643946Z\",\n \"EDUCATION\": 1,\n \"EXPERIENCE_LEVEL\": 1,\n \"ORIGIN\": \"Event\",\n \"PROFILE\": \"Administrator\",\n \"STATUS\": 1\n },\n \"sqltypes\": {\n \"SPECIALTIES\": 12,\n \"LINKEDIN\": 12,\n \"PHONE\": 12,\n \"EMAIL\": 12,\n \"WAGE_LEVEL\": 2,\n \"DNI\": 12,\n \"ID\": 4,\n \"COMMENT\": 12,\n \"SURNAME\": 12,\n \"NAME\": 12,\n \"BIRTHDAY\": 91\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/candidates/candidate", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "candidates", + "candidate" + ] + } + }, + "response": [] + }, + { + "name": "candidate -R", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:33333/candidates/candidate?columns=ID,NAME,SURNAME,BIRTHDAY,DNI,PHONE,EMAIL,EDUCATION,SPECIALTIES,STATUS,ORIGIN,WAGE_LEVEL,EXPERIENCE_LEVEL,PROFILE,COMMENT,LINKEDIN", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "candidates", + "candidate" + ], + "query": [ + { + "key": "columns", + "value": "ID,NAME,SURNAME,BIRTHDAY,DNI,PHONE,EMAIL,EDUCATION,SPECIALTIES,STATUS,ORIGIN,WAGE_LEVEL,EXPERIENCE_LEVEL,PROFILE,COMMENT,LINKEDIN" + } + ] + } + }, + "response": [] + }, + { + "name": "candidate -R (complex)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \t\"ID\": 0\n },\n \"columns\": [\n \"ID\",\n \"NAME\",\n \"SURNAME\",\n \"BIRTHDAY\",\n \"DNI\",\n \"PHONE\",\n \"EMAIL\",\n \"EDUCATION\",\n \"SPECIALTIES\",\n \"STATUS\",\n \"ORIGIN\",\n \"WAGE_LEVEL\",\n \"EXPERIENCE_LEVEL\",\n \"PROFILE\",\n \"COMMENT\",\n \"LINKEDIN\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/candidates/candidate/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "candidates", + "candidate", + "search" + ] + } + }, + "response": [] + }, + { + "name": "candidate -U", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\" :{\n\t\t\"ID\" :16\n\t},\n \"data\": {\n \"EMAIL\": \"wwilson@example.org\",\n \"PROFILE\": \"Tester\"\n },\n \"sqltypes\": {\n \"SPECIALTIES\": 12,\n \"LINKEDIN\": 12,\n \"PHONE\": 12,\n \"EMAIL\": 12,\n \"WAGE_LEVEL\": 2,\n \"DNI\": 12,\n \"ID\": 4,\n \"COMMENT\": 12,\n \"SURNAME\": 12,\n \"NAME\": 12,\n \"BIRTHDAY\": 91\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/candidates/candidate", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "candidates", + "candidate" + ] + } + }, + "response": [] + }, + { + "name": "candidate -D", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\" :{\n\t\t\"ID\" :15\n\t}\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/candidates/candidate", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "candidates", + "candidate" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Masters", + "item": [ + { + "name": "Education", + "item": [ + { + "name": "education -C", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"DESCRIPTION\": \"Degree in TSE\"\n },\n \"sqltypes\": {\n \"DESCRIPTION\": 12\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/education", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "education" + ] + } + }, + "response": [] + }, + { + "name": "education -R", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:33333/master/education?columns=ID,DESCRIPTION", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "education" + ], + "query": [ + { + "key": "columns", + "value": "ID,DESCRIPTION" + } + ] + } + }, + "response": [] + }, + { + "name": "education -R (complex)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n\t\t\"ID\": 0\n\t},\n\t\"columns\": [\"DESCRIPTION\"]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/education/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "education", + "search" + ] + } + }, + "response": [] + }, + { + "name": "education -U", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\":{\n \t\"ID\":\t1\n },\n \"data\": {\n \"DESCRIPTION\": \"Degree in Telecommunications Systems Engineering\"\n },\n \"sqltypes\": {\n \"DESCRIPTION\": 12\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/education", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "education" + ] + } + }, + "response": [] + }, + { + "name": "education -D", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\":{\n \t\"ID\":\t1\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/education", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "education" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + }, + { + "name": "Experience Level", + "item": [ + { + "name": "experienceLevel -C", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"DESCRIPTION\": \"Experienced\"\n },\n \"sqltypes\": {\n \"DESCRIPTION\": 12\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/experienceLevel", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "experienceLevel" + ] + } + }, + "response": [] + }, + { + "name": "experienceLevel -R", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:33333/master/experienceLevel?columns=ID,DESCRIPTION", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "experienceLevel" + ], + "query": [ + { + "key": "columns", + "value": "ID,DESCRIPTION" + } + ] + } + }, + "response": [] + }, + { + "name": "experienceLevel -R (complex)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n\t\t\"ID\": 0\n\t},\n\t\"columns\": [\"DESCRIPTION\"]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/experienceLevel/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "experienceLevel", + "search" + ] + } + }, + "response": [] + }, + { + "name": "experienceLevel -U", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \"ID\": 1\n },\n \"data\": {\n \"DESCRIPTION\": \"Senior\"\n },\n \"sqltypes\": {\n \"DESCRIPTION\": 12\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/experienceLevel", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "experienceLevel" + ] + } + }, + "response": [] + }, + { + "name": "experienceLevel -D", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\":{\n \t\"ID\":\t1\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/experienceLevel", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "experienceLevel" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + }, + { + "name": "Origin", + "item": [ + { + "name": "origin -C", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"DESCRIPTION\": \"Web\"\n },\n \"sqltypes\": {\n \"DESCRIPTION\": 12\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/origin", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "origin" + ] + } + }, + "response": [] + }, + { + "name": "origin -R", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:33333/master/origin?columns=ID,DESCRIPTION", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "origin" + ], + "query": [ + { + "key": "columns", + "value": "ID,DESCRIPTION" + } + ] + } + }, + "response": [] + }, + { + "name": "origin -R (complex)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n\t\t\"ID\": 0\n\t},\n\t\"columns\": [\"DESCRIPTION\"]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/origin/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "origin", + "search" + ] + } + }, + "response": [] + }, + { + "name": "origin -U", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \"ID\": 1\n },\n \"data\": {\n \"DESCRIPTION\": \"LinkedIn\"\n },\n \"sqltypes\": {\n \"DESCRIPTION\": 12\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/origin", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "origin" + ] + } + }, + "response": [] + }, + { + "name": "origin -D", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\":{\n \t\"ID\":\t1\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/origin", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "origin" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + }, + { + "name": "Profile", + "item": [ + { + "name": "profile -C", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"DESCRIPTION\": \"HR\"\n },\n \"sqltypes\": {\n \"DESCRIPTION\": 12\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/profile", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "profile" + ] + } + }, + "response": [] + }, + { + "name": "profile -R", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:33333/master/profile?columns=ID,DESCRIPTION", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "profile" + ], + "query": [ + { + "key": "columns", + "value": "ID,DESCRIPTION" + } + ] + } + }, + "response": [] + }, + { + "name": "profile -R (complex)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n\t\t\"ID\": 0\n\t},\n\t\"columns\": [\"DESCRIPTION\"]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/profile/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "profile", + "search" + ] + } + }, + "response": [] + }, + { + "name": "profile -U", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \"ID\": 1\n },\n \"data\": {\n \"DESCRIPTION\": \"Human Resources\"\n },\n \"sqltypes\": {\n \"DESCRIPTION\": 12\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/profile", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "profile" + ] + } + }, + "response": [] + }, + { + "name": "profile -D", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\":{\n \t\"ID\":\t1\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/profile", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "profile" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + }, + { + "name": "Status", + "item": [ + { + "name": "status -C", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"DESCRIPTION\": \"No Available\"\n },\n \"sqltypes\": {\n \"DESCRIPTION\": 12\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/status", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "status" + ] + } + }, + "response": [] + }, + { + "name": "status -R", + "request": { + "method": "GET", + "header": [], + "url": { + "raw": "http://localhost:33333/master/status?columns=ID,DESCRIPTION", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "status" + ], + "query": [ + { + "key": "columns", + "value": "ID,DESCRIPTION" + } + ] + } + }, + "response": [] + }, + { + "name": "status -R (complex)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n\t\t\"ID\": 0\n\t},\n\t\"columns\": [\"DESCRIPTION\"]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/status/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "status", + "search" + ] + } + }, + "response": [] + }, + { + "name": "status -U", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \"ID\": 1\n },\n \"data\": {\n \"DESCRIPTION\": \"Unavailable\"\n },\n \"sqltypes\": {\n \"DESCRIPTION\": 12\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/status", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "status" + ] + } + }, + "response": [] + }, + { + "name": "status -D", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\":{\n \t\"ID\":\t1\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/master/status", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "master", + "status" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + } + ], + "protocolProfileBehavior": {} + }, + { + "name": "Offers", + "item": [ + { + "name": "Offer", + "item": [ + { + "name": "offer -C", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n\t\t\"ACRONYM\": \"Istari support\", \n\t\t\"DESCRIPTION\": \"Will provide administrative and logistical support to members of the executive team and may support other as needed. Must display professionalism and a strong work ethic while fostering a work environment that is positive, optimistic and collaborative. Position requires excellent administrative, communication, organizational and time management skills paired with flexibility, integrity and the ability to work independently. Must have Balrog fighting proficiency.\",\n\t\t\"APPLICANT\": \"Eru Iúvatar\",\n\t\t\"OFFER_STATUS\": 0,\n\t\t\"CREATION_DATE\": 1589148000000,\n\t\t\"START_DATE\": 1598911200000,\n\t\t\"END_DATE\": 1609369200000\n },\n \"sqltypes\": {\n \"END_DATE\": 91,\n \"CREATION_DATE\": 91,\n \"START_DATE\": 91\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offer", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offer" + ] + } + }, + "response": [] + }, + { + "name": "offer -R", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"PHONE\": \"555-444-8888\",\n \"BIRTHDAY\": 788224700000,\n \"SURNAME\": \"Wilson\",\n \"EMAIL\": \"wwiilsoon@example.org\",\n \"SPECIALTIES\": \"C#\",\n \"NAME\": \"William\",\n \"DNI\": \"88643946Z\"\n },\n \"sqltypes\": {\n \"SPECIALTIES\": 12,\n \"LINKEDIN\": 12,\n \"PHONE\": 12,\n \"EXPERIENCE_LEVEL\": 4,\n \"STATUS\": 4,\n \"EMAIL\": 12,\n \"WAGE_LEVEL\": 2,\n \"DNI\": 12,\n \"ID\": 4,\n \"ORIGIN\": 4,\n \"EDUCATION\": 4,\n \"COMMENT\": 12,\n \"PROFILE\": 4,\n \"SURNAME\": 12,\n \"NAME\": 12,\n \"BIRTHDAY\": 91\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offer?columns=ID,ACRONYM,DESCRIPTION,APPLICANT,OFFER_STATUS,CREATION_DATE,START_DATE,END_DATE", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offer" + ], + "query": [ + { + "key": "columns", + "value": "ID,ACRONYM,DESCRIPTION,APPLICANT,OFFER_STATUS,CREATION_DATE,START_DATE,END_DATE" + } + ] + } + }, + "response": [] + }, + { + "name": "offer -R (Complex)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \t\"ID\": 0\n },\n \"columns\": [\"ID\",\"DESCRIPTION\",\"OFFER_STATUS\",\"END_DATE\",\"APPLICANT\",\"ACRONYM\",\"CREATION_DATE\",\"START_DATE\"]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offer/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offer", + "search" + ] + } + }, + "response": [] + }, + { + "name": "offer -R (Basic Expression)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \"@basic_expression\": {\n \"lop\": \"START_DATE\",\n \"op\": \">=\",\n \"rop\": \"2020-01-15\"\n }\n },\n \"columns\": [\n \"ID\",\n \"DESCRIPTION\",\n \"OFFER_STATUS\",\n \"END_DATE\",\n \"APPLICANT\",\n \"ACRONYM\",\n \"CREATION_DATE\",\n \"START_DATE\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offer/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offer", + "search" + ] + } + }, + "response": [] + }, + { + "name": "offer -R (Complex Basic Expression)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \"@basic_expression\": {\n \"lop\": {\n \"lop\": \"START_DATE\",\n \"op\": \">=\",\n \"rop\": \"2019-06-01\"\n },\n \"op\": \"AND\",\n \"rop\": {\n \"lop\": \"START_DATE\",\n \"op\": \"<\",\n \"rop\": \"2020-01-01\"\n }\n }\n },\n \"columns\": [\n \"ID\",\n \"DESCRIPTION\",\n \"OFFER_STATUS\",\n \"END_DATE\",\n \"APPLICANT\",\n \"ACRONYM\",\n \"CREATION_DATE\",\n \"START_DATE\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offer/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offer", + "search" + ] + } + }, + "response": [] + }, + { + "name": "offer -R (REST Basic Expression - Current)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"columns\": [\n \"ID\",\n \"DESCRIPTION\",\n \"OFFER_STATUS\",\n \"END_DATE\",\n \"APPLICANT\",\n \"ACRONYM\",\n \"CREATION_DATE\",\n \"START_DATE\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/currentOffers/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "currentOffers", + "search" + ] + } + }, + "response": [] + }, + { + "name": "offer -R (REST Basic Expression - FilterYear)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \"YEAR\": 2019\n },\n \"columns\": [\n \"ID\",\n \"DESCRIPTION\",\n \"OFFER_STATUS\",\n \"END_DATE\",\n \"APPLICANT\",\n \"ACRONYM\",\n \"CREATION_DATE\",\n \"START_DATE\"\n ]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/yearOffers/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "yearOffers", + "search" + ] + } + }, + "response": [] + }, + { + "name": "offer -U", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n \t\"ID\": 1\n },\n \"data\": {\n \t\"APPLICANT\": \"Rosaline Maddocks\",\n \t\"DESCRIPTION\": \"Will provide administrative and logistical support to members of the executive team and may support other as needed. Must display professionalism and a strong work ethic while fostering a work environment that is positive, optimistic and collaborative. Position requires excellent administrative, communication, organizational and time management skills paired with flexibility, integrity and the ability to work independently.\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offer", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offer" + ] + } + }, + "response": [] + }, + { + "name": "offer -D", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n \t\"ID\": 1\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offer", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offer" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + }, + { + "name": "Offer Status", + "item": [ + { + "name": "offer status -C", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \t\"DESCRIPTION\": \"STARTED\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerStatus", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerStatus" + ] + } + }, + "response": [] + }, + { + "name": "offer status-R", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"PHONE\": \"555-444-8888\",\n \"BIRTHDAY\": 788224700000,\n \"SURNAME\": \"Wilson\",\n \"EMAIL\": \"wwiilsoon@example.org\",\n \"SPECIALTIES\": \"C#\",\n \"NAME\": \"William\",\n \"DNI\": \"88643946Z\"\n },\n \"sqltypes\": {\n \"SPECIALTIES\": 12,\n \"LINKEDIN\": 12,\n \"PHONE\": 12,\n \"EXPERIENCE_LEVEL\": 4,\n \"STATUS\": 4,\n \"EMAIL\": 12,\n \"WAGE_LEVEL\": 2,\n \"DNI\": 12,\n \"ID\": 4,\n \"ORIGIN\": 4,\n \"EDUCATION\": 4,\n \"COMMENT\": 12,\n \"PROFILE\": 4,\n \"SURNAME\": 12,\n \"NAME\": 12,\n \"BIRTHDAY\": 91\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerStatus?columns=ID,DESCRIPTION", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerStatus" + ], + "query": [ + { + "key": "columns", + "value": "ID,DESCRIPTION" + } + ] + } + }, + "response": [] + }, + { + "name": "offer status -R (Complex)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \t\"ID\": 0\n },\n \"columns\": [\"ID\", \"DESCRIPTION\"]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerStatus/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerStatus", + "search" + ] + } + }, + "response": [] + }, + { + "name": "offer status -U", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n \t\"ID\": 1\n },\n \"data\": {\n \t\"DESCRIPTION\": \"Started\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerStatus", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerStatus" + ] + } + }, + "response": [] + }, + { + "name": "offer status -D", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n \t\"ID\": 1\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerStatus", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerStatus" + ] + } + }, + "response": [] + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + }, + { + "name": "Offer Candidate", + "item": [ + { + "name": "offer candidate -C", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"OFFER_ID\": 0,\n \"CANDIDATE_ID\": 1,\n \"OFFER_CANDIDATE_STATUS\": 0\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidate", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidate" + ] + } + }, + "response": [] + }, + { + "name": "offer candidate -R", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"PHONE\": \"555-444-8888\",\n \"BIRTHDAY\": 788224700000,\n \"SURNAME\": \"Wilson\",\n \"EMAIL\": \"wwiilsoon@example.org\",\n \"SPECIALTIES\": \"C#\",\n \"NAME\": \"William\",\n \"DNI\": \"88643946Z\"\n },\n \"sqltypes\": {\n \"SPECIALTIES\": 12,\n \"LINKEDIN\": 12,\n \"PHONE\": 12,\n \"EXPERIENCE_LEVEL\": 4,\n \"STATUS\": 4,\n \"EMAIL\": 12,\n \"WAGE_LEVEL\": 2,\n \"DNI\": 12,\n \"ID\": 4,\n \"ORIGIN\": 4,\n \"EDUCATION\": 4,\n \"COMMENT\": 12,\n \"PROFILE\": 4,\n \"SURNAME\": 12,\n \"NAME\": 12,\n \"BIRTHDAY\": 91\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidate?columns=ID,OFFER_ID,CANDIDATE_ID,OFFER_CANDIDATE_STATUS", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidate" + ], + "query": [ + { + "key": "columns", + "value": "ID,OFFER_ID,CANDIDATE_ID,OFFER_CANDIDATE_STATUS" + } + ] + } + }, + "response": [] + }, + { + "name": "offer candidate -R (Complex)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \t\"ID\": 0\n },\n \"columns\": [\"ID\",\"OFFER_ID\",\"CANDIDATE_ID\",\"OFFER_CANDIDATE_STATUS\"]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidate/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidate", + "search" + ] + } + }, + "response": [] + }, + { + "name": "offer candidate -R (Details)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \t\"ID\": 0\n },\n \"columns\": [\"ID\",\"DESCRIPTION\",\"OFFER_STATUS\",\"END_DATE\",\"APPLICANT\",\"ACRONYM\",\"CREATION_DATE\",\"START_DATE\",\"NAME\",\"SURNAME\"]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidateDetails/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidateDetails", + "search" + ] + } + }, + "response": [] + }, + { + "name": "offer candidate -U", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n \t\"ID\": 4\n },\n \"data\": {\n \t\"OFFER_ID\": 0,\n \"CANDIDATE_ID\": 2,\n \"OFFER_CANDIDATE_STATUS\": 0\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidate", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidate" + ] + } + }, + "response": [] + }, + { + "name": "offer candidate -D", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n \t\"ID\": 4\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidate", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidate" + ] + } + }, + "response": [] + } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "id": "11ecf888-72e5-4228-b9f5-1c2fc78b6a94", + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "id": "502d90b1-22e9-4426-8b62-9a37f7cfcda7", + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + }, + { + "name": "Offer Candidate Status", + "item": [ + { + "name": "offer candidate status -C", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \t\"DESCRIPTION\": \"PENDING CV\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidateStatus", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidateStatus" + ] + } + }, + "response": [] + }, + { + "name": "offer candidate status-R", + "protocolProfileBehavior": { + "disableBodyPruning": true + }, + "request": { + "method": "GET", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"data\": {\n \"PHONE\": \"555-444-8888\",\n \"BIRTHDAY\": 788224700000,\n \"SURNAME\": \"Wilson\",\n \"EMAIL\": \"wwiilsoon@example.org\",\n \"SPECIALTIES\": \"C#\",\n \"NAME\": \"William\",\n \"DNI\": \"88643946Z\"\n },\n \"sqltypes\": {\n \"SPECIALTIES\": 12,\n \"LINKEDIN\": 12,\n \"PHONE\": 12,\n \"EXPERIENCE_LEVEL\": 4,\n \"STATUS\": 4,\n \"EMAIL\": 12,\n \"WAGE_LEVEL\": 2,\n \"DNI\": 12,\n \"ID\": 4,\n \"ORIGIN\": 4,\n \"EDUCATION\": 4,\n \"COMMENT\": 12,\n \"PROFILE\": 4,\n \"SURNAME\": 12,\n \"NAME\": 12,\n \"BIRTHDAY\": 91\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidateStatus?columns=ID,DESCRIPTION", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidateStatus" + ], + "query": [ + { + "key": "columns", + "value": "ID,DESCRIPTION" + } + ] + } + }, + "response": [] + }, + { + "name": "offer candidate status -R (Complex)", + "request": { + "method": "POST", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n \"filter\": {\n \t\"ID\": 0\n },\n \"columns\": [\"ID\", \"DESCRIPTION\"]\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidateStatus/search", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidateStatus", + "search" + ] + } + }, + "response": [] + }, + { + "name": "offer candidate status -U", + "request": { + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n \t\"ID\": 1\n },\n \"data\": {\n \t\"DESCRIPTION\": \"Pending CV\"\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidateStatus", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidateStatus" + ] + } + }, + "response": [] + }, + { + "name": "offer candidate status -D", + "request": { + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "{\n\t\"filter\": {\n \t\"ID\": 1\n }\n}", + "options": { + "raw": { + "language": "json" + } + } + }, + "url": { + "raw": "http://localhost:33333/offers/offerCandidateStatus", + "protocol": "http", + "host": [ + "localhost" + ], + "port": "33333", + "path": [ + "offers", + "offerCandidateStatus" + ] + } + }, + "response": [] + } + ], + "event": [ + { + "listen": "prerequest", + "script": { + "id": "d8f708c5-b635-4a34-a905-0fbfde0ce49e", + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "id": "cdd0f9d4-0cc5-412b-9571-83e52211fe5f", + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], + "protocolProfileBehavior": {}, + "_postman_isSubFolder": true + } + ], + "protocolProfileBehavior": {} + } + ], + "auth": { + "type": "basic", + "basic": [ + { + "key": "password", + "value": "demouser", + "type": "string" + }, + { + "key": "username", + "value": "demo", + "type": "string" + } + ] + }, + "event": [ + { + "listen": "prerequest", + "script": { + "id": "523e4020-c1e5-458c-9538-b5bb6f0784ff", + "type": "text/javascript", + "exec": [ + "" + ] + } + }, + { + "listen": "test", + "script": { + "id": "978f2bf4-7ab1-4f60-9cbb-c4a2de0ea2c1", + "type": "text/javascript", + "exec": [ + "" + ] + } + } + ], + "protocolProfileBehavior": {} +} \ No newline at end of file diff --git a/api/src/main/java/com/ontimize/api/core/service/ICandidateService.java b/api/src/main/java/com/ontimize/api/core/service/ICandidateService.java new file mode 100644 index 0000000..228a4f6 --- /dev/null +++ b/api/src/main/java/com/ontimize/api/core/service/ICandidateService.java @@ -0,0 +1,17 @@ +package com.ontimize.api.core.service; + +import java.util.List; +import java.util.Map; + +import com.ontimize.db.EntityResult; +import com.ontimize.jee.common.exceptions.OntimizeJEERuntimeException; + +public interface ICandidateService { + + // CANDIDATE + public EntityResult candidateQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult candidateInsert(Map attrMap) throws OntimizeJEERuntimeException; + public EntityResult candidateUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; + public EntityResult candidateDelete(Map keyMap) throws OntimizeJEERuntimeException; + +} \ No newline at end of file diff --git a/api/src/main/java/com/ontimize/api/core/service/IMasterService.java b/api/src/main/java/com/ontimize/api/core/service/IMasterService.java new file mode 100644 index 0000000..5c99414 --- /dev/null +++ b/api/src/main/java/com/ontimize/api/core/service/IMasterService.java @@ -0,0 +1,40 @@ +package com.ontimize.api.core.service; + +import java.util.List; +import java.util.Map; + +import com.ontimize.db.EntityResult; +import com.ontimize.jee.common.exceptions.OntimizeJEERuntimeException; + +public interface IMasterService { + + // EDUCATION + public EntityResult educationQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult educationInsert(Map attrMap) throws OntimizeJEERuntimeException; + public EntityResult educationUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; + public EntityResult educationDelete(Map keyMap) throws OntimizeJEERuntimeException; + + // EXPERIENCE_LEVEL + public EntityResult experienceLevelQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult experienceLevelInsert(Map attrMap) throws OntimizeJEERuntimeException; + public EntityResult experienceLevelUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; + public EntityResult experienceLevelDelete(Map keyMap) throws OntimizeJEERuntimeException; + + // ORIGIN + public EntityResult originQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult originInsert(Map attrMap) throws OntimizeJEERuntimeException; + public EntityResult originUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; + public EntityResult originDelete(Map keyMap) throws OntimizeJEERuntimeException; + + // PROFILE + public EntityResult profileQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult profileInsert(Map attrMap) throws OntimizeJEERuntimeException; + public EntityResult profileUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; + public EntityResult profileDelete(Map keyMap) throws OntimizeJEERuntimeException; + + // STATUS + public EntityResult statusQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult statusInsert(Map attrMap) throws OntimizeJEERuntimeException; + public EntityResult statusUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; + public EntityResult statusDelete(Map keyMap) throws OntimizeJEERuntimeException; +} \ No newline at end of file diff --git a/api/src/main/java/com/ontimize/api/core/service/IOfferService.java b/api/src/main/java/com/ontimize/api/core/service/IOfferService.java new file mode 100644 index 0000000..cd10e54 --- /dev/null +++ b/api/src/main/java/com/ontimize/api/core/service/IOfferService.java @@ -0,0 +1,35 @@ +package com.ontimize.api.core.service; + +import java.util.List; +import java.util.Map; + +import com.ontimize.db.EntityResult; +import com.ontimize.jee.common.exceptions.OntimizeJEERuntimeException; + +public interface IOfferService { + + // OFFER + public EntityResult offerQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult offerInsert(Map attrMap) throws OntimizeJEERuntimeException; + public EntityResult offerUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; + public EntityResult offerDelete(Map keyMap) throws OntimizeJEERuntimeException; + + // OFFER STATUS + public EntityResult offerStatusQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult offerStatusInsert(Map attrMap) throws OntimizeJEERuntimeException; + public EntityResult offerStatusUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; + public EntityResult offerStatusDelete(Map keyMap) throws OntimizeJEERuntimeException; + + // OFFER CANDIDATES + public EntityResult offerCandidateQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult offerCandidateDetailsQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult offerCandidateInsert(Map attrMap) throws OntimizeJEERuntimeException; + public EntityResult offerCandidateUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; + public EntityResult offerCandidateDelete(Map keyMap) throws OntimizeJEERuntimeException; + + // OFFER CANDIDATES STATUS + public EntityResult offerCandidateStatusQuery(Map keyMap, List attrList) throws OntimizeJEERuntimeException; + public EntityResult offerCandidateStatusInsert(Map attrMap) throws OntimizeJEERuntimeException; + public EntityResult offerCandidateStatusUpdate(Map attrMap, Map keyMap) throws OntimizeJEERuntimeException; + public EntityResult offerCandidateStatusDelete(Map keyMap) throws OntimizeJEERuntimeException; +} \ No newline at end of file diff --git a/boot/src/main/java/com/ontimize/boot/core/ServerApplication.java b/boot/src/main/java/com/ontimize/boot/core/ServerApplication.java index 3973efa..3db59e1 100644 --- a/boot/src/main/java/com/ontimize/boot/core/ServerApplication.java +++ b/boot/src/main/java/com/ontimize/boot/core/ServerApplication.java @@ -4,10 +4,12 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.EnableAspectJAutoProxy; @SpringBootApplication @ComponentScan(basePackages = {"com.ontimize.model.core","com.ontimize.ws.core"}) +@EnableAspectJAutoProxy(proxyTargetClass = false) public class ServerApplication { public static void main(String[] args) { diff --git a/frontend/src/main/ngx/package-lock.json b/frontend/src/main/ngx/package-lock.json index 085eeba..d171fdd 100644 --- a/frontend/src/main/ngx/package-lock.json +++ b/frontend/src/main/ngx/package-lock.json @@ -82,6 +82,46 @@ "webpack-subresource-integrity": "1.3.4" }, "dependencies": { + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA==", + "dev": true + }, + "ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==", + "dev": true + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "copy-webpack-plugin": { "version": "4.5.2", "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.2.tgz", @@ -106,6 +146,129 @@ } } }, + "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": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "requires": { + "xregexp": "4.0.0" + } + }, + "default-gateway": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", + "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==", + "dev": true, + "requires": { + "execa": "^0.10.0", + "ip-regex": "^2.1.0" + } + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha512-7yjqSoVSlJzA4t/VUwazuEagGeANEKB3f/aNI//06pfKgwoCb7f6Q1gETN1sZzYaj6chTQ0AhIwDiPdfOjko4A==", + "dev": true, + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + } + } + } + } + }, + "eventsource": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.1.2.tgz", + "integrity": "sha512-xAH3zWhgO2/3KIniEKYPr8plNSzlGINOUqYj0m0u7AB81iRw8b/3E73W6AuU+6klLbaSFmZnaETQ2lXPfAydrA==", + "dev": true + }, + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true + }, "html-webpack-plugin": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", @@ -135,12 +298,180 @@ } } }, + "http-proxy-middleware": { + "version": "0.18.0", + "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", + "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "dev": true, + "requires": { + "http-proxy": "^1.16.2", + "is-glob": "^4.0.0", + "lodash": "^4.17.5", + "micromatch": "^3.1.9" + } + }, + "internal-ip": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", + "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==", + "dev": true, + "requires": { + "default-gateway": "^2.6.0", + "ipaddr.js": "^1.5.2" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "os-locale": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", + "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "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": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "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": { + "pump": "^3.0.0" + } + } + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + }, + "dependencies": { + "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": { + "p-try": "^2.0.0" + } + } + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "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 + }, "parse5": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", "dev": true }, + "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": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "rxjs": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.2.2.tgz", @@ -149,6 +480,160 @@ "requires": { "tslib": "1.9.3" } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + } + }, + "sockjs-client": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", + "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "dev": true, + "requires": { + "debug": "^3.2.5", + "eventsource": "^1.0.7", + "faye-websocket": "~0.11.1", + "inherits": "^2.0.3", + "json3": "^3.3.2", + "url-parse": "^1.4.3" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "webpack-dev-server": { + "version": "3.1.14", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz", + "integrity": "sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.0.0", + "compression": "^1.5.2", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "~0.18.0", + "import-local": "^2.0.0", + "internal-ip": "^3.0.1", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "schema-utils": "^1.0.0", + "selfsigned": "^1.9.1", + "semver": "^5.6.0", + "serve-index": "^1.7.2", + "sockjs": "0.3.19", + "sockjs-client": "1.3.0", + "spdy": "^4.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "3.4.0", + "webpack-log": "^2.0.0", + "yargs": "12.0.2" + }, + "dependencies": { + "webpack-dev-middleware": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz", + "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==", + "dev": true, + "requires": { + "memory-fs": "~0.4.1", + "mime": "^2.3.1", + "range-parser": "^1.0.3", + "webpack-log": "^2.0.0" + } + } + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "dev": true + }, + "yargs": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", + "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } } } }, @@ -632,12 +1117,28 @@ } } }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, "@types/jasmine": { "version": "2.5.38", "resolved": "http://registry.npmjs.org/@types/jasmine/-/jasmine-2.5.38.tgz", "integrity": "sha1-pDeRJMSSHU4h3lTsdGacnps1Zxc=", "dev": true }, + "@types/minimatch": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz", + "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==", + "dev": true + }, "@types/node": { "version": "6.0.118", "resolved": "https://registry.npmjs.org/@types/node/-/node-6.0.118.tgz", @@ -840,13 +1341,30 @@ "dev": true }, "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "requires": { - "mime-types": "2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + } } }, "acorn": { @@ -866,7 +1384,7 @@ }, "ajv": { "version": "6.4.0", - "resolved": "http://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.4.0.tgz", "integrity": "sha1-06/3jpJ3VJdx2vAWTP9ISCt1T8Y=", "dev": true, "requires": { @@ -906,10 +1424,10 @@ "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", "dev": true }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", "dev": true }, "ansi-regex": { @@ -1115,7 +1633,7 @@ }, "async": { "version": "1.5.2", - "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, @@ -1131,6 +1649,12 @@ "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", "dev": true }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -1197,7 +1721,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -1369,7 +1893,7 @@ "batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, "bcrypt-pbkdf": { @@ -1415,49 +1939,54 @@ "dev": true }, "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, "requires": { - "bytes": "3.1.0", - "content-type": "1.0.4", + "bytes": "3.1.2", + "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "1.1.2", - "http-errors": "1.7.2", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "1.6.18" + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } } } }, "bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "integrity": "sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==", "dev": true, "requires": { - "array-flatten": "2.1.2", - "deep-equal": "1.1.0", - "dns-equal": "1.0.0", - "dns-txt": "2.0.2", - "multicast-dns": "6.2.3", - "multicast-dns-service-types": "1.1.0" + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" } }, "boolbase": { @@ -1676,7 +2205,7 @@ "bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true }, "cacache": { @@ -1717,6 +2246,16 @@ "unset-value": "1.0.0" } }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", @@ -2055,12 +2594,20 @@ "dev": true }, "compressible": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz", - "integrity": "sha512-BGHeLCK1GV7j1bSmQQAi26X+GgWcTjLr/0tzSvMCl3LH1w1IJ4PFSPoV5316b30cneTziC+B1a+3OjoSUcQYmw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "requires": { - "mime-db": "1.40.0" + "mime-db": ">= 1.43.0 < 2" + }, + "dependencies": { + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + } } }, "compression": { @@ -2069,13 +2616,13 @@ "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, "requires": { - "accepts": "1.3.7", + "accepts": "~1.3.5", "bytes": "3.0.0", - "compressible": "2.0.17", + "compressible": "~2.0.16", "debug": "2.6.9", - "on-headers": "1.0.2", + "on-headers": "~1.0.2", "safe-buffer": "5.1.2", - "vary": "1.1.2" + "vary": "~1.1.2" } }, "compression-webpack-plugin": { @@ -2145,12 +2692,20 @@ "dev": true }, "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } } }, "content-type": { @@ -2169,15 +2724,15 @@ } }, "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true }, "cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, "copy-concurrently": { @@ -2462,17 +3017,17 @@ "dev": true }, "deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.0.tgz", - "integrity": "sha512-ZbfWJq/wN1Z273o7mUSjILYqehAktR2NVoSrOukDkU9kg2v/Uv89yU4Cvz8seJeAmtN5oqiefKq8FPuXOboqLw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "dev": true, "requires": { - "is-arguments": "1.0.4", - "is-date-object": "1.0.1", - "is-regex": "1.0.4", - "object-is": "1.0.1", - "object-keys": "1.1.1", - "regexp.prototype.flags": "1.2.0" + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" } }, "deep-is": { @@ -2482,13 +3037,13 @@ "dev": true }, "default-gateway": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-2.7.2.tgz", - "integrity": "sha512-lAc4i9QJR0YHSDFdzeBQKfZ1SRDG3hsJNEkrpcZa8QhBfidLAilT60BDEIVUUGqosFp425KOgB3uYqcnQrWafQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", "dev": true, "requires": { - "execa": "0.10.0", - "ip-regex": "2.1.0" + "execa": "^1.0.0", + "ip-regex": "^2.1.0" } }, "define-properties": { @@ -2542,39 +3097,55 @@ } }, "del": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", - "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", "dev": true, "requires": { - "globby": "6.1.0", - "is-path-cwd": "1.0.0", - "is-path-in-cwd": "1.0.1", - "p-map": "1.2.0", - "pify": "3.0.0", - "rimraf": "2.6.2" + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" }, "dependencies": { "globby": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", "dev": true, "requires": { - "array-union": "1.0.2", - "glob": "7.1.3", - "object-assign": "4.1.1", - "pify": "2.3.0", - "pinkie-promise": "2.0.1" + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "dependencies": { "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true } } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } } } }, @@ -2591,9 +3162,9 @@ "dev": true }, "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, "des.js": { @@ -2607,9 +3178,9 @@ } }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, "detect-indent": { @@ -2622,9 +3193,9 @@ } }, "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, "diff": { @@ -2657,26 +3228,26 @@ "dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", "dev": true }, "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", "dev": true, "requires": { - "ip": "1.1.5", - "safe-buffer": "5.1.2" + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" } }, "dns-txt": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "integrity": "sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==", "dev": true, "requires": { - "buffer-indexof": "1.1.1" + "buffer-indexof": "^1.0.0" } }, "dom-converter": { @@ -2767,7 +3338,7 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", "dev": true }, "ejs": { @@ -2797,6 +3368,12 @@ "minimalistic-crypto-utils": "1.0.1" } }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, "emojis-list": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", @@ -2806,7 +3383,7 @@ "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true }, "end-of-stream": { @@ -2885,7 +3462,7 @@ "escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true }, "escape-string-regexp": { @@ -2975,13 +3552,13 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true }, "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, "events": { @@ -2991,13 +3568,10 @@ "dev": true }, "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "1.0.2" - } + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", + "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", + "dev": true }, "evp_bytestokey": { "version": "1.0.3", @@ -3010,18 +3584,18 @@ } }, "execa": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", - "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", "dev": true, "requires": { - "cross-spawn": "6.0.5", - "get-stream": "3.0.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" }, "dependencies": { "cross-spawn": { @@ -3030,11 +3604,11 @@ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", "dev": true, "requires": { - "nice-try": "1.0.5", - "path-key": "2.0.1", - "semver": "5.7.1", - "shebang-command": "1.2.0", - "which": "1.3.1" + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" } } } @@ -3126,53 +3700,63 @@ } }, "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, "requires": { - "accepts": "1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "1.0.4", - "cookie": "0.4.0", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.2", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", - "finalhandler": "1.1.2", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", - "methods": "1.1.2", - "on-finished": "2.3.0", - "parseurl": "1.3.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.5", - "qs": "6.7.0", - "range-parser": "1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "1.5.0", - "type-is": "1.6.18", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", "utils-merge": "1.0.1", - "vary": "1.1.2" + "vary": "~1.1.2" }, "dependencies": { "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true } } @@ -3311,12 +3895,12 @@ "dev": true }, "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, "requires": { - "websocket-driver": "0.7.3" + "websocket-driver": ">=0.5.1" } }, "figures": { @@ -3368,18 +3952,18 @@ } }, "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, "requires": { "debug": "2.6.9", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "on-finished": "2.3.0", - "parseurl": "1.3.3", - "statuses": "1.5.0", - "unpipe": "1.0.0" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" } }, "find-cache-dir": { @@ -3413,30 +3997,10 @@ } }, "follow-redirects": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.9.0.tgz", - "integrity": "sha512-CRcPzsSIbXyVDl0QI01muNDu69S8trU4jArW9LpOt2WtC6LyUJetcIrmfHsRBx7/Jb6GHJUiuqyYxPooFfNt6A==", - "dev": true, - "requires": { - "debug": "3.2.6" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true }, "for-in": { "version": "1.0.2", @@ -3462,9 +4026,9 @@ } }, "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true }, "fragment-cache": { @@ -3479,7 +4043,7 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true }, "from2": { @@ -3539,7 +4103,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -3560,12 +4125,14 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, + "optional": true, "requires": { "balanced-match": "1.0.0", "concat-map": "0.0.1" @@ -3580,17 +4147,20 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -3707,7 +4277,8 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -3719,6 +4290,7 @@ "version": "1.0.0", "bundled": true, "dev": true, + "optional": true, "requires": { "number-is-nan": "1.0.1" } @@ -3733,6 +4305,7 @@ "version": "3.0.4", "bundled": true, "dev": true, + "optional": true, "requires": { "brace-expansion": "1.1.11" } @@ -3740,12 +4313,14 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, + "optional": true, "requires": { "safe-buffer": "5.1.2", "yallist": "3.0.3" @@ -3764,6 +4339,7 @@ "version": "0.5.1", "bundled": true, "dev": true, + "optional": true, "requires": { "minimist": "0.0.8" } @@ -3844,7 +4420,8 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -3856,6 +4433,7 @@ "version": "1.4.0", "bundled": true, "dev": true, + "optional": true, "requires": { "wrappy": "1.0.2" } @@ -3941,7 +4519,8 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -3977,6 +4556,7 @@ "version": "1.0.2", "bundled": true, "dev": true, + "optional": true, "requires": { "code-point-at": "1.1.0", "is-fullwidth-code-point": "1.0.0", @@ -3996,6 +4576,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "2.1.1" } @@ -4039,12 +4620,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, @@ -4066,6 +4649,12 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, "gauge": { "version": "2.7.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", @@ -4097,6 +4686,25 @@ "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + } + } + }, "get-stdin": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", @@ -4104,10 +4712,25 @@ "dev": true }, "get-stream": { - "version": "3.0.0", - "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true + "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": { + "pump": "^3.0.0" + }, + "dependencies": { + "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": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } }, "get-value": { "version": "2.0.6", @@ -4244,9 +4867,9 @@ "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" }, "handle-thing": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz", - "integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, "handlebars": { @@ -4350,6 +4973,23 @@ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", "dev": true }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + }, + "dependencies": { + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + } + } + }, "has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -4434,19 +5074,19 @@ "hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, "requires": { - "inherits": "2.0.3", - "obuf": "1.1.2", - "readable-stream": "2.3.6", - "wbuf": "1.7.3" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, "html-entities": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", - "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==", "dev": true }, "html-minifier": { @@ -4514,49 +5154,57 @@ "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", "dev": true }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, "requires": { - "depd": "1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": "1.5.0", - "toidentifier": "1.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + } } }, "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", "dev": true }, "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { - "eventemitter3": "4.0.0", - "follow-redirects": "1.9.0", - "requires-port": "1.0.0" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" } }, "http-proxy-middleware": { - "version": "0.18.0", - "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.18.0.tgz", - "integrity": "sha512-Fs25KVMPAIIcgjMZkVHJoKg9VcXcC1C8yb9JUgeDvVXY0S/zgVIhMb+qVswDIgtJe2DfckMSY2d6TuTEutlk6Q==", + "version": "0.19.1", + "resolved": "http://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", "dev": true, "requires": { - "http-proxy": "1.18.0", - "is-glob": "4.0.0", - "lodash": "4.17.13", - "micromatch": "3.1.10" + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" } }, "http-signature": { @@ -4644,8 +5292,8 @@ "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", "dev": true, "requires": { - "pkg-dir": "3.0.0", - "resolve-cwd": "2.0.0" + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" }, "dependencies": { "find-up": { @@ -4654,7 +5302,7 @@ "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "3.0.0" + "locate-path": "^3.0.0" } }, "locate-path": { @@ -4663,17 +5311,17 @@ "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "p-try": "2.2.0" + "p-try": "^2.0.0" } }, "p-locate": { @@ -4682,7 +5330,7 @@ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "2.2.1" + "p-limit": "^2.0.0" } }, "p-try": { @@ -4697,7 +5345,7 @@ "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, "requires": { - "find-up": "3.0.0" + "find-up": "^3.0.0" } } } @@ -4822,13 +5470,13 @@ } }, "internal-ip": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-3.0.1.tgz", - "integrity": "sha512-NXXgESC2nNVtU+pqmC9e6R8B1GpKxzsAQhffvh5AL79qKnodd+L7tnEQmTiUAVngqLalPbSqRA7XGIEL5nCd0Q==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", "dev": true, "requires": { - "default-gateway": "2.7.2", - "ipaddr.js": "1.9.0" + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" } }, "interpret": { @@ -4853,21 +5501,27 @@ "dev": true }, "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz", + "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==", "dev": true }, "ip-regex": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "integrity": "sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==", "dev": true }, "ipaddr.js": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.0.tgz", - "integrity": "sha512-M4Sjn6N/+O6/IXSJseKqHoFc+5FdGJ22sXqnjTpdZweHK64MzEPAyQZyEU3R/KRv2GLoa7nNtg/C2Ev6m7z+eA==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", "dev": true }, "is-accessor-descriptor": { @@ -4891,10 +5545,14 @@ } }, "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } }, "is-arrayish": { "version": "0.2.1", @@ -5049,27 +5707,27 @@ } }, "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", "dev": true }, "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "dev": true, "requires": { - "is-path-inside": "1.0.1" + "is-path-inside": "^2.1.0" } }, "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", "dev": true, "requires": { - "path-is-inside": "1.0.2" + "path-is-inside": "^1.0.2" } }, "is-plain-object": { @@ -5537,9 +6195,9 @@ "dev": true }, "loglevel": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz", - "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz", + "integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==", "dev": true }, "loose-envify": { @@ -5648,7 +6306,7 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true }, "mem": { @@ -5701,13 +6359,13 @@ "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true }, "micromatch": { @@ -5925,14 +6583,14 @@ "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", "dev": true, "requires": { - "dns-packet": "1.3.1", - "thunky": "1.0.3" + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" } }, "multicast-dns-service-types": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==", "dev": true }, "mute-stream": { @@ -5967,9 +6625,9 @@ } }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true }, "neo-async": { @@ -6002,9 +6660,9 @@ } }, "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "dev": true }, "node-gyp": { @@ -6029,7 +6687,7 @@ "dependencies": { "semver": { "version": "5.3.0", - "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "dev": true }, @@ -6120,7 +6778,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -6310,10 +6968,14 @@ "dev": true }, "object-is": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.1.tgz", - "integrity": "sha1-CqYOyZiaCz7Xlc9NBvYs8a1lObY=", - "dev": true + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } }, "object-keys": { "version": "1.1.1", @@ -6377,9 +7039,9 @@ "dev": true }, "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, "requires": { "ee-first": "1.1.1" @@ -6466,7 +7128,7 @@ }, "yargs": { "version": "3.32.0", - "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz", "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=", "dev": true, "requires": { @@ -6522,15 +7184,6 @@ "wordwrap": "1.0.0" } }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", - "dev": true, - "requires": { - "url-parse": "1.4.7" - } - }, "os-browserify": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", @@ -6545,7 +7198,7 @@ }, "os-locale": { "version": "1.4.0", - "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", "dev": true, "requires": { @@ -6605,11 +7258,28 @@ } }, "p-map": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", - "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + }, + "dependencies": { + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true + } + } + }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", @@ -6739,7 +7409,7 @@ "path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", "dev": true }, "path-key": { @@ -6757,7 +7427,7 @@ "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, "path-type": { @@ -6958,13 +7628,13 @@ "dev": true }, "proxy-addr": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.5.tgz", - "integrity": "sha512-t/7RxHXPH6cJtP0pRG6smSr9QJidhB+3kXu0KgXnbGYMgzEnUxRQ4/LDdfOwZEMyIh3/xHb8PX3t+lfL9z+YVQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, "requires": { - "forwarded": "0.1.2", - "ipaddr.js": "1.9.0" + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" } }, "prr": { @@ -7095,21 +7765,21 @@ "dev": true }, "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true } } @@ -7200,7 +7870,7 @@ }, "readable-stream": { "version": "2.3.6", - "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, "requires": { @@ -7271,12 +7941,14 @@ } }, "regexp.prototype.flags": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.2.0.tgz", - "integrity": "sha512-ztaw4M1VqgMwl9HlPpOuiYgItcHlunW0He2fE6eNfT6E/CF2FtYi9ofOYe4mKntstYk0Fyh/rDRBdS3AnxjlrA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", "dev": true, "requires": { - "define-properties": "1.1.3" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" } }, "regexpu-core": { @@ -7402,7 +8074,7 @@ "requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", "dev": true }, "resolve": { @@ -7599,16 +8271,16 @@ "select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "version": "1.10.14", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", + "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", "dev": true, "requires": { - "node-forge": "0.9.0" + "node-forge": "^0.10.0" } }, "semver": { @@ -7636,30 +8308,30 @@ } }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, "requires": { "debug": "2.6.9", - "depd": "1.1.2", - "destroy": "1.0.4", - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "etag": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "2.3.0", - "range-parser": "1.2.1", - "statuses": "1.5.0" + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" }, "dependencies": { "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -7673,28 +8345,34 @@ "serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, "requires": { - "accepts": "1.3.7", + "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", - "escape-html": "1.0.3", - "http-errors": "1.6.3", - "mime-types": "2.1.24", - "parseurl": "1.3.3" + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" }, "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, "requires": { - "depd": "1.1.2", + "depd": "~1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": "1.5.0" + "statuses": ">= 1.4.0 < 2" } }, "setprototypeof": { @@ -7702,19 +8380,25 @@ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true } } }, "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, "requires": { - "encodeurl": "1.0.2", - "escape-html": "1.0.3", - "parseurl": "1.3.3", - "send": "0.17.1" + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" } }, "set-blocking": { @@ -7753,9 +8437,9 @@ "dev": true }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, "sha.js": { @@ -7798,6 +8482,25 @@ "integrity": "sha1-GZ/p4t43nv0D00X/FAYlJeSzHsI=", "dev": true }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "dependencies": { + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + } + } + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -7924,51 +8627,56 @@ } }, "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, "requires": { - "faye-websocket": "0.10.0", - "uuid": "3.3.3" + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } } }, "sockjs-client": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", - "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", + "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", "dev": true, "requires": { - "debug": "3.2.6", - "eventsource": "1.0.7", - "faye-websocket": "0.11.3", - "inherits": "2.0.3", - "json3": "3.3.3", - "url-parse": "1.4.7" + "debug": "^3.2.7", + "eventsource": "^2.0.2", + "faye-websocket": "^0.11.4", + "inherits": "^2.0.4", + "url-parse": "^1.5.10" }, "dependencies": { "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, "requires": { - "ms": "2.1.2" + "ms": "^2.1.1" } }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": "0.7.3" - } + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true } } @@ -8082,22 +8790,22 @@ "dev": true }, "spdy": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", - "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, "requires": { - "debug": "4.1.1", - "handle-thing": "2.0.0", - "http-deceiver": "1.2.7", - "select-hose": "2.0.0", - "spdy-transport": "3.0.0" + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -8117,18 +8825,18 @@ "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, "requires": { - "debug": "4.1.1", - "detect-node": "2.0.4", - "hpack.js": "2.1.6", - "obuf": "1.1.2", - "readable-stream": "3.4.0", - "wbuf": "1.7.3" + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -8141,14 +8849,14 @@ "dev": true }, "readable-stream": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", - "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "dev": true, "requires": { - "inherits": "2.0.3", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } } } @@ -8225,9 +8933,9 @@ } }, "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true }, "stdout-stream": { @@ -8320,7 +9028,7 @@ }, "strip-ansi": { "version": "3.0.1", - "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { @@ -8478,9 +9186,9 @@ } }, "thunky": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", - "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, "timers-browserify": { @@ -8556,9 +9264,9 @@ } }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true }, "toposort": { @@ -8640,7 +9348,7 @@ }, "chalk": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { @@ -8755,7 +9463,7 @@ "dev": true, "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.24" + "mime-types": "~2.1.24" } }, "typedarray": { @@ -8896,7 +9604,7 @@ "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true }, "unset-value": { @@ -9015,13 +9723,13 @@ } }, "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, "requires": { - "querystringify": "2.1.1", - "requires-port": "1.0.0" + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" } }, "use": { @@ -9070,7 +9778,7 @@ "utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true }, "uuid": { @@ -9116,7 +9824,7 @@ "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true }, "verror": { @@ -9153,7 +9861,7 @@ "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, "requires": { - "minimalistic-assert": "1.0.1" + "minimalistic-assert": "^1.0.0" } }, "webpack": { @@ -9441,202 +10149,163 @@ } }, "webpack-dev-server": { - "version": "3.1.14", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz", - "integrity": "sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ==", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "3.5.0", - "chokidar": "2.1.8", - "compression": "1.7.4", - "connect-history-api-fallback": "1.6.0", - "debug": "3.2.6", - "del": "3.0.0", - "express": "4.17.1", - "html-entities": "1.2.1", - "http-proxy-middleware": "0.18.0", - "import-local": "2.0.0", - "internal-ip": "3.0.1", - "ip": "1.1.5", - "killable": "1.0.1", - "loglevel": "1.6.4", - "opn": "5.5.0", - "portfinder": "1.0.24", - "schema-utils": "1.0.0", - "selfsigned": "1.10.7", - "semver": "5.7.1", - "serve-index": "1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.3.0", - "spdy": "4.0.1", - "strip-ansi": "3.0.1", - "supports-color": "5.5.0", - "url": "0.11.0", - "webpack-dev-middleware": "3.4.0", - "webpack-log": "2.0.0", - "yargs": "12.0.2" + "version": "3.11.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz", + "integrity": "sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==", + "dev": true, + "requires": { + "ansi-html-community": "0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.8", + "semver": "^6.3.0", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "sockjs-client": "^1.5.0", + "spdy": "^4.0.2", + "strip-ansi": "^3.0.1", + "supports-color": "^6.1.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^3.7.2", + "webpack-log": "^2.0.0", + "ws": "^6.2.1", + "yargs": "^13.3.2" }, "dependencies": { "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", "dev": true, "requires": { - "string-width": "2.1.1", - "strip-ansi": "4.0.0", - "wrap-ansi": "2.1.0" + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" }, "dependencies": { "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^4.1.0" } } } }, - "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": { - "nice-try": "1.0.5", - "path-key": "2.0.1", - "semver": "5.7.1", - "shebang-command": "1.2.0", - "which": "1.3.1" - } - }, "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" } }, - "decamelize": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", - "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", - "dev": true, - "requires": { - "xregexp": "4.0.0" - } - }, - "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": { - "cross-spawn": "6.0.5", - "get-stream": "4.1.0", - "is-stream": "1.1.0", - "npm-run-path": "2.0.2", - "p-finally": "1.0.0", - "signal-exit": "3.0.2", - "strip-eof": "1.0.0" - } - }, "find-up": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, "requires": { - "locate-path": "3.0.0" - } - }, - "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": { - "pump": "3.0.0" + "locate-path": "^3.0.0" } }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", "dev": true }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "2.0.0" - } - }, "locate-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, "requires": { - "p-locate": "3.0.0", - "path-exists": "3.0.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" } }, - "mime": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", - "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "minimist": { + "version": "1.2.7", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "dev": true }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "mkdirp": { + "version": "0.5.6", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, "requires": { - "execa": "1.0.0", - "lcid": "2.0.0", - "mem": "4.3.0" + "minimist": "^1.2.6" } }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, "p-limit": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz", - "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, "requires": { - "p-try": "2.2.0" + "p-try": "^2.0.0" } }, "p-locate": { @@ -9645,7 +10314,7 @@ "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, "requires": { - "p-limit": "2.2.1" + "p-limit": "^2.0.0" } }, "p-try": { @@ -9654,93 +10323,136 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", "dev": true, "requires": { - "end-of-stream": "1.4.1", - "once": "1.4.0" + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } } }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", "dev": true, "requires": { - "ajv": "6.4.0", - "ajv-errors": "1.0.1", - "ajv-keywords": "3.4.1" + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" } }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", "dev": true, "requires": { - "is-fullwidth-code-point": "2.0.0", - "strip-ansi": "4.0.0" + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" }, "dependencies": { "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "3.0.0" + "ansi-regex": "^4.1.0" } } } }, - "webpack-dev-middleware": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.4.0.tgz", - "integrity": "sha512-Q9Iyc0X9dP9bAsYskAVJ/hmIZZQwf/3Sy4xCAZgL5cUkjZmUZLt4l5HpbST/Pdgjn3u6pE7u5OdGd1apgzRujA==", + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", "dev": true, "requires": { - "memory-fs": "0.4.1", - "mime": "2.4.4", - "range-parser": "1.2.1", - "webpack-log": "2.0.0" + "has-flag": "^3.0.0" } }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", "dev": true }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, "yargs": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", - "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", "dev": true, "requires": { - "cliui": "4.1.0", - "decamelize": "2.0.0", - "find-up": "3.0.0", - "get-caller-file": "1.0.3", - "os-locale": "3.1.0", - "require-directory": "2.1.1", - "require-main-filename": "1.0.1", - "set-blocking": "2.0.0", - "string-width": "2.1.1", - "which-module": "2.0.0", - "y18n": "4.0.0", - "yargs-parser": "10.1.0" + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" } }, "yargs-parser": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", - "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", "dev": true, "requires": { - "camelcase": "4.1.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" } } } @@ -9800,20 +10512,20 @@ } }, "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", - "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, "requires": { - "http-parser-js": "0.4.10", - "safe-buffer": "5.1.2", - "websocket-extensions": "0.1.3" + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" } }, "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true }, "when": { @@ -9883,6 +10595,15 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, "xhr2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz", diff --git a/frontend/src/main/ngx/package.json b/frontend/src/main/ngx/package.json index f36e549..9f4d3bf 100644 --- a/frontend/src/main/ngx/package.json +++ b/frontend/src/main/ngx/package.json @@ -58,7 +58,7 @@ "typescript": "2.9.2", "webpack": "4.18.0", "webpack-cli": "3.1.0", - "webpack-dev-server": "3.1.14", + "webpack-dev-server": "3.11.3", "braces": "2.3.1", "serialize-javascript": ">=2.1.1" } diff --git a/model/src/main/db/templateDB.script b/model/src/main/db/templateDB.script new file mode 100644 index 0000000..1b69a7c --- /dev/null +++ b/model/src/main/db/templateDB.script @@ -0,0 +1,208 @@ +SET DATABASE UNIQUE NAME HSQLDB687727E49B +SET DATABASE GC 0 +SET DATABASE DEFAULT RESULT MEMORY ROWS 0 +SET DATABASE EVENT LOG LEVEL 0 +SET DATABASE TRANSACTION CONTROL LOCKS +SET DATABASE DEFAULT ISOLATION LEVEL READ COMMITTED +SET DATABASE TRANSACTION ROLLBACK ON CONFLICT TRUE +SET DATABASE TEXT TABLE DEFAULTS '' +SET DATABASE SQL NAMES FALSE +SET DATABASE SQL REFERENCES FALSE +SET DATABASE SQL SIZE TRUE +SET DATABASE SQL TYPES FALSE +SET DATABASE SQL TDC DELETE TRUE +SET DATABASE SQL TDC UPDATE TRUE +SET DATABASE SQL TRANSLATE TTI TYPES TRUE +SET DATABASE SQL TRANSLATE TTI TYPES TRUE +SET DATABASE SQL CONCAT NULLS TRUE +SET DATABASE SQL UNIQUE NULLS TRUE +SET DATABASE SQL CONVERT TRUNCATE TRUE +SET DATABASE SQL AVG SCALE 0 +SET DATABASE SQL DOUBLE NAN TRUE +SET FILES WRITE DELAY 500 MILLIS +SET FILES BACKUP INCREMENT TRUE +SET FILES CACHE SIZE 10000 +SET FILES CACHE ROWS 50000 +SET FILES SCALE 32 +SET FILES LOB SCALE 32 +SET FILES DEFRAG 0 +SET FILES NIO TRUE +SET FILES NIO SIZE 256 +SET FILES LOG TRUE +SET FILES LOG SIZE 50 +CREATE USER SA PASSWORD DIGEST 'd41d8cd98f00b204e9800998ecf8427e' +ALTER USER SA SET LOCAL TRUE +CREATE SCHEMA PUBLIC AUTHORIZATION DBA +SET SCHEMA PUBLIC +CREATE MEMORY TABLE PUBLIC.TUSER(USER_ VARCHAR(50) NOT NULL PRIMARY KEY,PASSWORD VARCHAR(50),NAME VARCHAR(50),SURNAME VARCHAR(50),EMAIL VARCHAR(50),NIF VARCHAR(50),USERBLOCKED TIMESTAMP,LASTPASSWORDUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FIRSTLOGIN BOOLEAN DEFAULT TRUE) +CREATE MEMORY TABLE PUBLIC.TROLE(ID_ROLENAME INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,ROLENAME VARCHAR(255),XMLCLIENTPERMISSION VARCHAR(16777216)) +ALTER TABLE PUBLIC.TROLE ALTER COLUMN ID_ROLENAME RESTART WITH 2 +CREATE MEMORY TABLE PUBLIC.TUSER_ROLE(ID_USER_ROLE INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,ID_ROLENAME INTEGER,USER_ VARCHAR(50),CONSTRAINT FK_TUSER FOREIGN KEY(USER_) REFERENCES PUBLIC.TUSER(USER_),CONSTRAINT FK_TROLE FOREIGN KEY(ID_ROLENAME) REFERENCES PUBLIC.TROLE(ID_ROLENAME)) +ALTER TABLE PUBLIC.TUSER_ROLE ALTER COLUMN ID_USER_ROLE RESTART WITH 2 +CREATE MEMORY TABLE PUBLIC.TSERVER_PERMISSION(ID_SERVER_PERMISSION INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,PERMISSION_NAME VARCHAR(16777216)) +ALTER TABLE PUBLIC.TSERVER_PERMISSION ALTER COLUMN ID_SERVER_PERMISSION RESTART WITH 34 +CREATE MEMORY TABLE PUBLIC.TREQUEST_STATISTICS(ID_REQUEST_STATISTICS INTEGER NOT NULL PRIMARY KEY,SERVICE_NAME VARCHAR(255),METHOD_NAME VARCHAR(50),USER_NAME VARCHAR(50),EXECUTION_DATE DATE,EXECUTION_TIME INTEGER,METHOD_PARAMS VARCHAR(5000),SERVICE_EXCEPTION VARCHAR(5000)) +CREATE MEMORY TABLE PUBLIC.TSETTING(ID_SETTING INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,SETTING_KEY VARCHAR(16777216),SETTING_VALUE VARCHAR(16777216),SETTING_COMMENT VARCHAR(16777216)) +ALTER TABLE PUBLIC.TSETTING ALTER COLUMN ID_SETTING RESTART WITH 8 +CREATE MEMORY TABLE PUBLIC.TUSER_PREFERENCE(ID_USER_PREFERENCE INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,PREFERENCE_NAME VARCHAR(150),USER_LOGIN VARCHAR(150),PREFERENCE_VALUE VARCHAR(16777216)) +ALTER TABLE PUBLIC.TUSER_PREFERENCE ALTER COLUMN ID_USER_PREFERENCE RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.TI18N(ID_I18N INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,CLASS_NAME VARCHAR(150),I18N_DESCRIPTION VARCHAR(250)) +ALTER TABLE PUBLIC.TI18N ALTER COLUMN ID_I18N RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.TI18N_VALUE(ID_I18N_VALUE INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,ID_I18N INTEGER NOT NULL,"KEY" VARCHAR(250),ES_ES VARCHAR(16777216),EN_US VARCHAR(16777216),GL_ES VARCHAR(16777216)) +ALTER TABLE PUBLIC.TI18N_VALUE ALTER COLUMN ID_I18N_VALUE RESTART WITH 34 +CREATE MEMORY TABLE PUBLIC.TROLE_SERVER_PERMISSION(ID_ROLE_SERVER_PERMISSION INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,ID_ROLENAME INTEGER,ID_SERVER_PERMISSION INTEGER,CONSTRAINT FK_TROLE_SERVER_PERMISSION FOREIGN KEY(ID_ROLENAME) REFERENCES PUBLIC.TROLE(ID_ROLENAME),CONSTRAINT FK_TSERVER_PERMISSION FOREIGN KEY(ID_SERVER_PERMISSION) REFERENCES PUBLIC.TSERVER_PERMISSION(ID_SERVER_PERMISSION)) +ALTER TABLE PUBLIC.TROLE_SERVER_PERMISSION ALTER COLUMN ID_ROLE_SERVER_PERMISSION RESTART WITH 34 +CREATE MEMORY TABLE PUBLIC.CANDIDATE(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,PHOTO VARBINARY(16777216),NAME VARCHAR(255),SURNAME VARCHAR(255),BIRTHDAY DATE,DNI VARCHAR(255),PHONE VARCHAR(255),EMAIL VARCHAR(255),EDUCATION INTEGER,SPECIALTIES VARCHAR(255),STATUS INTEGER,ORIGIN INTEGER,WAGE_LEVEL NUMERIC(128),EXPERIENCE_LEVEL INTEGER,PROFILE INTEGER,COMMENT VARCHAR(255),LINKEDIN VARCHAR(255)) +ALTER TABLE PUBLIC.CANDIDATE ALTER COLUMN ID RESTART WITH 15 +CREATE MEMORY TABLE PUBLIC.PROFILE(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.PROFILE ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.EDUCATION(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.EDUCATION ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.STATUS(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.STATUS ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.ORIGIN(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.ORIGIN ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.EXPERIENCE_LEVEL(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.EXPERIENCE_LEVEL ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.OFFER_STATUS(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.OFFER_STATUS ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.OFFER_CANDIDATE_STATUS(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.OFFER_CANDIDATE_STATUS ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.OFFER(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,ACRONYM VARCHAR(255),DESCRIPTION VARCHAR(1000),APPLICANT VARCHAR(255),OFFER_STATUS INTEGER,CREATION_DATE DATE,START_DATE DATE,END_DATE DATE,CONSTRAINT OFFER_FK_OFFER_STATUS FOREIGN KEY(OFFER_STATUS) REFERENCES PUBLIC.OFFER_STATUS(ID)) +ALTER TABLE PUBLIC.OFFER ALTER COLUMN ID RESTART WITH 10 +CREATE MEMORY TABLE PUBLIC.OFFER_CANDIDATES(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,OFFER_ID INTEGER NOT NULL,CANDIDATE_ID INTEGER NOT NULL,OFFER_CANDIDATE_STATUS INTEGER,CONSTRAINT OFFER_CANDIDATES_FK_CANDIDATES FOREIGN KEY(CANDIDATE_ID) REFERENCES PUBLIC.CANDIDATE(ID),CONSTRAINT OFFER_CANDIDATES_FK_OFFER FOREIGN KEY(OFFER_ID) REFERENCES PUBLIC.OFFER(ID),CONSTRAINT OFFER_CANDIDATES_FK_OFFER_CANDIDATES_STATUS FOREIGN KEY(OFFER_CANDIDATE_STATUS) REFERENCES PUBLIC.OFFER_CANDIDATE_STATUS(ID)) +ALTER TABLE PUBLIC.OFFER_CANDIDATES ALTER COLUMN ID RESTART WITH 4 +ALTER TABLE PUBLIC.CANDIDATE ADD CONSTRAINT CANDIDATE_FK_EDUCATION FOREIGN KEY(EDUCATION) REFERENCES PUBLIC.EDUCATION(ID) +ALTER TABLE PUBLIC.CANDIDATE ADD CONSTRAINT CANDIDATE_FK_STATUS FOREIGN KEY(STATUS) REFERENCES PUBLIC.STATUS(ID) +ALTER TABLE PUBLIC.CANDIDATE ADD CONSTRAINT CANDIDATE_FK_ORIGIN FOREIGN KEY(ORIGIN) REFERENCES PUBLIC.ORIGIN(ID) +ALTER TABLE PUBLIC.CANDIDATE ADD CONSTRAINT CANDIDATE_FK_EXPERIENCE_LEVEL FOREIGN KEY(EXPERIENCE_LEVEL) REFERENCES PUBLIC.EXPERIENCE_LEVEL(ID) +ALTER TABLE PUBLIC.CANDIDATE ADD CONSTRAINT CANDIDATE_FK_PROFILE FOREIGN KEY(PROFILE) REFERENCES PUBLIC.PROFILE(ID) +ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1 +SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC +GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC +GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.YES_OR_NO TO PUBLIC +GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.TIME_STAMP TO PUBLIC +GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CARDINAL_NUMBER TO PUBLIC +GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.CHARACTER_DATA TO PUBLIC +GRANT DBA TO SA +SET SCHEMA SYSTEM_LOBS +INSERT INTO BLOCKS VALUES(0,2147483647,0) +SET SCHEMA PUBLIC +INSERT INTO TUSER VALUES('candidate','candidate','candidate','candidate',NULL,'99999999R',NULL,'2020-07-03 11:50:40.665000',NULL) +INSERT INTO TUSER VALUES('demo','demouser','demo','demo',NULL,'44460713B',NULL,NULL,NULL) +INSERT INTO TROLE VALUES(0,'admin','') +INSERT INTO TROLE VALUES(1,'candidate','') +INSERT INTO TUSER_ROLE VALUES(0,0,'demo') +INSERT INTO TUSER_ROLE VALUES(1,1,'candidate') +INSERT INTO TSERVER_PERMISSION VALUES(0,'com.ontimize.jee.common.services.user.IUserInformationService/getUserInformation') +INSERT INTO TSERVER_PERMISSION VALUES(1,'com.ontimize.jee.common.services.mail.IMailService/sendMail') +INSERT INTO TSERVER_PERMISSION VALUES(2,'com.ontimize.jee.common.services.mail.IMailService/sendMailWithoutAttach') +INSERT INTO TSERVER_PERMISSION VALUES(3,'com.ontimize.jee.common.services.i18n.II18nService/getAvailableBundles') +INSERT INTO TSERVER_PERMISSION VALUES(4,'com.ontimize.jee.common.services.i18n.II18nService/getBundle') +INSERT INTO TSERVER_PERMISSION VALUES(5,'com.ontimize.jee.common.services.i18n.II18nService/getBundles') +INSERT INTO TSERVER_PERMISSION VALUES(6,'com.ontimize.jee.common.services.i18n.II18nService/getAllResourceBundles') +INSERT INTO TSERVER_PERMISSION VALUES(7,'com.ontimize.jee.common.services.i18n.II18nService/getAvailableLocales') +INSERT INTO TSERVER_PERMISSION VALUES(8,'com.ontimize.jee.common.services.i18n.II18nService/updateBundleValues') +INSERT INTO TSERVER_PERMISSION VALUES(9,'com.ontimize.jee.common.services.preferences.IRemoteApplicationPreferencesService/getPreference') +INSERT INTO TSERVER_PERMISSION VALUES(10,'com.ontimize.jee.common.services.preferences.IRemoteApplicationPreferencesService/getDefaultPreference') +INSERT INTO TSERVER_PERMISSION VALUES(11,'com.ontimize.jee.common.services.preferences.IRemoteApplicationPreferencesService/setPreference') +INSERT INTO TSERVER_PERMISSION VALUES(12,'com.ontimize.jee.common.services.preferences.IRemoteApplicationPreferencesService/setDefaultPreference') +INSERT INTO TSERVER_PERMISSION VALUES(13,'com.ontimize.jee.common.services.preferences.IRemoteApplicationPreferencesService/savePreferences') +INSERT INTO TSERVER_PERMISSION VALUES(14,'com.ontimize.jee.common.services.preferences.IRemoteApplicationPreferencesService/loadPreferences') +INSERT INTO TSERVER_PERMISSION VALUES(15,'com.ontimize.jee.common.services.i18n.II18nService/deleteBundleValues') +INSERT INTO TSERVER_PERMISSION VALUES(17,'com.ontimize.model.core.service.OfferService/offerQuery') +INSERT INTO TSERVER_PERMISSION VALUES(18,'com.ontimize.model.core.service.OfferService/offerInsert') +INSERT INTO TSERVER_PERMISSION VALUES(19,'com.ontimize.model.core.service.OfferService/offerUpdate') +INSERT INTO TSERVER_PERMISSION VALUES(20,'com.ontimize.model.core.service.OfferService/offerDelete') +INSERT INTO TSERVER_PERMISSION VALUES(21,'com.ontimize.model.core.service.OfferService/offerStatusQuery') +INSERT INTO TSERVER_PERMISSION VALUES(22,'com.ontimize.model.core.service.OfferService/offerStatusInsert') +INSERT INTO TSERVER_PERMISSION VALUES(23,'com.ontimize.model.core.service.OfferService/offerStatusUpdate') +INSERT INTO TSERVER_PERMISSION VALUES(24,'com.ontimize.model.core.service.OfferService/offerStatusDelete') +INSERT INTO TSERVER_PERMISSION VALUES(25,'com.ontimize.model.core.service.OfferService/offerCandidateQuery') +INSERT INTO TSERVER_PERMISSION VALUES(26,'com.ontimize.model.core.service.OfferService/offerCandidateDetailsQuery') +INSERT INTO TSERVER_PERMISSION VALUES(27,'com.ontimize.model.core.service.OfferService/offerCandidateInsert') +INSERT INTO TSERVER_PERMISSION VALUES(28,'com.ontimize.model.core.service.OfferService/offerCandidateUpdate') +INSERT INTO TSERVER_PERMISSION VALUES(29,'com.ontimize.model.core.service.OfferService/offerCandidateDelete') +INSERT INTO TSERVER_PERMISSION VALUES(30,'com.ontimize.model.core.service.OfferService/offerCandidateStatusQuery') +INSERT INTO TSERVER_PERMISSION VALUES(31,'com.ontimize.model.core.service.OfferService/offerCandidateStatusInsert') +INSERT INTO TSERVER_PERMISSION VALUES(32,'com.ontimize.model.core.service.OfferService/offerCandidateStatusUpdate') +INSERT INTO TSERVER_PERMISSION VALUES(33,'com.ontimize.model.core.service.OfferService/offerCandidateStatusDelete') +INSERT INTO TSETTING VALUES(0,'mail_host','smtp.gmail.com','Host del servidor') +INSERT INTO TSETTING VALUES(1,'mail_port','587','Puerto del servidor de email') +INSERT INTO TSETTING VALUES(2,'mail_protocol','smtp','Protocolo de env\u005cu00edo de mails') +INSERT INTO TSETTING VALUES(3,'mail_user','mi.mail@example.com','Usuario para el env\u005cu00edo de mails') +INSERT INTO TSETTING VALUES(4,'mail_password','mis_credenciales','Password del servidor de mail') +INSERT INTO TSETTING VALUES(5,'mail_encoding','UTF-8','Codificaci\u005cu00f3n de mails') +INSERT INTO TSETTING VALUES(6,'mail_properties','mail.smtp.auth:true;mail.smtp.starttls.enable:true;','Propiedades de mails') +INSERT INTO TSETTING VALUES(7,'report_folder','C:/applications/ontimize-boot-app/reports','Carpeta de las plantillas de report') +INSERT INTO TUSER_PREFERENCE VALUES(0,'user_preference','demo','Iw0KI1R1ZSBNYXkgMTYgMTI6NTc6MDYgQ0VTVCAyMDE3DQpkZW1vX2FwcF9zdGF0dXNfYmFyX3Zpc2libGU9eWVzDQpkZW1vX2FkanVzdF90cmVlX3NwYWNlPXRydWUNCmRlbW9fYXBwX3dpbmRvd19zdGF0ZT0wDQpkZW1vX3RhYmxlX2NvbmZfc29ydF9maWx0ZXJfZm9ybUN1c3RvbWVyLnhtbF9DdXN0b21lclNlcnZpY2UuY3VzdG9tZXJfVEVTVD1udWxsO251bGw7U1VSTkFNRVw9OThcOjF8SURcPTc1XDoyfE5BTUVcPTk5XDozfENVU1RPTUVSVFlQRUlEXD0wXDo0fENVU1RPTUVSSURcPTEyNVw6NXxBRERSRVNTXD0xMjNcOjZ8UEhPTkVcPTEyMVw6N3xTVEFSVERBVEVcPTEzNlw6OHxMT05HSVRVREVcPTExNlw6OXxMQVRJVFVERVw9MTEzXDoxMHxFTUFJTFw9MTcwXDoxMnw7QkFTRTY0ck8wQUJYTnlBQk5xWVhaaExuVjBhV3d1U0dGemFIUmhZbXhsRTdzUEpTRks1TGdEQUFKR0FBcHNiMkZrUm1GamRHOXlTUUFKZEdoeVpYTm9iMnhrZUhBL1FBQUFBQUFBQ0hjSUFBQUFDd0FBQUFCNA0KZGVtb190YWJsZV9jb25mX3NvcnRfZmlsdGVyX2NvbmZpZ3VyYXRpb25zX2Zvcm1DdXN0b21lci54bWxfQ3VzdG9tZXJTZXJ2aWNlLmN1c3RvbWVyPVRFU1QNCmRlbW9fdGFibGVfY29udHJvbF9wYW5lbF9mb3JtQWNjb3VudHMtZGV0YWlsLnhtbF9Nb3ZlbWVudFNlcnZpY2UubW92ZW1lbnQ9Z3JvdXB0YWJsZWtleTtkZWZhdWx0Y2hhcnRidXR0b247ZXhjZWxleHBvcnRidXR0b247c3Vtcm93YnV0dG9uO2NhbGN1bGVkY29sc2J1dHRvbjtwcmludGluZ2J1dHRvbjtmaWx0ZXJzYXZlYnV0dG9uO3Zpc2libGVjb2xzYnV0dG9uO2h0bWxleHBvcnRidXR0b247Y29weWJ1dHRvbjtncm91cHRhYmxla2V5O2luc2VydGJ1dHRvbjtyZWZyZXNoYnV0dG9uDQpkZW1vX2Zvcm1CcmFuY2hlcy1kZXRhaWwueG1sPTg4MDs1MDU7LTExNTA7MzY5DQpkZW1vX2RldGFpbF9kaWFsb2dfc2l6ZV9wb3NpdGlvbl9mb3JtQ3VzdG9tZXIueG1sX0N1c3RvbWVyU2VydmljZS5jdXN0b21lcj03NDk7MzUwOy0xOTA1OzM5MQ0KZGVtb19hcHBfdG9vbGJhcl9sb2NhdGlvbj1Ob3J0aA0KZGVtb19hcHBfd2luZG93X3Bvc2l0aW9uPS0xNTgwOzExDQpkZW1vX2FwcF93aW5kb3dfc2l6ZT0xNTg0OzEwNDQNCmRlbW9fZm9ybUVtcGxveWVlcy1kZXRhaWwueG1sPTExMTY7NzM5OzYxMDsxOTUNCmRlbW9fZm9ybUFjY291bnRzLWRldGFpbC54bWw9OTE1OzUwMDstMTE1MDszNjkNCg==') +INSERT INTO TI18N VALUES(0,'i18n.bundle','Resource bundle in database') +INSERT INTO TROLE_SERVER_PERMISSION VALUES(0,0,0) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(1,0,1) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(2,0,2) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(3,0,3) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(4,0,4) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(5,0,5) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(6,0,6) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(7,0,7) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(8,0,8) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(9,0,9) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(10,0,10) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(11,0,11) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(12,0,12) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(13,0,13) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(14,0,14) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(15,0,15) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(17,0,17) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(18,0,18) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(19,0,19) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(20,0,20) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(21,0,21) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(22,0,22) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(23,0,23) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(24,0,24) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(25,0,25) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(26,0,26) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(27,0,27) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(28,0,28) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(29,0,29) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(30,0,30) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(31,0,31) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(32,0,32) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(33,0,33) +INSERT INTO CANDIDATE VALUES(0,NULL,'Nonnah','Baden','1994-12-24','71958681F','591-646-5605','nbaden0@plala.or.jp',NULL,'Erlang',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(1,NULL,'Claiborn','Shawell','1989-08-01','28224678K','909-780-3858','cshawell1@chron.com',NULL,'JavaFX',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(2,NULL,'Anne-marie','Frampton','1985-12-17','48230973L','466-225-8193','aframpton2@addtoany.com',NULL,'Matlab',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(3,NULL,'Aron','Wiseman','1981-09-08','75760366E','969-405-2922','awiseman3@google.com.br',NULL,'Compliance',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(4,NULL,'Hyatt','Faircley','1977-05-25','14709704P','375-972-2164','hfaircley4@sbwire.com',NULL,'Haskell',NULL,NULL,45000,NULL,NULL,'nulla pede ullamcorper augue a suscipit nulla elit ac nulla',NULL) +INSERT INTO CANDIDATE VALUES(5,NULL,'Daune','Woolham','1978-06-21','50472212T','675-891-2878','dwoolham5@stanford.edu',NULL,'React',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(6,NULL,'Kaila','Earwicker','1988-04-26','90445706T','642-759-7346','kearwicker6@sogou.com',NULL,'HTML5',NULL,NULL,23000,NULL,NULL,'ut ultrices vel augue vestibulum ante ipsum primis in faucibus',NULL) +INSERT INTO CANDIDATE VALUES(7,NULL,'Felisha','Rahl','1990-05-28','76140170G','712-914-9094','frahl7@ox.ac.uk',NULL,'Docker',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(8,NULL,'Charla','Note','1981-11-27','41685146S','284-789-0755','cnote8@cafepress.com',NULL,'MS Office',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(9,NULL,'Candie','Ibert','1978-09-24','00273718H','299-578-6249','cibert9@apple.com',NULL,'Taxation',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(10,NULL,'Kelcy','Lathleiffure','1991-04-19','73696168M','890-133-5541','klathleiffurea@miibeian.gov.cn',NULL,'Ruby',NULL,NULL,33500,NULL,NULL,'nulla sed accumsan felis ut at dolor quis odio consequat',NULL) +INSERT INTO CANDIDATE VALUES(11,NULL,'Kaleena','Jonk','1994-09-28','76619635B','956-957-8235','kjonkb@e-recht24.de',NULL,'Design',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(12,NULL,'Tami','Scorton','1977-09-25','12571372D','599-466-8570','tscortonc@photobucket.com',NULL,'Compliance',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(13,NULL,'Davin','Frowde','1984-03-06','96529753H','396-303-0612','dfrowded@webs.com',NULL,'React',NULL,NULL,22000,NULL,NULL,'porta volutpat erat quisque erat eros viverra eget congue eget semper',NULL) +INSERT INTO CANDIDATE VALUES(14,NULL,'Kial','Titlow','1980-05-06','27680562Q','591-499-8814','ktitlowe@telegraph.co.uk',NULL,'HTML5',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO PROFILE VALUES(0,'Technician') +INSERT INTO EDUCATION VALUES(0,'Degree in Computer Science') +INSERT INTO STATUS VALUES(0,'Available') +INSERT INTO ORIGIN VALUES(0,'Recruiter') +INSERT INTO EXPERIENCE_LEVEL VALUES(0,'Junior') +INSERT INTO OFFER_STATUS VALUES(0,'PENDING') +INSERT INTO OFFER_CANDIDATE_STATUS VALUES(0,'INTERVIEW') +INSERT INTO OFFER VALUES(0,'Digital Twin','Two new Java developers should be incorporated. The salary range is between 20k\u20ac and 30k\u20ac. The location is in Vigo full time.','Janna Tirte',0,'2020-01-01','2020-02-07',NULL) +INSERT INTO OFFER VALUES(1,'Exotic language programmer','We are looking for a talented Programmer to create secure and functional code.\u000d\u000aYou may have to provide quality coding solutions both for simple applications and complex information or operating systems.\u000d\u000aThe ideal candidate will have a passion for technology and software building.\u000d\u000aAttention to detail and an analytical mind are essential qualities for a successful career in programming.','Richard Stallman',0,'2019-12-01','2019-12-15',NULL) +INSERT INTO OFFER VALUES(2,'HR Manager','We are looking for an experienced leader for our project management office focused on Project Management activities within our service delivery center to join our team in our Atlanta office. This role is integral to achieve accurate project management and process standardization throughout the organization. The major priority for the successful candidate will be to lead a team of project managers across a large portfolio of projects. Projects range from small enhancements, large-scale technology implementations, and daily operational activities.','Harry May',0,'2020-01-01','2020-01-07',NULL) +INSERT INTO OFFER VALUES(3,'Software developer','Works under the direction and supervision of application managers and project managers to help build the next generation of global financial data systems to support the client\u2019s front office, middle office processes and back-office risk, finance, compliance reporting, regulatory reporting, and capital markets and banking needs.','Tanya Howard',0,'2020-01-01','2020-01-02',NULL) +INSERT INTO OFFER VALUES(4,'UI developer','The ideal candidate will be responsible for developing user interfaces and controls that achieve maximum usability for our enterprise application and our customers.','Francis Harris',0,'2019-12-01','2019-12-24',NULL) +INSERT INTO OFFER VALUES(5,'Entry level management','With the addition of various new clients requesting that we expand our services to new markets, we have an urgent need for a passionate individual that we can train, support, and groom to accept a role as a Manager within our firm.\u000d\u000a\u000d\u000aTo ensure your success, we offer training that encompasses all facets of our business operations. You\u2019ll experience hands on training provided by seasoned professionals in each department, primarily:\u000d\u000a\u000d\u000aPromotional Marketing\u000d\u000aCustomer Service\u000d\u000aConsumer Relations\u000d\u000aBusiness Administration\u000d\u000aRecruiting and Talent Acquisition','Joy Boyd',0,'2019-11-01','2019-11-06',NULL) +INSERT INTO OFFER VALUES(6,'PHP developer','Responsible for all requests for data processing services including, preparation of specifications, development and maintenance of computer programs, job control language and operational documentation. Assists productions systems group. Interfaces with other departments to determine user needs.','Rebecca Bowman',0,'2020-01-01','2020-01-06',NULL) +INSERT INTO OFFER VALUES(7,'Security engineer','This position is open within the Security Engineering teams, which has full end-to-end ownership of security tools that allows for strong security prevention, detection and response capabilities. Our mission is to ensure cyber infrastructure is in line with industry standards by performing day-to-day system administration, product selection for new tools, deployment, configuration, maintenance, and support and license management.','Harry Gardner',0,'2020-01-01','2020-01-16',NULL) +INSERT INTO OFFER VALUES(8,'Project Manager','Performs a variety of duties associated with the development and production of the aircraft maintenance manuals, wiring diagram manuals and other associated documents. Utilize an automated publishing system to download, import, and distribute manual data.Individual will incorporate vendor revisions and Delta engineering documents into a Delta customized manual and coordinate the publishing of the same. Additional responsibilities may include continuous improvement of revision processes, training and point person for data issues. The Project Leader may also be responsible for review and distribution of Aircraft Maintenance Alerts (AMAs), company policy & procedures, bulletins, vendor access, and other technical information.','Erika Torres',0,'2020-01-01','2020-01-15',NULL) +INSERT INTO OFFER VALUES(9,'Istari support','Will provide administrative and logistical support to members of the executive team and may support other as needed. Must display professionalism and a strong work ethic while fostering a work environment that is positive, optimistic and collaborative. Position requires excellent administrative, communication, organizational and time management skills paired with flexibility, integrity and the ability to work independently. Must have Balrog fighting proficiency.','Eru I\u00favatar',0,'2020-01-01','2020-01-06',NULL) +INSERT INTO OFFER_CANDIDATES VALUES(0,0,0,0) +INSERT INTO OFFER_CANDIDATES VALUES(1,0,3,0) +INSERT INTO OFFER_CANDIDATES VALUES(2,0,8,0) +INSERT INTO OFFER_CANDIDATES VALUES(3,0,12,0) diff --git a/model/src/main/db/templateDB.txt b/model/src/main/db/templateDB.txt index a75d61e..1b69a7c 100644 --- a/model/src/main/db/templateDB.txt +++ b/model/src/main/db/templateDB.txt @@ -36,11 +36,11 @@ CREATE SCHEMA PUBLIC AUTHORIZATION DBA SET SCHEMA PUBLIC CREATE MEMORY TABLE PUBLIC.TUSER(USER_ VARCHAR(50) NOT NULL PRIMARY KEY,PASSWORD VARCHAR(50),NAME VARCHAR(50),SURNAME VARCHAR(50),EMAIL VARCHAR(50),NIF VARCHAR(50),USERBLOCKED TIMESTAMP,LASTPASSWORDUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,FIRSTLOGIN BOOLEAN DEFAULT TRUE) CREATE MEMORY TABLE PUBLIC.TROLE(ID_ROLENAME INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,ROLENAME VARCHAR(255),XMLCLIENTPERMISSION VARCHAR(16777216)) -ALTER TABLE PUBLIC.TROLE ALTER COLUMN ID_ROLENAME RESTART WITH 1 +ALTER TABLE PUBLIC.TROLE ALTER COLUMN ID_ROLENAME RESTART WITH 2 CREATE MEMORY TABLE PUBLIC.TUSER_ROLE(ID_USER_ROLE INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,ID_ROLENAME INTEGER,USER_ VARCHAR(50),CONSTRAINT FK_TUSER FOREIGN KEY(USER_) REFERENCES PUBLIC.TUSER(USER_),CONSTRAINT FK_TROLE FOREIGN KEY(ID_ROLENAME) REFERENCES PUBLIC.TROLE(ID_ROLENAME)) -ALTER TABLE PUBLIC.TUSER_ROLE ALTER COLUMN ID_USER_ROLE RESTART WITH 1 +ALTER TABLE PUBLIC.TUSER_ROLE ALTER COLUMN ID_USER_ROLE RESTART WITH 2 CREATE MEMORY TABLE PUBLIC.TSERVER_PERMISSION(ID_SERVER_PERMISSION INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,PERMISSION_NAME VARCHAR(16777216)) -ALTER TABLE PUBLIC.TSERVER_PERMISSION ALTER COLUMN ID_SERVER_PERMISSION RESTART WITH 17 +ALTER TABLE PUBLIC.TSERVER_PERMISSION ALTER COLUMN ID_SERVER_PERMISSION RESTART WITH 34 CREATE MEMORY TABLE PUBLIC.TREQUEST_STATISTICS(ID_REQUEST_STATISTICS INTEGER NOT NULL PRIMARY KEY,SERVICE_NAME VARCHAR(255),METHOD_NAME VARCHAR(50),USER_NAME VARCHAR(50),EXECUTION_DATE DATE,EXECUTION_TIME INTEGER,METHOD_PARAMS VARCHAR(5000),SERVICE_EXCEPTION VARCHAR(5000)) CREATE MEMORY TABLE PUBLIC.TSETTING(ID_SETTING INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,SETTING_KEY VARCHAR(16777216),SETTING_VALUE VARCHAR(16777216),SETTING_COMMENT VARCHAR(16777216)) ALTER TABLE PUBLIC.TSETTING ALTER COLUMN ID_SETTING RESTART WITH 8 @@ -51,7 +51,32 @@ ALTER TABLE PUBLIC.TI18N ALTER COLUMN ID_I18N RESTART WITH 1 CREATE MEMORY TABLE PUBLIC.TI18N_VALUE(ID_I18N_VALUE INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,ID_I18N INTEGER NOT NULL,"KEY" VARCHAR(250),ES_ES VARCHAR(16777216),EN_US VARCHAR(16777216),GL_ES VARCHAR(16777216)) ALTER TABLE PUBLIC.TI18N_VALUE ALTER COLUMN ID_I18N_VALUE RESTART WITH 34 CREATE MEMORY TABLE PUBLIC.TROLE_SERVER_PERMISSION(ID_ROLE_SERVER_PERMISSION INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,ID_ROLENAME INTEGER,ID_SERVER_PERMISSION INTEGER,CONSTRAINT FK_TROLE_SERVER_PERMISSION FOREIGN KEY(ID_ROLENAME) REFERENCES PUBLIC.TROLE(ID_ROLENAME),CONSTRAINT FK_TSERVER_PERMISSION FOREIGN KEY(ID_SERVER_PERMISSION) REFERENCES PUBLIC.TSERVER_PERMISSION(ID_SERVER_PERMISSION)) -ALTER TABLE PUBLIC.TROLE_SERVER_PERMISSION ALTER COLUMN ID_ROLE_SERVER_PERMISSION RESTART WITH 17 +ALTER TABLE PUBLIC.TROLE_SERVER_PERMISSION ALTER COLUMN ID_ROLE_SERVER_PERMISSION RESTART WITH 34 +CREATE MEMORY TABLE PUBLIC.CANDIDATE(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,PHOTO VARBINARY(16777216),NAME VARCHAR(255),SURNAME VARCHAR(255),BIRTHDAY DATE,DNI VARCHAR(255),PHONE VARCHAR(255),EMAIL VARCHAR(255),EDUCATION INTEGER,SPECIALTIES VARCHAR(255),STATUS INTEGER,ORIGIN INTEGER,WAGE_LEVEL NUMERIC(128),EXPERIENCE_LEVEL INTEGER,PROFILE INTEGER,COMMENT VARCHAR(255),LINKEDIN VARCHAR(255)) +ALTER TABLE PUBLIC.CANDIDATE ALTER COLUMN ID RESTART WITH 15 +CREATE MEMORY TABLE PUBLIC.PROFILE(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.PROFILE ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.EDUCATION(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.EDUCATION ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.STATUS(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.STATUS ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.ORIGIN(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.ORIGIN ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.EXPERIENCE_LEVEL(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.EXPERIENCE_LEVEL ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.OFFER_STATUS(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.OFFER_STATUS ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.OFFER_CANDIDATE_STATUS(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,DESCRIPTION VARCHAR(255) NOT NULL) +ALTER TABLE PUBLIC.OFFER_CANDIDATE_STATUS ALTER COLUMN ID RESTART WITH 1 +CREATE MEMORY TABLE PUBLIC.OFFER(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,ACRONYM VARCHAR(255),DESCRIPTION VARCHAR(1000),APPLICANT VARCHAR(255),OFFER_STATUS INTEGER,CREATION_DATE DATE,START_DATE DATE,END_DATE DATE,CONSTRAINT OFFER_FK_OFFER_STATUS FOREIGN KEY(OFFER_STATUS) REFERENCES PUBLIC.OFFER_STATUS(ID)) +ALTER TABLE PUBLIC.OFFER ALTER COLUMN ID RESTART WITH 10 +CREATE MEMORY TABLE PUBLIC.OFFER_CANDIDATES(ID INTEGER GENERATED BY DEFAULT AS IDENTITY(START WITH 0) NOT NULL PRIMARY KEY,OFFER_ID INTEGER NOT NULL,CANDIDATE_ID INTEGER NOT NULL,OFFER_CANDIDATE_STATUS INTEGER,CONSTRAINT OFFER_CANDIDATES_FK_CANDIDATES FOREIGN KEY(CANDIDATE_ID) REFERENCES PUBLIC.CANDIDATE(ID),CONSTRAINT OFFER_CANDIDATES_FK_OFFER FOREIGN KEY(OFFER_ID) REFERENCES PUBLIC.OFFER(ID),CONSTRAINT OFFER_CANDIDATES_FK_OFFER_CANDIDATES_STATUS FOREIGN KEY(OFFER_CANDIDATE_STATUS) REFERENCES PUBLIC.OFFER_CANDIDATE_STATUS(ID)) +ALTER TABLE PUBLIC.OFFER_CANDIDATES ALTER COLUMN ID RESTART WITH 4 +ALTER TABLE PUBLIC.CANDIDATE ADD CONSTRAINT CANDIDATE_FK_EDUCATION FOREIGN KEY(EDUCATION) REFERENCES PUBLIC.EDUCATION(ID) +ALTER TABLE PUBLIC.CANDIDATE ADD CONSTRAINT CANDIDATE_FK_STATUS FOREIGN KEY(STATUS) REFERENCES PUBLIC.STATUS(ID) +ALTER TABLE PUBLIC.CANDIDATE ADD CONSTRAINT CANDIDATE_FK_ORIGIN FOREIGN KEY(ORIGIN) REFERENCES PUBLIC.ORIGIN(ID) +ALTER TABLE PUBLIC.CANDIDATE ADD CONSTRAINT CANDIDATE_FK_EXPERIENCE_LEVEL FOREIGN KEY(EXPERIENCE_LEVEL) REFERENCES PUBLIC.EXPERIENCE_LEVEL(ID) +ALTER TABLE PUBLIC.CANDIDATE ADD CONSTRAINT CANDIDATE_FK_PROFILE FOREIGN KEY(PROFILE) REFERENCES PUBLIC.PROFILE(ID) ALTER SEQUENCE SYSTEM_LOBS.LOB_ID RESTART WITH 1 SET DATABASE DEFAULT INITIAL SCHEMA PUBLIC GRANT USAGE ON DOMAIN INFORMATION_SCHEMA.SQL_IDENTIFIER TO PUBLIC @@ -63,9 +88,12 @@ GRANT DBA TO SA SET SCHEMA SYSTEM_LOBS INSERT INTO BLOCKS VALUES(0,2147483647,0) SET SCHEMA PUBLIC +INSERT INTO TUSER VALUES('candidate','candidate','candidate','candidate',NULL,'99999999R',NULL,'2020-07-03 11:50:40.665000',NULL) INSERT INTO TUSER VALUES('demo','demouser','demo','demo',NULL,'44460713B',NULL,NULL,NULL) INSERT INTO TROLE VALUES(0,'admin','') +INSERT INTO TROLE VALUES(1,'candidate','') INSERT INTO TUSER_ROLE VALUES(0,0,'demo') +INSERT INTO TUSER_ROLE VALUES(1,1,'candidate') INSERT INTO TSERVER_PERMISSION VALUES(0,'com.ontimize.jee.common.services.user.IUserInformationService/getUserInformation') INSERT INTO TSERVER_PERMISSION VALUES(1,'com.ontimize.jee.common.services.mail.IMailService/sendMail') INSERT INTO TSERVER_PERMISSION VALUES(2,'com.ontimize.jee.common.services.mail.IMailService/sendMailWithoutAttach') @@ -82,6 +110,23 @@ INSERT INTO TSERVER_PERMISSION VALUES(12,'com.ontimize.jee.common.services.prefe INSERT INTO TSERVER_PERMISSION VALUES(13,'com.ontimize.jee.common.services.preferences.IRemoteApplicationPreferencesService/savePreferences') INSERT INTO TSERVER_PERMISSION VALUES(14,'com.ontimize.jee.common.services.preferences.IRemoteApplicationPreferencesService/loadPreferences') INSERT INTO TSERVER_PERMISSION VALUES(15,'com.ontimize.jee.common.services.i18n.II18nService/deleteBundleValues') +INSERT INTO TSERVER_PERMISSION VALUES(17,'com.ontimize.model.core.service.OfferService/offerQuery') +INSERT INTO TSERVER_PERMISSION VALUES(18,'com.ontimize.model.core.service.OfferService/offerInsert') +INSERT INTO TSERVER_PERMISSION VALUES(19,'com.ontimize.model.core.service.OfferService/offerUpdate') +INSERT INTO TSERVER_PERMISSION VALUES(20,'com.ontimize.model.core.service.OfferService/offerDelete') +INSERT INTO TSERVER_PERMISSION VALUES(21,'com.ontimize.model.core.service.OfferService/offerStatusQuery') +INSERT INTO TSERVER_PERMISSION VALUES(22,'com.ontimize.model.core.service.OfferService/offerStatusInsert') +INSERT INTO TSERVER_PERMISSION VALUES(23,'com.ontimize.model.core.service.OfferService/offerStatusUpdate') +INSERT INTO TSERVER_PERMISSION VALUES(24,'com.ontimize.model.core.service.OfferService/offerStatusDelete') +INSERT INTO TSERVER_PERMISSION VALUES(25,'com.ontimize.model.core.service.OfferService/offerCandidateQuery') +INSERT INTO TSERVER_PERMISSION VALUES(26,'com.ontimize.model.core.service.OfferService/offerCandidateDetailsQuery') +INSERT INTO TSERVER_PERMISSION VALUES(27,'com.ontimize.model.core.service.OfferService/offerCandidateInsert') +INSERT INTO TSERVER_PERMISSION VALUES(28,'com.ontimize.model.core.service.OfferService/offerCandidateUpdate') +INSERT INTO TSERVER_PERMISSION VALUES(29,'com.ontimize.model.core.service.OfferService/offerCandidateDelete') +INSERT INTO TSERVER_PERMISSION VALUES(30,'com.ontimize.model.core.service.OfferService/offerCandidateStatusQuery') +INSERT INTO TSERVER_PERMISSION VALUES(31,'com.ontimize.model.core.service.OfferService/offerCandidateStatusInsert') +INSERT INTO TSERVER_PERMISSION VALUES(32,'com.ontimize.model.core.service.OfferService/offerCandidateStatusUpdate') +INSERT INTO TSERVER_PERMISSION VALUES(33,'com.ontimize.model.core.service.OfferService/offerCandidateStatusDelete') INSERT INTO TSETTING VALUES(0,'mail_host','smtp.gmail.com','Host del servidor') INSERT INTO TSETTING VALUES(1,'mail_port','587','Puerto del servidor de email') INSERT INTO TSETTING VALUES(2,'mail_protocol','smtp','Protocolo de env\u005cu00edo de mails') @@ -107,4 +152,57 @@ INSERT INTO TROLE_SERVER_PERMISSION VALUES(11,0,11) INSERT INTO TROLE_SERVER_PERMISSION VALUES(12,0,12) INSERT INTO TROLE_SERVER_PERMISSION VALUES(13,0,13) INSERT INTO TROLE_SERVER_PERMISSION VALUES(14,0,14) -INSERT INTO TROLE_SERVER_PERMISSION VALUES(15,0,15) \ No newline at end of file +INSERT INTO TROLE_SERVER_PERMISSION VALUES(15,0,15) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(17,0,17) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(18,0,18) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(19,0,19) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(20,0,20) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(21,0,21) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(22,0,22) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(23,0,23) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(24,0,24) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(25,0,25) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(26,0,26) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(27,0,27) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(28,0,28) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(29,0,29) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(30,0,30) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(31,0,31) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(32,0,32) +INSERT INTO TROLE_SERVER_PERMISSION VALUES(33,0,33) +INSERT INTO CANDIDATE VALUES(0,NULL,'Nonnah','Baden','1994-12-24','71958681F','591-646-5605','nbaden0@plala.or.jp',NULL,'Erlang',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(1,NULL,'Claiborn','Shawell','1989-08-01','28224678K','909-780-3858','cshawell1@chron.com',NULL,'JavaFX',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(2,NULL,'Anne-marie','Frampton','1985-12-17','48230973L','466-225-8193','aframpton2@addtoany.com',NULL,'Matlab',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(3,NULL,'Aron','Wiseman','1981-09-08','75760366E','969-405-2922','awiseman3@google.com.br',NULL,'Compliance',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(4,NULL,'Hyatt','Faircley','1977-05-25','14709704P','375-972-2164','hfaircley4@sbwire.com',NULL,'Haskell',NULL,NULL,45000,NULL,NULL,'nulla pede ullamcorper augue a suscipit nulla elit ac nulla',NULL) +INSERT INTO CANDIDATE VALUES(5,NULL,'Daune','Woolham','1978-06-21','50472212T','675-891-2878','dwoolham5@stanford.edu',NULL,'React',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(6,NULL,'Kaila','Earwicker','1988-04-26','90445706T','642-759-7346','kearwicker6@sogou.com',NULL,'HTML5',NULL,NULL,23000,NULL,NULL,'ut ultrices vel augue vestibulum ante ipsum primis in faucibus',NULL) +INSERT INTO CANDIDATE VALUES(7,NULL,'Felisha','Rahl','1990-05-28','76140170G','712-914-9094','frahl7@ox.ac.uk',NULL,'Docker',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(8,NULL,'Charla','Note','1981-11-27','41685146S','284-789-0755','cnote8@cafepress.com',NULL,'MS Office',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(9,NULL,'Candie','Ibert','1978-09-24','00273718H','299-578-6249','cibert9@apple.com',NULL,'Taxation',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(10,NULL,'Kelcy','Lathleiffure','1991-04-19','73696168M','890-133-5541','klathleiffurea@miibeian.gov.cn',NULL,'Ruby',NULL,NULL,33500,NULL,NULL,'nulla sed accumsan felis ut at dolor quis odio consequat',NULL) +INSERT INTO CANDIDATE VALUES(11,NULL,'Kaleena','Jonk','1994-09-28','76619635B','956-957-8235','kjonkb@e-recht24.de',NULL,'Design',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(12,NULL,'Tami','Scorton','1977-09-25','12571372D','599-466-8570','tscortonc@photobucket.com',NULL,'Compliance',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO CANDIDATE VALUES(13,NULL,'Davin','Frowde','1984-03-06','96529753H','396-303-0612','dfrowded@webs.com',NULL,'React',NULL,NULL,22000,NULL,NULL,'porta volutpat erat quisque erat eros viverra eget congue eget semper',NULL) +INSERT INTO CANDIDATE VALUES(14,NULL,'Kial','Titlow','1980-05-06','27680562Q','591-499-8814','ktitlowe@telegraph.co.uk',NULL,'HTML5',NULL,NULL,NULL,NULL,NULL,NULL,NULL) +INSERT INTO PROFILE VALUES(0,'Technician') +INSERT INTO EDUCATION VALUES(0,'Degree in Computer Science') +INSERT INTO STATUS VALUES(0,'Available') +INSERT INTO ORIGIN VALUES(0,'Recruiter') +INSERT INTO EXPERIENCE_LEVEL VALUES(0,'Junior') +INSERT INTO OFFER_STATUS VALUES(0,'PENDING') +INSERT INTO OFFER_CANDIDATE_STATUS VALUES(0,'INTERVIEW') +INSERT INTO OFFER VALUES(0,'Digital Twin','Two new Java developers should be incorporated. The salary range is between 20k\u20ac and 30k\u20ac. The location is in Vigo full time.','Janna Tirte',0,'2020-01-01','2020-02-07',NULL) +INSERT INTO OFFER VALUES(1,'Exotic language programmer','We are looking for a talented Programmer to create secure and functional code.\u000d\u000aYou may have to provide quality coding solutions both for simple applications and complex information or operating systems.\u000d\u000aThe ideal candidate will have a passion for technology and software building.\u000d\u000aAttention to detail and an analytical mind are essential qualities for a successful career in programming.','Richard Stallman',0,'2019-12-01','2019-12-15',NULL) +INSERT INTO OFFER VALUES(2,'HR Manager','We are looking for an experienced leader for our project management office focused on Project Management activities within our service delivery center to join our team in our Atlanta office. This role is integral to achieve accurate project management and process standardization throughout the organization. The major priority for the successful candidate will be to lead a team of project managers across a large portfolio of projects. Projects range from small enhancements, large-scale technology implementations, and daily operational activities.','Harry May',0,'2020-01-01','2020-01-07',NULL) +INSERT INTO OFFER VALUES(3,'Software developer','Works under the direction and supervision of application managers and project managers to help build the next generation of global financial data systems to support the client\u2019s front office, middle office processes and back-office risk, finance, compliance reporting, regulatory reporting, and capital markets and banking needs.','Tanya Howard',0,'2020-01-01','2020-01-02',NULL) +INSERT INTO OFFER VALUES(4,'UI developer','The ideal candidate will be responsible for developing user interfaces and controls that achieve maximum usability for our enterprise application and our customers.','Francis Harris',0,'2019-12-01','2019-12-24',NULL) +INSERT INTO OFFER VALUES(5,'Entry level management','With the addition of various new clients requesting that we expand our services to new markets, we have an urgent need for a passionate individual that we can train, support, and groom to accept a role as a Manager within our firm.\u000d\u000a\u000d\u000aTo ensure your success, we offer training that encompasses all facets of our business operations. You\u2019ll experience hands on training provided by seasoned professionals in each department, primarily:\u000d\u000a\u000d\u000aPromotional Marketing\u000d\u000aCustomer Service\u000d\u000aConsumer Relations\u000d\u000aBusiness Administration\u000d\u000aRecruiting and Talent Acquisition','Joy Boyd',0,'2019-11-01','2019-11-06',NULL) +INSERT INTO OFFER VALUES(6,'PHP developer','Responsible for all requests for data processing services including, preparation of specifications, development and maintenance of computer programs, job control language and operational documentation. Assists productions systems group. Interfaces with other departments to determine user needs.','Rebecca Bowman',0,'2020-01-01','2020-01-06',NULL) +INSERT INTO OFFER VALUES(7,'Security engineer','This position is open within the Security Engineering teams, which has full end-to-end ownership of security tools that allows for strong security prevention, detection and response capabilities. Our mission is to ensure cyber infrastructure is in line with industry standards by performing day-to-day system administration, product selection for new tools, deployment, configuration, maintenance, and support and license management.','Harry Gardner',0,'2020-01-01','2020-01-16',NULL) +INSERT INTO OFFER VALUES(8,'Project Manager','Performs a variety of duties associated with the development and production of the aircraft maintenance manuals, wiring diagram manuals and other associated documents. Utilize an automated publishing system to download, import, and distribute manual data.Individual will incorporate vendor revisions and Delta engineering documents into a Delta customized manual and coordinate the publishing of the same. Additional responsibilities may include continuous improvement of revision processes, training and point person for data issues. The Project Leader may also be responsible for review and distribution of Aircraft Maintenance Alerts (AMAs), company policy & procedures, bulletins, vendor access, and other technical information.','Erika Torres',0,'2020-01-01','2020-01-15',NULL) +INSERT INTO OFFER VALUES(9,'Istari support','Will provide administrative and logistical support to members of the executive team and may support other as needed. Must display professionalism and a strong work ethic while fostering a work environment that is positive, optimistic and collaborative. Position requires excellent administrative, communication, organizational and time management skills paired with flexibility, integrity and the ability to work independently. Must have Balrog fighting proficiency.','Eru I\u00favatar',0,'2020-01-01','2020-01-06',NULL) +INSERT INTO OFFER_CANDIDATES VALUES(0,0,0,0) +INSERT INTO OFFER_CANDIDATES VALUES(1,0,3,0) +INSERT INTO OFFER_CANDIDATES VALUES(2,0,8,0) +INSERT INTO OFFER_CANDIDATES VALUES(3,0,12,0) diff --git a/model/src/main/java/com/ontimize/model/core/dao/CandidateDao.java b/model/src/main/java/com/ontimize/model/core/dao/CandidateDao.java new file mode 100644 index 0000000..cebb4cb --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/dao/CandidateDao.java @@ -0,0 +1,32 @@ +package com.ontimize.model.core.dao; + +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Repository; + +import com.ontimize.jee.server.dao.common.ConfigurationFile; +import com.ontimize.jee.server.dao.jdbc.OntimizeJdbcDaoSupport; + +@Repository("CandidateDao") +@Lazy +@ConfigurationFile(configurationFile = "dao/CandidateDao.xml", configurationFilePlaceholder = "dao/placeholders.properties") +public class CandidateDao extends OntimizeJdbcDaoSupport { + + public static final String ATTR_ID = "ID"; + public static final String ATTR_PHOTO = "PHOTO"; + public static final String ATTR_NAME = "NAME"; + public static final String ATTR_SURNAME = "SURNAME"; + public static final String ATTR_BIRTHDAY = "BIRTHDAY"; + public static final String ATTR_DNI = "DNI"; + public static final String ATTR_PHONE = "PHONE"; + public static final String ATTR_EMAIL = "EMAIL"; + public static final String ATTR_EDUCATION = "EDUCATION"; + public static final String ATTR_SPECIALTIES = "SPECIALTIES"; + public static final String ATTR_STATUS = "STATUS"; + public static final String ATTR_ORIGIN = "ORIGIN"; + public static final String ATTR_WAGE_LEVEL = "WAGE_LEVEL"; + public static final String ATTR_EXPERIENCE_LEVEL = "EXPERIENCE_LEVEL"; + public static final String ATTR_PROFILE = "PROFILE"; + public static final String ATTR_COMMENT = "COMMENT"; + public static final String ATTR_LINKEDIN = "LINKEDIN"; + +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/dao/EducationDao.java b/model/src/main/java/com/ontimize/model/core/dao/EducationDao.java new file mode 100644 index 0000000..07fb9c7 --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/dao/EducationDao.java @@ -0,0 +1,16 @@ +package com.ontimize.model.core.dao; + +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Repository; + +import com.ontimize.jee.server.dao.common.ConfigurationFile; +import com.ontimize.jee.server.dao.jdbc.OntimizeJdbcDaoSupport; + +@Repository("EducationDao") +@Lazy +@ConfigurationFile(configurationFile = "dao/EducationDao.xml", configurationFilePlaceholder = "dao/placeholders.properties") +public class EducationDao extends OntimizeJdbcDaoSupport { + + public static final String ATTR_ID = "ID"; + public static final String ATTR_DESCRIPTION = "DESCRIPTION"; +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/dao/ExperienceLevelDao.java b/model/src/main/java/com/ontimize/model/core/dao/ExperienceLevelDao.java new file mode 100644 index 0000000..bab72ec --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/dao/ExperienceLevelDao.java @@ -0,0 +1,16 @@ +package com.ontimize.model.core.dao; + +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Repository; + +import com.ontimize.jee.server.dao.common.ConfigurationFile; +import com.ontimize.jee.server.dao.jdbc.OntimizeJdbcDaoSupport; + +@Repository("ExperienceLevelDao") +@Lazy +@ConfigurationFile(configurationFile = "dao/ExperienceLevelDao.xml", configurationFilePlaceholder = "dao/placeholders.properties") +public class ExperienceLevelDao extends OntimizeJdbcDaoSupport { + + public static final String ATTR_ID = "ID"; + public static final String ATTR_DESCRIPTION = "DESCRIPTION"; +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/dao/OfferCandidateStatusDao.java b/model/src/main/java/com/ontimize/model/core/dao/OfferCandidateStatusDao.java new file mode 100644 index 0000000..bcf1a04 --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/dao/OfferCandidateStatusDao.java @@ -0,0 +1,17 @@ +package com.ontimize.model.core.dao; + +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Repository; + +import com.ontimize.jee.server.dao.common.ConfigurationFile; +import com.ontimize.jee.server.dao.jdbc.OntimizeJdbcDaoSupport; + +@Repository("OfferCandidateStatusDao") +@Lazy +@ConfigurationFile(configurationFile = "dao/OfferCandidateStatusDao.xml", configurationFilePlaceholder = "dao/placeholders.properties") +public class OfferCandidateStatusDao extends OntimizeJdbcDaoSupport { + + public static final String ATTR_ID ="ID"; + public static final String ATTR_DESCRIPTION ="DESCRIPTION"; + +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/dao/OfferCandidatesDao.java b/model/src/main/java/com/ontimize/model/core/dao/OfferCandidatesDao.java new file mode 100644 index 0000000..0d9362a --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/dao/OfferCandidatesDao.java @@ -0,0 +1,20 @@ +package com.ontimize.model.core.dao; + +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Repository; + +import com.ontimize.jee.server.dao.common.ConfigurationFile; +import com.ontimize.jee.server.dao.jdbc.OntimizeJdbcDaoSupport; + +@Repository("OfferCandidatesDao") +@Lazy +@ConfigurationFile(configurationFile = "dao/OfferCandidatesDao.xml", configurationFilePlaceholder = "dao/placeholders.properties") +public class OfferCandidatesDao extends OntimizeJdbcDaoSupport { + + public static final String ATTR_ID ="ID"; + public static final String ATTR_OFFER_ID ="OFFER_ID"; + public static final String ATTR_CANDIDATE_ID ="CANDIDATE_ID"; + public static final String ATTR_OFFER_CANDIDATE_STATUS ="OFFER_CANDIDATE_STATUS"; + public static final String QUERY_OFFER_DETAILS = "details"; + +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/dao/OfferDao.java b/model/src/main/java/com/ontimize/model/core/dao/OfferDao.java new file mode 100644 index 0000000..59c6b02 --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/dao/OfferDao.java @@ -0,0 +1,22 @@ +package com.ontimize.model.core.dao; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Repository; + +import com.ontimize.jee.server.dao.common.ConfigurationFile; +import com.ontimize.jee.server.dao.jdbc.OntimizeJdbcDaoSupport; + +@Repository("OfferDao") +@Lazy +@ConfigurationFile(configurationFile = "dao/OfferDao.xml", configurationFilePlaceholder = "dao/placeholders.properties") +public class OfferDao extends OntimizeJdbcDaoSupport { + + public static final String ATTR_ID = "ID"; + public static final String ATTR_ACRONYM = "ACRONYM"; + public static final String ATTR_DESCRIPTION = "DESCRIPTION"; + public static final String ATTR_APPLICANT = "APPLICANT"; + public static final String ATTR_OFFER_STATUS = "OFFER_STATUS"; + public static final String ATTR_CREATION_DATE = "CREATION_DATE"; + public static final String ATTR_START_DATE = "START_DATE"; + public static final String ATTR_END_DATE = "END_DATE"; + +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/dao/OfferStatusDao.java b/model/src/main/java/com/ontimize/model/core/dao/OfferStatusDao.java new file mode 100644 index 0000000..a143a0b --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/dao/OfferStatusDao.java @@ -0,0 +1,16 @@ +package com.ontimize.model.core.dao; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Repository; + +import com.ontimize.jee.server.dao.common.ConfigurationFile; +import com.ontimize.jee.server.dao.jdbc.OntimizeJdbcDaoSupport; + +@Repository("OfferStatusDao") +@Lazy +@ConfigurationFile(configurationFile = "dao/OfferStatusDao.xml", configurationFilePlaceholder = "dao/placeholders.properties") +public class OfferStatusDao extends OntimizeJdbcDaoSupport { + + public static final String ATTR_ID ="ID"; + public static final String ATTR_DESCRIPTION ="DESCRIPTION"; + +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/dao/OriginDao.java b/model/src/main/java/com/ontimize/model/core/dao/OriginDao.java new file mode 100644 index 0000000..a0e8937 --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/dao/OriginDao.java @@ -0,0 +1,16 @@ +package com.ontimize.model.core.dao; + +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Repository; + +import com.ontimize.jee.server.dao.common.ConfigurationFile; +import com.ontimize.jee.server.dao.jdbc.OntimizeJdbcDaoSupport; + +@Repository("OriginDao") +@Lazy +@ConfigurationFile(configurationFile = "dao/OriginDao.xml", configurationFilePlaceholder = "dao/placeholders.properties") +public class OriginDao extends OntimizeJdbcDaoSupport { + + public static final String ATTR_ID = "ID"; + public static final String ATTR_DESCRIPTION = "DESCRIPTION"; +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/dao/ProfileDao.java b/model/src/main/java/com/ontimize/model/core/dao/ProfileDao.java new file mode 100644 index 0000000..505d759 --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/dao/ProfileDao.java @@ -0,0 +1,16 @@ +package com.ontimize.model.core.dao; + +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Repository; + +import com.ontimize.jee.server.dao.common.ConfigurationFile; +import com.ontimize.jee.server.dao.jdbc.OntimizeJdbcDaoSupport; + +@Repository("ProfileDao") +@Lazy +@ConfigurationFile(configurationFile = "dao/ProfileDao.xml", configurationFilePlaceholder = "dao/placeholders.properties") +public class ProfileDao extends OntimizeJdbcDaoSupport { + + public static final String ATTR_ID = "ID"; + public static final String ATTR_DESCRIPTION = "DESCRIPTION"; +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/dao/StatusDao.java b/model/src/main/java/com/ontimize/model/core/dao/StatusDao.java new file mode 100644 index 0000000..951512e --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/dao/StatusDao.java @@ -0,0 +1,16 @@ +package com.ontimize.model.core.dao; + +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Repository; + +import com.ontimize.jee.server.dao.common.ConfigurationFile; +import com.ontimize.jee.server.dao.jdbc.OntimizeJdbcDaoSupport; + +@Repository("StatusDao") +@Lazy +@ConfigurationFile(configurationFile = "dao/StatusDao.xml", configurationFilePlaceholder = "dao/placeholders.properties") +public class StatusDao extends OntimizeJdbcDaoSupport { + + public static final String ATTR_ID = "ID"; + public static final String ATTR_DESCRIPTION = "DESCRIPTION"; +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/service/CandidateService.java b/model/src/main/java/com/ontimize/model/core/service/CandidateService.java new file mode 100644 index 0000000..a9460fa --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/service/CandidateService.java @@ -0,0 +1,197 @@ +package com.ontimize.model.core.service; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.ontimize.api.core.service.ICandidateService; +import com.ontimize.db.EntityResult; +import com.ontimize.jee.common.exceptions.OntimizeJEERuntimeException; +import com.ontimize.jee.server.dao.DefaultOntimizeDaoHelper; +import com.ontimize.model.core.dao.CandidateDao; +import com.ontimize.model.core.dao.EducationDao; +import com.ontimize.model.core.dao.ExperienceLevelDao; +import com.ontimize.model.core.dao.OriginDao; +import com.ontimize.model.core.dao.ProfileDao; +import com.ontimize.model.core.dao.StatusDao; + +@Service("CandidateService") +@Lazy +public class CandidateService implements ICandidateService { + + @Autowired + private CandidateDao candidateDao; + @Autowired + private DefaultOntimizeDaoHelper daoHelper; + /** + * It stores the master service. When you mark it with the @Autowired notation, + * it links automatically without using any setter + */ + @Autowired + private MasterService masterService; + + @Override + public EntityResult candidateQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.candidateDao, keyMap, attrList); + } + + /** + * This method adds a new candidate. It removes from the parameters those items + * not directly belonging to the table of candidates in case of that are of the + * {@link String} type. Look for the identifier of this data in case that they + * exist or adds them to the corresponding tables, and associates them with the + * correct identifier. Then add these new elements to the list of applicant's + * items and performs the insert of a new candidate + * + * + * @param attrMap A {@link Map} containing the data of the new candidate to be + * inserted. + */ + @Override + @Transactional(rollbackFor = Exception.class) + public EntityResult candidateInsert(Map attrMap) throws OntimizeJEERuntimeException { + Map nonCandidateData = removeNonRelatedData(attrMap, CandidateDao.ATTR_EDUCATION, + CandidateDao.ATTR_EXPERIENCE_LEVEL, CandidateDao.ATTR_ORIGIN, CandidateDao.ATTR_PROFILE, + CandidateDao.ATTR_STATUS); + this.insertNonRelatedData(nonCandidateData); + attrMap.putAll(nonCandidateData); + return this.daoHelper.insert(this.candidateDao, attrMap); + } + + /** + * This method updates a candidate. It removes from the parameters those items + * not directly belonging to the table of candidates in case of that are of the + * {@link String} type. Look for the identifier of this data in case that they + * exist or adds them to the corresponding tables, and associates them with the + * correct identifier. Then add these new elements to the list of applicant's + * items and performs the update of a candidate + * + * + * @param attrMap A {@link Map} containing the data of the candidate to be + * updated. + * @param keyMap A {@link Map} containing the identification of the candidate + * to be updated. + */ + @Override + @Transactional(rollbackFor = Exception.class) + public EntityResult candidateUpdate(Map attrMap, Map keyMap) + throws OntimizeJEERuntimeException { + Map nonCandidateData = removeNonRelatedData(attrMap, CandidateDao.ATTR_EDUCATION, + CandidateDao.ATTR_EXPERIENCE_LEVEL, CandidateDao.ATTR_ORIGIN, CandidateDao.ATTR_PROFILE, + CandidateDao.ATTR_STATUS); + this.insertNonRelatedData(nonCandidateData); + attrMap.putAll(nonCandidateData); + return this.daoHelper.update(this.candidateDao, attrMap, keyMap); + } + + @Override + public EntityResult candidateDelete(Map keyMap) throws OntimizeJEERuntimeException { + return this.daoHelper.delete(this.candidateDao, keyMap); + } + + /** + * It removes from a map all the keys and values of the map that match those + * keys in their following parameters and returns a map with the extracted keys + * and values + * + * @param attrMap A {@link Map} with all keys + * @param attrToExclude Multiple {@link String} that can be found as key of + * {@code attrMap} + * @return A {@link Map} with all of the keys and values removed from + * {@code attrMap} + */ + private Map removeNonRelatedData(Map attrMap, String... attrToExclude) { + HashMap data = new HashMap(); + for (String attr : attrToExclude) { + if (attrMap.containsKey(attr) && attrMap.get(attr) instanceof String) { + data.put(attr, attrMap.remove(attr)); + } + } + return data; + } + + /** + * Checks if the data stored in the map passed by parameter exists in the + * database table corresponding to the {@link MasterService} service. If so, it + * replaces the value with the corresponding identifier. In case it does not + * exist, it stores that value and substitutes the element's value in the map + * with its identifier + * + * @param nonCandidateData Values to be inserted in the tables managed by the + * {@link MasterService} + */ + private void insertNonRelatedData(Map nonCandidateData) { + for (Entry entry : nonCandidateData.entrySet()) { + Map data = new HashMap(); + List attr = new ArrayList(); + EntityResult toret, query; + switch (entry.getKey()) { + case CandidateDao.ATTR_EDUCATION: + data.put(EducationDao.ATTR_DESCRIPTION, entry.getValue()); + attr.add(EducationDao.ATTR_ID); + query = this.masterService.educationQuery(data, attr); + if (query.calculateRecordNumber() > 0) { + entry.setValue(query.getRecordValues(0).get(EducationDao.ATTR_ID)); + } else { + toret = this.masterService.educationInsert(data); + entry.setValue(toret.get(EducationDao.ATTR_ID)); + } + break; + case CandidateDao.ATTR_EXPERIENCE_LEVEL: + data.put(ExperienceLevelDao.ATTR_DESCRIPTION, entry.getValue()); + attr.add(ExperienceLevelDao.ATTR_ID); + query = this.masterService.experienceLevelQuery(data, attr); + if (query.calculateRecordNumber() > 0) { + entry.setValue(query.getRecordValues(0).get(ExperienceLevelDao.ATTR_ID)); + } else { + toret = this.masterService.experienceLevelInsert(data); + entry.setValue(toret.get(ExperienceLevelDao.ATTR_ID)); + } + break; + case CandidateDao.ATTR_ORIGIN: + data.put(OriginDao.ATTR_DESCRIPTION, entry.getValue()); + attr.add(OriginDao.ATTR_ID); + query = this.masterService.originQuery(data, attr); + if (query.calculateRecordNumber() > 0) { + entry.setValue(query.getRecordValues(0).get(OriginDao.ATTR_ID)); + } else { + toret = this.masterService.originInsert(data); + entry.setValue(toret.get(OriginDao.ATTR_ID)); + } + break; + case CandidateDao.ATTR_PROFILE: + data.put(ProfileDao.ATTR_DESCRIPTION, entry.getValue()); + attr.add(ProfileDao.ATTR_ID); + query = this.masterService.profileQuery(data, attr); + if (query.calculateRecordNumber() > 0) { + entry.setValue(query.getRecordValues(0).get(ProfileDao.ATTR_ID)); + } else { + toret = this.masterService.profileInsert(data); + entry.setValue(toret.get(ProfileDao.ATTR_ID)); + } + break; + case CandidateDao.ATTR_STATUS: + data.put(StatusDao.ATTR_DESCRIPTION, entry.getValue()); + attr.add(StatusDao.ATTR_ID); + query = this.masterService.statusQuery(data, attr); + if (query.calculateRecordNumber() > 0) { + entry.setValue(query.getRecordValues(0).get(StatusDao.ATTR_ID)); + } else { + toret = this.masterService.statusInsert(data); + entry.setValue(toret.get(StatusDao.ATTR_ID)); + } + break; + default: + break; + } + } + } +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/service/MasterService.java b/model/src/main/java/com/ontimize/model/core/service/MasterService.java new file mode 100644 index 0000000..4d840ca --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/service/MasterService.java @@ -0,0 +1,141 @@ +package com.ontimize.model.core.service; + +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Service; + +import com.ontimize.db.EntityResult; +import com.ontimize.api.core.service.IMasterService; +import com.ontimize.model.core.dao.EducationDao; +import com.ontimize.model.core.dao.ExperienceLevelDao; +import com.ontimize.model.core.dao.OriginDao; +import com.ontimize.model.core.dao.ProfileDao; +import com.ontimize.model.core.dao.StatusDao; +import com.ontimize.jee.common.exceptions.OntimizeJEERuntimeException; +import com.ontimize.jee.server.dao.DefaultOntimizeDaoHelper; + +@Service("MasterService") +@Lazy +public class MasterService implements IMasterService { + + @Autowired private EducationDao educationDao; + @Autowired private ExperienceLevelDao experienceLevelDao; + @Autowired private OriginDao originDao; + @Autowired private ProfileDao profileDao; + @Autowired private StatusDao statusDao; + @Autowired private DefaultOntimizeDaoHelper daoHelper; + + @Override + public EntityResult educationQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.educationDao, keyMap, attrList); + } + + @Override + public EntityResult educationInsert(Map attrMap) throws OntimizeJEERuntimeException { + return this.daoHelper.insert(this.educationDao, attrMap); + } + + @Override + public EntityResult educationUpdate(Map attrMap, Map keyMap) + throws OntimizeJEERuntimeException { + return this.daoHelper.update(this.educationDao, attrMap, keyMap); + } + + @Override + public EntityResult educationDelete(Map keyMap) throws OntimizeJEERuntimeException { + return this.daoHelper.delete(this.educationDao, keyMap); + } + + @Override + public EntityResult experienceLevelQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.experienceLevelDao, keyMap, attrList); + } + + @Override + public EntityResult experienceLevelInsert(Map attrMap) throws OntimizeJEERuntimeException { + return this.daoHelper.insert(this.experienceLevelDao, attrMap); + } + + @Override + public EntityResult experienceLevelUpdate(Map attrMap, Map keyMap) + throws OntimizeJEERuntimeException { + return this.daoHelper.update(this.experienceLevelDao, attrMap, keyMap); + } + + @Override + public EntityResult experienceLevelDelete(Map keyMap) throws OntimizeJEERuntimeException { + return this.daoHelper.delete(this.experienceLevelDao, keyMap); + } + + @Override + public EntityResult originQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.originDao, keyMap, attrList); + } + + @Override + public EntityResult originInsert(Map attrMap) throws OntimizeJEERuntimeException { + return this.daoHelper.insert(this.originDao, attrMap); + } + + @Override + public EntityResult originUpdate(Map attrMap, Map keyMap) + throws OntimizeJEERuntimeException { + return this.daoHelper.update(this.originDao, attrMap, keyMap); + } + + @Override + public EntityResult originDelete(Map keyMap) throws OntimizeJEERuntimeException { + return this.daoHelper.delete(this.originDao, keyMap); + } + + @Override + public EntityResult profileQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.profileDao, keyMap, attrList); + } + + @Override + public EntityResult profileInsert(Map attrMap) throws OntimizeJEERuntimeException { + return this.daoHelper.insert(this.profileDao, attrMap); + } + + @Override + public EntityResult profileUpdate(Map attrMap, Map keyMap) + throws OntimizeJEERuntimeException { + return this.daoHelper.update(this.profileDao, attrMap, keyMap); + } + + @Override + public EntityResult profileDelete(Map keyMap) throws OntimizeJEERuntimeException { + return this.daoHelper.delete(this.profileDao, keyMap); + } + + @Override + public EntityResult statusQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.statusDao, keyMap, attrList); + } + + @Override + public EntityResult statusInsert(Map attrMap) throws OntimizeJEERuntimeException { + return this.daoHelper.insert(this.statusDao, attrMap); + } + + @Override + public EntityResult statusUpdate(Map attrMap, Map keyMap) + throws OntimizeJEERuntimeException { + return this.daoHelper.update(this.statusDao, attrMap, keyMap); + } + + @Override + public EntityResult statusDelete(Map keyMap) throws OntimizeJEERuntimeException { + return this.daoHelper.delete(this.statusDao, keyMap); + } + +} \ No newline at end of file diff --git a/model/src/main/java/com/ontimize/model/core/service/OfferService.java b/model/src/main/java/com/ontimize/model/core/service/OfferService.java new file mode 100644 index 0000000..d7d5192 --- /dev/null +++ b/model/src/main/java/com/ontimize/model/core/service/OfferService.java @@ -0,0 +1,141 @@ +package com.ontimize.model.core.service; + +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.security.access.annotation.Secured; +import org.springframework.stereotype.Service; + +import com.ontimize.db.EntityResult; +import com.ontimize.api.core.service.IOfferService; +import com.ontimize.model.core.dao.OfferCandidateStatusDao; +import com.ontimize.model.core.dao.OfferCandidatesDao; +import com.ontimize.model.core.dao.OfferDao; +import com.ontimize.model.core.dao.OfferStatusDao; +import com.ontimize.jee.common.exceptions.OntimizeJEERuntimeException; +import com.ontimize.jee.common.security.PermissionsProviderSecured; +import com.ontimize.jee.server.dao.DefaultOntimizeDaoHelper; + +@Service("OfferService") +@Lazy +public class OfferService implements IOfferService { + + @Autowired private OfferDao offerDao; + @Autowired private OfferStatusDao offerStatusDao; + @Autowired private OfferCandidatesDao offerCandidatesDao; + @Autowired private OfferCandidateStatusDao offerCandidateStatusDao; + @Autowired private DefaultOntimizeDaoHelper daoHelper; + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.offerDao, keyMap, attrList); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerInsert(Map attrMap) throws OntimizeJEERuntimeException { + return this.daoHelper.insert(this.offerDao, attrMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerUpdate(Map attrMap, Map keyMap) + throws OntimizeJEERuntimeException { + return this.daoHelper.update(this.offerDao, attrMap, keyMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerDelete(Map keyMap) throws OntimizeJEERuntimeException { + return this.daoHelper.delete(this.offerDao, keyMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerStatusQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.offerStatusDao, keyMap, attrList); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerStatusInsert(Map attrMap) throws OntimizeJEERuntimeException { + return this.daoHelper.insert(this.offerStatusDao, attrMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerStatusUpdate(Map attrMap, Map keyMap) + throws OntimizeJEERuntimeException { + return this.daoHelper.update(this.offerStatusDao, attrMap, keyMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerStatusDelete(Map keyMap) throws OntimizeJEERuntimeException { + return this.daoHelper.delete(this.offerStatusDao, keyMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerCandidateQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.offerCandidatesDao, keyMap, attrList); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerCandidateDetailsQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.offerCandidatesDao, keyMap, attrList, OfferCandidatesDao.QUERY_OFFER_DETAILS); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerCandidateInsert(Map attrMap) throws OntimizeJEERuntimeException { + return this.daoHelper.insert(this.offerCandidatesDao, attrMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerCandidateUpdate(Map attrMap, Map keyMap) + throws OntimizeJEERuntimeException { + return this.daoHelper.update(this.offerCandidatesDao, attrMap, keyMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerCandidateDelete(Map keyMap) throws OntimizeJEERuntimeException { + return this.daoHelper.delete(this.offerCandidatesDao, keyMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerCandidateStatusQuery(Map keyMap, List attrList) + throws OntimizeJEERuntimeException { + return this.daoHelper.query(this.offerCandidateStatusDao, keyMap, attrList); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerCandidateStatusInsert(Map attrMap) throws OntimizeJEERuntimeException { + return this.daoHelper.insert(this.offerCandidateStatusDao, attrMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerCandidateStatusUpdate(Map attrMap, Map keyMap) + throws OntimizeJEERuntimeException { + return this.daoHelper.update(this.offerCandidateStatusDao, attrMap, keyMap); + } + + @Override + @Secured({ PermissionsProviderSecured.SECURED }) + public EntityResult offerCandidateStatusDelete(Map keyMap) throws OntimizeJEERuntimeException { + return this.daoHelper.delete(this.offerCandidateStatusDao, keyMap); + } +} \ No newline at end of file diff --git a/model/src/main/resources/dao/CandidateDao.xml b/model/src/main/resources/dao/CandidateDao.xml new file mode 100644 index 0000000..d36917f --- /dev/null +++ b/model/src/main/resources/dao/CandidateDao.xml @@ -0,0 +1,15 @@ + + + + ID + + + ID + + ID + \ No newline at end of file diff --git a/model/src/main/resources/dao/EducationDao.xml b/model/src/main/resources/dao/EducationDao.xml new file mode 100644 index 0000000..4d030f8 --- /dev/null +++ b/model/src/main/resources/dao/EducationDao.xml @@ -0,0 +1,15 @@ + + + + ID + + + ID + + ID + \ No newline at end of file diff --git a/model/src/main/resources/dao/ExperienceLevelDao.xml b/model/src/main/resources/dao/ExperienceLevelDao.xml new file mode 100644 index 0000000..f6b0040 --- /dev/null +++ b/model/src/main/resources/dao/ExperienceLevelDao.xml @@ -0,0 +1,15 @@ + + + + ID + + + ID + + ID + \ No newline at end of file diff --git a/model/src/main/resources/dao/OfferCandidateStatusDao.xml b/model/src/main/resources/dao/OfferCandidateStatusDao.xml new file mode 100644 index 0000000..81c9375 --- /dev/null +++ b/model/src/main/resources/dao/OfferCandidateStatusDao.xml @@ -0,0 +1,15 @@ + + + + ID + + + ID + + ID + \ No newline at end of file diff --git a/model/src/main/resources/dao/OfferCandidatesDao.xml b/model/src/main/resources/dao/OfferCandidatesDao.xml new file mode 100644 index 0000000..4974034 --- /dev/null +++ b/model/src/main/resources/dao/OfferCandidatesDao.xml @@ -0,0 +1,43 @@ + + + + ID + + + ID + + ID + + + + + + + + + + + + + \ No newline at end of file diff --git a/model/src/main/resources/dao/OfferDao.xml b/model/src/main/resources/dao/OfferDao.xml new file mode 100644 index 0000000..7d2c5e7 --- /dev/null +++ b/model/src/main/resources/dao/OfferDao.xml @@ -0,0 +1,15 @@ + + + + ID + + + ID + + ID + \ No newline at end of file diff --git a/model/src/main/resources/dao/OfferStatusDao.xml b/model/src/main/resources/dao/OfferStatusDao.xml new file mode 100644 index 0000000..98bfe67 --- /dev/null +++ b/model/src/main/resources/dao/OfferStatusDao.xml @@ -0,0 +1,15 @@ + + + + ID + + + ID + + ID + \ No newline at end of file diff --git a/model/src/main/resources/dao/OriginDao.xml b/model/src/main/resources/dao/OriginDao.xml new file mode 100644 index 0000000..eec3d4c --- /dev/null +++ b/model/src/main/resources/dao/OriginDao.xml @@ -0,0 +1,15 @@ + + + + ID + + + ID + + ID + \ No newline at end of file diff --git a/model/src/main/resources/dao/ProfileDao.xml b/model/src/main/resources/dao/ProfileDao.xml new file mode 100644 index 0000000..cdec5f0 --- /dev/null +++ b/model/src/main/resources/dao/ProfileDao.xml @@ -0,0 +1,15 @@ + + + + ID + + + ID + + ID + \ No newline at end of file diff --git a/model/src/main/resources/dao/StatusDao.xml b/model/src/main/resources/dao/StatusDao.xml new file mode 100644 index 0000000..5971a1d --- /dev/null +++ b/model/src/main/resources/dao/StatusDao.xml @@ -0,0 +1,15 @@ + + + + ID + + + ID + + ID + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 8fa8542..6e213c5 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.ontimize.boot ontimize-boot-parent - 1.1.0 + 1.1.1 com.ontimize diff --git a/ws/src/main/java/com/ontimize/ws/core/rest/CandidateRestController.java b/ws/src/main/java/com/ontimize/ws/core/rest/CandidateRestController.java new file mode 100644 index 0000000..f377c0e --- /dev/null +++ b/ws/src/main/java/com/ontimize/ws/core/rest/CandidateRestController.java @@ -0,0 +1,23 @@ +package com.ontimize.ws.core.rest; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.ontimize.api.core.service.ICandidateService; +import com.ontimize.jee.server.rest.ORestController; + +@RestController +@RequestMapping("/candidates") +@ComponentScan(basePackageClasses = { com.ontimize.api.core.service.ICandidateService.class }) +public class CandidateRestController extends ORestController { + + @Autowired + private ICandidateService candidateService; + + @Override + public ICandidateService getService() { + return this.candidateService; + } +} \ No newline at end of file diff --git a/ws/src/main/java/com/ontimize/ws/core/rest/MasterRestController.java b/ws/src/main/java/com/ontimize/ws/core/rest/MasterRestController.java new file mode 100644 index 0000000..0fb93b6 --- /dev/null +++ b/ws/src/main/java/com/ontimize/ws/core/rest/MasterRestController.java @@ -0,0 +1,24 @@ +package com.ontimize.ws.core.rest; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.ontimize.api.core.service.IMasterService; +import com.ontimize.jee.server.rest.ORestController; + +@RestController +@RequestMapping("/master") +@ComponentScan(basePackageClasses = { com.ontimize.api.core.service.IMasterService.class }) +public class MasterRestController extends ORestController { + + @Autowired + private IMasterService masterService; + + @Override + public IMasterService getService() { + return this.masterService; + } + +} \ No newline at end of file diff --git a/ws/src/main/java/com/ontimize/ws/core/rest/OfferRestController.java b/ws/src/main/java/com/ontimize/ws/core/rest/OfferRestController.java new file mode 100644 index 0000000..0c4ed23 --- /dev/null +++ b/ws/src/main/java/com/ontimize/ws/core/rest/OfferRestController.java @@ -0,0 +1,96 @@ +package com.ontimize.ws.core.rest; + +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; + +import com.ontimize.db.EntityResult; +import com.ontimize.db.SQLStatementBuilder; +import com.ontimize.db.SQLStatementBuilder.BasicExpression; +import com.ontimize.db.SQLStatementBuilder.BasicOperator; +import com.ontimize.db.SQLStatementBuilder.BasicField; +import com.ontimize.api.core.service.IOfferService; +import com.ontimize.model.core.dao.OfferDao; +import com.ontimize.jee.server.rest.ORestController; + +@RestController +@RequestMapping("/offers") +@ComponentScan(basePackageClasses = { com.ontimize.api.core.service.IOfferService.class }) +public class OfferRestController extends ORestController { + + @Autowired + private IOfferService offerService; + + @Override + public IOfferService getService() { + return this.offerService; + } + + @RequestMapping(value = "currentOffers/search", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public EntityResult currentOffersSearch(@RequestBody Map req) { + try { + List columns = (List) req.get("columns"); + Map key = new HashMap(); + key.put(SQLStatementBuilder.ExtendedSQLConditionValuesProcessor.EXPRESSION_KEY, + searchBetween(OfferDao.ATTR_START_DATE)); + return offerService.offerQuery(key, columns); + } catch (Exception e) { + e.printStackTrace(); + EntityResult res = new EntityResult(); + res.setCode(EntityResult.OPERATION_WRONG); + return res; + } + } + + @RequestMapping(value = "yearOffers/search", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) + public EntityResult yearOffersSearch(@RequestBody Map req) { + try { + List columns = (List) req.get("columns"); + Map filter = (Map) req.get("filter"); + int year = (int) filter.get("YEAR"); + Map key = new HashMap(); + key.put(SQLStatementBuilder.ExtendedSQLConditionValuesProcessor.EXPRESSION_KEY, + searchBetweenWithYear(OfferDao.ATTR_START_DATE, year)); + return offerService.offerQuery(key, columns); + } catch (Exception e) { + e.printStackTrace(); + EntityResult res = new EntityResult(); + res.setCode(EntityResult.OPERATION_WRONG); + return res; + } + } + + private BasicExpression searchBetween(String param) { + + Calendar cal = Calendar.getInstance(); + int currentYear = cal.get(Calendar.YEAR); + + return this.searchBetweenWithYear(param, currentYear); + } + + private BasicExpression searchBetweenWithYear(String param, int year) { + + Calendar cal = Calendar.getInstance(); + cal.set(year, 0, 1); + Date startDate = cal.getTime(); + cal.set(year + 1, 0, 1); + Date endDate = cal.getTime(); + + BasicField field = new BasicField(param); + BasicExpression bexp1 = new BasicExpression(field, BasicOperator.MORE_EQUAL_OP, startDate); + BasicExpression bexp2 = new BasicExpression(field, BasicOperator.LESS_OP, endDate); + return new BasicExpression(bexp1, BasicOperator.AND_OP, bexp2); + } + +} \ No newline at end of file