@duvdu-v1/duvdu 1.1.85 → 1.1.87

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.
Files changed (157) hide show
  1. package/build/auth/src/nats-wrapper.d.ts +8 -0
  2. package/build/auth/src/nats-wrapper.js +28 -0
  3. package/build/{errors → common/src/errors}/bad-request-error.d.ts +9 -1
  4. package/build/common/src/errors/bad-request-error.js +47 -0
  5. package/build/common/src/errors/data-base-connections.d.ts +16 -0
  6. package/build/common/src/errors/data-base-connections.js +51 -0
  7. package/build/{errors → common/src/errors}/not-allowed-error.d.ts +9 -1
  8. package/build/common/src/errors/not-allowed-error.js +47 -0
  9. package/build/common/src/errors/notfound-error.d.ts +17 -0
  10. package/build/common/src/errors/notfound-error.js +47 -0
  11. package/build/{errors → common/src/errors}/unauthenticated-error.d.ts +9 -1
  12. package/build/common/src/errors/unauthenticated-error.js +47 -0
  13. package/build/{errors → common/src/errors}/unauthorized-error.d.ts +9 -1
  14. package/build/common/src/errors/unauthorized-error.js +47 -0
  15. package/build/{middlewares → common/src/middlewares}/auth.middleware.js +5 -2
  16. package/build/{models → common/src/models}/User.model.js +6 -0
  17. package/build/{types → common/src/types}/User.d.ts +4 -0
  18. package/package.json +55 -55
  19. package/build/errors/bad-request-error.js +0 -15
  20. package/build/errors/data-base-connections.d.ts +0 -8
  21. package/build/errors/data-base-connections.js +0 -19
  22. package/build/errors/not-allowed-error.js +0 -15
  23. package/build/errors/notfound-error.d.ts +0 -9
  24. package/build/errors/notfound-error.js +0 -15
  25. package/build/errors/unauthenticated-error.js +0 -15
  26. package/build/errors/unauthorized-error.js +0 -15
  27. /package/build/{errors → common/src/errors}/custom-error.d.ts +0 -0
  28. /package/build/{errors → common/src/errors}/custom-error.js +0 -0
  29. /package/build/{errors → common/src/errors}/generic-error.d.ts +0 -0
  30. /package/build/{errors → common/src/errors}/generic-error.js +0 -0
  31. /package/build/{errors → common/src/errors}/validation-error.d.ts +0 -0
  32. /package/build/{errors → common/src/errors}/validation-error.js +0 -0
  33. /package/build/{events → common/src/events}/base-listener.d.ts +0 -0
  34. /package/build/{events → common/src/events}/base-listener.js +0 -0
  35. /package/build/{events → common/src/events}/base-publisher.d.ts +0 -0
  36. /package/build/{events → common/src/events}/base-publisher.js +0 -0
  37. /package/build/{events → common/src/events}/new-notification.event.d.ts +0 -0
  38. /package/build/{events → common/src/events}/new-notification.event.js +0 -0
  39. /package/build/{events → common/src/events}/subject.d.ts +0 -0
  40. /package/build/{events → common/src/events}/subject.js +0 -0
  41. /package/build/{index.d.ts → common/src/index.d.ts} +0 -0
  42. /package/build/{index.js → common/src/index.js} +0 -0
  43. /package/build/{middlewares → common/src/middlewares}/auth.middleware.d.ts +0 -0
  44. /package/build/{middlewares → common/src/middlewares}/check-required-files.middleware.d.ts +0 -0
  45. /package/build/{middlewares → common/src/middlewares}/check-required-files.middleware.js +0 -0
  46. /package/build/{middlewares → common/src/middlewares}/database-connection.d.ts +0 -0
  47. /package/build/{middlewares → common/src/middlewares}/database-connection.js +0 -0
  48. /package/build/{middlewares → common/src/middlewares}/global-error-handling.middleware.d.ts +0 -0
  49. /package/build/{middlewares → common/src/middlewares}/global-error-handling.middleware.js +0 -0
  50. /package/build/{middlewares → common/src/middlewares}/global-pagination.middleware.d.ts +0 -0
  51. /package/build/{middlewares → common/src/middlewares}/global-pagination.middleware.js +0 -0
  52. /package/build/{middlewares → common/src/middlewares}/global-upload.middleware.d.ts +0 -0
  53. /package/build/{middlewares → common/src/middlewares}/global-upload.middleware.js +0 -0
  54. /package/build/{middlewares → common/src/middlewares}/global-validator.middleware.d.ts +0 -0
  55. /package/build/{middlewares → common/src/middlewares}/global-validator.middleware.js +0 -0
  56. /package/build/{middlewares → common/src/middlewares}/isAuthorized.middleware.d.ts +0 -0
  57. /package/build/{middlewares → common/src/middlewares}/isAuthorized.middleware.js +0 -0
  58. /package/build/{middlewares → common/src/middlewares}/language-header.middleware.d.ts +0 -0
  59. /package/build/{middlewares → common/src/middlewares}/language-header.middleware.js +0 -0
  60. /package/build/{middlewares → common/src/middlewares}/optional-auth.middleware.d.ts +0 -0
  61. /package/build/{middlewares → common/src/middlewares}/optional-auth.middleware.js +0 -0
  62. /package/build/{middlewares → common/src/middlewares}/redis-connection.d.ts +0 -0
  63. /package/build/{middlewares → common/src/middlewares}/redis-connection.js +0 -0
  64. /package/build/{middlewares → common/src/middlewares}/upload-project-media.middleware.d.ts +0 -0
  65. /package/build/{middlewares → common/src/middlewares}/upload-project-media.middleware.js +0 -0
  66. /package/build/{models → common/src/models}/Bookmark.model.d.ts +0 -0
  67. /package/build/{models → common/src/models}/Bookmark.model.js +0 -0
  68. /package/build/{models → common/src/models}/Plan.model.d.ts +0 -0
  69. /package/build/{models → common/src/models}/Plan.model.js +0 -0
  70. /package/build/{models → common/src/models}/Role.model.d.ts +0 -0
  71. /package/build/{models → common/src/models}/Role.model.js +0 -0
  72. /package/build/{models → common/src/models}/Term.model.d.ts +0 -0
  73. /package/build/{models → common/src/models}/Term.model.js +0 -0
  74. /package/build/{models → common/src/models}/Ticket.model.d.ts +0 -0
  75. /package/build/{models → common/src/models}/Ticket.model.js +0 -0
  76. /package/build/{models → common/src/models}/User.model.d.ts +0 -0
  77. /package/build/{models → common/src/models}/allProjects.model.d.ts +0 -0
  78. /package/build/{models → common/src/models}/allProjects.model.js +0 -0
  79. /package/build/{models → common/src/models}/category.model.d.ts +0 -0
  80. /package/build/{models → common/src/models}/category.model.js +0 -0
  81. /package/build/{models → common/src/models}/contracts.model.d.ts +0 -0
  82. /package/build/{models → common/src/models}/contracts.model.js +0 -0
  83. /package/build/{models → common/src/models}/copyrights.model.d.ts +0 -0
  84. /package/build/{models → common/src/models}/copyrights.model.js +0 -0
  85. /package/build/{models → common/src/models}/follow.model.d.ts +0 -0
  86. /package/build/{models → common/src/models}/follow.model.js +0 -0
  87. /package/build/{models → common/src/models}/messages.model.d.ts +0 -0
  88. /package/build/{models → common/src/models}/messages.model.js +0 -0
  89. /package/build/{models → common/src/models}/notification.model.d.ts +0 -0
  90. /package/build/{models → common/src/models}/notification.model.js +0 -0
  91. /package/build/{models → common/src/models}/portfolio-post.model.d.ts +0 -0
  92. /package/build/{models → common/src/models}/portfolio-post.model.js +0 -0
  93. /package/build/{models → common/src/models}/producer.model.d.ts +0 -0
  94. /package/build/{models → common/src/models}/producer.model.js +0 -0
  95. /package/build/{models → common/src/models}/report.model.d.ts +0 -0
  96. /package/build/{models → common/src/models}/report.model.js +0 -0
  97. /package/build/{models → common/src/models}/studio-booking.model.d.ts +0 -0
  98. /package/build/{models → common/src/models}/studio-booking.model.js +0 -0
  99. /package/build/{models → common/src/models}/teamProject.model.d.ts +0 -0
  100. /package/build/{models → common/src/models}/teamProject.model.js +0 -0
  101. /package/build/{services → common/src/services}/category.service.d.ts +0 -0
  102. /package/build/{services → common/src/services}/category.service.js +0 -0
  103. /package/build/{types → common/src/types}/Bookmarks.d.ts +0 -0
  104. /package/build/{types → common/src/types}/Bookmarks.js +0 -0
  105. /package/build/{types → common/src/types}/Category.d.ts +0 -0
  106. /package/build/{types → common/src/types}/Category.js +0 -0
  107. /package/build/{types → common/src/types}/JwtPayload.d.ts +0 -0
  108. /package/build/{types → common/src/types}/JwtPayload.js +0 -0
  109. /package/build/{types → common/src/types}/Pagination.d.ts +0 -0
  110. /package/build/{types → common/src/types}/Pagination.js +0 -0
  111. /package/build/{types → common/src/types}/Permissions.d.ts +0 -0
  112. /package/build/{types → common/src/types}/Permissions.js +0 -0
  113. /package/build/{types → common/src/types}/Plan.d.ts +0 -0
  114. /package/build/{types → common/src/types}/Plan.js +0 -0
  115. /package/build/{types → common/src/types}/Projects.d.ts +0 -0
  116. /package/build/{types → common/src/types}/Projects.js +0 -0
  117. /package/build/{types → common/src/types}/Rate.d.ts +0 -0
  118. /package/build/{types → common/src/types}/Rate.js +0 -0
  119. /package/build/{types → common/src/types}/Role.d.ts +0 -0
  120. /package/build/{types → common/src/types}/Role.js +0 -0
  121. /package/build/{types → common/src/types}/Terms.d.ts +0 -0
  122. /package/build/{types → common/src/types}/Terms.js +0 -0
  123. /package/build/{types → common/src/types}/Ticket.d.ts +0 -0
  124. /package/build/{types → common/src/types}/Ticket.js +0 -0
  125. /package/build/{types → common/src/types}/UrlQuery.d.ts +0 -0
  126. /package/build/{types → common/src/types}/UrlQuery.js +0 -0
  127. /package/build/{types → common/src/types}/User.js +0 -0
  128. /package/build/{types → common/src/types}/booking-states.d.ts +0 -0
  129. /package/build/{types → common/src/types}/booking-states.js +0 -0
  130. /package/build/{types → common/src/types}/copyrights-order.d.ts +0 -0
  131. /package/build/{types → common/src/types}/copyrights-order.js +0 -0
  132. /package/build/{types → common/src/types}/cycles.d.ts +0 -0
  133. /package/build/{types → common/src/types}/cycles.js +0 -0
  134. /package/build/{types → common/src/types}/folders.d.ts +0 -0
  135. /package/build/{types → common/src/types}/folders.js +0 -0
  136. /package/build/{types → common/src/types}/model-names.d.ts +0 -0
  137. /package/build/{types → common/src/types}/model-names.js +0 -0
  138. /package/build/{types → common/src/types}/notification.type.d.ts +0 -0
  139. /package/build/{types → common/src/types}/notification.type.js +0 -0
  140. /package/build/{types → common/src/types}/pagination-response.d.ts +0 -0
  141. /package/build/{types → common/src/types}/pagination-response.js +0 -0
  142. /package/build/{types → common/src/types}/portfolio-post-order.d.ts +0 -0
  143. /package/build/{types → common/src/types}/portfolio-post-order.js +0 -0
  144. /package/build/{types → common/src/types}/socket-channel.d.ts +0 -0
  145. /package/build/{types → common/src/types}/socket-channel.js +0 -0
  146. /package/build/{types → common/src/types}/success-response.d.ts +0 -0
  147. /package/build/{types → common/src/types}/success-response.js +0 -0
  148. /package/build/{types → common/src/types}/systemRoles.d.ts +0 -0
  149. /package/build/{types → common/src/types}/systemRoles.js +0 -0
  150. /package/build/{utils → common/src/utils}/api-feature.d.ts +0 -0
  151. /package/build/{utils → common/src/utils}/api-feature.js +0 -0
  152. /package/build/{utils → common/src/utils}/bucket.d.ts +0 -0
  153. /package/build/{utils → common/src/utils}/bucket.js +0 -0
  154. /package/build/{utils → common/src/utils}/file.d.ts +0 -0
  155. /package/build/{utils → common/src/utils}/file.js +0 -0
  156. /package/build/{utils → common/src/utils}/generateToken.d.ts +0 -0
  157. /package/build/{utils → common/src/utils}/generateToken.js +0 -0
