@duvdu-v1/duvdu 1.1.14 → 1.1.16

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
@@ -45,7 +45,6 @@ export * from './types/pagination-response';
45
45
  export * from './types/portfolio-post-order';
46
46
  export * from './models/Bookmark.model';
47
47
  export * from './models/Plan.model';
48
- export * from './models/Projects.model';
49
48
  export * from './models/Role.model';
50
49
  export * from './models/Term.model';
51
50
  export * from './models/Ticket.model';
@@ -55,3 +54,4 @@ export * from './models/portfolio-post.model';
55
54
  export * from './models/copyrights.model';
56
55
  export * from './models/studio-booking.model';
57
56
  export * from './models/allProjects.model';
57
+ export * from './models/report.model';
package/build/index.js CHANGED
@@ -61,7 +61,6 @@ __exportStar(require("./types/pagination-response"), exports);
61
61
  __exportStar(require("./types/portfolio-post-order"), exports);
62
62
  __exportStar(require("./models/Bookmark.model"), exports);
63
63
  __exportStar(require("./models/Plan.model"), exports);
64
- __exportStar(require("./models/Projects.model"), exports);
65
64
  __exportStar(require("./models/Role.model"), exports);
66
65
  __exportStar(require("./models/Term.model"), exports);
67
66
  __exportStar(require("./models/Ticket.model"), exports);
@@ -71,3 +70,4 @@ __exportStar(require("./models/portfolio-post.model"), exports);
71
70
  __exportStar(require("./models/copyrights.model"), exports);
72
71
  __exportStar(require("./models/studio-booking.model"), exports);
73
72
  __exportStar(require("./models/allProjects.model"), exports);
73
+ __exportStar(require("./models/report.model"), exports);
@@ -5,8 +5,8 @@ const mongoose_1 = require("mongoose");
5
5
  const model_names_1 = require("../types/model-names");
6
6
  const planSchema = new mongoose_1.Schema({
7
7
  key: { type: String, unique: true },
8
- title: String,
9
- role: { type: mongoose_1.Schema.Types.ObjectId, ref: 'role' },
8
+ title: { type: String, default: null },
9
+ role: { type: mongoose_1.Schema.Types.ObjectId, ref: 'role', required: true },
10
10
  status: { type: Boolean, default: false },
11
11
  }, { collection: model_names_1.MODELS.plan });
12
12
  exports.Plans = (0, mongoose_1.model)(model_names_1.MODELS.plan, planSchema);
@@ -4,7 +4,7 @@ exports.Roles = void 0;
4
4
  const mongoose_1 = require("mongoose");
5
5
  const model_names_1 = require("../types/model-names");
