@diagramers/cli 1.0.24 → 1.0.26

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 (47) hide show
  1. package/README.md +217 -391
  2. package/dist/services/template-updater.d.ts +0 -1
  3. package/dist/services/template-updater.d.ts.map +1 -1
  4. package/dist/services/template-updater.js +2 -41
  5. package/dist/services/template-updater.js.map +1 -1
  6. package/package.json +1 -1
  7. package/templates/api/certs/auth-app-cert.json +0 -13
  8. package/templates/api/main.ts +0 -10
  9. package/templates/api/package.json +0 -70
  10. package/templates/api/src/assets/css/email-template.css +0 -8
  11. package/templates/api/src/assets/images/logo_large.png +0 -0
  12. package/templates/api/src/assets/keys/certificate.pem +0 -22
  13. package/templates/api/src/assets/keys/private-key.pem +0 -28
  14. package/templates/api/src/config/config-interface.ts +0 -191
  15. package/templates/api/src/config/development.ts +0 -145
  16. package/templates/api/src/config/index.ts +0 -59
  17. package/templates/api/src/config/production.ts +0 -145
  18. package/templates/api/src/config/staging.ts +0 -144
  19. package/templates/api/src/config/uat.ts +0 -144
  20. package/templates/api/src/controllers/account-controller.ts +0 -162
  21. package/templates/api/src/entities/audit.ts +0 -12
  22. package/templates/api/src/entities/base-entity.ts +0 -10
  23. package/templates/api/src/entities/user.ts +0 -71
  24. package/templates/api/src/helpers/FrameworkHelper.ts +0 -157
  25. package/templates/api/src/helpers/auth.ts +0 -971
  26. package/templates/api/src/helpers/cronHelper.ts +0 -170
  27. package/templates/api/src/helpers/dbcontext.ts +0 -83
  28. package/templates/api/src/helpers/encryptionHelper.ts +0 -76
  29. package/templates/api/src/helpers/enums.ts +0 -258
  30. package/templates/api/src/helpers/handle-response.ts +0 -49
  31. package/templates/api/src/helpers/httpHelper.ts +0 -75
  32. package/templates/api/src/helpers/mailer.ts +0 -152
  33. package/templates/api/src/helpers/result.ts +0 -47
  34. package/templates/api/src/helpers/string-helper.ts +0 -27
  35. package/templates/api/src/routes/account-routes.ts +0 -37
  36. package/templates/api/src/routes/auth-routes.ts +0 -286
  37. package/templates/api/src/routes/index.ts +0 -92
  38. package/templates/api/src/schemas/audit.ts +0 -36
  39. package/templates/api/src/schemas/otp.ts +0 -52
  40. package/templates/api/src/schemas/session.ts +0 -57
  41. package/templates/api/src/schemas/user.ts +0 -125
  42. package/templates/api/src/server/index.ts +0 -86
  43. package/templates/api/src/server/socket-server-provider.ts +0 -209
  44. package/templates/api/src/services/account-service.ts +0 -243
  45. package/templates/api/src/services/audit-service.ts +0 -56
  46. package/templates/api/tsconfig.json +0 -16
  47. package/templates/api/webpack.config.js +0 -66
