don't send all images to front

This commit is contained in:
TDLaouer 2025-07-09 13:10:21 +02:00
parent d7cdd8b1c9
commit f398cb51dd
4 changed files with 29 additions and 10 deletions

23
package-lock.json generated
View File

@ -12,6 +12,7 @@
"@types/express": "^5.0.3",
"@types/multer": "^2.0.0",
"@types/node": "^24.0.3",
"@types/shuffle-seed": "^1.1.3",
"dotenv": "^16.5.0",
"express": "^5.1.0",
"joi": "^17.13.3",
@ -20,6 +21,7 @@
"multer": "^2.0.1",
"npm": "^11.4.2",
"reflect-metadata": "^0.2.2",
"shuffle-seed": "^1.1.6",
"ts-node": "^10.9.2",
"uuid": "^11.1.0"
},
@ -476,6 +478,12 @@
"@types/send": "*"
}
},
"node_modules/@types/shuffle-seed": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/@types/shuffle-seed/-/shuffle-seed-1.1.3.tgz",
"integrity": "sha512-D05NnrEz9YvwCp8GSzyI/UipvOtmiMbEtLgupa5buU6QJkmelKb7Pwuslsb8C7c+Wkn3qiAAL329+/E2PfUd0A==",
"license": "MIT"
},
"node_modules/@types/webidl-conversions": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
@ -4898,6 +4906,12 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"license": "MIT"
},
"node_modules/seedrandom": {
"version": "2.4.4",
"resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-2.4.4.tgz",
"integrity": "sha512-9A+PDmgm+2du77B5i0Ip2cxOqqHjgNxnBgglxLcX78A2D6c2rTo61z4jnVABpF4cKeDMDG+cmXXvdnqse2VqMA==",
"license": "MIT"
},
"node_modules/semver": {
"version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
@ -4977,6 +4991,15 @@
"node": ">=8"
}
},
"node_modules/shuffle-seed": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/shuffle-seed/-/shuffle-seed-1.1.6.tgz",
"integrity": "sha512-Vr9wlwMKJVUeFNGyc4aNbrzkI568gkve7ykyJ+1/cz78j3yRlJODWU0CuJ/fmk3MCjvAClpnqlycd/Y53UG3UA==",
"license": "MIT",
"dependencies": {
"seedrandom": "^2.4.2"
}
},
"node_modules/side-channel": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",

View File

@ -17,6 +17,7 @@
"@types/express": "^5.0.3",
"@types/multer": "^2.0.0",
"@types/node": "^24.0.3",
"@types/shuffle-seed": "^1.1.3",
"dotenv": "^16.5.0",
"express": "^5.1.0",
"joi": "^17.13.3",
@ -25,6 +26,7 @@
"multer": "^2.0.1",
"npm": "^11.4.2",
"reflect-metadata": "^0.2.2",
"shuffle-seed": "^1.1.6",
"ts-node": "^10.9.2",
"uuid": "^11.1.0"
},

View File

@ -1,5 +1,6 @@
import { Request, Response, NextFunction } from 'express';
import { Model } from 'mongoose';
import shuffleSeed from 'shuffle-seed';
export function MongoCollectionGet(model: Model<any>) {
return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {
@ -12,14 +13,10 @@ export function MongoCollectionGet(model: Model<any>) {
const result = [];
for (const document of documents) {
const obj = document.toObject();
if (document.image && document.image.data && document.image.contentType) {
const base64 = document.image.data.toString('base64');
obj.imageSrc = `data:${document.image.contentType};base64,${base64}`;
}
delete obj.image;
result.push(obj);
}
req.mongoCollectionGet = result;
req.mongoCollectionGet = shuffleSeed.shuffle(result, 'smash');
} catch (error) {
logging.error(error);
return res.status(400).json(error);

View File

@ -1,5 +1,6 @@
import { Request, Response, NextFunction } from 'express';
import { Model } from 'mongoose';
import shuffleSeed from 'shuffle-seed';
export function MongoGetAll(model: Model<any>) {
return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {
@ -11,14 +12,10 @@ export function MongoGetAll(model: Model<any>) {
const result = [];
for (const document of documents) {
const obj = document.toObject();
if (document.image && document.image.data && document.image.contentType) {
const base64 = document.image.data.toString('base64');
obj.imageSrc = `data:${document.image.contentType};base64,${base64}`;
}
delete obj.image;
result.push(obj);
}
req.mongoGetAll = result;
req.mongoGetAll = shuffleSeed.shuffle(result, 'smash');
} catch (error) {
logging.error(error);
return res.status(400).json(error);