@@ -0,0 +1,8 @@
1
+ import nats from 'node-nats-streaming';
2
+ declare class NatsWrapper {
3
+ private _client?;
4
+ get client(): nats.Stan;
5
+ connect(clusterId: string, clientId: string, url: string): Promise<void>;
6
+ }
7
+ export declare const natsWrapper: NatsWrapper;
8
+ export {};
@@ -0,0 +1,28 @@
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.natsWrapper = void 0;
7
+ const node_nats_streaming_1 = __importDefault(require("node-nats-streaming"));
8
+ class NatsWrapper {
9
+ get client() {
10
+ if (!this._client) {
11
+ throw new Error('can not access nats client before conection');
12
+ }
13
+ return this._client;
14
+ }
15
+ connect(clusterId, clientId, url) {
16
+ this._client = node_nats_streaming_1.default.connect(clusterId, clientId, { url });
17
+ return new Promise((resolve, reject) => {
18
+ this.client.on('connect', () => {
19
+ console.log('connected to nats');
20
+ resolve();
21
+ });
22
+ this.client.on('error', (err) => {
23
+ reject(err);
24
+ });
25
+ });
26
+ }
27
+ }
28
+ exports.natsWrapper = new NatsWrapper();
@@ -1,9 +1,17 @@
1
1
  import { CustomError } from './custom-error';
