@armi-wave/common 1.18.0 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/build/enums/AccountType.d.ts +5 -5
  2. package/build/enums/AccountType.js +9 -9
  3. package/build/enums/PaidPlan.d.ts +4 -4
  4. package/build/enums/PaidPlan.js +8 -8
  5. package/build/enums/PostType.d.ts +7 -7
  6. package/build/enums/PostType.js +11 -11
  7. package/build/errors/bad-request-error.d.ts +9 -9
  8. package/build/errors/bad-request-error.js +18 -18
  9. package/build/errors/custom-error.d.ts +8 -8
  10. package/build/errors/custom-error.js +9 -9
  11. package/build/errors/database-connection-error.d.ts +9 -9
  12. package/build/errors/database-connection-error.js +22 -22
  13. package/build/errors/not-authorized-error.d.ts +8 -8
  14. package/build/errors/not-authorized-error.js +21 -21
  15. package/build/errors/not-found-error.d.ts +8 -8
  16. package/build/errors/not-found-error.js +21 -21
  17. package/build/errors/request-validation-error.d.ts +11 -11
  18. package/build/errors/request-validation-error.js +23 -23
  19. package/build/index.d.ts +18 -16
  20. package/build/index.js +48 -44
  21. package/build/middlewares/current-user.d.ts +18 -15
  22. package/build/middlewares/current-user.js +17 -17
  23. package/build/middlewares/error-handler.d.ts +2 -2
  24. package/build/middlewares/error-handler.js +17 -17
  25. package/build/middlewares/require-auth.d.ts +2 -2
  26. package/build/middlewares/require-auth.js +14 -14
  27. package/build/middlewares/validate-request.d.ts +2 -2
  28. package/build/middlewares/validate-request.js +16 -16
  29. package/build/models/Comment.d.ts +28 -28
  30. package/build/models/Comment.js +31 -31
  31. package/build/models/Post.d.ts +33 -33
  32. package/build/models/Post.js +33 -33
  33. package/build/models/Reply.d.ts +26 -26
  34. package/build/models/Reply.js +30 -30
  35. package/build/models/User.d.ts +68 -68
  36. package/build/models/User.js +84 -84
  37. package/build/utils/CountryUtils.d.ts +5 -5
  38. package/build/utils/CountryUtils.js +30 -30
  39. package/build/utils/countries.d.ts +5 -5
  40. package/build/utils/countries.js +1215 -1215
  41. package/build/utils/minioClient.d.ts +4 -0
  42. package/build/utils/minioClient.js +34 -0
  43. package/build/utils/multerConfig.d.ts +3 -0
  44. package/build/utils/multerConfig.js +23 -0
  45. package/build/utils/password.d.ts +4 -4
  46. package/build/utils/password.js +31 -31
  47. package/package.json +29 -23
