12 | )
13 | }
14 |
15 | export default SideNav
16 |
--------------------------------------------------------------------------------
/server/node_modules/qs/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | indent_style = space
5 | indent_size = 4
6 | end_of_line = lf
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 | insert_final_newline = true
10 | max_line_length = 160
11 |
12 | [test/*]
13 | max_line_length = off
14 |
15 | [*.md]
16 | max_line_length = off
17 |
18 | [*.json]
19 | max_line_length = off
20 |
21 | [Makefile]
22 | max_line_length = off
23 |
24 | [CHANGELOG.md]
25 | indent_style = space
26 | indent_size = 2
27 |
28 | [LICENSE]
29 | indent_size = 2
30 | max_line_length = off
31 |
--------------------------------------------------------------------------------
/client/src/components/Habit/Habit.css:
--------------------------------------------------------------------------------
1 | .Habit {
2 | width: 75%;
3 | padding: 5rem 2.5rem;
4 | }
5 |
6 | .Habit-header {
7 | font-weight: 500;
8 | letter-spacing: 0.1rem;
9 | margin-bottom: 1rem;
10 | }
11 |
12 | .Habit__heading-container {
13 | display: flex;
14 | justify-content: space-between;
15 | align-items: center;
16 | }
17 |
18 | .Habit__heading-container button {
19 | padding: 0.25rem 2rem;
20 | border: none;
21 | background-color: rgba(70, 178, 240, 0.157);
22 | border-radius: 0.2rem;
23 | cursor: pointer;
24 | }
--------------------------------------------------------------------------------
/server/node_modules/content-type/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.0.4 / 2017-09-11
2 | ==================
3 |
4 | * perf: skip parameter parsing when no parameters
5 |
6 | 1.0.3 / 2017-09-10
7 | ==================
8 |
9 | * perf: remove argument reassignment
10 |
11 | 1.0.2 / 2016-05-09
12 | ==================
13 |
14 | * perf: enable strict mode
15 |
16 | 1.0.1 / 2015-02-13
17 | ==================
18 |
19 | * Improve missing `Content-Type` header error message
20 |
21 | 1.0.0 / 2015-02-01
22 | ==================
23 |
24 | * Initial implementation, derived from `media-typer@0.3.0`
25 |
--------------------------------------------------------------------------------
/client/src/index.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.css';
4 | import App from './App';
5 | import reportWebVitals from './reportWebVitals';
6 |
7 | ReactDOM.render(
8 |
9 |
10 | ,
11 | document.getElementById('root')
12 | );
13 |
14 | // If you want to start measuring performance in your app, pass a function
15 | // to log results (for example: reportWebVitals(console.log))
16 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
17 | reportWebVitals();
18 |
--------------------------------------------------------------------------------
/infra/k8s/ingress-srv.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: extensions/v1beta1
2 | kind: Ingress
3 | metadata:
4 | name: ingress-service
5 | annotations:
6 | kubernetes.io/ingress.class: nginx
7 | nginx.ingress.kubernetes.io/use-regex: 'true'
8 | spec:
9 | rules:
10 | - host: habittracker.com
11 | http:
12 | paths:
13 | - path: /api/?(.*)
14 | backend:
15 | serviceName: server-srv
16 | servicePort: 3000
17 | - path: /?(.*)
18 | backend:
19 | serviceName: client-srv
20 | servicePort: 3000
--------------------------------------------------------------------------------
/server/node_modules/methods/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.1.2 / 2016-01-17
2 | ==================
3 |
4 | * perf: enable strict mode
5 |
6 | 1.1.1 / 2014-12-30
7 | ==================
8 |
9 | * Improve `browserify` support
10 |
11 | 1.1.0 / 2014-07-05
12 | ==================
13 |
14 | * Add `CONNECT` method
15 |
16 | 1.0.1 / 2014-06-02
17 | ==================
18 |
19 | * Fix module to work with harmony transform
20 |
21 | 1.0.0 / 2014-05-08
22 | ==================
23 |
24 | * Add `PURGE` method
25 |
26 | 0.1.0 / 2013-10-28
27 | ==================
28 |
29 | * Add `http.METHODS` support
30 |
--------------------------------------------------------------------------------
/server/node_modules/media-typer/HISTORY.md:
--------------------------------------------------------------------------------
1 | 0.3.0 / 2014-09-07
2 | ==================
3 |
4 | * Support Node.js 0.6
5 | * Throw error when parameter format invalid on parse
6 |
7 | 0.2.0 / 2014-06-18
8 | ==================
9 |
10 | * Add `typer.format()` to format media types
11 |
12 | 0.1.0 / 2014-06-17
13 | ==================
14 |
15 | * Accept `req` as argument to `parse`
16 | * Accept `res` as argument to `parse`
17 | * Parse media type with extra LWS between type and first parameter
18 |
19 | 0.0.0 / 2014-06-13
20 | ==================
21 |
22 | * Initial implementation
23 |
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/version.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | Object.defineProperty(exports, "__esModule", {
4 | value: true
5 | });
6 | exports.default = void 0;
7 |
8 | var _validate = _interopRequireDefault(require("./validate.js"));
9 |
10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11 |
12 | function version(uuid) {
13 | if (!(0, _validate.default)(uuid)) {
14 | throw TypeError('Invalid UUID');
15 | }
16 |
17 | return parseInt(uuid.substr(14, 1), 16);
18 | }
19 |
20 | var _default = version;
21 | exports.default = _default;
--------------------------------------------------------------------------------
/client/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/server/node_modules/uuid/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | Please feel free to file GitHub Issues or propose Pull Requests. We're always happy to discuss improvements to this library!
4 |
5 | ## Testing
6 |
7 | ```shell
8 | npm test
9 | ```
10 |
11 | ## Releasing
12 |
13 | Releases are supposed to be done from master, version bumping is automated through [`standard-version`](https://github.com/conventional-changelog/standard-version):
14 |
15 | ```shell
16 | npm run release -- --dry-run # verify output manually
17 | npm run release # follow the instructions from the output of this command
18 | ```
19 |
--------------------------------------------------------------------------------
/infra/k8s/client-depl.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: client-depl
5 | spec:
6 | replicas: 1
7 | selector:
8 | matchLabels:
9 | app: client
10 | template:
11 | metadata:
12 | name: client-pod
13 | labels:
14 | app: client
15 | spec:
16 | containers:
17 | - name: client
18 | image: laithharb/web-app:v2
19 |
20 | ---
21 |
22 | apiVersion: v1
23 | kind: Service
24 | metadata:
25 | name: client-srv
26 | spec:
27 | type: NodePort
28 | selector:
29 | app: client
30 | ports:
31 | - port: 3000
32 | targetPort: 3000
33 | nodePort: 30007
--------------------------------------------------------------------------------
/client/src/components/HabitCard/HabitCard.css:
--------------------------------------------------------------------------------
1 | .HabitCard {
2 | background-color: white;
3 | border-radius: 0.25rem;
4 | box-shadow: 0.1rem 0.1rem 1rem rgba(0, 0, 0, 0.071);
5 | display: flex;
6 | margin-bottom: 0.75rem;
7 | }
8 |
9 | .HabitCard__completion-container {
10 | width: 15%;
11 | border-right: 0.1rem solid rgba(0, 0, 0, 0.062);
12 | padding: 1rem;
13 | justify-content: center;
14 | display: flex;
15 | }
16 |
17 | .HabitCard__habit-container {
18 | display: flex;
19 | align-items: center;
20 | padding: 1rem
21 | }
22 |
23 | .HabitCard__completion-icon {
24 | width: 1rem;
25 | opacity: 0.5;
26 | }
--------------------------------------------------------------------------------
/server/node_modules/toidentifier/index.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * toidentifier
3 | * Copyright(c) 2016 Douglas Christopher Wilson
4 | * MIT Licensed
5 | */
6 |
7 | /**
8 | * Module exports.
9 | * @public
10 | */
11 |
12 | module.exports = toIdentifier
13 |
14 | /**
15 | * Trasform the given string into a JavaScript identifier
16 | *
17 | * @param {string} str
18 | * @returns {string}
19 | * @public
20 | */
21 |
22 | function toIdentifier (str) {
23 | return str
24 | .split(' ')
25 | .map(function (token) {
26 | return token.slice(0, 1).toUpperCase() + token.slice(1)
27 | })
28 | .join('')
29 | .replace(/[^ _0-9a-z]/gi, '')
30 | }
31 |
--------------------------------------------------------------------------------
/client/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": [
5 | "dom",
6 | "dom.iterable",
7 | "esnext"
8 | ],
9 | "allowJs": true,
10 | "skipLibCheck": true,
11 | "esModuleInterop": true,
12 | "allowSyntheticDefaultImports": true,
13 | "strict": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "noFallthroughCasesInSwitch": true,
16 | "module": "esnext",
17 | "moduleResolution": "node",
18 | "resolveJsonModule": true,
19 | "isolatedModules": true,
20 | "noEmit": true,
21 | "jsx": "react-jsx"
22 | },
23 | "include": [
24 | "src"
25 | ]
26 | }
27 |
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/md5.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | Object.defineProperty(exports, "__esModule", {
4 | value: true
5 | });
6 | exports.default = void 0;
7 |
8 | var _crypto = _interopRequireDefault(require("crypto"));
9 |
10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11 |
12 | function md5(bytes) {
13 | if (Array.isArray(bytes)) {
14 | bytes = Buffer.from(bytes);
15 | } else if (typeof bytes === 'string') {
16 | bytes = Buffer.from(bytes, 'utf8');
17 | }
18 |
19 | return _crypto.default.createHash('md5').update(bytes).digest();
20 | }
21 |
22 | var _default = md5;
23 | exports.default = _default;
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/rng.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | Object.defineProperty(exports, "__esModule", {
4 | value: true
5 | });
6 | exports.default = rng;
7 |
8 | var _crypto = _interopRequireDefault(require("crypto"));
9 |
10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11 |
12 | const rnds8Pool = new Uint8Array(256); // # of random values to pre-allocate
13 |
14 | let poolPtr = rnds8Pool.length;
15 |
16 | function rng() {
17 | if (poolPtr > rnds8Pool.length - 16) {
18 | _crypto.default.randomFillSync(rnds8Pool);
19 |
20 | poolPtr = 0;
21 | }
22 |
23 | return rnds8Pool.slice(poolPtr, poolPtr += 16);
24 | }
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/sha1.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | Object.defineProperty(exports, "__esModule", {
4 | value: true
5 | });
6 | exports.default = void 0;
7 |
8 | var _crypto = _interopRequireDefault(require("crypto"));
9 |
10 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11 |
12 | function sha1(bytes) {
13 | if (Array.isArray(bytes)) {
14 | bytes = Buffer.from(bytes);
15 | } else if (typeof bytes === 'string') {
16 | bytes = Buffer.from(bytes, 'utf8');
17 | }
18 |
19 | return _crypto.default.createHash('sha1').update(bytes).digest();
20 | }
21 |
22 | var _default = sha1;
23 | exports.default = _default;
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/esm-browser/v4.js:
--------------------------------------------------------------------------------
1 | import rng from './rng.js';
2 | import stringify from './stringify.js';
3 |
4 | function v4(options, buf, offset) {
5 | options = options || {};
6 | var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
7 |
8 | rnds[6] = rnds[6] & 0x0f | 0x40;
9 | rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
10 |
11 | if (buf) {
12 | offset = offset || 0;
13 |
14 | for (var i = 0; i < 16; ++i) {
15 | buf[offset + i] = rnds[i];
16 | }
17 |
18 | return buf;
19 | }
20 |
21 | return stringify(rnds);
22 | }
23 |
24 | export default v4;
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/esm-node/v4.js:
--------------------------------------------------------------------------------
1 | import rng from './rng.js';
2 | import stringify from './stringify.js';
3 |
4 | function v4(options, buf, offset) {
5 | options = options || {};
6 | const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
7 |
8 | rnds[6] = rnds[6] & 0x0f | 0x40;
9 | rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
10 |
11 | if (buf) {
12 | offset = offset || 0;
13 |
14 | for (let i = 0; i < 16; ++i) {
15 | buf[offset + i] = rnds[i];
16 | }
17 |
18 | return buf;
19 | }
20 |
21 | return stringify(rnds);
22 | }
23 |
24 | export default v4;
--------------------------------------------------------------------------------
/client/src/svg/close.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/server/node_modules/qs/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "root": true,
3 |
4 | "extends": "@ljharb",
5 |
6 | "rules": {
7 | "complexity": 0,
8 | "consistent-return": 1,
9 | "func-name-matching": 0,
10 | "id-length": [2, { "min": 1, "max": 25, "properties": "never" }],
11 | "indent": [2, 4],
12 | "max-lines-per-function": [2, { "max": 150 }],
13 | "max-params": [2, 14],
14 | "max-statements": [2, 52],
15 | "multiline-comment-style": 0,
16 | "no-continue": 1,
17 | "no-magic-numbers": 0,
18 | "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"],
19 | "operator-linebreak": [2, "before"],
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/skaffold.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: skaffold/v2alpha3
2 | kind: Config
3 | deploy:
4 | kubectl:
5 | manifests:
6 | - ./infra/k8s/*
7 | build:
8 | local:
9 | push: false
10 | artifacts:
11 | - image: laithharb/web-app
12 | context: client
13 | docker:
14 | dockerfile: Dockerfile
15 | sync:
16 | manual:
17 | - src: 'src/**/*.tsx'
18 | dest: .
19 | - src: 'src/**/*.ts'
20 | dest: .
21 | - src: 'src/**/*.css'
22 | dest: .
23 | - src: 'src/**/*.svg'
24 | dest: .
25 | - image: laithharb/server
26 | context: server
27 | docker:
28 | dockerfile: Dockerfile
29 | sync:
30 | manual:
31 | - src: 'src/**/*.js'
32 | dest: .
--------------------------------------------------------------------------------
/server/node_modules/inherits/inherits_browser.js:
--------------------------------------------------------------------------------
1 | if (typeof Object.create === 'function') {
2 | // implementation from standard node.js 'util' module
3 | module.exports = function inherits(ctor, superCtor) {
4 | ctor.super_ = superCtor
5 | ctor.prototype = Object.create(superCtor.prototype, {
6 | constructor: {
7 | value: ctor,
8 | enumerable: false,
9 | writable: true,
10 | configurable: true
11 | }
12 | });
13 | };
14 | } else {
15 | // old school shim for old browsers
16 | module.exports = function inherits(ctor, superCtor) {
17 | ctor.super_ = superCtor
18 | var TempCtor = function () {}
19 | TempCtor.prototype = superCtor.prototype
20 | ctor.prototype = new TempCtor()
21 | ctor.prototype.constructor = ctor
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/server/node_modules/setprototypeof/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015, Wes Todd
2 |
3 | Permission to use, copy, modify, and/or distribute this software for any
4 | purpose with or without fee is hereby granted, provided that the above
5 | copyright notice and this permission notice appear in all copies.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 |
--------------------------------------------------------------------------------
/server/node_modules/setprototypeof/test/index.js:
--------------------------------------------------------------------------------
1 | 'use strict'
2 | /* eslint-env mocha */
3 | /* eslint no-proto: 0 */
4 | var assert = require('assert')
5 | var setPrototypeOf = require('..')
6 |
7 | describe('setProtoOf(obj, proto)', function () {
8 | it('should merge objects', function () {
9 | var obj = { a: 1, b: 2 }
10 | var proto = { b: 3, c: 4 }
11 | var mergeObj = setPrototypeOf(obj, proto)
12 |
13 | if (Object.getPrototypeOf) {
14 | assert.strictEqual(Object.getPrototypeOf(obj), proto)
15 | } else if ({ __proto__: [] } instanceof Array) {
16 | assert.strictEqual(obj.__proto__, proto)
17 | } else {
18 | assert.strictEqual(obj.a, 1)
19 | assert.strictEqual(obj.b, 2)
20 | assert.strictEqual(obj.c, 4)
21 | }
22 | assert.strictEqual(mergeObj, obj)
23 | })
24 | })
25 |
--------------------------------------------------------------------------------
/server/node_modules/inherits/LICENSE:
--------------------------------------------------------------------------------
1 | The ISC License
2 |
3 | Copyright (c) Isaac Z. Schlueter
4 |
5 | Permission to use, copy, modify, and/or distribute this software for any
6 | purpose with or without fee is hereby granted, provided that the above
7 | copyright notice and this permission notice appear in all copies.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
11 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15 | PERFORMANCE OF THIS SOFTWARE.
16 |
17 |
--------------------------------------------------------------------------------
/server/node_modules/iconv-lite/encodings/index.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | // Update this array if you add/rename/remove files in this directory.
4 | // We support Browserify by skipping automatic module discovery and requiring modules directly.
5 | var modules = [
6 | require("./internal"),
7 | require("./utf16"),
8 | require("./utf7"),
9 | require("./sbcs-codec"),
10 | require("./sbcs-data"),
11 | require("./sbcs-data-generated"),
12 | require("./dbcs-codec"),
13 | require("./dbcs-data"),
14 | ];
15 |
16 | // Put all encoding/alias/codec definitions to single object and export it.
17 | for (var i = 0; i < modules.length; i++) {
18 | var module = modules[i];
19 | for (var enc in module)
20 | if (Object.prototype.hasOwnProperty.call(module, enc))
21 | exports[enc] = module[enc];
22 | }
23 |
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/umd/uuidStringify.min.js:
--------------------------------------------------------------------------------
1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidStringify=t()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function t(t){return"string"==typeof t&&e.test(t)}for(var i=[],n=0;n<256;++n)i.push((n+256).toString(16).substr(1));return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,f=(i[e[n+0]]+i[e[n+1]]+i[e[n+2]]+i[e[n+3]]+"-"+i[e[n+4]]+i[e[n+5]]+"-"+i[e[n+6]]+i[e[n+7]]+"-"+i[e[n+8]]+i[e[n+9]]+"-"+i[e[n+10]]+i[e[n+11]]+i[e[n+12]]+i[e[n+13]]+i[e[n+14]]+i[e[n+15]]).toLowerCase();if(!t(f))throw TypeError("Stringified UUID is invalid");return f}}));
--------------------------------------------------------------------------------
/server/node_modules/path-to-regexp/History.md:
--------------------------------------------------------------------------------
1 | 0.1.7 / 2015-07-28
2 | ==================
3 |
4 | * Fixed regression with escaped round brackets and matching groups.
5 |
6 | 0.1.6 / 2015-06-19
7 | ==================
8 |
9 | * Replace `index` feature by outputting all parameters, unnamed and named.
10 |
11 | 0.1.5 / 2015-05-08
12 | ==================
13 |
14 | * Add an index property for position in match result.
15 |
16 | 0.1.4 / 2015-03-05
17 | ==================
18 |
19 | * Add license information
20 |
21 | 0.1.3 / 2014-07-06
22 | ==================
23 |
24 | * Better array support
25 | * Improved support for trailing slash in non-ending mode
26 |
27 | 0.1.0 / 2014-03-06
28 | ==================
29 |
30 | * add options.end
31 |
32 | 0.0.2 / 2013-02-10
33 | ==================
34 |
35 | * Update to match current express
36 | * add .license property to component.json
37 |
--------------------------------------------------------------------------------
/server/node_modules/cookie-signature/History.md:
--------------------------------------------------------------------------------
1 | 1.0.6 / 2015-02-03
2 | ==================
3 |
4 | * use `npm test` instead of `make test` to run tests
5 | * clearer assertion messages when checking input
6 |
7 |
8 | 1.0.5 / 2014-09-05
9 | ==================
10 |
11 | * add license to package.json
12 |
13 | 1.0.4 / 2014-06-25
14 | ==================
15 |
16 | * corrected avoidance of timing attacks (thanks @tenbits!)
17 |
18 | 1.0.3 / 2014-01-28
19 | ==================
20 |
21 | * [incorrect] fix for timing attacks
22 |
23 | 1.0.2 / 2014-01-28
24 | ==================
25 |
26 | * fix missing repository warning
27 | * fix typo in test
28 |
29 | 1.0.1 / 2013-04-15
30 | ==================
31 |
32 | * Revert "Changed underlying HMAC algo. to sha512."
33 | * Revert "Fix for timing attacks on MAC verification."
34 |
35 | 0.0.1 / 2010-01-03
36 | ==================
37 |
38 | * Initial release
39 |
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/umd/uuidParse.min.js:
--------------------------------------------------------------------------------
1 | !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).uuidParse=n()}(this,(function(){"use strict";var e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;return function(n){if(!function(n){return"string"==typeof n&&e.test(n)}(n))throw TypeError("Invalid UUID");var t,i=new Uint8Array(16);return i[0]=(t=parseInt(n.slice(0,8),16))>>>24,i[1]=t>>>16&255,i[2]=t>>>8&255,i[3]=255&t,i[4]=(t=parseInt(n.slice(9,13),16))>>>8,i[5]=255&t,i[6]=(t=parseInt(n.slice(14,18),16))>>>8,i[7]=255&t,i[8]=(t=parseInt(n.slice(19,23),16))>>>8,i[9]=255&t,i[10]=(t=parseInt(n.slice(24,36),16))/1099511627776&255,i[11]=t/4294967296&255,i[12]=t>>>24&255,i[13]=t>>>16&255,i[14]=t>>>8&255,i[15]=255&t,i}}));
--------------------------------------------------------------------------------
/server/node_modules/escape-html/Readme.md:
--------------------------------------------------------------------------------
1 |
2 | # escape-html
3 |
4 | Escape string for use in HTML
5 |
6 | ## Example
7 |
8 | ```js
9 | var escape = require('escape-html');
10 | var html = escape('foo & bar');
11 | // -> foo & bar
12 | ```
13 |
14 | ## Benchmark
15 |
16 | ```
17 | $ npm run-script bench
18 |
19 | > escape-html@1.0.3 bench nodejs-escape-html
20 | > node benchmark/index.js
21 |
22 |
23 | http_parser@1.0
24 | node@0.10.33
25 | v8@3.14.5.9
26 | ares@1.9.0-DEV
27 | uv@0.10.29
28 | zlib@1.2.3
29 | modules@11
30 | openssl@1.0.1j
31 |
32 | 1 test completed.
33 | 2 tests completed.
34 | 3 tests completed.
35 |
36 | no special characters x 19,435,271 ops/sec ±0.85% (187 runs sampled)
37 | single special character x 6,132,421 ops/sec ±0.67% (194 runs sampled)
38 | many special characters x 3,175,826 ops/sec ±0.65% (193 runs sampled)
39 | ```
40 |
41 | ## License
42 |
43 | MIT
--------------------------------------------------------------------------------
/server/node_modules/vary/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.1.2 / 2017-09-23
2 | ==================
3 |
4 | * perf: improve header token parsing speed
5 |
6 | 1.1.1 / 2017-03-20
7 | ==================
8 |
9 | * perf: hoist regular expression
10 |
11 | 1.1.0 / 2015-09-29
12 | ==================
13 |
14 | * Only accept valid field names in the `field` argument
15 | - Ensures the resulting string is a valid HTTP header value
16 |
17 | 1.0.1 / 2015-07-08
18 | ==================
19 |
20 | * Fix setting empty header from empty `field`
21 | * perf: enable strict mode
22 | * perf: remove argument reassignments
23 |
24 | 1.0.0 / 2014-08-10
25 | ==================
26 |
27 | * Accept valid `Vary` header string as `field`
28 | * Add `vary.append` for low-level string manipulation
29 | * Move to `jshttp` orgainzation
30 |
31 | 0.1.0 / 2014-06-05
32 | ==================
33 |
34 | * Support array of fields to set
35 |
36 | 0.0.0 / 2014-06-04
37 | ==================
38 |
39 | * Initial release
40 |
--------------------------------------------------------------------------------
/server/node_modules/setprototypeof/README.md:
--------------------------------------------------------------------------------
1 | # Polyfill for `Object.setPrototypeOf`
2 |
3 | [](https://npmjs.org/package/setprototypeof)
4 | [](https://npmjs.org/package/setprototypeof)
5 | [](https://github.com/standard/standard)
6 |
7 | A simple cross platform implementation to set the prototype of an instianted object. Supports all modern browsers and at least back to IE8.
8 |
9 | ## Usage:
10 |
11 | ```
12 | $ npm install --save setprototypeof
13 | ```
14 |
15 | ```javascript
16 | var setPrototypeOf = require('setprototypeof')
17 |
18 | var obj = {}
19 | setPrototypeOf(obj, {
20 | foo: function () {
21 | return 'bar'
22 | }
23 | })
24 | obj.foo() // bar
25 | ```
26 |
27 | TypeScript is also supported:
28 |
29 | ```typescript
30 | import setPrototypeOf = require('setprototypeof')
31 | ```
32 |
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/v4.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | Object.defineProperty(exports, "__esModule", {
4 | value: true
5 | });
6 | exports.default = void 0;
7 |
8 | var _rng = _interopRequireDefault(require("./rng.js"));
9 |
10 | var _stringify = _interopRequireDefault(require("./stringify.js"));
11 |
12 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13 |
14 | function v4(options, buf, offset) {
15 | options = options || {};
16 |
17 | const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`
18 |
19 |
20 | rnds[6] = rnds[6] & 0x0f | 0x40;
21 | rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided
22 |
23 | if (buf) {
24 | offset = offset || 0;
25 |
26 | for (let i = 0; i < 16; ++i) {
27 | buf[offset + i] = rnds[i];
28 | }
29 |
30 | return buf;
31 | }
32 |
33 | return (0, _stringify.default)(rnds);
34 | }
35 |
36 | var _default = v4;
37 | exports.default = _default;
--------------------------------------------------------------------------------
/infra/k8s/mongo-depl.yaml:
--------------------------------------------------------------------------------
1 |
2 | apiVersion: apps/v1
3 | kind: Deployment
4 | metadata:
5 | name: mongo-depl
6 | spec:
7 | replicas: 1
8 | selector:
9 | matchLabels:
10 | app: mongo
11 | template:
12 | metadata:
13 | labels:
14 | app: mongo
15 | spec:
16 | containers:
17 | - name: mongo
18 | image: mongo
19 | resources:
20 | requests:
21 | memory: 200Mi
22 | cpu: 100m
23 | limits:
24 | memory: 200Mi
25 | cpu: 100m
26 | volumeMounts:
27 | - name: mongo-storage
28 | mountPath: /data/db
29 | volumes:
30 | - name: mongo-storage
31 | persistentVolumeClaim:
32 | claimName: mongo-pvc
33 |
34 | ---
35 |
36 | apiVersion: v1
37 | kind: Service
38 | metadata:
39 | name: mongo-srv
40 | spec:
41 | selector:
42 | app: mongo
43 | ports:
44 | - name: db
45 | protocol: TCP
46 | port: 27017
47 | targetPort: 27017
--------------------------------------------------------------------------------
/infra/k8s/server-depl.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: apps/v1
2 | kind: Deployment
3 | metadata:
4 | name: server-depl
5 | spec:
6 | replicas: 1
7 | selector:
8 | matchLabels:
9 | app: server
10 | template:
11 | metadata:
12 | name: server-pod
13 | labels:
14 | app: server
15 | spec:
16 | containers:
17 | - name: server
18 | image: laithharb/server:v2
19 | resources:
20 | requests:
21 | memory: 200Mi
22 | cpu: 100m
23 | env:
24 | - name: MONGO_URL
25 | valueFrom:
26 | secretKeyRef:
27 | name: mongo-credentials
28 | key: mongo-url
29 | # name: MONGO_URL
30 | # value: mongodb://mongo-srv/habits
31 |
32 | ---
33 |
34 | apiVersion: v1
35 | kind: Service
36 | metadata:
37 | name: server-srv
38 | spec:
39 | type: NodePort
40 | selector:
41 | app: server
42 | ports:
43 | - protocol: TCP
44 | port: 3000
45 | targetPort: 3000
46 | nodePort: 30005
--------------------------------------------------------------------------------
/server/node_modules/express/lib/middleware/init.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * express
3 | * Copyright(c) 2009-2013 TJ Holowaychuk
4 | * Copyright(c) 2013 Roman Shtylman
5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson
6 | * MIT Licensed
7 | */
8 |
9 | 'use strict';
10 |
11 | /**
12 | * Module dependencies.
13 | * @private
14 | */
15 |
16 | var setPrototypeOf = require('setprototypeof')
17 |
18 | /**
19 | * Initialization middleware, exposing the
20 | * request and response to each other, as well
21 | * as defaulting the X-Powered-By header field.
22 | *
23 | * @param {Function} app
24 | * @return {Function}
25 | * @api private
26 | */
27 |
28 | exports.init = function(app){
29 | return function expressInit(req, res, next){
30 | if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express');
31 | req.res = res;
32 | res.req = req;
33 | req.next = next;
34 |
35 | setPrototypeOf(req, app.request)
36 | setPrototypeOf(res, app.response)
37 |
38 | res.locals = res.locals || Object.create(null);
39 |
40 | next();
41 | };
42 | };
43 |
44 |
--------------------------------------------------------------------------------
/server/node_modules/iconv-lite/lib/index.d.ts:
--------------------------------------------------------------------------------
1 | /*---------------------------------------------------------------------------------------------
2 | * Copyright (c) Microsoft Corporation. All rights reserved.
3 | * Licensed under the MIT License.
4 | * REQUIREMENT: This definition is dependent on the @types/node definition.
5 | * Install with `npm install @types/node --save-dev`
6 | *--------------------------------------------------------------------------------------------*/
7 |
8 | declare module 'iconv-lite' {
9 | export function decode(buffer: Buffer, encoding: string, options?: Options): string;
10 |
11 | export function encode(content: string, encoding: string, options?: Options): Buffer;
12 |
13 | export function encodingExists(encoding: string): boolean;
14 |
15 | export function decodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream;
16 |
17 | export function encodeStream(encoding: string, options?: Options): NodeJS.ReadWriteStream;
18 | }
19 |
20 | export interface Options {
21 | stripBOM?: boolean;
22 | addBOM?: boolean;
23 | defaultEncoding?: string;
24 | }
25 |
--------------------------------------------------------------------------------
/server/node_modules/express/lib/middleware/query.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * express
3 | * Copyright(c) 2009-2013 TJ Holowaychuk
4 | * Copyright(c) 2013 Roman Shtylman
5 | * Copyright(c) 2014-2015 Douglas Christopher Wilson
6 | * MIT Licensed
7 | */
8 |
9 | 'use strict';
10 |
11 | /**
12 | * Module dependencies.
13 | */
14 |
15 | var merge = require('utils-merge')
16 | var parseUrl = require('parseurl');
17 | var qs = require('qs');
18 |
19 | /**
20 | * @param {Object} options
21 | * @return {Function}
22 | * @api public
23 | */
24 |
25 | module.exports = function query(options) {
26 | var opts = merge({}, options)
27 | var queryparse = qs.parse;
28 |
29 | if (typeof options === 'function') {
30 | queryparse = options;
31 | opts = undefined;
32 | }
33 |
34 | if (opts !== undefined && opts.allowPrototypes === undefined) {
35 | // back-compat for qs module
36 | opts.allowPrototypes = true;
37 | }
38 |
39 | return function query(req, res, next){
40 | if (!req.query) {
41 | var val = parseUrl(req).query;
42 | req.query = queryparse(val, opts);
43 | }
44 |
45 | next();
46 | };
47 | };
48 |
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/esm-browser/rng.js:
--------------------------------------------------------------------------------
1 | // Unique ID creation requires a high quality random # generator. In the browser we therefore
2 | // require the crypto API and do not support built-in fallback to lower quality random number
3 | // generators (like Math.random()).
4 | var getRandomValues;
5 | var rnds8 = new Uint8Array(16);
6 | export default function rng() {
7 | // lazy load so that environments that need to polyfill have a chance to do so
8 | if (!getRandomValues) {
9 | // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
10 | // find the complete implementation of crypto (msCrypto) on IE11.
11 | getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);
12 |
13 | if (!getRandomValues) {
14 | throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
15 | }
16 | }
17 |
18 | return getRandomValues(rnds8);
19 | }
--------------------------------------------------------------------------------
/server/node_modules/uuid/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2010-2020 Robert Kieffer and other contributors
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
6 |
7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
8 |
9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
10 |
--------------------------------------------------------------------------------
/server/node_modules/iconv-lite/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2011 Alexander Shtuchkin
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
22 |
--------------------------------------------------------------------------------
/server/node_modules/ms/license.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Zeit, Inc.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/server/node_modules/ipaddr.js/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (C) 2011-2017 whitequark
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/server/node_modules/safe-buffer/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) Feross Aboukhadijeh
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/server/node_modules/utils-merge/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013-2017 Jared Hanson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/server/node_modules/debug/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014 TJ Holowaychuk
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software
6 | and associated documentation files (the 'Software'), to deal in the Software without restriction,
7 | including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 | and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
9 | subject to the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be included in all copies or substantial
12 | portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
15 | LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
16 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
17 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
18 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19 |
20 |
--------------------------------------------------------------------------------
/server/node_modules/depd/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014-2017 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/encodeurl/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2016 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/etag/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014-2016 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/mime/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2010 Benjamin Thomas, Robert Kieffer
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/server/node_modules/send/node_modules/ms/license.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2016 Zeit, Inc.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/server/node_modules/vary/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014-2017 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/content-type/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2015 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/forwarded/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014-2017 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/media-typer/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/proxy-addr/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014-2016 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/range-parser/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.2.1 / 2019-05-10
2 | ==================
3 |
4 | * Improve error when `str` is not a string
5 |
6 | 1.2.0 / 2016-06-01
7 | ==================
8 |
9 | * Add `combine` option to combine overlapping ranges
10 |
11 | 1.1.0 / 2016-05-13
12 | ==================
13 |
14 | * Fix incorrectly returning -1 when there is at least one valid range
15 | * perf: remove internal function
16 |
17 | 1.0.3 / 2015-10-29
18 | ==================
19 |
20 | * perf: enable strict mode
21 |
22 | 1.0.2 / 2014-09-08
23 | ==================
24 |
25 | * Support Node.js 0.6
26 |
27 | 1.0.1 / 2014-09-07
28 | ==================
29 |
30 | * Move repository to jshttp
31 |
32 | 1.0.0 / 2013-12-11
33 | ==================
34 |
35 | * Add repository to package.json
36 | * Add MIT license
37 |
38 | 0.0.4 / 2012-06-17
39 | ==================
40 |
41 | * Change ret -1 for unsatisfiable and -2 when invalid
42 |
43 | 0.0.3 / 2012-06-17
44 | ==================
45 |
46 | * Fix last-byte-pos default to len - 1
47 |
48 | 0.0.2 / 2012-06-14
49 | ==================
50 |
51 | * Add `.type`
52 |
53 | 0.0.1 / 2012-06-11
54 | ==================
55 |
56 | * Initial release
57 |
--------------------------------------------------------------------------------
/server/node_modules/safer-buffer/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Nikita Skovoroda
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/server/node_modules/destroy/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | The MIT License (MIT)
3 |
4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in
14 | all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/ee-first/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | The MIT License (MIT)
3 |
4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in
14 | all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/mime-db/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | The MIT License (MIT)
3 |
4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in
14 | all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/array-flatten/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/server/node_modules/content-disposition/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014-2017 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/path-to-regexp/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/server/node_modules/toidentifier/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2016 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/server/node_modules/unpipe/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2015 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/finalhandler/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014-2017 Douglas Christopher Wilson
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining
6 | a copy of this software and associated documentation files (the
7 | 'Software'), to deal in the Software without restriction, including
8 | without limitation the rights to use, copy, modify, merge, publish,
9 | distribute, sublicense, and/or sell copies of the Software, and to
10 | permit persons to whom the Software is furnished to do so, subject to
11 | the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be
14 | included in all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/content-disposition/HISTORY.md:
--------------------------------------------------------------------------------
1 | 0.5.3 / 2018-12-17
2 | ==================
3 |
4 | * Use `safe-buffer` for improved Buffer API
5 |
6 | 0.5.2 / 2016-12-08
7 | ==================
8 |
9 | * Fix `parse` to accept any linear whitespace character
10 |
11 | 0.5.1 / 2016-01-17
12 | ==================
13 |
14 | * perf: enable strict mode
15 |
16 | 0.5.0 / 2014-10-11
17 | ==================
18 |
19 | * Add `parse` function
20 |
21 | 0.4.0 / 2014-09-21
22 | ==================
23 |
24 | * Expand non-Unicode `filename` to the full ISO-8859-1 charset
25 |
26 | 0.3.0 / 2014-09-20
27 | ==================
28 |
29 | * Add `fallback` option
30 | * Add `type` option
31 |
32 | 0.2.0 / 2014-09-19
33 | ==================
34 |
35 | * Reduce ambiguity of file names with hex escape in buggy browsers
36 |
37 | 0.1.2 / 2014-09-19
38 | ==================
39 |
40 | * Fix periodic invalid Unicode filename header
41 |
42 | 0.1.1 / 2014-09-19
43 | ==================
44 |
45 | * Fix invalid characters appearing in `filename*` parameter
46 |
47 | 0.1.0 / 2014-09-18
48 | ==================
49 |
50 | * Make the `filename` argument optional
51 |
52 | 0.0.0 / 2014-09-18
53 | ==================
54 |
55 | * Initial release
56 |
--------------------------------------------------------------------------------
/server/node_modules/send/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2012 TJ Holowaychuk
4 | Copyright (c) 2014-2016 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/iconv-lite/encodings/tables/gbk-added.json:
--------------------------------------------------------------------------------
1 | [
2 | ["a140","",62],
3 | ["a180","",32],
4 | ["a240","",62],
5 | ["a280","",32],
6 | ["a2ab","",5],
7 | ["a2e3","€"],
8 | ["a2ef",""],
9 | ["a2fd",""],
10 | ["a340","",62],
11 | ["a380","",31," "],
12 | ["a440","",62],
13 | ["a480","",32],
14 | ["a4f4","",10],
15 | ["a540","",62],
16 | ["a580","",32],
17 | ["a5f7","",7],
18 | ["a640","",62],
19 | ["a680","",32],
20 | ["a6b9","",7],
21 | ["a6d9","",6],
22 | ["a6ec",""],
23 | ["a6f3",""],
24 | ["a6f6","",8],
25 | ["a740","",62],
26 | ["a780","",32],
27 | ["a7c2","",14],
28 | ["a7f2","",12],
29 | ["a896","",10],
30 | ["a8bc",""],
31 | ["a8bf","ǹ"],
32 | ["a8c1",""],
33 | ["a8ea","",20],
34 | ["a958",""],
35 | ["a95b",""],
36 | ["a95d",""],
37 | ["a989","〾⿰",11],
38 | ["a997","",12],
39 | ["a9f0","",14],
40 | ["aaa1","",93],
41 | ["aba1","",93],
42 | ["aca1","",93],
43 | ["ada1","",93],
44 | ["aea1","",93],
45 | ["afa1","",93],
46 | ["d7fa","",4],
47 | ["f8a1","",93],
48 | ["f9a1","",93],
49 | ["faa1","",93],
50 | ["fba1","",93],
51 | ["fca1","",93],
52 | ["fda1","",93],
53 | ["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"],
54 | ["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93]
55 | ]
56 |
--------------------------------------------------------------------------------
/client/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "client",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "@testing-library/jest-dom": "^5.11.4",
7 | "@testing-library/react": "^11.1.0",
8 | "@testing-library/user-event": "^12.1.10",
9 | "@types/jest": "^26.0.15",
10 | "@types/node": "^12.0.0",
11 | "@types/react": "^17.0.4",
12 | "@types/react-dom": "^17.0.0",
13 | "axios": "^0.21.1",
14 | "bootstrap": "^4.6.0",
15 | "react": "^17.0.2",
16 | "react-bootstrap": "^1.5.2",
17 | "react-dom": "^17.0.2",
18 | "react-scripts": "4.0.3",
19 | "typescript": "^4.1.2",
20 | "web-vitals": "^1.0.1"
21 | },
22 | "scripts": {
23 | "start": "react-scripts start",
24 | "build": "react-scripts build",
25 | "test": "react-scripts test",
26 | "eject": "react-scripts eject"
27 | },
28 | "eslintConfig": {
29 | "extends": [
30 | "react-app",
31 | "react-app/jest"
32 | ]
33 | },
34 | "browserslist": {
35 | "production": [
36 | ">0.2%",
37 | "not dead",
38 | "not op_mini all"
39 | ],
40 | "development": [
41 | "last 1 chrome version",
42 | "last 1 firefox version",
43 | "last 1 safari version"
44 | ]
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/server/node_modules/bytes/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2012-2014 TJ Holowaychuk
4 | Copyright (c) 2015 Jed Watson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/rng-browser.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | Object.defineProperty(exports, "__esModule", {
4 | value: true
5 | });
6 | exports.default = rng;
7 | // Unique ID creation requires a high quality random # generator. In the browser we therefore
8 | // require the crypto API and do not support built-in fallback to lower quality random number
9 | // generators (like Math.random()).
10 | let getRandomValues;
11 | const rnds8 = new Uint8Array(16);
12 |
13 | function rng() {
14 | // lazy load so that environments that need to polyfill have a chance to do so
15 | if (!getRandomValues) {
16 | // getRandomValues needs to be invoked in a context where "this" is a Crypto implementation. Also,
17 | // find the complete implementation of crypto (msCrypto) on IE11.
18 | getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);
19 |
20 | if (!getRandomValues) {
21 | throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
22 | }
23 | }
24 |
25 | return getRandomValues(rnds8);
26 | }
--------------------------------------------------------------------------------
/server/node_modules/accepts/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014 Jonathan Ong
4 | Copyright (c) 2015 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/escape-html/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2012-2013 TJ Holowaychuk
4 | Copyright (c) 2015 Andreas Lubbe
5 | Copyright (c) 2015 Tiancheng "Timothy" Gu
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining
8 | a copy of this software and associated documentation files (the
9 | 'Software'), to deal in the Software without restriction, including
10 | without limitation the rights to use, copy, modify, merge, publish,
11 | distribute, sublicense, and/or sell copies of the Software, and to
12 | permit persons to whom the Software is furnished to do so, subject to
13 | the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be
16 | included in all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 |
--------------------------------------------------------------------------------
/server/node_modules/fresh/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2012 TJ Holowaychuk
4 | Copyright (c) 2016-2017 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/http-errors/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | The MIT License (MIT)
3 |
4 | Copyright (c) 2014 Jonathan Ong me@jongleberry.com
5 | Copyright (c) 2016 Douglas Christopher Wilson doug@somethingdoug.com
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in
15 | all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 | THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/mime-types/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014 Jonathan Ong
4 | Copyright (c) 2015 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/on-finished/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2013 Jonathan Ong
4 | Copyright (c) 2014 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/path-to-regexp/Readme.md:
--------------------------------------------------------------------------------
1 | # Path-to-RegExp
2 |
3 | Turn an Express-style path string such as `/user/:name` into a regular expression.
4 |
5 | **Note:** This is a legacy branch. You should upgrade to `1.x`.
6 |
7 | ## Usage
8 |
9 | ```javascript
10 | var pathToRegexp = require('path-to-regexp');
11 | ```
12 |
13 | ### pathToRegexp(path, keys, options)
14 |
15 | - **path** A string in the express format, an array of such strings, or a regular expression
16 | - **keys** An array to be populated with the keys present in the url. Once the function completes, this will be an array of strings.
17 | - **options**
18 | - **options.sensitive** Defaults to false, set this to true to make routes case sensitive
19 | - **options.strict** Defaults to false, set this to true to make the trailing slash matter.
20 | - **options.end** Defaults to true, set this to false to only match the prefix of the URL.
21 |
22 | ```javascript
23 | var keys = [];
24 | var exp = pathToRegexp('/foo/:bar', keys);
25 | //keys = ['bar']
26 | //exp = /^\/foo\/(?:([^\/]+?))\/?$/i
27 | ```
28 |
29 | ## Live Demo
30 |
31 | You can see a live demo of this library in use at [express-route-tester](http://forbeslindesay.github.com/express-route-tester/).
32 |
33 | ## License
34 |
35 | MIT
36 |
--------------------------------------------------------------------------------
/server/node_modules/type-is/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014 Jonathan Ong
4 | Copyright (c) 2014-2015 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/body-parser/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2014 Jonathan Ong
4 | Copyright (c) 2014-2015 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/merge-descriptors/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2013 Jonathan Ong
4 | Copyright (c) 2015 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/raw-body/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013-2014 Jonathan Ong
4 | Copyright (c) 2014-2015 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in
14 | all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/server/node_modules/statuses/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | The MIT License (MIT)
3 |
4 | Copyright (c) 2014 Jonathan Ong
5 | Copyright (c) 2016 Douglas Christopher Wilson
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in
15 | all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
23 | THE SOFTWARE.
24 |
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/esm-browser/parse.js:
--------------------------------------------------------------------------------
1 | import validate from './validate.js';
2 |
3 | function parse(uuid) {
4 | if (!validate(uuid)) {
5 | throw TypeError('Invalid UUID');
6 | }
7 |
8 | var v;
9 | var arr = new Uint8Array(16); // Parse ########-....-....-....-............
10 |
11 | arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;
12 | arr[1] = v >>> 16 & 0xff;
13 | arr[2] = v >>> 8 & 0xff;
14 | arr[3] = v & 0xff; // Parse ........-####-....-....-............
15 |
16 | arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;
17 | arr[5] = v & 0xff; // Parse ........-....-####-....-............
18 |
19 | arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;
20 | arr[7] = v & 0xff; // Parse ........-....-....-####-............
21 |
22 | arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;
23 | arr[9] = v & 0xff; // Parse ........-....-....-....-############
24 | // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes)
25 |
26 | arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;
27 | arr[11] = v / 0x100000000 & 0xff;
28 | arr[12] = v >>> 24 & 0xff;
29 | arr[13] = v >>> 16 & 0xff;
30 | arr[14] = v >>> 8 & 0xff;
31 | arr[15] = v & 0xff;
32 | return arr;
33 | }
34 |
35 | export default parse;
--------------------------------------------------------------------------------
/server/node_modules/uuid/dist/esm-node/parse.js:
--------------------------------------------------------------------------------
1 | import validate from './validate.js';
2 |
3 | function parse(uuid) {
4 | if (!validate(uuid)) {
5 | throw TypeError('Invalid UUID');
6 | }
7 |
8 | let v;
9 | const arr = new Uint8Array(16); // Parse ########-....-....-....-............
10 |
11 | arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;
12 | arr[1] = v >>> 16 & 0xff;
13 | arr[2] = v >>> 8 & 0xff;
14 | arr[3] = v & 0xff; // Parse ........-####-....-....-............
15 |
16 | arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;
17 | arr[5] = v & 0xff; // Parse ........-....-####-....-............
18 |
19 | arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;
20 | arr[7] = v & 0xff; // Parse ........-....-....-####-............
21 |
22 | arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;
23 | arr[9] = v & 0xff; // Parse ........-....-....-....-############
24 | // (Use "/" to avoid 32-bit truncation when bit-shifting high-order bytes)
25 |
26 | arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;
27 | arr[11] = v / 0x100000000 & 0xff;
28 | arr[12] = v >>> 24 & 0xff;
29 | arr[13] = v >>> 16 & 0xff;
30 | arr[14] = v >>> 8 & 0xff;
31 | arr[15] = v & 0xff;
32 | return arr;
33 | }
34 |
35 | export default parse;
--------------------------------------------------------------------------------
/server/node_modules/cookie/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2012-2014 Roman Shtylman
4 | Copyright (c) 2015 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
25 |
--------------------------------------------------------------------------------
/server/node_modules/parseurl/LICENSE:
--------------------------------------------------------------------------------
1 |
2 | (The MIT License)
3 |
4 | Copyright (c) 2014 Jonathan Ong
5 | Copyright (c) 2014-2017 Douglas Christopher Wilson
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining
8 | a copy of this software and associated documentation files (the
9 | 'Software'), to deal in the Software without restriction, including
10 | without limitation the rights to use, copy, modify, merge, publish,
11 | distribute, sublicense, and/or sell copies of the Software, and to
12 | permit persons to whom the Software is furnished to do so, subject to
13 | the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be
16 | included in all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 |
--------------------------------------------------------------------------------
/server/src/index.js:
--------------------------------------------------------------------------------
1 | const express = require("express");
2 | const { v4 } = require("uuid")
3 | const mongoose = require("mongoose")
4 | const app = express();
5 | app.use(express.json());
6 |
7 | const Habit = mongoose.model('Habit', {
8 | completed: Boolean,
9 | habit: String
10 | });
11 |
12 | app.get("/api", (req, res) => {
13 | res.send("This is habit app API")
14 | });
15 |
16 | app.post("/api/habit", async (req, res) => {
17 | const { habit } = req.body;
18 | const newHabit = new Habit({
19 | habit: habit.habit,
20 | completed: habit.completed
21 | })
22 | await newHabit.save()
23 | res.send(newHabit)
24 | });
25 |
26 | app.get("/api/habits", async (req, res) => {
27 | const habits = await Habit.find({})
28 | res.json(habits)
29 | });
30 |
31 | const main = async () => {
32 |
33 | try {
34 | await mongoose.connect(process.env.MONGO_URL, {
35 | useNewUrlParser: true,
36 | useUnifiedTopology: true,
37 | useCreateIndex: true
38 | });
39 | console.log("connected to mongodb")
40 | } catch (error) {
41 | console.log(error)
42 | }
43 |
44 | app.listen(3000, () => {
45 | console.log('Listening on port 3000!!')
46 | })
47 | }
48 |
49 | main()
50 |
--------------------------------------------------------------------------------
/server/node_modules/methods/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2013-2014 TJ Holowaychuk
4 | Copyright (c) 2015-2016 Douglas Christopher Wilson
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining
7 | a copy of this software and associated documentation files (the
8 | 'Software'), to deal in the Software without restriction, including
9 | without limitation the rights to use, copy, modify, merge, publish,
10 | distribute, sublicense, and/or sell copies of the Software, and to
11 | permit persons to whom the Software is furnished to do so, subject to
12 | the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be
15 | included in all copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 |
25 |
--------------------------------------------------------------------------------
/server/node_modules/negotiator/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2012-2014 Federico Romero
4 | Copyright (c) 2012-2014 Isaac Z. Schlueter
5 | Copyright (c) 2014-2015 Douglas Christopher Wilson
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining
8 | a copy of this software and associated documentation files (the
9 | 'Software'), to deal in the Software without restriction, including
10 | without limitation the rights to use, copy, modify, merge, publish,
11 | distribute, sublicense, and/or sell copies of the Software, and to
12 | permit persons to whom the Software is furnished to do so, subject to
13 | the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be
16 | included in all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
19 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25 |
--------------------------------------------------------------------------------
/server/node_modules/range-parser/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2012-2014 TJ Holowaychuk
4 | Copyright (c) 2015-2016 Douglas Christopher Wilson dist/debug.js
38 |
39 | karma start --single-run
40 | rimraf dist
41 |
42 | test: .FORCE
43 | concurrently \
44 | "make test-node" \
45 | "make test-browser"
46 |
47 | coveralls:
48 | cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js
49 |
50 | .PHONY: all install clean distclean
51 |
--------------------------------------------------------------------------------
/server/node_modules/serve-static/LICENSE:
--------------------------------------------------------------------------------
1 | (The MIT License)
2 |
3 | Copyright (c) 2010 Sencha Inc.
4 | Copyright (c) 2011 LearnBoost
5 | Copyright (c) 2011 TJ Holowaychuk
6 | Copyright (c) 2014-2016 Douglas Christopher Wilson
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining
9 | a copy of this software and associated documentation files (the
10 | 'Software'), to deal in the Software without restriction, including
11 | without limitation the rights to use, copy, modify, merge, publish,
12 | distribute, sublicense, and/or sell copies of the Software, and to
13 | permit persons to whom the Software is furnished to do so, subject to
14 | the following conditions:
15 |
16 | The above copyright notice and this permission notice shall be
17 | included in all copies or substantial portions of the Software.
18 |
19 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
20 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
23 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 |
--------------------------------------------------------------------------------
/server/node_modules/parseurl/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.3.3 / 2019-04-15
2 | ==================
3 |
4 | * Fix Node.js 0.8 return value inconsistencies
5 |
6 | 1.3.2 / 2017-09-09
7 | ==================
8 |
9 | * perf: reduce overhead for full URLs
10 | * perf: unroll the "fast-path" `RegExp`
11 |
12 | 1.3.1 / 2016-01-17
13 | ==================
14 |
15 | * perf: enable strict mode
16 |
17 | 1.3.0 / 2014-08-09
18 | ==================
19 |
20 | * Add `parseurl.original` for parsing `req.originalUrl` with fallback
21 | * Return `undefined` if `req.url` is `undefined`
22 |
23 | 1.2.0 / 2014-07-21
24 | ==================
25 |
26 | * Cache URLs based on original value
27 | * Remove no-longer-needed URL mis-parse work-around
28 | * Simplify the "fast-path" `RegExp`
29 |
30 | 1.1.3 / 2014-07-08
31 | ==================
32 |
33 | * Fix typo
34 |
35 | 1.1.2 / 2014-07-08
36 | ==================
37 |
38 | * Seriously fix Node.js 0.8 compatibility
39 |
40 | 1.1.1 / 2014-07-08
41 | ==================
42 |
43 | * Fix Node.js 0.8 compatibility
44 |
45 | 1.1.0 / 2014-07-08
46 | ==================
47 |
48 | * Incorporate URL href-only parse fast-path
49 |
50 | 1.0.1 / 2014-03-08
51 | ==================
52 |
53 | * Add missing `require`
54 |
55 | 1.0.0 / 2014-03-08
56 | ==================
57 |
58 | * Genesis from `connect`
59 |
--------------------------------------------------------------------------------
/server/node_modules/statuses/HISTORY.md:
--------------------------------------------------------------------------------
1 | 1.5.0 / 2018-03-27
2 | ==================
3 |
4 | * Add `103 Early Hints`
5 |
6 | 1.4.0 / 2017-10-20
7 | ==================
8 |
9 | * Add `STATUS_CODES` export
10 |
11 | 1.3.1 / 2016-11-11
12 | ==================
13 |
14 | * Fix return type in JSDoc
15 |
16 | 1.3.0 / 2016-05-17
17 | ==================
18 |
19 | * Add `421 Misdirected Request`
20 | * perf: enable strict mode
21 |
22 | 1.2.1 / 2015-02-01
23 | ==================
24 |
25 | * Fix message for status 451
26 | - `451 Unavailable For Legal Reasons`
27 |
28 | 1.2.0 / 2014-09-28
29 | ==================
30 |
31 | * Add `208 Already Repored`
32 | * Add `226 IM Used`
33 | * Add `306 (Unused)`
34 | * Add `415 Unable For Legal Reasons`
35 | * Add `508 Loop Detected`
36 |
37 | 1.1.1 / 2014-09-24
38 | ==================
39 |
40 | * Add missing 308 to `codes.json`
41 |
42 | 1.1.0 / 2014-09-21
43 | ==================
44 |
45 | * Add `codes.json` for universal support
46 |
47 | 1.0.4 / 2014-08-20
48 | ==================
49 |
50 | * Package cleanup
51 |
52 | 1.0.3 / 2014-06-08
53 | ==================
54 |
55 | * Add 308 to `.redirect` category
56 |
57 | 1.0.2 / 2014-03-13
58 | ==================
59 |
60 | * Add `.retry` category
61 |
62 | 1.0.1 / 2014-03-12
63 | ==================
64 |
65 | * Initial release
66 |
--------------------------------------------------------------------------------
/client/src/components/Habit/Habit.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState, useEffect } from 'react'
2 | import HabitCard from '../HabitCard/HabitCard'
3 | import Modal from "../Modal/Modal"
4 | import "./Habit.css"
5 | import axios from "axios"
6 |
7 | type IState = {
8 | _id: string;
9 | habit: string;
10 | completed: boolean;
11 | }[]
12 |
13 | function Habit() {
14 |
15 | const [habits, setHabits] = useState([]);
16 |
17 | useEffect(() => {
18 | fetchHabits()
19 | }, [])
20 |
21 | const fetchHabits = async () => {
22 | let response: {
23 | data: IState
24 | } = await axios.get("/api/habits");
25 | setHabits(response.data)
26 | }
27 |
28 | return (
29 |