@armi-wave/common 1.19.0 → 1.21.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 +49 -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 +24 -0
- package/build/utils/password.d.ts +4 -0
- package/build/utils/password.js +31 -0
- package/package.json +4 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
import { AccountType } from '../enums/AccountType';
|
|
3
|
+
import { PaidPlan } from '../enums/PaidPlan';
|
|
4
|
+
interface UserAttributes {
|
|
5
|
+
email: string;
|
|
6
|
+
username: string;
|
|
7
|
+
password: string;
|
|
8
|
+
name: string;
|
|
9
|
+
accountType: AccountType;
|
|
10
|
+
surname: string;
|
|
11
|
+
followers?: number;
|
|
12
|
+
following?: number;
|
|
13
|
+
postsNr?: number;
|
|
14
|
+
phoneNumber: string;
|
|
15
|
+
verified?: boolean;
|
|
16
|
+
paidPlan?: PaidPlan;
|
|
17
|
+
savedPosts?: string[];
|
|
18
|
+
likedPosts?: string[];
|
|
19
|
+
upVotedPosts?: string[];
|
|
20
|
+
likedComments?: string[];
|
|
21
|
+
bannedAccounts?: string[];
|
|
22
|
+
reportedPosts?: string[];
|
|
23
|
+
validReportedPosts?: string[];
|
|
24
|
+
totalLikes?: number;
|
|
25
|
+
totalUpVotes?: number;
|
|
26
|
+
totalDownVotes?: number;
|
|
27
|
+
location: string;
|
|
28
|
+
height?: number;
|
|
29
|
+
weight?: number;
|
|
30
|
+
profession?: string;
|
|
31
|
+
grossIncome?: number;
|
|
32
|
+
netIncome?: number;
|
|
33
|
+
}
|
|
34
|
+
interface UserModel extends mongoose.Model<UserDocument> {
|
|
35
|
+
build(attrs: UserAttributes): UserDocument;
|
|
36
|
+
}
|
|
37
|
+
interface UserDocument extends mongoose.Document {
|
|
38
|
+
email: string;
|
|
39
|
+
username: string;
|
|
40
|
+
password: string;
|
|
41
|
+
name: string;
|
|
42
|
+
accountType: AccountType;
|
|
43
|
+
surname: string;
|
|
44
|
+
followers: number;
|
|
45
|
+
following: number;
|
|
46
|
+
postsNr: number;
|
|
47
|
+
phoneNumber: string;
|
|
48
|
+
verified: boolean;
|
|
49
|
+
paidPlan: PaidPlan;
|
|
50
|
+
savedPosts: string[];
|
|
51
|
+
likedPosts: string[];
|
|
52
|
+
upVotedPosts: string[];
|
|
53
|
+
likedComments: string[];
|
|
54
|
+
bannedAccounts: string[];
|
|
55
|
+
reportedPosts: string[];
|
|
56
|
+
validReportedPosts: string[];
|
|
57
|
+
totalLikes: number;
|
|
58
|
+
totalUpVotes: number;
|
|
59
|
+
totalDownVotes: number;
|
|
60
|
+
location: string;
|
|
61
|
+
height: number;
|
|
62
|
+
weight: number;
|
|
63
|
+
profession: string;
|
|
64
|
+
grossIncome: number;
|
|
65
|
+
netIncome: number;
|
|
66
|
+
}
|
|
67
|
+
declare const User: UserModel;
|
|
68
|
+
export default User;
|
|
@@ -0,0 +1,84 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
16
|
+
const PaidPlan_1 = require("../enums/PaidPlan");
|
|
17
|
+
const password_1 = __importDefault(require("../utils/password"));
|
|
18
|
+
const userSchema = new mongoose_1.default.Schema({
|
|
19
|
+
email: { type: String, required: true, unique: true },
|
|
20
|
+
username: { type: String, required: true, unique: true },
|
|
21
|
+
password: { type: String, required: true },
|
|
22
|
+
name: { type: String, required: true },
|
|
23
|
+
accountType: { type: String, required: true },
|
|
24
|
+
surname: { type: String, required: true },
|
|
25
|
+
followers: { type: Number, required: false, default: 0 },
|
|
26
|
+
following: { type: Number, required: false, default: 0 },
|
|
27
|
+
postsNr: { type: Number, required: false, default: 0 },
|
|
28
|
+
phoneNumber: { type: String, required: true },
|
|
29
|
+
verified: { type: Boolean, required: false, default: false },
|
|
30
|
+
paidPlan: { type: String, required: false, default: PaidPlan_1.PaidPlan.None },
|
|
31
|
+
savedPosts: { type: Array, required: false, default: 0 },
|
|
32
|
+
likedPosts: { type: Array, required: false, default: 0 },
|
|
33
|
+
upVotedPosts: { type: Array, required: false, default: 0 },
|
|
34
|
+
likedComments: { type: Array, required: false, default: [] },
|
|
35
|
+
bannedAccounts: { type: Array, required: false, default: [] },
|
|
36
|
+
reportedPosts: { type: Array, required: false, default: [] },
|
|
37
|
+
validReportedPosts: { type: Array, required: false, default: [] },
|
|
38
|
+
totalLikes: { type: Number, required: false, default: 0 },
|
|
39
|
+
totalUpVotes: { type: Number, required: false, default: 0 },
|
|
40
|
+
totalDownVotes: { type: Number, required: false, default: 0 },
|
|
41
|
+
location: { type: String, required: true },
|
|
42
|
+
height: { type: Number, required: false, default: 0 },
|
|
43
|
+
weight: { type: Number, required: false, default: 0 },
|
|
44
|
+
profession: { type: String, required: false, default: '' },
|
|
45
|
+
grossIncome: { type: Number, required: false, default: 0 },
|
|
46
|
+
netIncome: { type: Number, required: false, default: 0 },
|
|
47
|
+
}, {
|
|
48
|
+
toJSON: {
|
|
49
|
+
transform(doc, ret) {
|
|
50
|
+
ret.id = ret._id;
|
|
51
|
+
delete ret.password;
|
|
52
|
+
delete ret.__v;
|
|
53
|
+
delete ret._id;
|
|
54
|
+
delete ret.phoneNumber;
|
|
55
|
+
delete ret.paidPlan;
|
|
56
|
+
delete ret.savedPosts;
|
|
57
|
+
delete ret.likedPosts;
|
|
58
|
+
delete ret.upVotedPosts;
|
|
59
|
+
delete ret.likedComments;
|
|
60
|
+
delete ret.reportedPosts;
|
|
61
|
+
delete ret.validReportedPosts;
|
|
62
|
+
delete ret.location;
|
|
63
|
+
delete ret.height;
|
|
64
|
+
delete ret.weight;
|
|
65
|
+
delete ret.profession;
|
|
66
|
+
delete ret.grossIncome;
|
|
67
|
+
delete ret.netIncome;
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
userSchema.pre('save', function (done) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
if (this.isModified('password')) {
|
|
74
|
+
const hashedPassword = yield password_1.default.toHash(this.get('password'));
|
|
75
|
+
this.set('password', hashedPassword);
|
|
76
|
+
}
|
|
77
|
+
done();
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
userSchema.statics.build = (attrs) => {
|
|
81
|
+
return new User(attrs);
|
|
82
|
+
};
|
|
83
|
+
const User = mongoose_1.default.model('User', userSchema);
|
|
84
|
+
exports.default = User;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const countries_1 = require("./countries");
|
|
4
|
+
class CountryUtils {
|
|
5
|
+
static isValidCode(code) {
|
|
6
|
+
for (const country of countries_1.countries) {
|
|
7
|
+
if (country.code == code) {
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
static isValidDialCode(dialCode) {
|
|
14
|
+
for (const country of countries_1.countries) {
|
|
15
|
+
if (country.dialCode == dialCode) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
static getNameFromCode(code) {
|
|
22
|
+
for (const country of countries_1.countries) {
|
|
23
|
+
if (country.code == code) {
|
|
24
|
+
return country.name;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.default = CountryUtils;
|