6
6
  exports.Roles = (0, mongoose_1.model)(model_names_1.MODELS.role, new mongoose_1.Schema({
7
- key: { type: String, unique: true },
7
+ key: { type: String, unique: true, required: true },
8
8
  permissions: [String],
9
9
  system: {
10
10
  type: Boolean,
@@ -7,6 +7,6 @@ exports.Term = void 0;
7
7
  const mongoose_1 = __importDefault(require("mongoose"));
8
8
  const model_names_1 = require("../types/model-names");
9
9
  const termSchema = new mongoose_1.default.Schema({
10
- desc: String,
10
+ desc: { type: String, default: null },
11
11
  }, { timestamps: true, collection: model_names_1.MODELS.term });
12
12
  exports.Term = mongoose_1.default.model(model_names_1.MODELS.term, termSchema);
@@ -1,26 +1,51 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
4
24
  };
5
25
  Object.defineProperty(exports, "__esModule", { value: true });
6
26
  exports.Ticket = void 0;
7
- const mongoose_1 = __importDefault(require("mongoose"));
27
+ const mongoose_1 = __importStar(require("mongoose"));
8
28
  const model_names_1 = require("../types/model-names");
9
29
  const ticketSchema = new mongoose_1.default.Schema({
10
30
  userId: {
11
31
  type: mongoose_1.default.Schema.Types.ObjectId,
12
32
  ref: model_names_1.MODELS.user,
33
+ required: true,
13
34
  },
14
35
  name: {
15
36
  type: String,
16
37
  trim: true,
38
+ default: null,
39
+ },
40
+ phoneNumber: {
41
+ key: { type: String, default: null },
42
+ number: { type: String, default: null, unique: true, sparse: true },
17
43
  },
18
- phoneNumber: { key: String, number: { type: String, unique: true, sparse: true } },
19
- message: String,
44
+ message: { type: String, default: null },
20
45
  state: {
21
46
  isClosed: { type: Boolean, default: false },
22
- closedBy: mongoose_1.default.Schema.Types.ObjectId,
23
- feedback: String,
47
+ closedBy: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.user },
48
+ feedback: { type: String, default: null },
24
49
  },
25
50
  }, {
26
51
  collection: model_names_1.MODELS.ticket,
@@ -4,22 +4,25 @@ exports.Users = void 0;
4
4
  const mongoose_1 = require("mongoose");
5
5
  const model_names_1 = require("../types/model-names");
6
6
  const userSchema = new mongoose_1.Schema({
7
- googleId: String,
8
- appleId: String,
9
- name: String,
10
- phoneNumber: { key: String, number: { type: String, unique: true, sparse: true } },
11
- username: { type: String, unique: true, sparce: true },
7
+ googleId: { type: String, default: null },
8
+ appleId: { type: String, default: null },
9
+ name: { type: String, default: null },
10
+ phoneNumber: {
11
+ key: { type: String, default: null },
12
+ number: { type: String, unique: true, default: null, sparse: true },
13
+ },
14
+ username: { type: String, unique: true, sparce: true, default: null },
12
15
  password: String,
13
- verificationCode: { code: String, expireAt: Date, reason: String },
14
- isVerified: Boolean,
16
+ verificationCode: { code: String, expireAt: Date, reason: { type: String, default: null } },
17
+ isVerified: { type: Boolean, default: false },
15
18
  token: String,
16
- profileImage: String,
17
- coverImage: String,
18
- location: { lat: Number, lng: Number },
19
- category: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.category },
19
+ profileImage: { type: String, default: null },
20
+ coverImage: { type: String, default: null },
21
+ location: { lat: { type: Number, default: null }, lng: { type: Number, default: null } },
22
+ category: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.category, required: true },
20
23
  acceptedProjectsCounter: { type: Number, default: 0 },
21
24
  profileViews: { type: Number, default: 0 },
22
- about: String,
25
+ about: { type: String, default: null },
23
26
  isOnline: { type: Boolean, default: false },
24
27
  isAvaliableToInstantProjects: { type: Boolean, default: false },
25
28
  pricePerHour: { type: Number, default: 0 },
@@ -27,6 +30,9 @@ const userSchema = new mongoose_1.Schema({
27
30
  hasVerificationBadge: { type: Boolean, default: false },
28
31
  avaliableContracts: { type: Number, default: 0 },
29
32
  rate: { ratersCounter: { type: Number, default: 0 }, totalRates: { type: Number, default: 0 } },
30
- isBlocked: { value: { type: Boolean, default: false }, reason: String },
33
+ isBlocked: {
34
+ value: { type: Boolean, default: false },
35
+ reason: { type: String, default: null },
36
+ },
31
37
  }, { timestamps: true, collection: model_names_1.MODELS.user });
32
38
  exports.Users = (0, mongoose_1.model)(model_names_1.MODELS.user, userSchema);
@@ -28,6 +28,11 @@ interface Iproject {
28
28
  type: Schema.Types.ObjectId;
29
29
  };
30
30
  ref: string;
31
+ cycle: number;
32
+ rate: {
33
+ ratersCounter: number;
34
+ totalRates: number;
35
+ };
31
36
  }
32
37
  export declare const Project: import("mongoose").Model<Iproject, {}, {}, {}, import("mongoose").Document<unknown, {}, Iproject> & Iproject & {
33
38
  _id: import("mongoose").Types.ObjectId;
@@ -7,9 +7,13 @@ exports.Project = (0, mongoose_1.model)(model_names_1.MODELS.projects, new mongo
7
7
  project: {
8
8
  type: {
9
9
  type: mongoose_1.Schema.Types.ObjectId,
10
- refPath: 'project.ref' // Dynamic reference based on project.ref field
10
+ refPath: 'project.ref',
11
11
  },
12
- ref: String
12
+ ref: String,
13
13
  },
14
- ref: String
15
- }, { timestamps: true, collection: model_names_1.MODELS.projects }));
14
+ ref: String,
15
+ rate: {
16
+ ratersCounter: { type: Number, default: 0 },
17
+ totalRates: { type: Number, default: 0 },
18
+ },
19
+ }, { timestamps: true, collection: model_names_1.MODELS.projects }).index({ createdAt: 1, updatedAt: -1, ref: 1 }));
@@ -12,10 +12,10 @@ const categorySchema = new mongoose_1.default.Schema({
12
12
  default: 0,
13
13
  },
14
14
  title: {
15
- ar: String,
16
- en: String,
15
+ ar: { type: String, default: null },
16
+ en: { type: String, default: null },
17
17
  },
18
- image: String,
18
+ image: { type: String, defulat: null },
19
19
  jobTitles: {
20
20
  type: [String],
21
21
  },
@@ -39,7 +39,7 @@ const categorySchema = new mongoose_1.default.Schema({
39
39
  transform(doc, ret) {
40
40
  if (ret.image)
41
41
  ret.image = process.env.BUCKET_HOST + '/' + ret.image;
42
- }
42
+ },
43
43
  },
44
44
  });
