@rowengine/common 1.0.126 → 1.0.127

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/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export * from "./interfaces";
2
- export * from "./utils";
1
+ export * from './interfaces';
2
+ export * from './utils';
3
+ export * from './models';
package/build/index.js CHANGED
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./interfaces"), exports);
18
18
  __exportStar(require("./utils"), exports);
19
+ __exportStar(require("./models"), exports);
@@ -0,0 +1,25 @@
1
+ import mongoose from 'mongoose';
2
+ import { Activity, ActivityFinalStatus, Center, Field, ServiceProvided } from '../interfaces';
3
+ interface ActivityAttrs {
4
+ user: mongoose.Types.ObjectId;
5
+ company: mongoose.Types.ObjectId;
6
+ project: {
7
+ id: string;
8
+ name: string;
9
+ grade?: number;
10
+ fields?: Field[];
11
+ area?: number;
12
+ center?: Center;
13
+ timeElapsed?: number;
14
+ timeOnQueue?: number;
15
+ finalStatus?: ActivityFinalStatus;
16
+ };
17
+ serviceProvided?: ServiceProvided;
18
+ createdAt: Date;
19
+ }
20
+ type ActivityDoc = mongoose.Document & Activity;
21
+ interface ActivityModel extends mongoose.Model<ActivityDoc> {
22
+ build(attrs: ActivityAttrs): ActivityDoc;
23
+ }
24
+ declare const Activity: ActivityModel;
25
+ export { Activity, ActivityDoc };
@@ -0,0 +1,83 @@
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.Activity = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const interfaces_1 = require("../interfaces");
9
+ const activitySchema = new mongoose_1.default.Schema({
10
+ user: {
11
+ type: mongoose_1.default.Schema.Types.ObjectId,
12
+ ref: 'User',
13
+ },
14
+ company: {
15
+ type: mongoose_1.default.Schema.Types.ObjectId,
16
+ ref: 'Company',
17
+ },
18
+ project: {
19
+ id: {
20
+ type: mongoose_1.default.Schema.Types.ObjectId,
21
+ required: true,
22
+ },
23
+ name: {
24
+ type: String,
25
+ required: true,
26
+ },
27
+ grade: {
28
+ type: Number,
29
+ required: false,
30
+ },
31
+ fields: {
32
+ type: [Object],
33
+ required: false,
34
+ },
35
+ area: {
36
+ type: Number,
37
+ required: false,
38
+ },
39
+ center: {
40
+ type: Object,
41
+ required: false,
42
+ },
43
+ timeElapsed: {
44
+ type: Number,
45
+ required: false,
46
+ },
47
+ timeOnQueue: {
48
+ type: Number,
49
+ required: false,
50
+ },
51
+ finalStatus: {
52
+ type: String,
53
+ enum: Object.values(interfaces_1.ActivityFinalStatus),
54
+ default: interfaces_1.ActivityFinalStatus.PROCESSING,
55
+ },
56
+ },
57
+ serviceProvided: {
58
+ type: Object,
59
+ required: false,
60
+ },
61
+ createdAt: {
62
+ type: Date,
63
+ required: true,
64
+ },
65
+ }, {
66
+ toJSON: {
67
+ transform(_, ret) {
68
+ ret.id = ret._id;
69
+ delete ret._id;
70
+ },
71
+ },
72
+ });
73
+ const autoPopulate = function (next) {
74
+ //@ts-ignore
75
+ this.populate('user').populate('company');
76
+ next();
77
+ };
78
+ activitySchema.pre('findOne', autoPopulate).pre('find', autoPopulate);
79
+ activitySchema.statics.build = (attrs) => {
80
+ return new Activity(attrs);
81
+ };
82
+ const Activity = mongoose_1.default.model('Activity', activitySchema);
83
+ exports.Activity = Activity;
@@ -0,0 +1,15 @@
1
+ import mongoose from 'mongoose';
2
+ import { Company, CompanyEditMode } from '../interfaces';
3
+ interface CompanyAttrs {
4
+ name: string;
5
+ blocked: boolean;
6
+ createdAt: Date;
7
+ createdBy: string;
8
+ editMode: CompanyEditMode;
9
+ }
10
+ type CompanyDoc = Company & mongoose.Document;
11
+ interface CompanyModel extends mongoose.Model<CompanyDoc> {
12
+ build(attrs: CompanyAttrs): CompanyDoc;
13
+ }
14
+ declare const Company: CompanyModel;
15
+ export { Company, CompanyDoc };
@@ -0,0 +1,44 @@
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.Company = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const companySchema = new mongoose_1.default.Schema({
9
+ name: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ blocked: {
14
+ type: Boolean,
15
+ required: true,
16
+ },
17
+ createdAt: {
18
+ type: Date,
19
+ required: true,
20
+ },
21
+ createdBy: {
22
+ type: String,
23
+ required: true,
24
+ },
25
+ editMode: {
26
+ type: {
27
+ canDownloadNP2: { type: Boolean, default: false },
28
+ canUseTools: { type: Boolean, default: false },
29
+ },
30
+ required: true,
31
+ },
32
+ }, {
33
+ toJSON: {
34
+ transform: (_, ret) => {
35
+ ret.id = ret._id;
36
+ delete ret._id;
37
+ },
38
+ },
39
+ });
40
+ companySchema.statics.build = (attrs) => {
41
+ return new Company(attrs);
42
+ };
43
+ const Company = mongoose_1.default.model('Company', companySchema);
44
+ exports.Company = Company;
@@ -0,0 +1,7 @@
1
+ export * from './activity.model';
2
+ export * from './company.model';
3
+ export * from './pixviewer-link.model';
4
+ export * from './project.model';
5
+ export * from './refund.model';
6
+ export * from './reload.model';
7
+ export * from './user.model';
@@ -0,0 +1,23 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./activity.model"), exports);
18
+ __exportStar(require("./company.model"), exports);
19
+ __exportStar(require("./pixviewer-link.model"), exports);
20
+ __exportStar(require("./project.model"), exports);
21
+ __exportStar(require("./refund.model"), exports);
22
+ __exportStar(require("./reload.model"), exports);
23
+ __exportStar(require("./user.model"), exports);
@@ -0,0 +1,14 @@
1
+ import mongoose from 'mongoose';
2
+ import { PixViewerLink } from '../interfaces';
3
+ import { UserDoc } from './user.model';
4
+ interface PixViewerLinkAttrs {
5
+ user: UserDoc;
6
+ token: string;
7
+ createdAt: Date;
8
+ }
9
+ type PixViewerLinkDoc = PixViewerLink & mongoose.Document;
10
+ interface PixViewerLinkModel extends mongoose.Model<PixViewerLinkDoc> {
11
+ build(attrs: PixViewerLinkAttrs): PixViewerLinkDoc;
12
+ }
13
+ declare const PixViewerLinkModel: PixViewerLinkModel;
14
+ export { PixViewerLinkModel, PixViewerLinkDoc };
@@ -0,0 +1,64 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.PixViewerLinkModel = void 0;
37
+ const mongoose_1 = __importStar(require("mongoose"));
38
+ const pixViewerLinkSchema = new mongoose_1.default.Schema({
39
+ user: {
40
+ type: mongoose_1.Schema.Types.ObjectId,
41
+ ref: 'User',
42
+ required: true,
43
+ },
44
+ token: {
45
+ type: String,
46
+ required: true,
47
+ },
48
+ createdAt: {
49
+ type: Date,
50
+ required: true,
51
+ },
52
+ }, {
53
+ toJSON: {
54
+ transform(_, ret) {
55
+ ret.id = ret._id;
56
+ delete ret._id;
57
+ },
58
+ },
59
+ });
60
+ pixViewerLinkSchema.statics.build = (attrs) => {
61
+ return new PixViewerLinkModel(attrs);
62
+ };
63
+ const PixViewerLinkModel = mongoose_1.default.model('PixViewerLink', pixViewerLinkSchema);
64
+ exports.PixViewerLinkModel = PixViewerLinkModel;
@@ -0,0 +1,25 @@
1
+ import mongoose from 'mongoose';
2
+ import { GapsOptions, HighlightType, PixViewerStatus, Project, ProjectBonusExportables, ProjectStatus, Weeds } from '../interfaces';
3
+ import { UserDoc } from './user.model';
4
+ import { CompanyDoc } from './company.model';
5
+ interface ProjectAttrs {
6
+ user: UserDoc;
7
+ company: CompanyDoc;
8
+ name: string;
9
+ spacement: number;
10
+ gapsOptions: GapsOptions;
11
+ status: ProjectStatus;
12
+ createdAt: Date;
13
+ locale: 'pt-BR' | 'en' | 'es';
14
+ estimatedTimeInSeconds?: number;
15
+ highlightType?: HighlightType;
16
+ bonusExportables?: ProjectBonusExportables;
17
+ pixViewerStatus?: PixViewerStatus;
18
+ weeds?: Weeds;
19
+ }
20
+ type ProjectDoc = mongoose.Document & Project;
21
+ interface ProjectModel extends mongoose.Model<ProjectDoc> {
22
+ build(attrs: ProjectAttrs): ProjectDoc;
23
+ }
24
+ declare const Project: ProjectModel;
25
+ export { Project, ProjectDoc };
@@ -0,0 +1,134 @@
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.Project = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const interfaces_1 = require("../interfaces");
9
+ const projectSchema = new mongoose_1.default.Schema({
10
+ user: {
11
+ type: mongoose_1.default.Schema.Types.ObjectId,
12
+ ref: 'User',
13
+ },
14
+ company: {
15
+ type: mongoose_1.default.Schema.Types.ObjectId,
16
+ ref: 'Company',
17
+ },
18
+ name: {
19
+ type: String,
20
+ required: true,
21
+ },
22
+ spacement: {
23
+ type: Number,
24
+ required: true,
25
+ },
26
+ gapsOptions: {
27
+ type: Object,
28
+ required: true,
29
+ default: {
30
+ minSize: 0,
31
+ minActSize: 0,
32
+ lengthNoGapEdge: 0,
33
+ },
34
+ },
35
+ status: {
36
+ type: String,
37
+ enum: Object.values(interfaces_1.ProjectStatus),
38
+ default: interfaces_1.ProjectStatus.READY,
39
+ },
40
+ sizeInMbs: {
41
+ type: Number,
42
+ required: false,
43
+ default: 0,
44
+ },
45
+ createdAt: {
46
+ type: Date,
47
+ required: true,
48
+ },
49
+ locale: {
50
+ type: String,
51
+ enum: ['pt-BR', 'en', 'es'],
52
+ required: true,
53
+ },
54
+ // Non required below.
55
+ timeElapsedInSeconds: {
56
+ type: Number,
57
+ required: false,
58
+ },
59
+ estimatedTimeInSeconds: {
60
+ type: Number,
61
+ required: false,
62
+ },
63
+ center: {
64
+ type: Object,
65
+ required: false,
66
+ },
67
+ area: {
68
+ type: Number,
69
+ required: false,
70
+ },
71
+ fields: {
72
+ type: Array,
73
+ required: false,
74
+ },
75
+ tilesBBox: {
76
+ type: Object,
77
+ required: false,
78
+ },
79
+ goodPointsPercentage: {
80
+ type: Number,
81
+ required: false,
82
+ },
83
+ bonusExportables: {
84
+ type: Object,
85
+ required: false,
86
+ },
87
+ pixViewerStatus: {
88
+ type: String,
89
+ enum: Object.values(interfaces_1.PixViewerStatus),
90
+ required: false,
91
+ },
92
+ serviceProvided: {
93
+ type: Object,
94
+ required: false,
95
+ },
96
+ highlightType: {
97
+ type: String,
98
+ enum: Object.values(interfaces_1.HighlightType),
99
+ required: false,
100
+ },
101
+ grade: {
102
+ type: Number,
103
+ required: false,
104
+ },
105
+ weeds: {
106
+ type: Object,
107
+ required: false,
108
+ },
109
+ }, {
110
+ toJSON: {
111
+ transform(_, ret) {
112
+ ret.id = ret._id;
113
+ delete ret._id;
114
+ },
115
+ },
116
+ });
117
+ const autoPopulateOne = function (next) {
118
+ //@ts-ignore
119
+ this.populate('company').populate('user');
120
+ next();
121
+ };
122
+ const autoPopulateAll = function (next) {
123
+ //@ts-ignore
124
+ this.populate('user');
125
+ next();
126
+ };
127
+ projectSchema.pre('findOne', autoPopulateOne);
128
+ projectSchema.pre('find', autoPopulateAll);
129
+ // Pass the ts interface.
130
+ projectSchema.statics.build = (attrs) => {
131
+ return new Project(attrs);
132
+ };
133
+ const Project = mongoose_1.default.model('Project', projectSchema);
134
+ exports.Project = Project;
@@ -0,0 +1,18 @@
1
+ import mongoose from 'mongoose';
2
+ import { Refund } from '../interfaces';
3
+ import { CompanyDoc } from './company.model';
4
+ import { ReloadDoc } from './reload.model';
5
+ import { ActivityDoc } from './activity.model';
6
+ interface RefundAttrs {
7
+ company: CompanyDoc;
8
+ value: number;
9
+ fromActivity: ActivityDoc;
10
+ reloadsInvolved: ReloadDoc[];
11
+ createdAt: Date;
12
+ }
13
+ type RefundDoc = mongoose.Document & Refund;
14
+ interface RefundModel extends mongoose.Model<RefundDoc> {
15
+ build(attrs: RefundAttrs): RefundDoc;
16
+ }
17
+ declare const Refund: RefundModel;
18
+ export { Refund };
@@ -0,0 +1,47 @@
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.Refund = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const refundSchema = new mongoose_1.default.Schema({
9
+ company: {
10
+ type: mongoose_1.default.Schema.Types.ObjectId,
11
+ ref: 'Company',
12
+ required: true,
13
+ },
14
+ value: { type: Number, required: true },
15
+ createdAt: { type: Date, required: true },
16
+ fromActivity: {
17
+ type: mongoose_1.default.Schema.Types.ObjectId,
18
+ ref: 'Activity',
19
+ required: true,
20
+ },
21
+ reloadsInvolved: [
22
+ {
23
+ type: mongoose_1.default.Schema.Types.ObjectId,
24
+ ref: 'Reload',
25
+ required: true,
26
+ },
27
+ ],
28
+ }, {
29
+ toJSON: {
30
+ transform(_, ret) {
31
+ ret.id = ret._id;
32
+ delete ret._id;
33
+ delete ret.__v;
34
+ },
35
+ },
36
+ });
37
+ refundSchema.statics.build = (attrs) => {
38
+ return new Refund(attrs);
39
+ };
40
+ const autoPopulate = function (next) {
41
+ // @ts-ignore
42
+ this.populate('company').populate('fromActivity');
43
+ next();
44
+ };
45
+ refundSchema.pre('findOne', autoPopulate).pre('find', autoPopulate);
46
+ const Refund = mongoose_1.default.model('Refund', refundSchema);
47
+ exports.Refund = Refund;
@@ -0,0 +1,16 @@
1
+ import mongoose from 'mongoose';
2
+ import { Reload } from '../interfaces';
3
+ import { CompanyDoc } from './company.model';
4
+ interface ReloadAttrs {
5
+ company: CompanyDoc;
6
+ value: number;
7
+ availableValue: number;
8
+ createdAt: Date;
9
+ validUntil: Date;
10
+ }
11
+ type ReloadDoc = mongoose.Document & Reload;
12
+ interface ReloadModel extends mongoose.Model<ReloadDoc> {
13
+ build(attrs: ReloadAttrs): ReloadDoc;
14
+ }
15
+ declare const Reload: ReloadModel;
16
+ export { Reload, ReloadDoc };
@@ -0,0 +1,49 @@
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.Reload = void 0;
7
+ const mongoose_1 = __importDefault(require("mongoose"));
8
+ const reloadSchema = new mongoose_1.default.Schema({
9
+ company: {
10
+ type: mongoose_1.default.Schema.Types.ObjectId,
11
+ ref: 'Company',
12
+ },
13
+ value: {
14
+ type: Number,
15
+ required: true,
16
+ },
17
+ availableValue: {
18
+ type: Number,
19
+ required: true,
20
+ },
21
+ createdAt: {
22
+ type: Date,
23
+ required: true,
24
+ },
25
+ validUntil: {
26
+ type: Date,
27
+ required: true,
28
+ },
29
+ }, {
30
+ timestamps: true,
31
+ toJSON: {
32
+ transform(_, ret) {
33
+ ret.id = ret._id;
34
+ delete ret._id;
35
+ delete ret.__v;
36
+ },
37
+ },
38
+ });
39
+ reloadSchema.statics.build = (attrs) => {
40
+ return new Reload(attrs);
41
+ };
42
+ const autoPopulate = function (next) {
43
+ // @ts-ignore
44
+ this.populate('company');
45
+ next();
46
+ };
47
+ reloadSchema.pre('find', autoPopulate).pre('findOne', autoPopulate);
48
+ const Reload = mongoose_1.default.model('Reload', reloadSchema);
49
+ exports.Reload = Reload;
@@ -0,0 +1,19 @@
1
+ import mongoose from 'mongoose';
2
+ import { CompanyDoc } from './company.model';
3
+ import { User } from '../interfaces';
4
+ import { UserLevel } from '../interfaces';
5
+ interface UserAttrs {
6
+ email: string;
7
+ company: CompanyDoc;
8
+ name: string;
9
+ level: String;
10
+ password: string;
11
+ createdAt: Date;
12
+ createdBy: string;
13
+ }
14
+ type UserDoc = User & mongoose.Document;
15
+ interface UserModel extends mongoose.Model<UserDoc> {
16
+ build(attrs: UserAttrs): UserDoc;
17
+ }
18
+ declare const User: UserModel;
19
+ export { User, UserDoc, UserLevel };
@@ -0,0 +1,119 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.UserLevel = exports.User = void 0;
49
+ const mongoose_1 = __importStar(require("mongoose"));
50
+ const bcrypt_1 = __importDefault(require("bcrypt"));
51
+ const interfaces_1 = require("../interfaces");
52
+ Object.defineProperty(exports, "UserLevel", { enumerable: true, get: function () { return interfaces_1.UserLevel; } });
53
+ const userSchema = new mongoose_1.default.Schema({
54
+ email: {
55
+ type: String,
56
+ required: true,
57
+ },
58
+ company: {
59
+ type: mongoose_1.Schema.Types.ObjectId,
60
+ ref: 'Company',
61
+ required: true,
62
+ },
63
+ name: {
64
+ type: String,
65
+ required: true,
66
+ },
67
+ level: {
68
+ type: String,
69
+ required: true,
70
+ enum: Object.values(interfaces_1.UserLevel),
71
+ },
72
+ blocked: {
73
+ type: Boolean,
74
+ required: false,
75
+ default: false,
76
+ },
77
+ password: {
78
+ type: String,
79
+ required: true,
80
+ },
81
+ createdAt: {
82
+ type: Date,
83
+ required: true,
84
+ },
85
+ createdBy: {
86
+ type: String,
87
+ required: true,
88
+ },
89
+ }, {
90
+ toJSON: {
91
+ transform(_, ret) {
92
+ ret.id = ret._id;
93
+ delete ret._id;
94
+ delete ret.password;
95
+ },
96
+ },
97
+ });
98
+ const autoPopulate = function (next) {
99
+ //@ts-ignore
100
+ this.populate('company');
101
+ next();
102
+ };
103
+ userSchema.pre('findOne', autoPopulate).pre('find', autoPopulate);
104
+ // Hash the user password before saving it to the db.
105
+ userSchema.pre('save', function (done) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ if (this.isModified('password')) {
108
+ const hashedPass = bcrypt_1.default.hashSync(this.get('password'), 12);
109
+ this.set('password', hashedPass);
110
+ }
111
+ done();
112
+ });
113
+ });
114
+ // Create function to pass ts interface.
115
+ userSchema.statics.build = (attrs) => {
116
+ return new User(attrs);
117
+ };
118
+ const User = mongoose_1.default.model('User', userSchema);
119
+ exports.User = User;
package/package.json CHANGED
@@ -1,52 +1,63 @@
1
1
  {
2
- "name": "@rowengine/common",
3
- "version": "1.0.126",
4
- "description": "",
5
- "main": "./build/index.js",
6
- "exports": {
7
- ".": [
8
- {
9
- "import": "./build/index.js",
10
- "require": "./build/index.js",
11
- "default": "./build/index.js"
12
- },
13
- "./build/index.js"
2
+ "name": "@rowengine/common",
3
+ "version": "1.0.127",
4
+ "description": "",
5
+ "main": "./build/index.js",
6
+ "exports": {
7
+ ".": [
8
+ {
9
+ "import": "./build/index.js",
10
+ "require": "./build/index.js",
11
+ "default": "./build/index.js"
12
+ },
13
+ "./build/index.js"
14
+ ],
15
+ "./interfaces": [
16
+ {
17
+ "import": "./build/interfaces/index.js",
18
+ "require": "./build/interfaces/index.js",
19
+ "default": "./build/interfaces/index.js"
20
+ },
21
+ "./build/interfaces/index.js"
22
+ ],
23
+ "./models": [
24
+ {
25
+ "import": "./build/models/index.js",
26
+ "require": "./build/models/index.js",
27
+ "default": "./build/models/index.js"
28
+ },
29
+ "./build/models/index.js"
30
+ ],
31
+ "./utils": [
32
+ {
33
+ "import": "./build/utils/index.js",
34
+ "require": "./build/utils/index.js",
35
+ "default": "./build/utils/index.js"
36
+ },
37
+ "./build/utils/index.js"
38
+ ]
39
+ },
40
+ "types": "./build/index.d.ts",
41
+ "files": [
42
+ "build/**/*"
14
43
  ],
15
- "./interfaces": [
16
- {
17
- "import": "./build/interfaces/index.js",
18
- "require": "./build/interfaces/index.js",
19
- "default": "./build/interfaces/index.js"
20
- },
21
- "./build/interfaces/index.js"
22
- ],
23
- "./utils": [
24
- {
25
- "import": "./build/utils/index.js",
26
- "require": "./build/utils/index.js",
27
- "default": "./build/utils/index.js"
28
- },
29
- "./build/utils/index.js"
30
- ]
31
- },
32
- "types": "./build/index.d.ts",
33
- "files": [
34
- "build/**/*"
35
- ],
36
- "scripts": {
37
- "clean": "if exist .\\build rmdir /s /q .\\build",
38
- "build": "npm run clean & tsc",
39
- "pub": "git add . & git commit -m \"updated common package\" & npm version patch & npm run build & npm publish",
40
- "pub-linux": "rm -r /build ; npm run build ; git add . ; git commit -m \"updated common package\" ; npm version patch ; npm publish"
41
- },
42
- "author": "Leonardo Ribeiro",
43
- "license": "ISC",
44
- "dependencies": {
45
- "@google-cloud/storage": "^6.9.5",
46
- "moment-timezone": "^0.5.43",
47
- "node-nats-streaming": "^0.3.2"
48
- },
49
- "devDependencies": {
50
- "@types/node": "^18.15.11"
51
- }
44
+ "scripts": {
45
+ "clean": "if exist .\\build rmdir /s /q .\\build",
46
+ "build": "npm run clean & tsc",
47
+ "pub": "git add . & git commit -m \"updated common package\" & npm version patch & npm run build & npm publish",
48
+ "pub-linux": "rm -r /build ; npm run build ; git add . ; git commit -m \"updated common package\" ; npm version patch ; npm publish"
49
+ },
50
+ "author": "Leonardo Ribeiro",
51
+ "license": "ISC",
52
+ "dependencies": {
53
+ "@google-cloud/storage": "^6.9.5",
54
+ "bcrypt": "^6.0.0",
55
+ "moment-timezone": "^0.5.43",
56
+ "mongoose": "^8.5.2",
57
+ "node-nats-streaming": "^0.3.2"
58
+ },
59
+ "devDependencies": {
60
+ "@types/bcrypt": "^6.0.0",
61
+ "@types/node": "^18.15.11"
62
+ }
52
63
  }