@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,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AccountType = void 0;
|
|
4
|
+
var AccountType;
|
|
5
|
+
(function (AccountType) {
|
|
6
|
+
AccountType["Normal"] = "normal";
|
|
7
|
+
AccountType["Business"] = "business";
|
|
8
|
+
AccountType["Page"] = "page";
|
|
9
|
+
})(AccountType || (exports.AccountType = AccountType = {}));
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PostType = void 0;
|
|
4
|
+
var PostType;
|
|
5
|
+
(function (PostType) {
|
|
6
|
+
PostType["Normal"] = "normal";
|
|
7
|
+
PostType["Sponsored"] = "sponsored";
|
|
8
|
+
PostType["Meme"] = "meme";
|
|
9
|
+
PostType["News"] = "news";
|
|
10
|
+
PostType["Paid"] = "paid";
|
|
11
|
+
})(PostType || (exports.PostType = PostType = {}));
|
|
@@ -0,0 +1,18 @@
|
|
|
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 custom_error_1 = __importDefault(require("./custom-error"));
|
|
7
|
+
class BadRequestError extends custom_error_1.default {
|
|
8
|
+
constructor(message) {
|
|
9
|
+
super(message);
|
|
10
|
+
this.message = message;
|
|
11
|
+
this.statusCode = 400;
|
|
12
|
+
Object.setPrototypeOf(this, BadRequestError.prototype);
|
|
13
|
+
}
|
|
14
|
+
serializeErrors() {
|
|
15
|
+
return [{ message: this.message }];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = BadRequestError;
|
|
@@ -0,0 +1,22 @@
|
|
|
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 custom_error_1 = __importDefault(require("./custom-error"));
|
|
7
|
+
class DatabaseConnectionError extends custom_error_1.default {
|
|
8
|
+
constructor() {
|
|
9
|
+
super('Error connecting to database');
|
|
10
|
+
this.statusCode = 500;
|
|
11
|
+
this.reason = 'Error connection to database';
|
|
12
|
+
Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
|
|
13
|
+
}
|
|
14
|
+
serializeErrors() {
|
|
15
|
+
return [
|
|
16
|
+
{
|
|
17
|
+
message: this.reason,
|
|
18
|
+
},
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.default = DatabaseConnectionError;
|
|
@@ -0,0 +1,21 @@
|
|
|
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 custom_error_1 = __importDefault(require("./custom-error"));
|
|
7
|
+
class NotAuthorizedError extends custom_error_1.default {
|
|
8
|
+
constructor() {
|
|
9
|
+
super('Not Authorized');
|
|
10
|
+
this.statusCode = 401;
|
|
11
|
+
Object.setPrototypeOf(this, NotAuthorizedError.prototype);
|
|
12
|
+
}
|
|
13
|
+
serializeErrors() {
|
|
14
|
+
return [
|
|
15
|
+
{
|
|
16
|
+
message: 'Not Authorized',
|
|
17
|
+
},
|
|
18
|
+
];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.default = NotAuthorizedError;
|
|
@@ -0,0 +1,21 @@
|
|
|
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 custom_error_1 = __importDefault(require("./custom-error"));
|
|
7
|
+
class NotFoundError extends custom_error_1.default {
|
|
8
|
+
constructor() {
|
|
9
|
+
super('Not Found');
|
|
10
|
+
this.statusCode = 404;
|
|
11
|
+
Object.setPrototypeOf(this, NotFoundError.prototype);
|
|
12
|
+
}
|
|
13
|
+
serializeErrors() {
|
|
14
|
+
return [
|
|
15
|
+
{
|
|
16
|
+
message: 'Not Found',
|
|
17
|
+
},
|
|
18
|
+
];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.default = NotFoundError;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ValidationError } from 'express-validator';
|
|
2
|
+
import CustomError from './custom-error';
|
|
3
|
+
export default class RequestValidationError extends CustomError {
|
|
4
|
+
errors: ValidationError[];
|
|
5
|
+
statusCode: number;
|
|
6
|
+
constructor(errors: ValidationError[]);
|
|
7
|
+
serializeErrors(): {
|
|
8
|
+
message: any;
|
|
9
|
+
field: string;
|
|
10
|
+
}[];
|
|
11
|
+
}
|
|
@@ -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 custom_error_1 = __importDefault(require("./custom-error"));
|
|
7
|
+
class RequestValidationError extends custom_error_1.default {
|
|
8
|
+
constructor(errors) {
|
|
9
|
+
super('Error with validation');
|
|
10
|
+
this.errors = errors;
|
|
11
|
+
this.statusCode = 400;
|
|
12
|
+
Object.setPrototypeOf(this, RequestValidationError.prototype);
|
|
13
|
+
}
|
|
14
|
+
serializeErrors() {
|
|
15
|
+
return this.errors.map((err) => {
|
|
16
|
+
return {
|
|
17
|
+
message: err.msg,
|
|
18
|
+
field: err.param,
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.default = RequestValidationError;
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import User from './models/User';
|
|
2
|
+
import Post from './models/Post';
|
|
3
|
+
import Comment from './models/Comment';
|
|
4
|
+
import Reply from './models/Reply';
|
|
5
|
+
import BadRequestError from './errors/bad-request-error';
|
|
6
|
+
import DatabaseConnectionError from './errors/database-connection-error';
|
|
7
|
+
import CustomError from './errors/custom-error';
|
|
8
|
+
import NotAuthorizedError from './errors/not-authorized-error';
|
|
9
|
+
import NotFoundError from './errors/not-found-error';
|
|
10
|
+
import RequestValidationError from './errors/request-validation-error';
|
|
11
|
+
export { User, Post, Comment, Reply };
|
|
12
|
+
export { BadRequestError, DatabaseConnectionError, CustomError, NotAuthorizedError, NotFoundError, RequestValidationError, };
|
|
13
|
+
export * from './middlewares/current-user';
|
|
14
|
+
export * from './middlewares/error-handler';
|
|
15
|
+
export * from './middlewares/require-auth';
|
|
16
|
+
export * from './middlewares/validate-request';
|
|
17
|
+
export { minioClient, ensureBucketExists } from './utils/minioClient';
|
|
18
|
+
export * from './utils/multerConfig';
|
package/build/index.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
17
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
exports.ensureBucketExists = exports.minioClient = exports.RequestValidationError = exports.NotFoundError = exports.NotAuthorizedError = exports.CustomError = exports.DatabaseConnectionError = exports.BadRequestError = exports.Reply = exports.Comment = exports.Post = exports.User = void 0;
|
|
21
|
+
const User_1 = __importDefault(require("./models/User"));
|
|
22
|
+
exports.User = User_1.default;
|
|
23
|
+
const Post_1 = __importDefault(require("./models/Post"));
|
|
24
|
+
exports.Post = Post_1.default;
|
|
25
|
+
const Comment_1 = __importDefault(require("./models/Comment"));
|
|
26
|
+
exports.Comment = Comment_1.default;
|
|
27
|
+
const Reply_1 = __importDefault(require("./models/Reply"));
|
|
28
|
+
exports.Reply = Reply_1.default;
|
|
29
|
+
const bad_request_error_1 = __importDefault(require("./errors/bad-request-error"));
|
|
30
|
+
exports.BadRequestError = bad_request_error_1.default;
|
|
31
|
+
const database_connection_error_1 = __importDefault(require("./errors/database-connection-error"));
|
|
32
|
+
exports.DatabaseConnectionError = database_connection_error_1.default;
|
|
33
|
+
const custom_error_1 = __importDefault(require("./errors/custom-error"));
|
|
34
|
+
exports.CustomError = custom_error_1.default;
|
|
35
|
+
const not_authorized_error_1 = __importDefault(require("./errors/not-authorized-error"));
|
|
36
|
+
exports.NotAuthorizedError = not_authorized_error_1.default;
|
|
37
|
+
const not_found_error_1 = __importDefault(require("./errors/not-found-error"));
|
|
38
|
+
exports.NotFoundError = not_found_error_1.default;
|
|
39
|
+
const request_validation_error_1 = __importDefault(require("./errors/request-validation-error"));
|
|
40
|
+
exports.RequestValidationError = request_validation_error_1.default;
|
|
41
|
+
__exportStar(require("./middlewares/current-user"), exports);
|
|
42
|
+
__exportStar(require("./middlewares/error-handler"), exports);
|
|
43
|
+
__exportStar(require("./middlewares/require-auth"), exports);
|
|
44
|
+
__exportStar(require("./middlewares/validate-request"), exports);
|
|
45
|
+
var minioClient_1 = require("./utils/minioClient");
|
|
46
|
+
Object.defineProperty(exports, "minioClient", { enumerable: true, get: function () { return minioClient_1.minioClient; } });
|
|
47
|
+
Object.defineProperty(exports, "ensureBucketExists", { enumerable: true, get: function () { return minioClient_1.ensureBucketExists; } });
|
|
48
|
+
__exportStar(require("./utils/multerConfig"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NextFunction, Request, Response } from 'express';
|
|
2
|
+
interface UserPayload {
|
|
3
|
+
id: string;
|
|
4
|
+
email: string;
|
|
5
|
+
username: string;
|
|
6
|
+
}
|
|
7
|
+
declare global {
|
|
8
|
+
namespace Express {
|
|
9
|
+
interface Request {
|
|
10
|
+
currentUser?: UserPayload;
|
|
11
|
+
session?: {
|
|
12
|
+
jwt?: string;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export declare const currentUser: (req: Request, res: Response, next: NextFunction) => void;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.currentUser = void 0;
|
|
4
|
+
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
5
|
+
const currentUser = (req, res, next) => {
|
|
6
|
+
var _a;
|
|
7
|
+
if (!((_a = req.session) === null || _a === void 0 ? void 0 : _a.jwt)) {
|
|
8
|
+
return next();
|
|
9
|
+
}
|
|
10
|
+
try {
|
|
11
|
+
const payload = (0, jsonwebtoken_1.verify)(req.session.jwt, process.env.JWT_KEY);
|
|
12
|
+
req.currentUser = payload;
|
|
13
|
+
}
|
|
14
|
+
catch (error) { }
|
|
15
|
+
next();
|
|
16
|
+
};
|
|
17
|
+
exports.currentUser = currentUser;
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
exports.errorHandler = void 0;
|
|
7
|
+
const custom_error_1 = __importDefault(require("../errors/custom-error"));
|
|
8
|
+
const errorHandler = (err, req, res, next) => {
|
|
9
|
+
if (err instanceof custom_error_1.default) {
|
|
10
|
+
return res.status(err.statusCode).send({ errors: err.serializeErrors() });
|
|
11
|
+
}
|
|
12
|
+
console.error(err);
|
|
13
|
+
res.status(400).send({
|
|
14
|
+
errors: [{ message: 'Something went wrong' }],
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
exports.errorHandler = errorHandler;
|
|
@@ -0,0 +1,14 @@
|
|
|
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
|
+
exports.requireAuth = void 0;
|
|
7
|
+
const not_authorized_error_1 = __importDefault(require("../errors/not-authorized-error"));
|
|
8
|
+
const requireAuth = (req, res, next) => {
|
|
9
|
+
if (!req.currentUser) {
|
|
10
|
+
throw new not_authorized_error_1.default();
|
|
11
|
+
}
|
|
12
|
+
next();
|
|
13
|
+
};
|
|
14
|
+
exports.requireAuth = requireAuth;
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
exports.validateRequest = void 0;
|
|
7
|
+
const express_validator_1 = require("express-validator");
|
|
8
|
+
const request_validation_error_1 = __importDefault(require("../errors/request-validation-error"));
|
|
9
|
+
const validateRequest = (req, res, next) => {
|
|
10
|
+
const errors = (0, express_validator_1.validationResult)(req);
|
|
11
|
+
if (!errors.isEmpty()) {
|
|
12
|
+
throw new request_validation_error_1.default(errors.array());
|
|
13
|
+
}
|
|
14
|
+
next();
|
|
15
|
+
};
|
|
16
|
+
exports.validateRequest = validateRequest;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
interface CommentAttributes {
|
|
3
|
+
postId: string;
|
|
4
|
+
userId: string;
|
|
5
|
+
username: string;
|
|
6
|
+
likes?: number;
|
|
7
|
+
upVotes?: number;
|
|
8
|
+
downVotes?: number;
|
|
9
|
+
reportNr?: number;
|
|
10
|
+
replyNr?: number;
|
|
11
|
+
text: string;
|
|
12
|
+
}
|
|
13
|
+
interface CommentModel extends mongoose.Model<CommentDocument> {
|
|
14
|
+
build(attrs: CommentAttributes): CommentDocument;
|
|
15
|
+
}
|
|
16
|
+
interface CommentDocument extends mongoose.Document {
|
|
17
|
+
postId: string;
|
|
18
|
+
userId: string;
|
|
19
|
+
username: string;
|
|
20
|
+
likes: number;
|
|
21
|
+
upVotes: number;
|
|
22
|
+
downVotes: number;
|
|
23
|
+
reportNr: number;
|
|
24
|
+
replyNr: number;
|
|
25
|
+
text: string;
|
|
26
|
+
}
|
|
27
|
+
declare const Comment: CommentModel;
|
|
28
|
+
export default Comment;
|
|
@@ -0,0 +1,31 @@
|
|
|
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 mongoose_1 = __importDefault(require("mongoose"));
|
|
7
|
+
const commentSchema = new mongoose_1.default.Schema({
|
|
8
|
+
postId: { type: String, required: true },
|
|
9
|
+
userId: { type: String, required: true },
|
|
10
|
+
username: { type: String, required: true },
|
|
11
|
+
likes: { type: Number, required: false, default: 0 },
|
|
12
|
+
upVotes: { type: Number, required: false, default: 0 },
|
|
13
|
+
downVotes: { type: Number, required: false, default: 0 },
|
|
14
|
+
reportNr: { type: Number, required: false, default: 0 },
|
|
15
|
+
replyNr: { type: Number, required: false, default: 0 },
|
|
16
|
+
text: { type: String, required: true },
|
|
17
|
+
}, {
|
|
18
|
+
toJSON: {
|
|
19
|
+
transform(doc, ret) {
|
|
20
|
+
ret.id = ret._id;
|
|
21
|
+
delete ret.__v;
|
|
22
|
+
delete ret._id;
|
|
23
|
+
delete ret.reportNr;
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
commentSchema.statics.build = (attrs) => {
|
|
28
|
+
return new Comment(attrs);
|
|
29
|
+
};
|
|
30
|
+
const Comment = mongoose_1.default.model('Comment', commentSchema);
|
|
31
|
+
exports.default = Comment;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
import { PostType } from '../enums/PostType';
|
|
3
|
+
interface PostAttributes {
|
|
4
|
+
userId: string;
|
|
5
|
+
username: string;
|
|
6
|
+
likes?: number;
|
|
7
|
+
upVotes?: number;
|
|
8
|
+
downVotes?: number;
|
|
9
|
+
commentsNr?: number;
|
|
10
|
+
saved?: number;
|
|
11
|
+
postType: PostType;
|
|
12
|
+
reportNr?: number;
|
|
13
|
+
contentUrl: string;
|
|
14
|
+
text?: string;
|
|
15
|
+
}
|
|
16
|
+
interface PostModel extends mongoose.Model<PostDocument> {
|
|
17
|
+
build(attrs: PostAttributes): PostDocument;
|
|
18
|
+
}
|
|
19
|
+
interface PostDocument extends mongoose.Document {
|
|
20
|
+
userId: string;
|
|
21
|
+
username: string;
|
|
22
|
+
likes: number;
|
|
23
|
+
upVotes: number;
|
|
24
|
+
downVotes: number;
|
|
25
|
+
commentsNr: number;
|
|
26
|
+
saved: number;
|
|
27
|
+
postType: PostType;
|
|
28
|
+
reportNr: number;
|
|
29
|
+
contentUrl: string;
|
|
30
|
+
text: string;
|
|
31
|
+
}
|
|
32
|
+
declare const Post: PostModel;
|
|
33
|
+
export default Post;
|
|
@@ -0,0 +1,33 @@
|
|
|
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 mongoose_1 = __importDefault(require("mongoose"));
|
|
7
|
+
const postSchema = new mongoose_1.default.Schema({
|
|
8
|
+
userId: { type: String, required: true },
|
|
9
|
+
username: { type: String, required: true },
|
|
10
|
+
likes: { type: Number, required: false, default: 0 },
|
|
11
|
+
upVotes: { type: Number, required: false, default: 0 },
|
|
12
|
+
downVotes: { type: Number, required: false, default: 0 },
|
|
13
|
+
commentsNr: { type: Number, required: false, default: 0 },
|
|
14
|
+
saved: { type: Number, required: false, default: 0 },
|
|
15
|
+
postType: { type: String, required: true },
|
|
16
|
+
reportNr: { type: Number, required: false, default: 0 },
|
|
17
|
+
contentUrl: { type: String, required: true },
|
|
18
|
+
text: { type: String, required: false, default: '' },
|
|
19
|
+
}, {
|
|
20
|
+
toJSON: {
|
|
21
|
+
transform(doc, ret) {
|
|
22
|
+
ret.id = ret._id;
|
|
23
|
+
delete ret.__v;
|
|
24
|
+
delete ret._id;
|
|
25
|
+
delete ret.reportNr;
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
postSchema.statics.build = (attrs) => {
|
|
30
|
+
return new Post(attrs);
|
|
31
|
+
};
|
|
32
|
+
const Post = mongoose_1.default.model('Post', postSchema);
|
|
33
|
+
exports.default = Post;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import mongoose from 'mongoose';
|
|
2
|
+
interface ReplyAttributes {
|
|
3
|
+
commentId: string;
|
|
4
|
+
userId: string;
|
|
5
|
+
username: string;
|
|
6
|
+
likes?: number;
|
|
7
|
+
upVotes?: number;
|
|
8
|
+
downVotes?: number;
|
|
9
|
+
reportNr?: number;
|
|
10
|
+
text: string;
|
|
11
|
+
}
|
|
12
|
+
interface ReplyModel extends mongoose.Model<ReplyDocument> {
|
|
13
|
+
build(attrs: ReplyAttributes): ReplyDocument;
|
|
14
|
+
}
|
|
15
|
+
interface ReplyDocument extends mongoose.Document {
|
|
16
|
+
commentId: string;
|
|
17
|
+
userId: string;
|
|
18
|
+
username: string;
|
|
19
|
+
likes: number;
|
|
20
|
+
upVotes: number;
|
|
21
|
+
downVotes: number;
|
|
22
|
+
reportNr: number;
|
|
23
|
+
text: string;
|
|
24
|
+
}
|
|
25
|
+
declare const Reply: ReplyModel;
|
|
26
|
+
export default Reply;
|
|
@@ -0,0 +1,30 @@
|
|
|
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 mongoose_1 = __importDefault(require("mongoose"));
|
|
7
|
+
const replySchema = new mongoose_1.default.Schema({
|
|
8
|
+
commentId: { type: String, required: true },
|
|
9
|
+
userId: { type: String, required: true },
|
|
10
|
+
username: { type: String, required: true },
|
|
11
|
+
likes: { type: Number, required: false, default: 0 },
|
|
12
|
+
upVotes: { type: Number, required: false, default: 0 },
|
|
13
|
+
downVotes: { type: Number, required: false, default: 0 },
|
|
14
|
+
reportNr: { type: Number, required: false, default: 0 },
|
|
15
|
+
text: { type: String, required: true },
|
|
16
|
+
}, {
|
|
17
|
+
toJSON: {
|
|
18
|
+
transform(doc, ret) {
|
|
19
|
+
ret.id = ret._id;
|
|
20
|
+
delete ret.__v;
|
|
21
|
+
delete ret._id;
|
|
22
|
+
delete ret.reportNr;
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
replySchema.statics.build = (attrs) => {
|
|
27
|
+
return new Reply(attrs);
|
|
28
|
+
};
|
|
29
|
+
const Reply = mongoose_1.default.model('Reply', replySchema);
|
|
30
|
+
exports.default = Reply;
|