45
45
  exports.Categories = mongoose_1.default.model(model_names_1.MODELS.category, categorySchema);
@@ -35,6 +35,10 @@ export interface IcopyRights {
35
35
  searchKeywords: string[];
36
36
  showOnHome: boolean;
37
37
  cycle: number;
38
+ rate: {
39
+ ratersCounter: number;
40
+ totalRates: number;
41
+ };
38
42
  isDeleted: boolean;
39
43
  }
40
44
  export declare const CopyRights: import("mongoose").Model<IcopyRights, {}, {}, {}, import("mongoose").Document<unknown, {}, IcopyRights> & IcopyRights & {
@@ -4,15 +4,19 @@ exports.CopyRights = void 0;
4
4
  const mongoose_1 = require("mongoose");
5
5
  const model_names_1 = require("../types/model-names");
6
6
  exports.CopyRights = (0, mongoose_1.model)(model_names_1.MODELS.copyrights, new mongoose_1.Schema({
7
- user: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.user, unique: true },
7
+ user: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.user },
8
8
  category: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.category },
9
- price: Number,
10
- duration: String,
11
- address: String,
9
+ price: { type: Number, default: 0 },
10
+ duration: { type: String, default: null },
11
+ address: { type: String, default: null },
12
12
  searchKeywords: [String],
13
- showOnHome: Boolean,
13
+ showOnHome: { type: Boolean, default: true },
14
14
  cycle: { type: Number, default: 3 },
15
15
  isDeleted: { type: Boolean, default: false },
16
+ rate: {
17
+ ratersCounter: { type: Number, default: 0 },
18
+ totalRates: { type: Number, default: 0 },
19
+ },
16
20
  }, {
17
21
  timestamps: true,
18
22
  collection: model_names_1.MODELS.copyrights,
@@ -50,6 +50,10 @@ export interface IportfolioPost {
50
50
  };
51
51
  showOnHome: boolean;
52
52
  cycle: number;
53
+ rate: {
54
+ ratersCounter: number;
55
+ totalRates: number;
56
+ };
53
57
  isDeleted: boolean;
54
58
  }
55
59
  export declare const PortfolioPosts: import("mongoose").Model<IportfolioPost, {}, {}, {}, import("mongoose").Document<unknown, {}, IportfolioPost> & IportfolioPost & {
@@ -6,20 +6,29 @@ const model_names_1 = require("../types/model-names");
6
6
  exports.PortfolioPosts = (0, mongoose_1.model)(model_names_1.MODELS.portfolioPost, new mongoose_1.Schema({
7
7
  user: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.user },
8
8
  attachments: [String],
9
- cover: String,
10
- title: String,
11
- desc: String,
12
- address: String,
13
- tools: [{ name: String, fees: Number }],
9
+ cover: { type: String, default: null },
10
+ title: { type: String, default: null },
11
+ desc: { type: String, default: null },
12
+ address: { type: String, default: null },
13
+ tools: [{ name: { type: String, default: null }, fees: { type: Number, default: 0 } }],
14
14
  searchKeywords: [String],
15
- creatives: [{ creative: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.user }, fees: Number }],
15
+ creatives: [
16
+ {
17
+ creative: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.user },
18
+ fees: { type: Number, default: null },
19
+ },
20
+ ],
16
21
  tags: [String],
17
- projectBudget: Number,
18
- category: mongoose_1.Types.ObjectId,
19
- projectScale: { scale: Number, time: String },
20
- showOnHome: Boolean,
22
+ projectBudget: { type: Number, default: null },
23
+ category: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.category, required: true },
24
+ projectScale: { scale: { type: Number, default: 0 }, time: { type: String, default: null } },
25
+ showOnHome: { type: Boolean, default: true },
21
26
  cycle: { type: Number, default: 1 },