2
+ type LocalizedMessages = {
3
+ en: string;
4
+ ar: string;
5
+ };
2
6
  export declare class BadRequestError extends CustomError {
3
7
  statusCode: number;
4
- constructor(message: string);
8
+ private lang;
9
+ private messages;
10
+ private static defaultMessages;
11
+ constructor(message?: LocalizedMessages | string, lang?: string);
5
12
  serializeError(): {
6
13
  message: string;
7
14
  field?: string | undefined;
8
15
  }[];
9
16
  }
17
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // import { CustomError } from './custom-error';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.BadRequestError = void 0;
5
+ // export class BadRequestError extends CustomError {
6
+ // statusCode: number = 400;
7
+ // constructor(message: string) {
8
+ // super(message || 'bad-request error');
9
+ // Object.setPrototypeOf(this, BadRequestError.prototype);
10
+ // }
11
+ // serializeError(): { message: string; field?: string | undefined }[] {
12
+ // return [{ message: this.message || 'bad-request error' }];
13
+ // }
14
+ // }
15
+ const custom_error_1 = require("./custom-error");
16
+ class BadRequestError extends custom_error_1.CustomError {
17
+ constructor(message, lang = 'en') {
18
+ let localizedMessage;
19
+ let messages;
20
+ if (!message) {
21
+ messages = BadRequestError.defaultMessages;
22
+ localizedMessage = messages[lang] || messages['en'];
23
+ }
24
+ else if (typeof message === 'string') {
25
+ messages = { en: message, ar: message };
26
+ localizedMessage = message;
27
+ }
28
+ else {
29
+ messages = message;
30
+ localizedMessage = message[lang] || message['en'];
31
+ }
32
+ super(localizedMessage);
33
+ this.statusCode = 400;
34
+ this.messages = messages;
35
+ this.lang = lang;
36
+ Object.setPrototypeOf(this, BadRequestError.prototype);
37
+ }
38
+ serializeError() {
39
+ const localizedMessage = this.messages[this.lang] || this.messages['en'];
40
+ return [{ message: localizedMessage }];
41
+ }
42
+ }
43
+ exports.BadRequestError = BadRequestError;
44
+ BadRequestError.defaultMessages = {
45
+ en: 'bad-request error',
46
+ ar: 'خطأ في الطلب',
47
+ };
@@ -0,0 +1,16 @@
1
+ import { CustomError } from './custom-error';
2
+ type LocalizedMessages = {
3
+ en: string;
4
+ ar: string;
5
+ };
6
+ export declare class DatabaseConnectionError extends CustomError {
7
+ statusCode: number;
8
+ private lang;
9
+ private messages;
10
+ private static defaultMessages;
11
+ constructor(message?: LocalizedMessages | string, lang?: string);
12
+ serializeError(): {
13
+ message: string;
14
+ }[];
15
+ }
16
+ export {};
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ // import { CustomError } from './custom-error';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.DatabaseConnectionError = void 0;
5
+ // export class DatabaseConnectionError extends CustomError {
6
+ // statusCode = 500;
7
+ // constructor(message?: string) {
8
+ // super(message || 'Error connecting to database');
9
+ // Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
10
+ // }
11
+ // serializeError() {
12
+ // return [
13
+ // {
14
+ // message: this.message || 'Error connecting to database',
15
+ // },
16
+ // ];
17
+ // }
18
+ // }
19
+ const custom_error_1 = require("./custom-error");
20
+ class DatabaseConnectionError extends custom_error_1.CustomError {
21
+ constructor(message, lang = 'en') {
22
+ let localizedMessage;
23
+ let messages;
24
+ if (!message) {
25
+ messages = DatabaseConnectionError.defaultMessages;
26
+ localizedMessage = messages[lang] || messages['en'];
27
+ }
28
+ else if (typeof message === 'string') {
29
+ messages = { en: message, ar: message };
30
+ localizedMessage = message;
31
+ }
32
+ else {
33
+ messages = message;
34
+ localizedMessage = message[lang] || message['en'];
35
+ }
36
+ super(localizedMessage);
37
+ this.statusCode = 500;
38
+ this.messages = messages;
39
+ this.lang = lang;
40
+ Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
41
+ }
42
+ serializeError() {
43
+ const localizedMessage = this.messages[this.lang] || this.messages['en'];
44
+ return [{ message: localizedMessage }];
45
+ }
46
+ }
47
+ exports.DatabaseConnectionError = DatabaseConnectionError;
48
+ DatabaseConnectionError.defaultMessages = {
49
+ en: 'Error connecting to database',
50
+ ar: 'خطأ في الاتصال بقاعدة البيانات',
51
+ };
@@ -1,9 +1,17 @@
1
1
  import { CustomError } from './custom-error';
