From f47a31d6d5813e2f90984885e1bfedb357ae4405 Mon Sep 17 00:00:00 2001 From: rimuru Date: Sat, 24 May 2025 14:49:01 +0100 Subject: [PATCH] Initial commit to gitea --- todo/.bash_aliases | 1 + todo/.vimrc | 1 + todo/.vs/ProjectSettings.json | 3 + todo/.vs/VSWorkspaceState.json | 6 ++ todo/.vs/slnx.sqlite | Bin 0 -> 90112 bytes ...b1756685-8f8f-4815-a952-9a815abdf018.vsidx | Bin 0 -> 133478 bytes todo/.vs/todo/FileContentIndex/read.lock | 0 todo/.vs/todo/v17/.suo | Bin 0 -> 14336 bytes todo/backend/config/config.js | 6 ++ todo/backend/constants/application.js | 18 +++++ todo/backend/controller/api_controller.js | 14 ++++ todo/backend/index.js | 23 ++++++ todo/backend/node_modules/.bin/mime.cmd | 34 ++++----- .../@types/webidl-conversions/README.md | 30 ++++---- .../node_modules/@types/whatwg-url/README.md | 30 ++++---- todo/backend/node_modules/sift/es5m/index.js | 68 +++++++++--------- todo/backend/node_modules/sift/lib/index.js | 68 +++++++++--------- .../backend/node_modules/sift/sift.csp.min.js | 68 +++++++++--------- todo/backend/services/database_service.js | 8 +++ 19 files changed, 229 insertions(+), 149 deletions(-) create mode 100644 todo/.bash_aliases create mode 100644 todo/.vimrc create mode 100644 todo/.vs/ProjectSettings.json create mode 100644 todo/.vs/VSWorkspaceState.json create mode 100644 todo/.vs/slnx.sqlite create mode 100644 todo/.vs/todo/FileContentIndex/b1756685-8f8f-4815-a952-9a815abdf018.vsidx create mode 100644 todo/.vs/todo/FileContentIndex/read.lock create mode 100644 todo/.vs/todo/v17/.suo diff --git a/todo/.bash_aliases b/todo/.bash_aliases new file mode 100644 index 0000000..fc3c417 --- /dev/null +++ b/todo/.bash_aliases @@ -0,0 +1 @@ +alias vim='vi' diff --git a/todo/.vimrc b/todo/.vimrc new file mode 100644 index 0000000..cd52193 --- /dev/null +++ b/todo/.vimrc @@ -0,0 +1 @@ +set nocompatible diff --git a/todo/.vs/ProjectSettings.json b/todo/.vs/ProjectSettings.json new file mode 100644 index 0000000..866f1e1 --- /dev/null +++ b/todo/.vs/ProjectSettings.json @@ -0,0 +1,3 @@ +{ + "CurrentProjectSetting": null +} \ No newline at end of file diff --git a/todo/.vs/VSWorkspaceState.json b/todo/.vs/VSWorkspaceState.json new file mode 100644 index 0000000..9568b22 --- /dev/null +++ b/todo/.vs/VSWorkspaceState.json @@ -0,0 +1,6 @@ +{ + "ExpandedNodes": [ + "" + ], + "PreviewInSolutionExplorer": false +} \ No newline at end of file diff --git a/todo/.vs/slnx.sqlite b/todo/.vs/slnx.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..1fc03c7a7e73f339237ede7fd8fc8c56c0ac6a4e GIT binary patch literal 90112 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 F|G!pmrY`^h literal 0 HcmV?d00001 diff --git a/todo/.vs/todo/FileContentIndex/b1756685-8f8f-4815-a952-9a815abdf018.vsidx b/todo/.vs/todo/FileContentIndex/b1756685-8f8f-4815-a952-9a815abdf018.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..bb4f28694a19957b6cff31b3fda9abef09b92fea GIT binary patch literal 133478 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

>GD>}l0*a`Z<$78oXf59IFbX=RwXK3(qKyr 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 + try{ + return res.status(200).json({success: true, message: "Successfully done!"}) + + } catch(e) { + return res.status(500).json({success: false, message: "Not successfully done!"}) + } + } +} diff --git a/todo/backend/index.js b/todo/backend/index.js index e69de29..7446804 100644 --- a/todo/backend/index.js +++ b/todo/backend/index.js @@ -0,0 +1,23 @@ +import express from 'express'; +import cors from 'cors'; +import config from './config/config.js'; +import database_service from './services/database_service.js'; +import router from './router/router.js'; + +const App = express(); +App.use(express.json()); +App.use(cors()); + +const onListening = () => { + console.log(`Server is listening on port ${config.PORT}`); + +} + +database_service.connect() +.then( () => { + App.listen(config.PORT, onListening); +}).catch( (e) => { + console.log(`The error is ${e}`); +}) + +App.use("/api/variant1", router); \ No newline at end of file diff --git a/todo/backend/node_modules/.bin/mime.cmd b/todo/backend/node_modules/.bin/mime.cmd index 54491f1..a9e48f1 100644 --- a/todo/backend/node_modules/.bin/mime.cmd +++ b/todo/backend/node_modules/.bin/mime.cmd @@ -1,17 +1,17 @@ -@ECHO off -GOTO start -:find_dp0 -SET dp0=%~dp0 -EXIT /b -:start -SETLOCAL -CALL :find_dp0 - -IF EXIST "%dp0%\node.exe" ( - SET "_prog=%dp0%\node.exe" -) ELSE ( - SET "_prog=node" - SET PATHEXT=%PATHEXT:;.JS;=;% -) - -endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\mime\cli.js" %* +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\mime\cli.js" %* diff --git a/todo/backend/node_modules/@types/webidl-conversions/README.md b/todo/backend/node_modules/@types/webidl-conversions/README.md index a0f3f9d..7cd5c9d 100644 --- a/todo/backend/node_modules/@types/webidl-conversions/README.md +++ b/todo/backend/node_modules/@types/webidl-conversions/README.md @@ -1,15 +1,15 @@ -# Installation -> `npm install --save @types/webidl-conversions` - -# Summary -This package contains type definitions for webidl-conversions (https://github.com/jsdom/webidl-conversions#readme). - -# Details -Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/webidl-conversions. - -### Additional Details - * Last updated: Tue, 07 Nov 2023 15:11:36 GMT - * Dependencies: none - -# Credits -These definitions were written by [ExE Boss](https://github.com/ExE-Boss), and [BendingBender](https://github.com/BendingBender). +# Installation +> `npm install --save @types/webidl-conversions` + +# Summary +This package contains type definitions for webidl-conversions (https://github.com/jsdom/webidl-conversions#readme). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/webidl-conversions. + +### Additional Details + * Last updated: Tue, 07 Nov 2023 15:11:36 GMT + * Dependencies: none + +# Credits +These definitions were written by [ExE Boss](https://github.com/ExE-Boss), and [BendingBender](https://github.com/BendingBender). diff --git a/todo/backend/node_modules/@types/whatwg-url/README.md b/todo/backend/node_modules/@types/whatwg-url/README.md index 75b056c..11061eb 100644 --- a/todo/backend/node_modules/@types/whatwg-url/README.md +++ b/todo/backend/node_modules/@types/whatwg-url/README.md @@ -1,15 +1,15 @@ -# Installation -> `npm install --save @types/whatwg-url` - -# Summary -This package contains type definitions for whatwg-url (https://github.com/jsdom/whatwg-url#readme). - -# Details -Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/whatwg-url. - -### Additional Details - * Last updated: Sat, 18 May 2024 21:06:54 GMT - * Dependencies: [@types/webidl-conversions](https://npmjs.com/package/@types/webidl-conversions) - -# Credits -These definitions were written by [Alexander Marks](https://github.com/aomarks), [ExE Boss](https://github.com/ExE-Boss), and [BendingBender](https://github.com/BendingBender). +# Installation +> `npm install --save @types/whatwg-url` + +# Summary +This package contains type definitions for whatwg-url (https://github.com/jsdom/whatwg-url#readme). + +# Details +Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/whatwg-url. + +### Additional Details + * Last updated: Sat, 18 May 2024 21:06:54 GMT + * Dependencies: [@types/webidl-conversions](https://npmjs.com/package/@types/webidl-conversions) + +# Credits +These definitions were written by [Alexander Marks](https://github.com/aomarks), [ExE Boss](https://github.com/ExE-Boss), and [BendingBender](https://github.com/BendingBender). diff --git a/todo/backend/node_modules/sift/es5m/index.js b/todo/backend/node_modules/sift/es5m/index.js index 3136cbf..afb7464 100644 --- a/todo/backend/node_modules/sift/es5m/index.js +++ b/todo/backend/node_modules/sift/es5m/index.js @@ -1,37 +1,37 @@ -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise, SuppressedError, Symbol */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise, SuppressedError, Symbol */ + +var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); +}; + +function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); +} + +typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; }; var typeChecker = function (type) { diff --git a/todo/backend/node_modules/sift/lib/index.js b/todo/backend/node_modules/sift/lib/index.js index d0d8933..74b5289 100644 --- a/todo/backend/node_modules/sift/lib/index.js +++ b/todo/backend/node_modules/sift/lib/index.js @@ -4,40 +4,40 @@ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sift = {})); })(this, (function (exports) { 'use strict'; - /****************************************************************************** - Copyright (c) Microsoft Corporation. - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** */ - /* global Reflect, Promise, SuppressedError, Symbol */ - - var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - - function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - } - - typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; + /****************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + /* global Reflect, Promise, SuppressedError, Symbol */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + + typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; }; var typeChecker = function (type) { diff --git a/todo/backend/node_modules/sift/sift.csp.min.js b/todo/backend/node_modules/sift/sift.csp.min.js index 673941c..b80705d 100644 --- a/todo/backend/node_modules/sift/sift.csp.min.js +++ b/todo/backend/node_modules/sift/sift.csp.min.js @@ -4,40 +4,40 @@ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.sift = {})); })(this, (function (exports) { 'use strict'; - /****************************************************************************** - Copyright (c) Microsoft Corporation. - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** */ - /* global Reflect, Promise, SuppressedError, Symbol */ - - var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; - return extendStatics(d, b); - }; - - function __extends(d, b) { - if (typeof b !== "function" && b !== null) - throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - } - - typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { - var e = new Error(message); - return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; + /****************************************************************************** + Copyright (c) Microsoft Corporation. + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted. + + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + PERFORMANCE OF THIS SOFTWARE. + ***************************************************************************** */ + /* global Reflect, Promise, SuppressedError, Symbol */ + + var extendStatics = function(d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + + function __extends(d, b) { + if (typeof b !== "function" && b !== null) + throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + } + + typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; }; var typeChecker = function (type) { diff --git a/todo/backend/services/database_service.js b/todo/backend/services/database_service.js index e69de29..13e648c 100644 --- a/todo/backend/services/database_service.js +++ b/todo/backend/services/database_service.js @@ -0,0 +1,8 @@ +import mongoose from "mongoose"; +import config from "../config/config"; + +export default{ + connect:async() => { + + } +} \ No newline at end of file