@@ -0,0 +1,4 @@
1
+ import { Client } from 'minio';
2
+ declare const minioClient: Client;
3
+ declare const ensureBucketExists: (bucketName: string) => Promise<void>;
4
+ export { minioClient, ensureBucketExists };
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ensureBucketExists = exports.minioClient = void 0;
13
+ const minio_1 = require("minio");
14
+ const minioClient = new minio_1.Client({
15
+ endPoint: 'minio-service.default.svc.cluster.local', // Replace with your MinIO domain or ngrok URL
16
+ useSSL: false,
17
+ accessKey: process.env.MINIO_ACCESS_KEY, //process.env.MINIO_ACCESS_KEY, // Replace with your MinIO access key
18
+ secretKey: process.env.MINIO_SECRET_KEY, //process.env.MINIO_SECRET_KEY, // Replace with your MinIO secret key
19
+ port: 9000,
20
+ });
21
+ exports.minioClient = minioClient;
22
+ const ensureBucketExists = (bucketName) => __awaiter(void 0, void 0, void 0, function* () {
23
+ try {
24
+ const exists = yield minioClient.bucketExists(bucketName);
25
+ if (!exists) {
26
+ yield minioClient.makeBucket(bucketName, 'us-east-1');
27
+ console.log(`Bucket "${bucketName}" created.`);
28
+ }
29
+ }
30
+ catch (error) {
31
+ console.log('No bucket', error);
32
+ }
33
+ });
34
+ exports.ensureBucketExists = ensureBucketExists;
@@ -0,0 +1,3 @@
1
+ import multer from 'multer';
2
+ declare const upload: multer.Multer;
3
+ export default upload;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const multer_1 = __importDefault(require("multer"));
7
+ // Use memory storage to avoid saving files locally
8
+ const storage = multer_1.default.memoryStorage();
9
+ // Set up multer with memory storage
10
+ const upload = (0, multer_1.default)({
11
+ storage: storage,
12
+ limits: { fileSize: 10 * 1024 * 1024 }, // Max file size: 10MB
13
+ fileFilter: (req, file, cb) => {
14
+ if (file.mimetype.startsWith('image/')) {
15
+ // Accept only image files
16
+ cb(null, true);
17
+ }
18
+ else {
19
+ cb(new Error('Invalid file type. Only images are allowed.'));
20
+ }
21
+ },
22
+ });
23
+ exports.default = upload;
@@ -1,4 +1,4 @@
1
- export default class Password {
2
- static toHash(password: string): Promise<string>;
3
- static compare(storedPassword: string, suppliedPassword: string): Promise<boolean>;
4
- }
1
+ export default class Password {
2
+ static toHash(password: string): Promise<string>;
3
+ static compare(storedPassword: string, suppliedPassword: string): Promise<boolean>;
4
+ }
@@ -1,31 +1,31 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const crypto_1 = require("crypto");
13
- const util_1 = require("util");
14
- const scryptAsync = (0, util_1.promisify)(crypto_1.scrypt);
15
- class Password {
16
- static toHash(password) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- const salt = (0, crypto_1.randomBytes)(16).toString('hex');
19
- const buffer = (yield scryptAsync(password, salt, 64));
20
- return `${buffer.toString('hex')}.${salt}`;
21
- });
22
- }
23
- static compare(storedPassword, suppliedPassword) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- const [hashedPassword, salt] = storedPassword.split('.');
26
- const buffer = (yield scryptAsync(suppliedPassword, salt, 64));
27
- return buffer.toString('hex') === hashedPassword;
28
- });
29
- }
30
- }
31
- exports.default = Password;
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const crypto_1 = require("crypto");
13
+ const util_1 = require("util");
14
+ const scryptAsync = (0, util_1.promisify)(crypto_1.scrypt);
15
+ class Password {
16
+ static toHash(password) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ const salt = (0, crypto_1.randomBytes)(16).toString('hex');
19
+ const buffer = (yield scryptAsync(password, salt, 64));
20
+ return `${buffer.toString('hex')}.${salt}`;
21
+ });
22
+ }
23
+ static compare(storedPassword, suppliedPassword) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const [hashedPassword, salt] = storedPassword.split('.');
26
+ const buffer = (yield scryptAsync(suppliedPassword, salt, 64));
27
+ return buffer.toString('hex') === hashedPassword;
28
+ });
29
+ }
30
+ }
31
+ exports.default = Password;
package/package.json CHANGED
@@ -1,23 +1,29 @@
1
- {
2
- "name": "@armi-wave/common",
3
- "version": "1.18.0",
4
- "description": "",
5
- "main": "./build/index.js",
6
- "types": "./build/index.d.ts",
7
- "files": [
8
- "build/**/*"
9
- ],
10
- "scripts": {
11
- "test": "echo \"Error: no test specified\" && exit 1",
12
- "build": "tsc",
13
- "clean": "del ./build/*",
14
- "pub": "git add . && git commit -m \"Updates\" && npm version feature && npm run build && npm publish"
15
- },
16
- "author": "Armiron Kurbalaj",
17
- "license": "ISC",
18
- "dependencies": {
19
- "express": "^4.18.1",
20
- "express-validator": "^6.14.2",
21
- "jsonwebtoken": "^8.5.1"
22
- }
23
- }
1
+ {
2
+ "name": "@armi-wave/common",
3
+ "version": "1.20.0",
4
+ "description": "",
5
+ "main": "./build/index.js",
6
+ "types": "./build/index.d.ts",
7
+ "files": [
8
+ "build/**/*"
9
+ ],
10
+ "scripts": {
11
+ "test": "echo \"Error: no test specified\" && exit 1",
12
+ "build": "tsc",
13
+ "clean": "del ./build/*",
14
+ "pub": "git add . && git commit -m \"Updates\" && npm version feature && npm run build && npm publish"
15
+ },
16
+ "author": "Armiron Kurbalaj",
17
+ "license": "ISC",
18
+ "dependencies": {
19
+ "@types/multer": "^1.4.12",
20
+ "express": "^4.18.1",
21
+ "express-validator": "^6.14.2",
22
+ "jsonwebtoken": "^8.5.1",
23
+ "minio": "^8.0.4",
24
+ "multer": "^1.4.5-lts.1"
25
+ },
26
+ "devDependencies": {
27
+ "@types/jsonwebtoken": "^9.0.8"
28
+ }
29
+ }