@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.
- package/build/enums/AccountType.d.ts +5 -5
- package/build/enums/AccountType.js +9 -9
- package/build/enums/PaidPlan.d.ts +4 -4
- package/build/enums/PaidPlan.js +8 -8
- package/build/enums/PostType.d.ts +7 -7
- package/build/enums/PostType.js +11 -11
- package/build/errors/bad-request-error.d.ts +9 -9
- package/build/errors/bad-request-error.js +18 -18
- package/build/errors/custom-error.d.ts +8 -8
- package/build/errors/custom-error.js +9 -9
- package/build/errors/database-connection-error.d.ts +9 -9
- package/build/errors/database-connection-error.js +22 -22
- package/build/errors/not-authorized-error.d.ts +8 -8
- package/build/errors/not-authorized-error.js +21 -21
- package/build/errors/not-found-error.d.ts +8 -8
- package/build/errors/not-found-error.js +21 -21
- package/build/errors/request-validation-error.d.ts +11 -11
- package/build/errors/request-validation-error.js +23 -23
- package/build/index.d.ts +18 -16
- package/build/index.js +48 -44
- package/build/middlewares/current-user.d.ts +18 -15
- package/build/middlewares/current-user.js +17 -17
- package/build/middlewares/error-handler.d.ts +2 -2
- package/build/middlewares/error-handler.js +17 -17
- package/build/middlewares/require-auth.d.ts +2 -2
- package/build/middlewares/require-auth.js +14 -14
- package/build/middlewares/validate-request.d.ts +2 -2
- package/build/middlewares/validate-request.js +16 -16
- package/build/models/Comment.d.ts +28 -28
- package/build/models/Comment.js +31 -31
- package/build/models/Post.d.ts +33 -33
- package/build/models/Post.js +33 -33
- package/build/models/Reply.d.ts +26 -26
- package/build/models/Reply.js +30 -30
- package/build/models/User.d.ts +68 -68
- package/build/models/User.js +84 -84
- package/build/utils/CountryUtils.d.ts +5 -5
- package/build/utils/CountryUtils.js +30 -30
- package/build/utils/countries.d.ts +5 -5
- package/build/utils/countries.js +1215 -1215
- package/build/utils/minioClient.d.ts +4 -0
- package/build/utils/minioClient.js +34 -0
- package/build/utils/multerConfig.d.ts +3 -0
- package/build/utils/multerConfig.js +23 -0
- package/build/utils/password.d.ts +4 -4
- package/build/utils/password.js +31 -31
- package/package.json +29 -23
|
@@ -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,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
|
+
}
|
package/build/utils/password.js
CHANGED
|
@@ -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.
|
|
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
|
-
"
|
|
20
|
-
"express
|
|
21
|
-
"
|
|
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
|
+
}
|