diff --git a/README.md b/README.md index 854af44..1285f5f 100644 --- a/README.md +++ b/README.md @@ -11,20 +11,6 @@ Video como hacer PR: https://youtu.be/Lxt8Acob6aU - - + +
- - leifermendez -
- Leifer Mendez -
-
- - aurik3 -
- Null -
-
vicente1992 @@ -32,6 +18,13 @@ Video como hacer PR: https://youtu.be/Lxt8Acob6aU Manuel Vicente Ortiz + + leifermendez +
+ Leifer Mendez +
+
leifermendezfroged @@ -46,6 +39,13 @@ Video como hacer PR: https://youtu.be/Lxt8Acob6aU Null + + aurik3 +
+ Null +
+
jzvi12 diff --git a/packages/database/package.json b/packages/database/package.json index 9ffa4d3..801fb96 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -10,11 +10,13 @@ "dependencies": { "dotenv": "^16.0.3", "mongodb": "^4.11.0", + "stormdb": "^0.6.0", "mysql2": "^2.3.3" }, "exports": { "./mock": "./lib/mock/index.cjs", "./mongo": "./lib/mongo/index.cjs", + "./json-file": "./lib/json-file/index.cjs", "./mysql": "./lib/mysql/index.cjs" } } diff --git a/packages/database/rollup-database.config.js b/packages/database/rollup-database.config.js index 0f88d13..1eecdba 100644 --- a/packages/database/rollup-database.config.js +++ b/packages/database/rollup-database.config.js @@ -30,4 +30,12 @@ module.exports = [ }, plugins: [commonjs()], }, + { + input: join(__dirname, 'src', 'json-file', 'index.js'), + output: { + banner: banner['banner.output'].join(''), + file: join(__dirname, 'lib', 'json-file', 'index.cjs'), + }, + plugins: [commonjs()], + }, ] diff --git a/packages/database/src/json-file/index.js b/packages/database/src/json-file/index.js new file mode 100644 index 0000000..af53df8 --- /dev/null +++ b/packages/database/src/json-file/index.js @@ -0,0 +1,48 @@ +const path = require('path') +const StormDB = require('stormdb') +const engine = new StormDB.localFileEngine( + path.join(process.cwd(), './db.stormdb') +) + +class JsonFileAdapter { + db + listHistory = [] + + constructor() { + this.init().then() + } + + init() { + return new Promise((resolve) => { + this.db = new StormDB(engine) + this.db.default({ history: [] }) + resolve(this.db) + }) + } + + getPrevByNumber = async (from) => { + const response = await this.db.get('history') + const { history } = response.state + + if (!history.length) { + return null + } + + const result = history.filter((res) => res.from === from).pop() + + return { + ...result, + } + } + + save = async (ctx) => { + await this.db + .get('history') + .push({ ...ctx }) + .save() + console.log('Guardado en DB...', ctx) + this.listHistory.push(ctx) + } +} + +module.exports = JsonFileAdapter diff --git a/yarn.lock b/yarn.lock index a62b2db..54dc4ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -82,15 +82,15 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/client-cognito-identity@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/client-cognito-identity@npm:3.222.0" +"@aws-sdk/client-cognito-identity@npm:3.223.0": + version: 3.223.0 + resolution: "@aws-sdk/client-cognito-identity@npm:3.223.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 - "@aws-sdk/client-sts": 3.222.0 + "@aws-sdk/client-sts": 3.223.0 "@aws-sdk/config-resolver": 3.222.0 - "@aws-sdk/credential-provider-node": 3.222.0 + "@aws-sdk/credential-provider-node": 3.223.0 "@aws-sdk/fetch-http-handler": 3.222.0 "@aws-sdk/hash-node": 3.222.0 "@aws-sdk/invalid-dependency": 3.222.0 @@ -116,19 +116,18 @@ __metadata: "@aws-sdk/util-defaults-mode-browser": 3.222.0 "@aws-sdk/util-defaults-mode-node": 3.222.0 "@aws-sdk/util-endpoints": 3.222.0 - "@aws-sdk/util-retry": 3.222.0 "@aws-sdk/util-user-agent-browser": 3.222.0 "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: b733d9bad0232a17967da9b27311cb2adf41acaefc584173e6d74b3b966ed3908b9e9fa65b3a0f3e12709dc305e64b1a5351ea43ac666650a375cb10143368e3 + checksum: ada894c3fbe943044617d719dc947af51546dbfea72e5b63f23c6230677c39dc0355248ed1ba119a29f2d4b7bc64e28400880b580a263bcd45d05fdf45007ad7 languageName: node linkType: hard -"@aws-sdk/client-sso-oidc@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/client-sso-oidc@npm:3.222.0" +"@aws-sdk/client-sso-oidc@npm:3.223.0": + version: 3.223.0 + resolution: "@aws-sdk/client-sso-oidc@npm:3.223.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 @@ -157,19 +156,18 @@ __metadata: "@aws-sdk/util-defaults-mode-browser": 3.222.0 "@aws-sdk/util-defaults-mode-node": 3.222.0 "@aws-sdk/util-endpoints": 3.222.0 - "@aws-sdk/util-retry": 3.222.0 "@aws-sdk/util-user-agent-browser": 3.222.0 "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: 40674d89438b689480bdfa10bfb044d90341d87096ae6b0803e6ecc1695d48b1f7a8c513109e92001c380e2b2f5b18aa3e8af1c8ecd3d2f04f63f160cb039611 + checksum: ab5b6142d897ec48a3bb246577c23d1b6e26ee228c7ce264f826d10f88caa83e03f0dac9d88e361c70b778ceef45f0ebd9712cd03ca5b60ab240a3d4382ecb7c languageName: node linkType: hard -"@aws-sdk/client-sso@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/client-sso@npm:3.222.0" +"@aws-sdk/client-sso@npm:3.223.0": + version: 3.223.0 + resolution: "@aws-sdk/client-sso@npm:3.223.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 @@ -198,24 +196,23 @@ __metadata: "@aws-sdk/util-defaults-mode-browser": 3.222.0 "@aws-sdk/util-defaults-mode-node": 3.222.0 "@aws-sdk/util-endpoints": 3.222.0 - "@aws-sdk/util-retry": 3.222.0 "@aws-sdk/util-user-agent-browser": 3.222.0 "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 tslib: ^2.3.1 - checksum: bc0cd1125bc5aa94b3fdec15167ce9539acf4a187da060d51fa8ad7c30d0bf6cfee9e3a0175d65e204aba92efee4087c99d1190e1b43927c01cd7a8b1bbbb93e + checksum: 856e3745182906d274dc894baa7d853966b0074f89ea892f29132e1cefdf49f267f1d0fffaa2de3de352d19ff3963d59290602057bd4510731e0156199bed664 languageName: node linkType: hard -"@aws-sdk/client-sts@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/client-sts@npm:3.222.0" +"@aws-sdk/client-sts@npm:3.223.0": + version: 3.223.0 + resolution: "@aws-sdk/client-sts@npm:3.223.0" dependencies: "@aws-crypto/sha256-browser": 2.0.0 "@aws-crypto/sha256-js": 2.0.0 "@aws-sdk/config-resolver": 3.222.0 - "@aws-sdk/credential-provider-node": 3.222.0 + "@aws-sdk/credential-provider-node": 3.223.0 "@aws-sdk/fetch-http-handler": 3.222.0 "@aws-sdk/hash-node": 3.222.0 "@aws-sdk/invalid-dependency": 3.222.0 @@ -242,14 +239,13 @@ __metadata: "@aws-sdk/util-defaults-mode-browser": 3.222.0 "@aws-sdk/util-defaults-mode-node": 3.222.0 "@aws-sdk/util-endpoints": 3.222.0 - "@aws-sdk/util-retry": 3.222.0 "@aws-sdk/util-user-agent-browser": 3.222.0 "@aws-sdk/util-user-agent-node": 3.222.0 "@aws-sdk/util-utf8-browser": 3.188.0 "@aws-sdk/util-utf8-node": 3.208.0 fast-xml-parser: 4.0.11 tslib: ^2.3.1 - checksum: 79f18e5b44541673213715e3465a8b000716c03120ea087e6920abba3542683dbd4b881ecb091ef90df34947eec00c82daf70089ea0e5e92cffbb4e57e2d76d7 + checksum: 6976345f839b0028a0e83f6d11e3323da68cef103ae5381299c6d75df25a1ef336b83023c79896242fbc4b7d2a27f3deebb1b1922e815e6cc7780f3eee302210 languageName: node linkType: hard @@ -266,15 +262,15 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-cognito-identity@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.222.0" +"@aws-sdk/credential-provider-cognito-identity@npm:3.223.0": + version: 3.223.0 + resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.223.0" dependencies: - "@aws-sdk/client-cognito-identity": 3.222.0 + "@aws-sdk/client-cognito-identity": 3.223.0 "@aws-sdk/property-provider": 3.222.0 "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: e6a61cf601825907931ed0cc42050b895b150468feb95c1052e053ce00d33e8d225663ca337da1c5825eee7e24438311ba0d28b2a6021868d3e6796aa81fdeeb + checksum: e0f03110b120699ef9c458edd5b1a248f5e3f360931b2e8be7ebb7fc33da51ac1c3fdf96bb05a755a2d303c00c7effee7a582706da2333b4ee43c0040ff551a5 languageName: node linkType: hard @@ -302,37 +298,37 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-ini@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-ini@npm:3.222.0" +"@aws-sdk/credential-provider-ini@npm:3.223.0": + version: 3.223.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.223.0" dependencies: "@aws-sdk/credential-provider-env": 3.222.0 "@aws-sdk/credential-provider-imds": 3.222.0 - "@aws-sdk/credential-provider-sso": 3.222.0 + "@aws-sdk/credential-provider-sso": 3.223.0 "@aws-sdk/credential-provider-web-identity": 3.222.0 "@aws-sdk/property-provider": 3.222.0 "@aws-sdk/shared-ini-file-loader": 3.222.0 "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: eac19a9b52066f76cf23bee102369df7d50097dfee3be14b12c2e178c16868acd1a79b13c00d3e3ac40d2fbc14b4e2b06119d0c51c5d875c6be3606c33514d62 + checksum: f407fe591999f1da1d5580b182af261ceeb4455da9a53d18ae871c9cf244e6e72fa10ef28036419790e2b5787d64c5de5b4daf4c7f69acb866894410baa880d0 languageName: node linkType: hard -"@aws-sdk/credential-provider-node@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-node@npm:3.222.0" +"@aws-sdk/credential-provider-node@npm:3.223.0": + version: 3.223.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.223.0" dependencies: "@aws-sdk/credential-provider-env": 3.222.0 "@aws-sdk/credential-provider-imds": 3.222.0 - "@aws-sdk/credential-provider-ini": 3.222.0 + "@aws-sdk/credential-provider-ini": 3.223.0 "@aws-sdk/credential-provider-process": 3.222.0 - "@aws-sdk/credential-provider-sso": 3.222.0 + "@aws-sdk/credential-provider-sso": 3.223.0 "@aws-sdk/credential-provider-web-identity": 3.222.0 "@aws-sdk/property-provider": 3.222.0 "@aws-sdk/shared-ini-file-loader": 3.222.0 "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: f17ce6c9b45d48d9bebd63766b5d85e45f6a1d50b02bea4784d0055269a0f5c05e5ba343c6b138cd29086b94c6bb4511568e9fb59f340f3988526b2d7950cb4c + checksum: 6ce5f88f75a6e879344ea76fa2b390c779d74f1b3657fa15367b15797b09d9713ef0d2f14c95421254a6bc0b8bde1acd2634978a6549e02a74c33160ae6130fd languageName: node linkType: hard @@ -348,17 +344,17 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/credential-provider-sso@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-provider-sso@npm:3.222.0" +"@aws-sdk/credential-provider-sso@npm:3.223.0": + version: 3.223.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.223.0" dependencies: - "@aws-sdk/client-sso": 3.222.0 + "@aws-sdk/client-sso": 3.223.0 "@aws-sdk/property-provider": 3.222.0 "@aws-sdk/shared-ini-file-loader": 3.222.0 - "@aws-sdk/token-providers": 3.222.0 + "@aws-sdk/token-providers": 3.223.0 "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: 8e0a39a722fd6548b9758ab4c711eac9128a64bae1fa9bfce5f0b92c2df34883fdcd544c9a48f501d3a7b695e6d0b51a9b5e1be1b7eac626a1818860cfc86072 + checksum: 4593a94dc86ef7218517061cf875285c2c6087f1d4a1199442055e6165701f11f9921612a04ab3c1b3f29b3132d46a8ce8cd26070fad132509e20eca1b89f217 languageName: node linkType: hard @@ -374,25 +370,25 @@ __metadata: linkType: hard "@aws-sdk/credential-providers@npm:^3.186.0": - version: 3.222.0 - resolution: "@aws-sdk/credential-providers@npm:3.222.0" + version: 3.223.0 + resolution: "@aws-sdk/credential-providers@npm:3.223.0" dependencies: - "@aws-sdk/client-cognito-identity": 3.222.0 - "@aws-sdk/client-sso": 3.222.0 - "@aws-sdk/client-sts": 3.222.0 - "@aws-sdk/credential-provider-cognito-identity": 3.222.0 + "@aws-sdk/client-cognito-identity": 3.223.0 + "@aws-sdk/client-sso": 3.223.0 + "@aws-sdk/client-sts": 3.223.0 + "@aws-sdk/credential-provider-cognito-identity": 3.223.0 "@aws-sdk/credential-provider-env": 3.222.0 "@aws-sdk/credential-provider-imds": 3.222.0 - "@aws-sdk/credential-provider-ini": 3.222.0 - "@aws-sdk/credential-provider-node": 3.222.0 + "@aws-sdk/credential-provider-ini": 3.223.0 + "@aws-sdk/credential-provider-node": 3.223.0 "@aws-sdk/credential-provider-process": 3.222.0 - "@aws-sdk/credential-provider-sso": 3.222.0 + "@aws-sdk/credential-provider-sso": 3.223.0 "@aws-sdk/credential-provider-web-identity": 3.222.0 "@aws-sdk/property-provider": 3.222.0 "@aws-sdk/shared-ini-file-loader": 3.222.0 "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: a6c159abbc210d62ed7d1153278b423595493583f53ec2a9143b402ee149cc1ae39be41615c76c3b658e1e9f70e89019a594c8e7a6a320cf7ea37443714a79ac + checksum: 289d043f41460751e90c3adc323f3a56e517f67c0a7f8889249e0969b3302f19d093eef4a10d3528bdf34f1043f95fa41555ed5c91af4d2ca636cded1775c81c languageName: node linkType: hard @@ -678,16 +674,16 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/token-providers@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/token-providers@npm:3.222.0" +"@aws-sdk/token-providers@npm:3.223.0": + version: 3.223.0 + resolution: "@aws-sdk/token-providers@npm:3.223.0" dependencies: - "@aws-sdk/client-sso-oidc": 3.222.0 + "@aws-sdk/client-sso-oidc": 3.223.0 "@aws-sdk/property-provider": 3.222.0 "@aws-sdk/shared-ini-file-loader": 3.222.0 "@aws-sdk/types": 3.222.0 tslib: ^2.3.1 - checksum: e0d2d9af50570ca1e9ae4cfe32889a9146a0e49ce3004dfc4d5305ba0f64b7561da95d09ccaf18927638417d3bd1eb9772cb58256aef242beab03a56e4e68883 + checksum: 08d724bc685b90761159b449413c9dddb581cc61cd982ee9a189e8682d1a703acc70663beec2ae31d1ebf6fe9a86480b63fb65da531e35b2e8772a2c3906969f languageName: node linkType: hard @@ -819,16 +815,6 @@ __metadata: languageName: node linkType: hard -"@aws-sdk/util-retry@npm:3.222.0": - version: 3.222.0 - resolution: "@aws-sdk/util-retry@npm:3.222.0" - dependencies: - "@aws-sdk/service-error-classification": 3.222.0 - tslib: ^2.3.1 - checksum: d4b38a23a310d44d211db2cfb2ae53ef41cf805308d08e56d9ca786fc69fd6b244f331d40ea35023bbc53625c7b2c1f4fab9fabd32d0a10396d4359ac50eff09 - languageName: node - linkType: hard - "@aws-sdk/util-uri-escape@npm:3.201.0": version: 3.201.0 resolution: "@aws-sdk/util-uri-escape@npm:3.201.0" @@ -949,7 +935,7 @@ __metadata: dependencies: dotenv: ^16.0.3 mongodb: ^4.11.0 - mysql2: ^2.3.3 + stormdb: ^0.6.0 languageName: unknown linkType: soft @@ -7907,6 +7893,13 @@ __metadata: languageName: node linkType: hard +"stormdb@npm:^0.6.0": + version: 0.6.0 + resolution: "stormdb@npm:0.6.0" + checksum: 5974329c1c5af9f0829a5551bef8476dcf6df921f4b9e135acb96863ed0d20ece9bec32d9fd42b84b5d76de30c7d20d3095d14cc75c8f0777f4799b422bd4053 + languageName: node + linkType: hard + "streamsearch@npm:^1.1.0": version: 1.1.0 resolution: "streamsearch@npm:1.1.0"