2
+ type LocalizedMessages = {
3
+ en: string;
4
+ ar: string;
5
+ };
2
6
  export declare class NotAllowedError extends CustomError {
3
7
  statusCode: number;
4
- constructor(message?: string);
8
+ private lang;
9
+ private messages;
10
+ private static defaultMessages;
11
+ constructor(message?: LocalizedMessages | string, lang?: string);
5
12
  serializeError(): {
6
13
  message: string;
7
14
  field?: string | undefined;
8
15
  }[];
9
16
  }
17
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // import { CustomError } from './custom-error';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NotAllowedError = void 0;
5
+ // export class NotAllowedError extends CustomError {
6
+ // statusCode: number = 405;
7
+ // constructor(message?: string) {
8
+ // super(message || 'not allowed error');
9
+ // Object.setPrototypeOf(this, NotAllowedError.prototype);
10
+ // }
11
+ // serializeError(): { message: string; field?: string | undefined }[] {
12
+ // return [{ message: this.message || 'not allowed error' }];
13
+ // }
14
+ // }
15
+ const custom_error_1 = require("./custom-error");
16
+ class NotAllowedError extends custom_error_1.CustomError {
17
+ constructor(message, lang = 'en') {
18
+ let localizedMessage;
19
+ let messages;
20
+ if (!message) {
21
+ messages = NotAllowedError.defaultMessages;
22
+ localizedMessage = messages[lang] || messages['en'];
23
+ }
24
+ else if (typeof message === 'string') {
25
+ messages = { en: message, ar: message };
26
+ localizedMessage = message;
27
+ }
28
+ else {
29
+ messages = message;
30
+ localizedMessage = message[lang] || message['en'];
31
+ }
32
+ super(localizedMessage);
33
+ this.statusCode = 405;
34
+ this.messages = messages;
35
+ this.lang = lang;
36
+ Object.setPrototypeOf(this, NotAllowedError.prototype);
37
+ }
38
+ serializeError() {
39
+ const localizedMessage = this.messages[this.lang] || this.messages['en'];
40
+ return [{ message: localizedMessage }];
41
+ }
42
+ }
43
+ exports.NotAllowedError = NotAllowedError;
44
+ NotAllowedError.defaultMessages = {
45
+ en: 'Not allowed error',
46
+ ar: 'خطأ: غير مسموح',
47
+ };
@@ -0,0 +1,17 @@
1
+ import { CustomError } from './custom-error';
2
+ type LocalizedMessages = {
3
+ en: string;
4
+ ar: string;
5
+ };
6
+ export declare class NotFound extends CustomError {
7
+ statusCode: number;
8
+ private lang;
9
+ private messages;
10
+ private static defaultMessages;
11
+ constructor(message?: LocalizedMessages | string, lang?: string);
12
+ serializeError(): {
13
+ message: string;
14
+ field?: string | undefined;
15
+ }[];
16
+ }
17
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // import { CustomError } from './custom-error';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NotFound = void 0;
5
+ // export class NotFound extends CustomError {
6
+ // statusCode = 404;
7
+ // constructor(message?: string) {
8
+ // super(message || 'not found error');
9
+ // Object.setPrototypeOf(this, NotFound.prototype);
10
+ // }
11
+ // serializeError(): { message: string; field?: string | undefined }[] {
12
+ // return [{ message: this.message || 'not found error' }];
13
+ // }
14
+ // }
15
+ const custom_error_1 = require("./custom-error");
16
+ class NotFound extends custom_error_1.CustomError {
17
+ constructor(message, lang = 'en') {
18
+ let localizedMessage;
19
+ let messages;
20
+ if (!message) {
21
+ messages = NotFound.defaultMessages;
22
+ localizedMessage = messages[lang] || messages['en'];
23
+ }
24
+ else if (typeof message === 'string') {
25
+ messages = { en: message, ar: message };
26
+ localizedMessage = message;
27
+ }
28
+ else {
29
+ messages = message;
30
+ localizedMessage = message[lang] || message['en'];
31
+ }
32
+ super(localizedMessage);
33
+ this.statusCode = 404;
34
+ this.messages = messages;
35
+ this.lang = lang;
36
+ Object.setPrototypeOf(this, NotFound.prototype);
37
+ }
38
+ serializeError() {
39
+ const localizedMessage = this.messages[this.lang] || this.messages['en'];
40
+ return [{ message: localizedMessage }];
41
+ }
42
+ }
43
+ exports.NotFound = NotFound;
44
+ NotFound.defaultMessages = {
45
+ en: 'Not found error',
46
+ ar: 'خطأ: لم يتم العثور على الصفحة',
47
+ };
@@ -1,9 +1,17 @@
1
1
  import { CustomError } from './custom-error';
