🚀 init commit
This commit is contained in:
		
						commit
						fb420bbb6c
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					/node_modules
 | 
				
			||||||
							
								
								
									
										753
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										753
									
								
								package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,753 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "brightscreenapi",
 | 
				
			||||||
 | 
					  "version": "1.0.0",
 | 
				
			||||||
 | 
					  "lockfileVersion": 1,
 | 
				
			||||||
 | 
					  "requires": true,
 | 
				
			||||||
 | 
					  "dependencies": {
 | 
				
			||||||
 | 
					    "@types/body-parser": {
 | 
				
			||||||
 | 
					      "version": "1.19.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/connect": "*",
 | 
				
			||||||
 | 
					        "@types/node": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/bson": {
 | 
				
			||||||
 | 
					      "version": "4.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/bson/-/bson-4.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-+uWmsejEHfmSjyyM/LkrP0orfE2m5Mx9Xel4tXNeqi1ldK5XMQcDsFkBmLDtuyKUbxj2jGDo0H240fbCRJZo7Q==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/node": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/connect": {
 | 
				
			||||||
 | 
					      "version": "3.4.33",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.33.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/node": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/dotenv": {
 | 
				
			||||||
 | 
					      "version": "8.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/dotenv/-/dotenv-8.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ylSC9GhfRH7m1EUXBXofhgx4lUWmFeQDINW5oLuS+gxWdfUeW4zJdeVTYVkexEW+e2VUvlZR2kGnGGipAWR7kw==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "dotenv": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/express": {
 | 
				
			||||||
 | 
					      "version": "4.17.8",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.8.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-wLhcKh3PMlyA2cNAB9sjM1BntnhPMiM0JOBwPBqttjHev2428MLEB4AYVN+d8s2iyCVZac+o41Pflm/ZH5vLXQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/body-parser": "*",
 | 
				
			||||||
 | 
					        "@types/express-serve-static-core": "*",
 | 
				
			||||||
 | 
					        "@types/qs": "*",
 | 
				
			||||||
 | 
					        "@types/serve-static": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/express-serve-static-core": {
 | 
				
			||||||
 | 
					      "version": "4.17.12",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.12.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-EaEdY+Dty1jEU7U6J4CUWwxL+hyEGMkO5jan5gplfegUgCUsIUWqXxqw47uGjimeT4Qgkz/XUfwoau08+fgvKA==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/node": "*",
 | 
				
			||||||
 | 
					        "@types/qs": "*",
 | 
				
			||||||
 | 
					        "@types/range-parser": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/mime": {
 | 
				
			||||||
 | 
					      "version": "2.0.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Jus9s4CDbqwocc5pOAnh8ShfrnMcPHuJYzVcSUU7lrh8Ni5HuIqX3oilL86p3dlTrk0LzHRCgA/GQ7uNCw6l2Q==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/mongodb": {
 | 
				
			||||||
 | 
					      "version": "3.5.27",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/mongodb/-/mongodb-3.5.27.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-1jxKDgdfJEOO9zp+lv43p8jOqRs02xPrdUTzAZIVK9tVEySfCEmktL2jEu9A3wOBEOs18yKzpVIKUh8b8ALk3w==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/bson": "*",
 | 
				
			||||||
 | 
					        "@types/node": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/mongoose": {
 | 
				
			||||||
 | 
					      "version": "5.7.36",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/mongoose/-/mongoose-5.7.36.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ggFXgvkHgCNlT35B9d/heDYfSqOSwTmQjkRoR32sObGV5Xjd0N0WWuYlLzqeCg94j4hYN/OZxZ1VNNLltX/IVQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/mongodb": "*",
 | 
				
			||||||
 | 
					        "@types/node": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/node": {
 | 
				
			||||||
 | 
					      "version": "14.6.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.6.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/qs": {
 | 
				
			||||||
 | 
					      "version": "6.9.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-+wYo+L6ZF6BMoEjtf8zB2esQsqdV6WsjRK/GP9WOgLPrq87PbNWgIxS76dS5uvl/QXtHGakZmwTznIfcPXcKlQ==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/range-parser": {
 | 
				
			||||||
 | 
					      "version": "1.2.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==",
 | 
				
			||||||
 | 
					      "dev": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "@types/serve-static": {
 | 
				
			||||||
 | 
					      "version": "1.13.5",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.5.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-6M64P58N+OXjU432WoLLBQxbA0LRGBCRm7aAGQJ+SMC1IMl0dgRVi9EFfoDcS2a7Xogygk/eGN94CfwU9UF7UQ==",
 | 
				
			||||||
 | 
					      "dev": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "@types/express-serve-static-core": "*",
 | 
				
			||||||
 | 
					        "@types/mime": "*"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "accepts": {
 | 
				
			||||||
 | 
					      "version": "1.3.7",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "mime-types": "~2.1.24",
 | 
				
			||||||
 | 
					        "negotiator": "0.6.2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "arg": {
 | 
				
			||||||
 | 
					      "version": "4.1.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "array-flatten": {
 | 
				
			||||||
 | 
					      "version": "1.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "bl": {
 | 
				
			||||||
 | 
					      "version": "2.2.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "readable-stream": "^2.3.5",
 | 
				
			||||||
 | 
					        "safe-buffer": "^5.1.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "bluebird": {
 | 
				
			||||||
 | 
					      "version": "3.5.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "body-parser": {
 | 
				
			||||||
 | 
					      "version": "1.19.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "bytes": "3.1.0",
 | 
				
			||||||
 | 
					        "content-type": "~1.0.4",
 | 
				
			||||||
 | 
					        "debug": "2.6.9",
 | 
				
			||||||
 | 
					        "depd": "~1.1.2",
 | 
				
			||||||
 | 
					        "http-errors": "1.7.2",
 | 
				
			||||||
 | 
					        "iconv-lite": "0.4.24",
 | 
				
			||||||
 | 
					        "on-finished": "~2.3.0",
 | 
				
			||||||
 | 
					        "qs": "6.7.0",
 | 
				
			||||||
 | 
					        "raw-body": "2.4.0",
 | 
				
			||||||
 | 
					        "type-is": "~1.6.17"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "bson": {
 | 
				
			||||||
 | 
					      "version": "1.1.5",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/bson/-/bson-1.1.5.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-kDuEzldR21lHciPQAIulLs1LZlCXdLziXI6Mb/TDkwXhb//UORJNPXgcRs2CuO4H0DcMkpfT3/ySsP3unoZjBg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "buffer-from": {
 | 
				
			||||||
 | 
					      "version": "1.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "bytes": {
 | 
				
			||||||
 | 
					      "version": "3.1.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "content-disposition": {
 | 
				
			||||||
 | 
					      "version": "0.5.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "safe-buffer": "5.1.2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "content-type": {
 | 
				
			||||||
 | 
					      "version": "1.0.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "cookie": {
 | 
				
			||||||
 | 
					      "version": "0.4.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "cookie-signature": {
 | 
				
			||||||
 | 
					      "version": "1.0.6",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "core-util-is": {
 | 
				
			||||||
 | 
					      "version": "1.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "debug": {
 | 
				
			||||||
 | 
					      "version": "2.6.9",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "ms": "2.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "denque": {
 | 
				
			||||||
 | 
					      "version": "1.4.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/denque/-/denque-1.4.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-OfzPuSZKGcgr96rf1oODnfjqBFmr1DVoc/TrItj3Ohe0Ah1C5WX5Baquw/9U9KovnQ88EqmJbD66rKYUQYN1tQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "depd": {
 | 
				
			||||||
 | 
					      "version": "1.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "destroy": {
 | 
				
			||||||
 | 
					      "version": "1.0.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "diff": {
 | 
				
			||||||
 | 
					      "version": "4.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "dotenv": {
 | 
				
			||||||
 | 
					      "version": "8.2.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ee-first": {
 | 
				
			||||||
 | 
					      "version": "1.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "encodeurl": {
 | 
				
			||||||
 | 
					      "version": "1.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "escape-html": {
 | 
				
			||||||
 | 
					      "version": "1.0.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "etag": {
 | 
				
			||||||
 | 
					      "version": "1.8.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "express": {
 | 
				
			||||||
 | 
					      "version": "4.17.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "accepts": "~1.3.7",
 | 
				
			||||||
 | 
					        "array-flatten": "1.1.1",
 | 
				
			||||||
 | 
					        "body-parser": "1.19.0",
 | 
				
			||||||
 | 
					        "content-disposition": "0.5.3",
 | 
				
			||||||
 | 
					        "content-type": "~1.0.4",
 | 
				
			||||||
 | 
					        "cookie": "0.4.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",
 | 
				
			||||||
 | 
					        "fresh": "0.5.2",
 | 
				
			||||||
 | 
					        "merge-descriptors": "1.0.1",
 | 
				
			||||||
 | 
					        "methods": "~1.1.2",
 | 
				
			||||||
 | 
					        "on-finished": "~2.3.0",
 | 
				
			||||||
 | 
					        "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",
 | 
				
			||||||
 | 
					        "utils-merge": "1.0.1",
 | 
				
			||||||
 | 
					        "vary": "~1.1.2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "finalhandler": {
 | 
				
			||||||
 | 
					      "version": "1.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
 | 
				
			||||||
 | 
					      "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"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "forwarded": {
 | 
				
			||||||
 | 
					      "version": "0.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "fresh": {
 | 
				
			||||||
 | 
					      "version": "0.5.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "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==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "depd": "~1.1.2",
 | 
				
			||||||
 | 
					        "inherits": "2.0.3",
 | 
				
			||||||
 | 
					        "setprototypeof": "1.1.1",
 | 
				
			||||||
 | 
					        "statuses": ">= 1.5.0 < 2",
 | 
				
			||||||
 | 
					        "toidentifier": "1.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "iconv-lite": {
 | 
				
			||||||
 | 
					      "version": "0.4.24",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "safer-buffer": ">= 2.1.2 < 3"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "inherits": {
 | 
				
			||||||
 | 
					      "version": "2.0.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ipaddr.js": {
 | 
				
			||||||
 | 
					      "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=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "isarray": {
 | 
				
			||||||
 | 
					      "version": "1.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "kareem": {
 | 
				
			||||||
 | 
					      "version": "2.3.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.3.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-l3hLhffs9zqoDe8zjmb/mAN4B8VT3L56EUvKNqLFVs9YlFA+zx7ke1DO8STAdDyYNkeSo1nKmjuvQeI12So8Xw=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "make-error": {
 | 
				
			||||||
 | 
					      "version": "1.3.6",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "media-typer": {
 | 
				
			||||||
 | 
					      "version": "0.3.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "memory-pager": {
 | 
				
			||||||
 | 
					      "version": "1.5.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
 | 
				
			||||||
 | 
					      "optional": true
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "merge-descriptors": {
 | 
				
			||||||
 | 
					      "version": "1.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "methods": {
 | 
				
			||||||
 | 
					      "version": "1.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "mime": {
 | 
				
			||||||
 | 
					      "version": "1.6.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "mime-db": {
 | 
				
			||||||
 | 
					      "version": "1.44.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "mime-types": {
 | 
				
			||||||
 | 
					      "version": "2.1.27",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "mime-db": "1.44.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "mongodb": {
 | 
				
			||||||
 | 
					      "version": "3.6.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-uH76Zzr5wPptnjEKJRQnwTsomtFOU/kQEU8a9hKHr2M7y9qVk7Q4Pkv0EQVp88742z9+RwvsdTw6dRjDZCNu1g==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "bl": "^2.2.0",
 | 
				
			||||||
 | 
					        "bson": "^1.1.4",
 | 
				
			||||||
 | 
					        "denque": "^1.4.1",
 | 
				
			||||||
 | 
					        "require_optional": "^1.0.1",
 | 
				
			||||||
 | 
					        "safe-buffer": "^5.1.2",
 | 
				
			||||||
 | 
					        "saslprep": "^1.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "mongoose": {
 | 
				
			||||||
 | 
					      "version": "5.10.4",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-5.10.4.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-GnN03Dw3Bf4FYL5bRU8rEv6Hh2NuODj6Em+52pm92YRdQFit3jqJn1aBzg6hOPJfgBaB5cfdjKXRjacrD4jhsA==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "bson": "^1.1.4",
 | 
				
			||||||
 | 
					        "kareem": "2.3.1",
 | 
				
			||||||
 | 
					        "mongodb": "3.6.1",
 | 
				
			||||||
 | 
					        "mongoose-legacy-pluralize": "1.0.2",
 | 
				
			||||||
 | 
					        "mpath": "0.7.0",
 | 
				
			||||||
 | 
					        "mquery": "3.2.2",
 | 
				
			||||||
 | 
					        "ms": "2.1.2",
 | 
				
			||||||
 | 
					        "regexp-clone": "1.0.0",
 | 
				
			||||||
 | 
					        "safe-buffer": "5.2.1",
 | 
				
			||||||
 | 
					        "sift": "7.0.1",
 | 
				
			||||||
 | 
					        "sliced": "1.0.1"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "ms": {
 | 
				
			||||||
 | 
					          "version": "2.1.2",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        "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=="
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "mongoose-legacy-pluralize": {
 | 
				
			||||||
 | 
					      "version": "1.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "mpath": {
 | 
				
			||||||
 | 
					      "version": "0.7.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.7.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Aiq04hILxhz1L+f7sjGyn7IxYzWm1zLNNXcfhDtx04kZ2Gk7uvFdgZ8ts1cWa/6d0TQmag2yR8zSGZUmp0tFNg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "mquery": {
 | 
				
			||||||
 | 
					      "version": "3.2.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/mquery/-/mquery-3.2.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-XB52992COp0KP230I3qloVUbkLUxJIu328HBP2t2EsxSFtf4W1HPSOBWOXf1bqxK4Xbb66lfMJ+Bpfd9/yZE1Q==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "bluebird": "3.5.1",
 | 
				
			||||||
 | 
					        "debug": "3.1.0",
 | 
				
			||||||
 | 
					        "regexp-clone": "^1.0.0",
 | 
				
			||||||
 | 
					        "safe-buffer": "5.1.2",
 | 
				
			||||||
 | 
					        "sliced": "1.0.1"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "dependencies": {
 | 
				
			||||||
 | 
					        "debug": {
 | 
				
			||||||
 | 
					          "version": "3.1.0",
 | 
				
			||||||
 | 
					          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
 | 
				
			||||||
 | 
					          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
 | 
				
			||||||
 | 
					          "requires": {
 | 
				
			||||||
 | 
					            "ms": "2.0.0"
 | 
				
			||||||
 | 
					          }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ms": {
 | 
				
			||||||
 | 
					      "version": "2.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "negotiator": {
 | 
				
			||||||
 | 
					      "version": "0.6.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "on-finished": {
 | 
				
			||||||
 | 
					      "version": "2.3.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "ee-first": "1.1.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "parseurl": {
 | 
				
			||||||
 | 
					      "version": "1.3.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "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="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "process-nextick-args": {
 | 
				
			||||||
 | 
					      "version": "2.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "proxy-addr": {
 | 
				
			||||||
 | 
					      "version": "2.0.6",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "forwarded": "~0.1.2",
 | 
				
			||||||
 | 
					        "ipaddr.js": "1.9.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "qs": {
 | 
				
			||||||
 | 
					      "version": "6.7.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "range-parser": {
 | 
				
			||||||
 | 
					      "version": "1.2.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "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==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "bytes": "3.1.0",
 | 
				
			||||||
 | 
					        "http-errors": "1.7.2",
 | 
				
			||||||
 | 
					        "iconv-lite": "0.4.24",
 | 
				
			||||||
 | 
					        "unpipe": "1.0.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "readable-stream": {
 | 
				
			||||||
 | 
					      "version": "2.3.7",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "core-util-is": "~1.0.0",
 | 
				
			||||||
 | 
					        "inherits": "~2.0.3",
 | 
				
			||||||
 | 
					        "isarray": "~1.0.0",
 | 
				
			||||||
 | 
					        "process-nextick-args": "~2.0.0",
 | 
				
			||||||
 | 
					        "safe-buffer": "~5.1.1",
 | 
				
			||||||
 | 
					        "string_decoder": "~1.1.1",
 | 
				
			||||||
 | 
					        "util-deprecate": "~1.0.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "regexp-clone": {
 | 
				
			||||||
 | 
					      "version": "1.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/regexp-clone/-/regexp-clone-1.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "require_optional": {
 | 
				
			||||||
 | 
					      "version": "1.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/require_optional/-/require_optional-1.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "resolve-from": "^2.0.0",
 | 
				
			||||||
 | 
					        "semver": "^5.1.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "resolve-from": {
 | 
				
			||||||
 | 
					      "version": "2.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "safe-buffer": {
 | 
				
			||||||
 | 
					      "version": "5.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "safer-buffer": {
 | 
				
			||||||
 | 
					      "version": "2.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "saslprep": {
 | 
				
			||||||
 | 
					      "version": "1.0.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/saslprep/-/saslprep-1.0.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==",
 | 
				
			||||||
 | 
					      "optional": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "sparse-bitfield": "^3.0.3"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "semver": {
 | 
				
			||||||
 | 
					      "version": "5.7.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "send": {
 | 
				
			||||||
 | 
					      "version": "0.17.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
 | 
				
			||||||
 | 
					      "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",
 | 
				
			||||||
 | 
					        "fresh": "0.5.2",
 | 
				
			||||||
 | 
					        "http-errors": "~1.7.2",
 | 
				
			||||||
 | 
					        "mime": "1.6.0",
 | 
				
			||||||
 | 
					        "ms": "2.1.1",
 | 
				
			||||||
 | 
					        "on-finished": "~2.3.0",
 | 
				
			||||||
 | 
					        "range-parser": "~1.2.1",
 | 
				
			||||||
 | 
					        "statuses": "~1.5.0"
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      "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=="
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "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==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "encodeurl": "~1.0.2",
 | 
				
			||||||
 | 
					        "escape-html": "~1.0.3",
 | 
				
			||||||
 | 
					        "parseurl": "~1.3.3",
 | 
				
			||||||
 | 
					        "send": "0.17.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "setprototypeof": {
 | 
				
			||||||
 | 
					      "version": "1.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "sift": {
 | 
				
			||||||
 | 
					      "version": "7.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/sift/-/sift-7.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "sliced": {
 | 
				
			||||||
 | 
					      "version": "1.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "source-map": {
 | 
				
			||||||
 | 
					      "version": "0.6.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "source-map-support": {
 | 
				
			||||||
 | 
					      "version": "0.5.19",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "buffer-from": "^1.0.0",
 | 
				
			||||||
 | 
					        "source-map": "^0.6.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "sparse-bitfield": {
 | 
				
			||||||
 | 
					      "version": "3.0.3",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-/0rm5oZWBWuks+eSqzM004JzyhE=",
 | 
				
			||||||
 | 
					      "optional": true,
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "memory-pager": "^1.0.2"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "statuses": {
 | 
				
			||||||
 | 
					      "version": "1.5.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "string_decoder": {
 | 
				
			||||||
 | 
					      "version": "1.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "safe-buffer": "~5.1.0"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "toidentifier": {
 | 
				
			||||||
 | 
					      "version": "1.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "ts-node": {
 | 
				
			||||||
 | 
					      "version": "9.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-/TqB4SnererCDR/vb4S/QvSZvzQMJN8daAslg7MeaiHvD8rDZsSfXmNeNumyZZzMned72Xoq/isQljYSt8Ynfg==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "arg": "^4.1.0",
 | 
				
			||||||
 | 
					        "diff": "^4.0.1",
 | 
				
			||||||
 | 
					        "make-error": "^1.1.1",
 | 
				
			||||||
 | 
					        "source-map-support": "^0.5.17",
 | 
				
			||||||
 | 
					        "yn": "3.1.1"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "type-is": {
 | 
				
			||||||
 | 
					      "version": "1.6.18",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
 | 
				
			||||||
 | 
					      "requires": {
 | 
				
			||||||
 | 
					        "media-typer": "0.3.0",
 | 
				
			||||||
 | 
					        "mime-types": "~2.1.24"
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "typescript": {
 | 
				
			||||||
 | 
					      "version": "4.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ=="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "unpipe": {
 | 
				
			||||||
 | 
					      "version": "1.0.0",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "util-deprecate": {
 | 
				
			||||||
 | 
					      "version": "1.0.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "utils-merge": {
 | 
				
			||||||
 | 
					      "version": "1.0.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "vary": {
 | 
				
			||||||
 | 
					      "version": "1.1.2",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    "yn": {
 | 
				
			||||||
 | 
					      "version": "3.1.1",
 | 
				
			||||||
 | 
					      "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
 | 
				
			||||||
 | 
					      "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q=="
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										24
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								package.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,24 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "name": "brightscreenapi",
 | 
				
			||||||
 | 
					  "version": "1.0.0",
 | 
				
			||||||
 | 
					  "description": "Api that powers the brightScreen Vs Code Extention",
 | 
				
			||||||
 | 
					  "main": "index.js",
 | 
				
			||||||
 | 
					  "scripts": {
 | 
				
			||||||
 | 
					    "dev": "ts-node ./src/index.ts",
 | 
				
			||||||
 | 
					    "test": "echo \"Error: no test specified\" && exit 1"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "author": "Joshua Shoemaker",
 | 
				
			||||||
 | 
					  "license": "ISC",
 | 
				
			||||||
 | 
					  "dependencies": {
 | 
				
			||||||
 | 
					    "body-parser": "^1.19.0",
 | 
				
			||||||
 | 
					    "dotenv": "^8.2.0",
 | 
				
			||||||
 | 
					    "express": "^4.17.1",
 | 
				
			||||||
 | 
					    "mongoose": "^5.10.4",
 | 
				
			||||||
 | 
					    "ts-node": "^9.0.0",
 | 
				
			||||||
 | 
					    "typescript": "^4.0.2"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "devDependencies": {
 | 
				
			||||||
 | 
					    "@types/express": "^4.17.8",
 | 
				
			||||||
 | 
					    "@types/mongoose": "^5.7.36"
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										16
									
								
								src/DbModels/CourseDbModel.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								src/DbModels/CourseDbModel.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					import * as mongoose from 'mongoose'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const CourseSchema = new mongoose.Schema({
 | 
				
			||||||
 | 
					  name: {
 | 
				
			||||||
 | 
					    type: String,
 | 
				
			||||||
 | 
					    required: true
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  repo: {
 | 
				
			||||||
 | 
					    type: String,
 | 
				
			||||||
 | 
					    required: true
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const CourseDbModel = mongoose.model('Course', CourseSchema)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default CourseDbModel
 | 
				
			||||||
							
								
								
									
										20
									
								
								src/Routes/apiRoute.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								src/Routes/apiRoute.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					import * as express from 'express'
 | 
				
			||||||
 | 
					import CourseDbModel from '../DbModels/CourseDbModel'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const router: express.Router = express.Router()
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					router.get('/', (request, response) => {
 | 
				
			||||||
 | 
					  response.send({ message: 'Hello Api!' })
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					router.get('/courses', async (request, response) => {
 | 
				
			||||||
 | 
					  try {
 | 
				
			||||||
 | 
					    const courses = await CourseDbModel.find()
 | 
				
			||||||
 | 
					    response.send(courses)
 | 
				
			||||||
 | 
					  } catch (err) {
 | 
				
			||||||
 | 
					    console.log(err)
 | 
				
			||||||
 | 
					    response.send('Error finding')
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default router
 | 
				
			||||||
							
								
								
									
										44
									
								
								src/Server/Server.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								src/Server/Server.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					import * as express from 'express'
 | 
				
			||||||
 | 
					import * as mongoose from 'mongoose'
 | 
				
			||||||
 | 
					import { json } from 'body-parser'
 | 
				
			||||||
 | 
					import apiRouter from '../Routes/apiRoute'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Server {
 | 
				
			||||||
 | 
					  app: express.Application
 | 
				
			||||||
 | 
					  constructor () {
 | 
				
			||||||
 | 
					    this.createApp()
 | 
				
			||||||
 | 
					    this.createRoutes()
 | 
				
			||||||
 | 
					    this.setOptions()
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  createApp (): void {
 | 
				
			||||||
 | 
					    this.app = express()
 | 
				
			||||||
 | 
					    this.app.use(json())
 | 
				
			||||||
 | 
					    this.connectToDatabase()
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  createRoutes (): void {
 | 
				
			||||||
 | 
					    this.app.use('/api', apiRouter)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  async connectToDatabase () {
 | 
				
			||||||
 | 
					    mongoose.connect(process.env.DBCONNECTION, {
 | 
				
			||||||
 | 
					      useCreateIndex: true,
 | 
				
			||||||
 | 
					      useNewUrlParser: true,
 | 
				
			||||||
 | 
					      useUnifiedTopology: true
 | 
				
			||||||
 | 
					    }, () => {
 | 
				
			||||||
 | 
					      console.log('Connected to Database')
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setOptions (): void {
 | 
				
			||||||
 | 
					    this.app.use((request, response, next) => {
 | 
				
			||||||
 | 
					      response.header('Access-Control-Allow-Origin', request.headers.origin || '*')
 | 
				
			||||||
 | 
					      response.header('Access-Control-Allow-Methods', 'GET,POST,PUT,PATCH,HEAD,DELETE,OPTIONS')
 | 
				
			||||||
 | 
					      response.header('Access-Control-Allow-Headers', 'Content-Type,x-requested-with')
 | 
				
			||||||
 | 
					      next()
 | 
				
			||||||
 | 
					    })
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export default Server
 | 
				
			||||||
							
								
								
									
										27
									
								
								src/index.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								src/index.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					import * as http from 'http'
 | 
				
			||||||
 | 
					import * as dotenv from 'dotenv'
 | 
				
			||||||
 | 
					import Server from './Server/Server'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function main (): void {
 | 
				
			||||||
 | 
					  dotenv.config()
 | 
				
			||||||
 | 
					  const port: number = normalizePort(process.env.PORT || '5000')
 | 
				
			||||||
 | 
					  const webService: http.Server = createServer()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  webService.listen(port, () => {
 | 
				
			||||||
 | 
					    console.log(`Server is listening on ${port}`)
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function createServer (): http.Server {
 | 
				
			||||||
 | 
					  const server = new Server()
 | 
				
			||||||
 | 
					  return http.createServer(server.app)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function normalizePort (port: string | number): number {
 | 
				
			||||||
 | 
					  if (typeof port === 'string')  return parseInt(port, 10)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (port >= 0) return port
 | 
				
			||||||
 | 
					  else return 0
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					main()
 | 
				
			||||||
							
								
								
									
										14
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "compilerOptions": {
 | 
				
			||||||
 | 
					    "sourceMap": true,
 | 
				
			||||||
 | 
					    "target": "es2017",
 | 
				
			||||||
 | 
					    "outDir": "./dist",
 | 
				
			||||||
 | 
					    "baseUrl": "./src"
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  "include": [
 | 
				
			||||||
 | 
					    "src/**/*.ts"
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					  "exclude": [
 | 
				
			||||||
 | 
					    "node_modules"
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user