@armi-wave/common 1.19.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 -0
- package/build/enums/AccountType.js +9 -0
- package/build/enums/PaidPlan.d.ts +4 -0
- package/build/enums/PaidPlan.js +8 -0
- package/build/enums/PostType.d.ts +7 -0
- package/build/enums/PostType.js +11 -0
- package/build/errors/bad-request-error.d.ts +9 -0
- package/build/errors/bad-request-error.js +18 -0
- package/build/errors/custom-error.d.ts +8 -0
- package/build/errors/custom-error.js +9 -0
- package/build/errors/database-connection-error.d.ts +9 -0
- package/build/errors/database-connection-error.js +22 -0
- package/build/errors/not-authorized-error.d.ts +8 -0
- package/build/errors/not-authorized-error.js +21 -0
- package/build/errors/not-found-error.d.ts +8 -0
- package/build/errors/not-found-error.js +21 -0
- package/build/errors/request-validation-error.d.ts +11 -0
- package/build/errors/request-validation-error.js +23 -0
- package/build/index.d.ts +18 -0
- package/build/index.js +48 -0
- package/build/middlewares/current-user.d.ts +18 -0
- package/build/middlewares/current-user.js +17 -0
- package/build/middlewares/error-handler.d.ts +2 -0
- package/build/middlewares/error-handler.js +17 -0
- package/build/middlewares/require-auth.d.ts +2 -0
- package/build/middlewares/require-auth.js +14 -0
- package/build/middlewares/validate-request.d.ts +2 -0
- package/build/middlewares/validate-request.js +16 -0
- package/build/models/Comment.d.ts +28 -0
- package/build/models/Comment.js +31 -0
- package/build/models/Post.d.ts +33 -0
- package/build/models/Post.js +33 -0
- package/build/models/Reply.d.ts +26 -0
- package/build/models/Reply.js +30 -0
- package/build/models/User.d.ts +68 -0
- package/build/models/User.js +84 -0
- package/build/utils/CountryUtils.d.ts +5 -0
- package/build/utils/CountryUtils.js +30 -0
- package/build/utils/countries.d.ts +5 -0
- package/build/utils/countries.js +1215 -0
- 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 -0
- package/build/utils/password.js +31 -0
- package/package.json +4 -1
|
@@ -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;
|
|
@@ -0,0 +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;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@armi-wave/common",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.20.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "./build/index.js",
|
|
6
6
|
"types": "./build/index.d.ts",
|
|
@@ -22,5 +22,8 @@
|
|
|
22
22
|
"jsonwebtoken": "^8.5.1",
|
|
23
23
|
"minio": "^8.0.4",
|
|
24
24
|
"multer": "^1.4.5-lts.1"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/jsonwebtoken": "^9.0.8"
|
|
25
28
|
}
|
|
26
29
|
}
|