2
+ type LocalizedMessages = {
3
+ en: string;
4
+ ar: string;
5
+ };
2
6
  export declare class UnauthenticatedError extends CustomError {
3
7
  statusCode: number;
4
- constructor(message?: string);
8
+ private lang;
9
+ private messages;
10
+ private static defaultMessages;
11
+ constructor(message?: LocalizedMessages | string, lang?: string);
5
12
  serializeError(): {
6
13
  message: string;
7
14
  field?: string | undefined;
8
15
  }[];
9
16
  }
17
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // import { CustomError } from './custom-error';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.UnauthenticatedError = void 0;
5
+ // export class UnauthenticatedError extends CustomError {
6
+ // statusCode = 401;
7
+ // constructor(message?: string) {
8
+ // super(message || 'un-authenticated error');
9
+ // Object.setPrototypeOf(this, UnauthenticatedError.prototype);
10
+ // }
11
+ // serializeError(): { message: string; field?: string | undefined }[] {
12
+ // return [{ message: this.message || 'un-authenticated error' }];
13
+ // }
14
+ // }
15
+ const custom_error_1 = require("./custom-error");
16
+ class UnauthenticatedError extends custom_error_1.CustomError {
17
+ constructor(message, lang = 'en') {
18
+ let localizedMessage;
19
+ let messages;
20
+ if (!message) {
21
+ messages = UnauthenticatedError.defaultMessages;
22
+ localizedMessage = messages[lang] || messages['en'];
23
+ }
24
+ else if (typeof message === 'string') {
25
+ messages = { en: message, ar: message };
26
+ localizedMessage = message;
27
+ }
28
+ else {
29
+ messages = message;
30
+ localizedMessage = message[lang] || message['en'];
31
+ }
32
+ super(localizedMessage);
33
+ this.statusCode = 401;
34
+ this.messages = messages;
35
+ this.lang = lang;
36
+ Object.setPrototypeOf(this, UnauthenticatedError.prototype);
37
+ }
38
+ serializeError() {
39
+ const localizedMessage = this.messages[this.lang] || this.messages['en'];
40
+ return [{ message: localizedMessage }];
41
+ }
42
+ }
43
+ exports.UnauthenticatedError = UnauthenticatedError;
44
+ UnauthenticatedError.defaultMessages = {
45
+ en: 'Unauthenticated error',
46
+ ar: 'خطأ: غير مصدق',
47
+ };
@@ -1,9 +1,17 @@
1
1
  import { CustomError } from './custom-error';