22
27
  isDeleted: { type: Boolean, default: false },
28
+ rate: {
29
+ ratersCounter: { type: Number, default: 0 },
30
+ totalRates: { type: Number, default: 0 },
31
+ },
23
32
  }, {
24
33
  timestamps: true,
25
34
  collection: model_names_1.MODELS.portfolioPost,
@@ -21,9 +21,20 @@
21
21
  /// <reference types="mongoose/types/utility" />
22
22
  /// <reference types="mongoose/types/validation" />
23
23
  /// <reference types="mongoose/types/virtuals" />
24
- /// <reference types="mongoose" />
25
24
  /// <reference types="mongoose/types/inferschematype" />
26
- import { Iproject } from '../types/Projects';
27
- export declare const Projects: import("mongoose").Model<Iproject, {}, {}, {}, import("mongoose").Document<unknown, {}, Iproject> & Iproject & {
28
- _id: import("mongoose").Types.ObjectId;
25
+ import { Types } from 'mongoose';
26
+ import { Iuser } from '../types/User';
27
+ export interface Ireport {
28
+ sourceUser: Types.ObjectId | Iuser;
29
+ project: Types.ObjectId;
30
+ desc: string;
31
+ attachments: [string];
32
+ state: {
33
+ isClosed: boolean;
34
+ closedBy: Types.ObjectId;
35
+ feedback: string;
36
+ };
37
+ }
38
+ export declare const Report: import("mongoose").Model<Ireport, {}, {}, {}, import("mongoose").Document<unknown, {}, Ireport> & Ireport & {
39
+ _id: Types.ObjectId;
29
40
  }, any>;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Report = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ const model_names_1 = require("../types/model-names");
6
+ exports.Report = (0, mongoose_1.model)(model_names_1.MODELS.report, new mongoose_1.Schema({
7
+ sourceUser: {
8
+ type: mongoose_1.Schema.Types.ObjectId,
9
+ ref: model_names_1.MODELS.user,
10
+ required: true,
11
+ },
12
+ project: {
13
+ type: mongoose_1.Schema.Types.ObjectId,
14
+ ref: model_names_1.MODELS.projects,
15
+ required: true,
16
+ },
17
+ desc: { type: String, default: null },
18
+ attachments: [String],
19
+ state: {
20
+ isClosed: {
21
+ type: Boolean,
22
+ default: false,
23
+ },
24
+ closedBy: {
25
+ type: mongoose_1.Schema.Types.ObjectId,
26
+ ref: model_names_1.MODELS.user,
27
+ default: null,
28
+ },
29
+ feedback: { type: String, default: null },
30
+ },
31
+ }, {
32
+ timestamps: true,
33
+ collection: model_names_1.MODELS.report,
34
+ toJSON: {
35
+ transform(doc, ret) {
36
+ if (ret.attachments)
37
+ ret.attachments = ret.attachments.map((el) => process.env.BUCKET_HOST + '/' + el);
38
+ },
39
+ },
40
+ }));
@@ -47,6 +47,10 @@ export interface IstudioBooking {
47
47
  showOnHome: boolean;
48
48
  category: Types.ObjectId;
49
49
  cycle: number;
50
+ rate: {
51
+ ratersCounter: number;
52
+ totalRates: number;
53
+ };
50
54
  isDeleted: boolean;
51
55
  creatives: {
52
56
  creative: Types.ObjectId | Iuser;
@@ -29,29 +29,42 @@ const model_names_1 = require("../types/model-names");
29
29
  exports.studioBooking = (0, mongoose_1.model)(model_names_1.MODELS.studioBooking, new mongoose_1.Schema({
30
30
  user: {
31
31
  type: mongoose_1.default.Schema.Types.ObjectId,
32
- ref: model_names_1.MODELS.user
32
+ ref: model_names_1.MODELS.user,
33
+ required: true,
33
34
  },
34
35
  attachments: [String],
35
- cover: String,
36
- studioName: String,
37
- studioEmail: String,
38
- desc: String,
39
- equipments: [{ name: String, fees: Number }],
36
+ cover: { type: String, default: null },
37
+ studioName: { type: String, default: null },
38
+ studioEmail: { type: String, default: null },
39
+ desc: { type: String, default: null },
40
+ equipments: [
41
+ { name: { type: String, default: null }, fees: { type: Number, default: null } },
42
+ ],
40
43
  location: {
41
- lat: Number,
42
- lng: Number
44
+ lat: { type: Number, default: null },
45
+ lng: { type: Number, default: null },
43
46
  },
44
47
  searchKeywords: [String],
45
- pricePerHour: Number,
46
- insurance: Number,
47
- showOnHome: Boolean,
48
+ pricePerHour: { type: Number, default: null },
49
+ insurance: { type: Number, default: null },
50
+ showOnHome: { type: Boolean, default: true },
48
51
  category: {
49
52
  type: mongoose_1.default.Schema.Types.ObjectId,
50
- ref: model_names_1.MODELS.category
53
+ ref: model_names_1.MODELS.category,
54
+ required: true,
51
55
  },
52
56
  cycle: { type: Number, default: 2 },
53
57
  isDeleted: { type: Boolean, default: false },
54
- creatives: [{ creative: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.user }, fees: Number }]
58
+ creatives: [
59
+ {
60
+ creative: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.user },
61
+ fees: { type: Number, default: null },
62
+ },
63
+ ],
64
+ rate: {
65
+ ratersCounter: { type: Number, default: 0 },
66
+ totalRates: { type: Number, default: 0 },
67
+ },
55
68
  }, {
56
69
  timestamps: true,
57
70
  collection: model_names_1.MODELS.studioBooking,
@@ -39,7 +39,11 @@ export declare enum PERMISSIONS {
39
39
  updateStudioProjectHandler = "update studio project",
40
40
  removeStudioProjectHandler = "remove studio project",
41
41
  getCrmStudioProjectsHandlers = "get crm studio projects",
42
- getStudioAnalysisHandler = "get studio analysis handler"
42
+ getStudioAnalysisHandler = "get studio analysis handler",
43
+ getAllReportsHandler = "get all reports",
44
+ getReportHandler = "get report",
45
+ updateReportHandler = "update report",
46
+ deleteReportHandler = "delete report"
43
47
  }
44
48
  export declare const permissions: {
45
49
  auth: PERMISSIONS[];
@@ -49,6 +49,11 @@ var PERMISSIONS;
49
49
  PERMISSIONS["removeStudioProjectHandler"] = "remove studio project";
50
50
  PERMISSIONS["getCrmStudioProjectsHandlers"] = "get crm studio projects";
51
51
  PERMISSIONS["getStudioAnalysisHandler"] = "get studio analysis handler";
52
+ // reports
53
+ PERMISSIONS["getAllReportsHandler"] = "get all reports";
54
+ PERMISSIONS["getReportHandler"] = "get report";
55
+ PERMISSIONS["updateReportHandler"] = "update report";
56
+ PERMISSIONS["deleteReportHandler"] = "delete report";
52
57
  })(PERMISSIONS || (exports.PERMISSIONS = PERMISSIONS = {}));
53
58
  exports.permissions = {
54
59
  auth: [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duvdu-v1/duvdu",
3
- "version": "1.1.14",
3
+ "version": "1.1.16",
4
4
  "main": "./build/index.js",
5
5
  "types": "./build/index.d.ts",
6
6
  "files": [
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Projects = void 0;
4
- const mongoose_1 = require("mongoose");
5
- const model_names_1 = require("../types/model-names");
6
- exports.Projects = (0, mongoose_1.model)(model_names_1.MODELS.project, new mongoose_1.Schema({
7
- title: String,
8
- cover: String,
9
- owner: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.user },
10
- }, { timestamps: true, collection: model_names_1.MODELS.project }).index({ createdAt: 1, updatedAt: -1 }));