@@ -1,71 +0,0 @@
1
- import * as mongoose from 'mongoose';
2
- import { ObjectId } from "bson";
3
- import { AuthProvider, AuthMethod } from '../helpers/enums';
4
-
5
- export interface IUser extends mongoose.Document {
6
- _id: ObjectId,
7
- name: string,
8
- email: string,
9
- emailVerified: boolean,
10
- username: string,
11
-
12
- // Authentication fields
13
- auth_providers: AuthProviderInfo[],
14
- primary_auth_provider: AuthProvider,
15
-
16
- // Legacy fields (for backward compatibility)
17
- hashedPassword?: string,
18
- firebaseUID?: string,
19
-
20
- // Contact information
21
- phone?: string,
22
- phoneVerified: boolean,
23
-
24
- // Profile information
25
- identity: string,
26
- address?: any,
27
- invitationCode?: string,
28
- registerationStatus?: boolean,
29
- userType: string,
30
- status: number,
31
-
32
- // Timestamps
33
- createdAt: Date,
34
- updatedAt: Date
35
- }
36
-
37
- export interface AuthProviderInfo {
38
- provider: AuthProvider;
39
- provider_user_id?: string; // External provider user ID
40
- provider_access_token?: string;
41
- provider_refresh_token?: string;
42
- provider_metadata?: any; // Additional provider-specific data
43
- is_verified: boolean;
44
- last_used: Date;
45
- created_at: Date;
46
- }
47
-
48
- export interface UserSession {
49
- session_id: string;
50
- user_id: ObjectId;
51
- auth_provider: AuthProvider;
52
- auth_method: AuthMethod;
53
- ip_address: string;
54
- user_agent: string;
55
- is_active: boolean;
56
- expires_at: Date;
57
- created_at: Date;
58
- last_activity: Date;
59
- }
60
-
61
- export interface OTPCode {
62
- code: string;
63
- user_id: ObjectId;
64
- auth_provider: AuthProvider;
65
- purpose: 'email_verification' | 'phone_verification' | 'password_reset' | 'login';
66
- expires_at: Date;
67
- attempts: number;
68
- max_attempts: number;
69
- is_used: boolean;
70
- created_at: Date;
71
- }
@@ -1,157 +0,0 @@
1
- /* eslint-disable */
2
- import * as base64Encryption from "base-64";
3
- import { date } from "yup";
4
- import { ResponseCode } from "./enums";
5
- import { Result } from "./result";
6
- const momentTZ = require("moment-timezone");
7
-
8
- class FrameworkHelper {
9
-
10
- listAllTimeZones = () => {
11
- var aryIannaTimeZones = Intl.supportedValuesOf("timeZone");
12
-
13
- const date = new Date();
14
- const timeZones = [];
15
- aryIannaTimeZones.forEach((timeZone) => {
16
- let strTime = date.toLocaleString("en-US", { timeZone: `${timeZone}` });
17
- timeZones.push({
18
- value: timeZone,
19
- label: timeZone + " (" + strTime + ")",
20
- });
21
- });
22
- return timeZones;
23
- };
24
-
25
- convertTimeToFriendly = (timeSpan, isPretty = true) => {
26
- try {
27
- var time = momentTZ.unix(timeSpan).format("MM/DD/YYYY hh:mm:ss.SSS a");
28
- if (!isPretty) return momentTZ(time).toLocaleString();
29
- return momentTZ(time).fromNow().toLocaleLowerCase();
30
- } catch (ex) {
31
- return new momentTZ().fromNow();
32
- }
33
- };
34
-
35
- sortList(list, sortField, dir = 1) {
36
- try {
37
- var sortedList = list.sort((a, b) => {
38
- if (a[sortField] > b[sortField]) {
39
- return 1;
40
- }
41
- if (a[sortField] < b[sortField]) {
42
- return -1;
43
- }
44
- return 0;
45
- });
46
- if (dir == -1) {
47
- return sortedList.reverse();
48
- }
49
- return sortedList;
50
- } catch (ex) {
51
- return [];
52
- }
53
- }
54
-
55
- deepEqual(obj1, obj2) {
56
- // Check if both are objects
57
- if (
58
- typeof obj1 === "object" &&
59
- obj1 !== null &&
60
- typeof obj2 === "object" &&
61
- obj2 !== null
62
- ) {
63
- // Get the keys of the objects
64
- const keys1 = Object.keys(obj1);
65
- const keys2 = Object.keys(obj2);
66
-
67
- // Check if the number of keys is the same
68
- if (keys1.length !== keys2.length) {
69
- return false;
70
- }
71
-
72
- // Check each property
73
- for (const key of keys1) {
74
- if (!keys2.includes(key) || !this.deepEqual(obj1[key], obj2[key])) {
75
- return false;
76
- }
77
- }
78
-
79
- return true;
80
- } else {
81
- // If not objects, use strict equality
82
- return obj1 === obj2;
83
- }
84
- }
85
-
86
- uniqueObjects = (dataArray) => {
87
- return Array.from(
88
- new Map(dataArray.map((obj) => [JSON.stringify(obj), obj])).values()
89
- );
90
- };
91
-
92
- clearTextSpaces = (text) => {
93
- let wordsArray = text.split(" ").filter((word) => word !== "");
94
- let stringWithoutSpaces = wordsArray.join("");
95
- return stringWithoutSpaces;
96
- };
97
-
98
- filterDictionaryObject = (inputObject, targetKey, targetValue) => {
99
- return Object.keys(inputObject)
100
- .filter(key => inputObject[key][targetKey] === targetValue)
101
- .map(key => inputObject[key]);
102
- };
103
-
104
- generateRandomString(length) {
105
- const crypto = require('crypto');
106
- return crypto.randomBytes(Math.ceil(length / 2))
107
- .toString('hex') // Convert to hexadecimal format
108
- .slice(0, length); // Return required number of characters
109
- }
110
-
111
- mapObjectsToType(source, TargetType) {
112
- const target = new TargetType();
113
- if (source) {
114
- // Iterate over the properties of the target object
115
- Object.keys(target).forEach(key => {
116
- if (key in source) {
117
- const descriptor = Object.getOwnPropertyDescriptor(source, key);
118
- if (descriptor && (descriptor.get || descriptor.set)) {
119
- // Handle getters and setters
120
- Object.defineProperty(target, key, descriptor);
121
- } else {
122
- // Direct value copy for normal properties
123
- target[key] = source[key];
124
- }
125
- }
126
- });
127
- return target;
128
- }
129
- return null;
130
- };
131
-
132
- formatTextAsCode(input: String): String {
133
- // Remove spaces and special characters using regex
134
- let processedText = input.replace(/[^a-zA-Z0-9]/g, '');
135
- // Capitalize all characters
136
- processedText = processedText.toUpperCase();
137
- return processedText;
138
- }
139
-
140
- getDifferenceDatesInDays(date1, date2) {
141
- // Convert both dates to milliseconds
142
- const date1Time = new Date(date1).getTime();
143
- const date2Time = new Date(date2).getTime();
144
-
145
- // Calculate the difference in milliseconds
146
- const diffTime = Math.abs(date2Time - date1Time);
147
-
148
- // Convert the difference to days
149
- const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
150
-
151
- return diffDays;
152
- }
153
-
154
-
155
- }
156
-
157
- export const frameworkHelper = new FrameworkHelper();