2
+ type LocalizedMessages = {
3
+ en: string;
4
+ ar: string;
5
+ };
2
6
  export declare class UnauthorizedError extends CustomError {
3
7
  statusCode: number;
4
- constructor(message?: string);
8
+ private lang;
9
+ private messages;
10
+ private static defaultMessages;
11
+ constructor(message?: LocalizedMessages | string, lang?: string);
5
12
  serializeError(): {
6
13
  message: string;
7
14
  field?: string | undefined;
8
15
  }[];
9
16
  }
17
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ // import { CustomError } from './custom-error';
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.UnauthorizedError = void 0;
5
+ // export class UnauthorizedError extends CustomError {
6
+ // statusCode = 403;
7
+ // constructor(message?: string) {
8
+ // super(message || 'un-unauthorized error');
9
+ // Object.setPrototypeOf(this, UnauthorizedError.prototype);
10
+ // }
11
+ // serializeError(): { message: string; field?: string | undefined }[] {
12
+ // return [{ message: this.message || 'un-unauthorized error' }];
13
+ // }
14
+ // }
15
+ const custom_error_1 = require("./custom-error");
16
+ class UnauthorizedError extends custom_error_1.CustomError {
17
+ constructor(message, lang = 'en') {
18
+ let localizedMessage;
19
+ let messages;
20
+ if (!message) {
21
+ messages = UnauthorizedError.defaultMessages;
22
+ localizedMessage = messages[lang] || messages['en'];
23
+ }
24
+ else if (typeof message === 'string') {
25
+ messages = { en: message, ar: message };
26
+ localizedMessage = message;
27
+ }
28
+ else {
29
+ messages = message;
30
+ localizedMessage = message[lang] || message['en'];
31
+ }
32
+ super(localizedMessage);
33
+ this.statusCode = 403;
34
+ this.messages = messages;
35
+ this.lang = lang;
36
+ Object.setPrototypeOf(this, UnauthorizedError.prototype);
37
+ }
38
+ serializeError() {
39
+ const localizedMessage = this.messages[this.lang] || this.messages['en'];
40
+ return [{ message: localizedMessage }];
41
+ }
42
+ }
43
+ exports.UnauthorizedError = UnauthorizedError;
44
+ UnauthorizedError.defaultMessages = {
45
+ en: 'Unauthorized error',
46
+ ar: 'خطأ: غير مسموح',
47
+ };
@@ -15,13 +15,16 @@ const unauthenticated_error_1 = require("../errors/unauthenticated-error");
15
15
  const unauthorized_error_1 = require("../errors/unauthorized-error");
16
16
  const isauthenticated = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
17
17
  if (!req.session.access)
18
- return next(new unauthenticated_error_1.UnauthenticatedError('access token not found'));
18
+ return next(new unauthenticated_error_1.UnauthenticatedError({ en: 'access token not found', ar: 'الرمز المميز للوصول غير موجود' }, req.lang));
19
19
  let payload;
20
20
  try {
21
21
  payload = (0, jsonwebtoken_1.verify)(req.session.access, process.env.JWT_KEY);
22
22
  req.loggedUser = payload;
23
23
  if (req.loggedUser.isBlocked.value)
24
- return next(new unauthorized_error_1.UnauthorizedError(`user is blocked:${req.loggedUser.isBlocked.reason}`));
24
+ return next(new unauthorized_error_1.UnauthorizedError({
25
+ en: `Forbidden: User is blocked ${req.loggedUser.isBlocked.reason}`,
26
+ ar: ` ممنوع: المستخدم محظور ${req.loggedUser.isBlocked.reason}`,
27
+ }, req.lang));
25
28
  }
26
29
  catch (error) {
27
30
  return res.status(423).json({ message: 'access token expired' });
@@ -42,6 +42,12 @@ const userSchema = new mongoose_1.Schema({
42
42
  followers: { type: Number, default: 0 },
43
43
  following: { type: Number, default: 0 },
44
44
  },
45
+ favourites: [
46
+ {
47
+ project: { type: mongoose_1.Schema.Types.ObjectId, refPath: 'favourites.cycle', required: true },
48
+ cycle: { type: String, required: true },
49
+ },
50
+ ],
45
51
  }, {
46
52
  timestamps: true,
47
53
  collection: model_names_1.MODELS.user,
@@ -85,4 +85,8 @@ export interface Iuser {
85
85
  };
86
86
  notificationToken: string | null;
87
87
  isFollow?: boolean;
88
+ favourites: {
89
+ project: Types.ObjectId;
90
+ cycle: string;
91
+ }[];
88
92
  }
package/package.json CHANGED
@@ -1,55 +1,55 @@
1
- {
2
- "name": "@duvdu-v1/duvdu",
3
- "version": "1.1.85",
4
- "main": "./build/index.js",
5
- "types": "./build/index.d.ts",
6
- "files": [
7
- "build/**/*"
8
- ],
9
- "scripts": {
10
- "clean": "rimraf ./build",
11
- "build": "npm run clean && tsc",
12
- "fix:build": "mv ./build/common/src/* ./build && rm -rf ./build/auth ./build/common",
13
- "pub": "git add . && git commit -m \"updates\" && npm version patch && npm run build && npm publish",
14
- "lint": "eslint .",
15
- "lint:fix": "eslint --fix .",
16
- "format": "prettier --write ."
17
- },
18
- "keywords": [],
19
- "author": "motemed khaled",
20
- "license": "ISC",
21
- "dependencies": {
22
- "@duvdu-v1/duvdu": "^1.1.4",
23
- "@types/express": "^4.17.21",
24
- "@types/express-session": "^1.18.0",
25
- "@types/jsonwebtoken": "^9.0.5",
26
- "@types/multer": "^1.4.11",
27
- "@types/node": "^20.11.0",
28
- "@typescript-eslint/eslint-plugin": "^6.19.0",
29
- "@typescript-eslint/parser": "^6.19.0",
30
- "aws-sdk": "^2.1595.0",
31
- "connect-redis": "^7.1.1",
32
- "express": "^4.18.2",
33
- "express-async-errors": "^3.1.1",
34
- "express-session": "^1.18.0",
35
- "express-validator": "^7.0.1",
36
- "jsonwebtoken": "^9.0.2",
37
- "mongoose": "^8.0.4",
38
- "multer": "^1.4.5-lts.1",
39
- "node-nats-streaming": "^0.3.2",
40
- "redis": "^4.6.13",
41
- "rimraf": "^5.0.5",
42
- "typescript": "^5.3.3",
43
- "uuid": "^9.0.1"
44
- },
45
- "devDependencies": {
46
- "@types/uuid": "^9.0.8",
47
- "del-cli": "^5.1.0",
48
- "eslint": "^8.56.0",
49
- "eslint-config-prettier": "^9.1.0",
50
- "eslint-plugin-import": "^2.29.1",
51
- "eslint-plugin-prettier": "^5.1.3",
52
- "prettier": "^3.2.4"
53
- },
54
- "description": ""
55
- }
1
+ {
2
+ "name": "@duvdu-v1/duvdu",
3
+ "version": "1.1.87",
4
+ "main": "./build/index.js",
5
+ "types": "./build/index.d.ts",
6
+ "files": [
7
+ "build/**/*"
8
+ ],
9
+ "scripts": {
10
+ "clean": "rimraf ./build",
11
+ "build": "npm run clean && tsc",
12
+ "fix:build": "mv ./build/common/src/* ./build && rm -rf ./build/auth ./build/common",
13
+ "pub": "git add . && git commit -m \"updates\" && npm version patch && npm run build && npm publish",
14
+ "lint": "eslint .",
15
+ "lint:fix": "eslint --fix .",
16
+ "format": "prettier --write ."
17
+ },
18
+ "keywords": [],
19
+ "author": "motemed khaled",
20
+ "license": "ISC",
21
+ "dependencies": {
22
+ "@duvdu-v1/duvdu": "^1.1.4",
23
+ "@types/express": "^4.17.21",
24
+ "@types/express-session": "^1.18.0",
25
+ "@types/jsonwebtoken": "^9.0.5",
26
+ "@types/multer": "^1.4.11",
27
+ "@types/node": "^20.11.0",
28
+ "@typescript-eslint/eslint-plugin": "^6.19.0",
29
+ "@typescript-eslint/parser": "^6.19.0",
30
+ "aws-sdk": "^2.1595.0",
31
+ "connect-redis": "^7.1.1",
32
+ "express": "^4.18.2",
33
+ "express-async-errors": "^3.1.1",
34
+ "express-session": "^1.18.0",
35
+ "express-validator": "^7.0.1",
36
+ "jsonwebtoken": "^9.0.2",
37
+ "mongoose": "^8.0.4",
38
+ "multer": "^1.4.5-lts.1",
39
+ "node-nats-streaming": "^0.3.2",
40
+ "redis": "^4.6.13",
41
+ "rimraf": "^5.0.5",
42
+ "typescript": "^5.3.3",
43
+ "uuid": "^9.0.1"
44
+ },
45
+ "devDependencies": {
46
+ "@types/uuid": "^9.0.8",
47
+ "del-cli": "^5.1.0",
48
+ "eslint": "^8.56.0",
49
+ "eslint-config-prettier": "^9.1.0",
50
+ "eslint-plugin-import": "^2.29.1",
51
+ "eslint-plugin-prettier": "^5.1.3",
52
+ "prettier": "^3.2.4"
53
+ },
54
+ "description": ""
55
+ }
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BadRequestError = void 0;
4
- const custom_error_1 = require("./custom-error");
5
- class BadRequestError extends custom_error_1.CustomError {
6
- constructor(message) {
7
- super(message || 'bad-request error');
8
- this.statusCode = 400;
9
- Object.setPrototypeOf(this, BadRequestError.prototype);
10
- }
11
- serializeError() {
12
- return [{ message: this.message || 'bad-request error' }];
13
- }
14
- }
15
- exports.BadRequestError = BadRequestError;
@@ -1,8 +0,0 @@
1
- import { CustomError } from './custom-error';
2
- export declare class DatabaseConnectionError extends CustomError {
3
- statusCode: number;
4
- constructor(message?: string);
5
- serializeError(): {
6
- message: string;
7
- }[];
8
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DatabaseConnectionError = void 0;
4
- const custom_error_1 = require("./custom-error");
5
- class DatabaseConnectionError extends custom_error_1.CustomError {
6
- constructor(message) {
7
- super(message || 'Error connecting to database');
8
- this.statusCode = 500;
9
- Object.setPrototypeOf(this, DatabaseConnectionError.prototype);
10
- }
11
- serializeError() {
12
- return [
13
- {
14
- message: this.message || 'Error connecting to database',
15
- },
16
- ];
17
- }
18
- }
19
- exports.DatabaseConnectionError = DatabaseConnectionError;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NotAllowedError = void 0;
4
- const custom_error_1 = require("./custom-error");
5
- class NotAllowedError extends custom_error_1.CustomError {
6
- constructor(message) {
7
- super(message || 'not allowed error');
8
- this.statusCode = 405;
9
- Object.setPrototypeOf(this, NotAllowedError.prototype);
10
- }
11
- serializeError() {
12
- return [{ message: this.message || 'not allowed error' }];
13
- }
14
- }
15
- exports.NotAllowedError = NotAllowedError;