@simitgroup/simpleapp-generator 2.0.2-i-alpha → 2.0.2-l-alpha
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/ReleaseNote.md +10 -0
- package/dist/buildinschemas/autoincreament.js +1 -1
- package/dist/buildinschemas/docnoformat.js +1 -1
- package/dist/buildinschemas/docnoformat.js.map +1 -1
- package/dist/buildinschemas/documentevent.js +1 -1
- package/package.json +3 -3
- package/templates/miniApi/src/constants/api-scopes.ts.eta +27 -0
- package/templates/nest/src/simple-app/_core/features/profile/profile.controller.ts.eta +2 -1
- package/templates/nest/src/simple-app/_core/features/profile/profile.service.ts.eta +14 -9
- package/templates/nest/src/simple-app/_core/features/user-context/user.context.ts.eta +100 -40
- package/dist/buildinschemas/message.d.ts +0 -3
- package/dist/buildinschemas/message.d.ts.map +0 -1
- package/dist/buildinschemas/message.js +0 -34
- package/dist/buildinschemas/message.js.map +0 -1
- package/dist/buildinschemas/webhookhistory.d.ts +0 -3
- package/dist/buildinschemas/webhookhistory.d.ts.map +0 -1
- package/dist/buildinschemas/webhookhistory.js +0 -44
- package/dist/buildinschemas/webhookhistory.js.map +0 -1
- package/dist/createproject.js +0 -138
- package/dist/createproject.js.map +0 -1
- package/dist/generate-allow-changebackend.js +0 -305
- package/dist/generate-allow-changebackend.js.map +0 -1
- package/dist/index2.js +0 -118
- package/dist/index2.js.map +0 -1
- package/dist/installdependency.js +0 -20
- package/dist/installdependency.js.map +0 -1
- package/dist/installnest.js +0 -2
- package/dist/installnest.js.map +0 -1
- package/dist/installnuxt.js +0 -2
- package/dist/installnuxt.js.map +0 -1
- package/dist/processors/groupsbuilder.js +0 -2
- package/dist/processors/groupsbuilder.js.map +0 -1
- package/dist/schematype/baseschema.js +0 -25
- package/dist/schematype/baseschema.js.map +0 -1
- package/dist/schematype/default.js +0 -2
- package/dist/schematype/default.js.map +0 -1
- package/dist/schematype/index.js +0 -12
- package/dist/schematype/index.js.map +0 -1
- package/dist/schematype/primarymasterdata.js +0 -38
- package/dist/schematype/primarymasterdata.js.map +0 -1
- package/dist/schematype/simple.js +0 -24
- package/dist/schematype/simple.js.map +0 -1
- package/dist/schematype/simplemasterdata.js +0 -31
- package/dist/schematype/simplemasterdata.js.map +0 -1
- package/dist/schematype/transaction.js +0 -74
- package/dist/schematype/transaction.js.map +0 -1
package/ReleaseNote.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
[2.0.2l-alpha]
|
|
2
|
+
|
|
3
|
+
1. Add direct debit mini api scope
|
|
4
|
+
|
|
5
|
+
[2.0.2k-alpha]
|
|
6
|
+
|
|
7
|
+
1. add permission devbilling can access tenant invoice page
|
|
8
|
+
2. add permission devsupport can access tenant page
|
|
9
|
+
3. update profile tenant for user friendly when create tenant
|
|
10
|
+
|
|
1
11
|
[2.0.2i-alpha]
|
|
2
12
|
|
|
3
13
|
1. fix bugs cannot run backend
|
|
@@ -15,7 +15,7 @@ exports.autoincreament = {
|
|
|
15
15
|
entryPoint: 'gennextno/:collection/:field',
|
|
16
16
|
requiredRole: ['User'],
|
|
17
17
|
method: type_1.RESTMethods.get,
|
|
18
|
-
responseType: '
|
|
18
|
+
responseType: 'Autoincreament',
|
|
19
19
|
description: 'Get next no and trigger increase nextno'
|
|
20
20
|
}
|
|
21
21
|
],
|
|
@@ -17,7 +17,7 @@ exports.docnoformat = {
|
|
|
17
17
|
action: 'listDocFormats',
|
|
18
18
|
entryPoint: '/listdocformats/:doctype',
|
|
19
19
|
requiredRole: ['User'],
|
|
20
|
-
responseType: '[
|
|
20
|
+
responseType: '[Docnoformat]',
|
|
21
21
|
method: type_1.RESTMethods.get,
|
|
22
22
|
description: 'get list of document format for 1 doctype'
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docnoformat.js","sourceRoot":"","sources":["../../src/buildinschemas/docnoformat.ts"],"names":[],"mappings":";;;AAAA,kCAAiE;AAEpD,QAAA,WAAW,GAAe;IACrC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE;QACpB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,iBAAiB;QAChC,4BAA4B,EAAE,CAAC,SAAS,CAAC;QACzC,cAAc,EAAE;YACd;gBACE,MAAM,EAAE,gBAAgB;gBACxB,UAAU,EAAE,0BAA0B;gBACtC,YAAY,EAAE,CAAC,MAAM,CAAC;gBACtB,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"docnoformat.js","sourceRoot":"","sources":["../../src/buildinschemas/docnoformat.ts"],"names":[],"mappings":";;;AAAA,kCAAiE;AAEpD,QAAA,WAAW,GAAe;IACrC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE;QACpB,aAAa,EAAE,oBAAa,CAAC,GAAG;QAChC,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,aAAa;QAC3B,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,eAAe;QAC1B,aAAa,EAAE,iBAAiB;QAChC,4BAA4B,EAAE,CAAC,SAAS,CAAC;QACzC,cAAc,EAAE;YACd;gBACE,MAAM,EAAE,gBAAgB;gBACxB,UAAU,EAAE,0BAA0B;gBACtC,YAAY,EAAE,CAAC,MAAM,CAAC;gBACtB,YAAY,EAAE,eAAe;gBAC7B,MAAM,EAAE,kBAAW,CAAC,GAAG;gBACvB,WAAW,EAAE,2CAA2C;aACzD;SACF;QACD,YAAY,EAAE,kBAAkB;KACjC;IACD,UAAU,EAAE;QACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACvB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC7B,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACrD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QAClD,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACrD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aAC9B;SACF;QACD,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE;QACpD,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,wBAAwB,CAAC,EAAE;QACzE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE;QAC7D,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;QACrD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;YAC9C,WAAW,EAAE,iCAAiC;SAC/C;QACD,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE;KAC5C;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simitgroup/simpleapp-generator",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "frontend nuxtjs and backend nests code generator using jsonschema",
|
|
3
|
+
"version": "2.0.2l-alpha",
|
|
4
|
+
"description": "frontend nuxtjs and backend nests code generator using jsonschema.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"generate": "ts-node src/index.ts -c ./sampleconfig.json; pnpm exec prettier ./backend --write;pnpm exec prettier ./frontend --write",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"tslog": "4.9.1"
|
|
40
40
|
},
|
|
41
41
|
"bin": {
|
|
42
|
-
"simpleapp-generator": "
|
|
42
|
+
"simpleapp-generator": "dist/index.js"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/node": "^20.5.2",
|
|
@@ -117,6 +117,33 @@ const scopes = {
|
|
|
117
117
|
description: "Check online payment status",
|
|
118
118
|
},
|
|
119
119
|
},
|
|
120
|
+
|
|
121
|
+
directDebit: {
|
|
122
|
+
createDda: {
|
|
123
|
+
method: "post",
|
|
124
|
+
description: "Create direct debit authorization",
|
|
125
|
+
},
|
|
126
|
+
cancelDda: {
|
|
127
|
+
method: "post",
|
|
128
|
+
description: "Cancel direct debit authorization",
|
|
129
|
+
},
|
|
130
|
+
enquiryDdaByDdaRefNo: {
|
|
131
|
+
method: "get",
|
|
132
|
+
description: "Enquiry direct debit authorization by ref no",
|
|
133
|
+
},
|
|
134
|
+
createDdi: {
|
|
135
|
+
method: "post",
|
|
136
|
+
description: "Create direct debit instruction",
|
|
137
|
+
},
|
|
138
|
+
cancelDdi: {
|
|
139
|
+
method: "post",
|
|
140
|
+
description: "Cancel direct debit instruction",
|
|
141
|
+
},
|
|
142
|
+
enquiryDdiByDdiOrderNo: {
|
|
143
|
+
method: "get",
|
|
144
|
+
description: "Enquiry direct debit instruction by order no",
|
|
145
|
+
},
|
|
146
|
+
},
|
|
120
147
|
};
|
|
121
148
|
|
|
122
149
|
export default scopes;
|
|
@@ -116,8 +116,9 @@ export class ProfileController {
|
|
|
116
116
|
@Body('timeZone') timeZone: string,
|
|
117
117
|
@Body('utcOffset') utcOffset: number,
|
|
118
118
|
@Body('businessType') businessType: string,
|
|
119
|
+
@Body('interestedInSales') interestedInSales?: boolean,
|
|
119
120
|
) {
|
|
120
|
-
const result = await this.profileservice.createTenant(appUser, tenantName, timeZone, utcOffset, businessType,mobileNo);
|
|
121
|
+
const result = await this.profileservice.createTenant(appUser, tenantName, timeZone, utcOffset, businessType, mobileNo, interestedInSales);
|
|
121
122
|
if (result) {
|
|
122
123
|
return result;
|
|
123
124
|
} else {
|
|
@@ -87,7 +87,7 @@ export class ProfileService {
|
|
|
87
87
|
return userinfo;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
async createTenant(appuser: UserContext, tenantName: string, timeZone: string, utcOffset: number, businessType: string, mobileNo: string) {
|
|
90
|
+
async createTenant(appuser: UserContext, tenantName: string, timeZone: string, utcOffset: number, businessType: string, mobileNo: string, interestedInSales?: boolean) {
|
|
91
91
|
// try{
|
|
92
92
|
|
|
93
93
|
|
|
@@ -111,6 +111,8 @@ export class ProfileService {
|
|
|
111
111
|
_id: appuser.getId(),
|
|
112
112
|
label: appuser.getFullname(),
|
|
113
113
|
uid: appuser.getUid(),
|
|
114
|
+
mobileNo: mobileNo,
|
|
115
|
+
email: appuser.getEmail(),
|
|
114
116
|
},
|
|
115
117
|
};
|
|
116
118
|
this.logger.debug(tenantdata, 'createTenant data');
|
|
@@ -149,21 +151,21 @@ export class ProfileService {
|
|
|
149
151
|
branchName: tenantName,
|
|
150
152
|
companyName: tenantName,
|
|
151
153
|
registrationNo: '',
|
|
152
|
-
paymentRemark: '',
|
|
153
|
-
invoiceRemark: '',
|
|
154
|
-
cnRemark: '',
|
|
155
|
-
refundRemark: '',
|
|
154
|
+
paymentRemark: 'This document is system-generated and does not require a signature. For any questions, please contact our support team.',
|
|
155
|
+
invoiceRemark: 'This document is system-generated and does not require a signature. For any questions, please contact our support team.',
|
|
156
|
+
cnRemark: 'This document is system-generated and does not require a signature. For any questions, please contact our support team.',
|
|
157
|
+
refundRemark: 'This document is system-generated and does not require a signature. For any questions, please contact our support team.',
|
|
156
158
|
workStart: '09:00:00',
|
|
157
159
|
workEnd: '22:00:00',
|
|
158
160
|
workingHours: [],
|
|
159
161
|
offdays: ['sat', 'sun'],
|
|
160
|
-
street1: '11,
|
|
161
|
-
street2: '
|
|
162
|
+
street1: '11, My Street 1',
|
|
163
|
+
street2: 'My Street 2',
|
|
162
164
|
postcode: '11111',
|
|
163
|
-
city: '
|
|
165
|
+
city: 'My City',
|
|
164
166
|
tel: mobileNo,
|
|
165
167
|
email: appuser.getEmail(),
|
|
166
|
-
region: '
|
|
168
|
+
region: 'My Region',
|
|
167
169
|
country: countryName,
|
|
168
170
|
active: true,
|
|
169
171
|
orgId: orgResult.orgId,
|
|
@@ -187,6 +189,8 @@ export class ProfileService {
|
|
|
187
189
|
fullName: appuser.getFullname(),
|
|
188
190
|
email: appuser.getEmail(),
|
|
189
191
|
active: true,
|
|
192
|
+
mobileNo: mobileNo,
|
|
193
|
+
interestedInSales: interestedInSales,
|
|
190
194
|
};
|
|
191
195
|
this.logger.debug(userdata, 'createtenant user data');
|
|
192
196
|
const userResult = await this.userService.create(appuser, userdata);
|
|
@@ -219,6 +223,7 @@ export class ProfileService {
|
|
|
219
223
|
const tenantUpdateData = await this.tenantService.findById(appuser, tenantResult._id);
|
|
220
224
|
this.logger.log(tenantUpdateData, `update tenant owner(${tenantResult._id})`);
|
|
221
225
|
tenantUpdateData.owner._id = userRecordId;
|
|
226
|
+
(tenantUpdateData.owner as any).mobileNo = mobileNo;
|
|
222
227
|
const updateTenantOwnerResult = await this.tenantService.findIdThenUpdate(appuser, tenantResult._id, tenantUpdateData);
|
|
223
228
|
if (!updateTenantOwnerResult) {
|
|
224
229
|
throw new BadRequestException('Update tenant owner failed');
|
|
@@ -37,8 +37,8 @@ import { StepData } from 'src/simple-app/_core/resources/permission/permission.s
|
|
|
37
37
|
@Injectable({ scope: Scope.REQUEST })
|
|
38
38
|
export class UserContext extends UserContextInfo {
|
|
39
39
|
sessionId: string = crypto.randomUUID();
|
|
40
|
-
protected isTransaction = false
|
|
41
|
-
protected transSteps:StepData[] = []
|
|
40
|
+
protected isTransaction = false;
|
|
41
|
+
protected transSteps: StepData[] = [];
|
|
42
42
|
protected logger = new Logger(this.constructor.name);
|
|
43
43
|
|
|
44
44
|
// protected uid: string = '';
|
|
@@ -152,7 +152,7 @@ export class UserContext extends UserContextInfo {
|
|
|
152
152
|
|
|
153
153
|
getDBSession = (): ClientSession => this.dbsession;
|
|
154
154
|
getTransSteps = () => this.transSteps;
|
|
155
|
-
setTransSteps = (steps: StepData[]) => this.transSteps = steps;
|
|
155
|
+
setTransSteps = (steps: StepData[]) => (this.transSteps = steps);
|
|
156
156
|
getId = () => this._id;
|
|
157
157
|
|
|
158
158
|
getUid = () => this.uid;
|
|
@@ -578,6 +578,42 @@ export class UserContext extends UserContextInfo {
|
|
|
578
578
|
}
|
|
579
579
|
}
|
|
580
580
|
|
|
581
|
+
// Tenant permissions for DevSupport role
|
|
582
|
+
if (this.roles.includes(Role.DevSupport)) {
|
|
583
|
+
const tenantRoles = [
|
|
584
|
+
Role.Tenant_access,
|
|
585
|
+
Role.Tenant_search,
|
|
586
|
+
Role.Tenant_create,
|
|
587
|
+
Role.Tenant_update,
|
|
588
|
+
Role.Tenant_delete,
|
|
589
|
+
];
|
|
590
|
+
for (let r = 0; r < tenantRoles.length; r++) {
|
|
591
|
+
if (!this.roles.includes(tenantRoles[r])) {
|
|
592
|
+
this.roles.push(tenantRoles[r]);
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
}
|
|
596
|
+
|
|
597
|
+
// TenantInvoice permissions for DevBilling role
|
|
598
|
+
if (this.roles.includes(Role.DevBilling)) {
|
|
599
|
+
const tenantInvoiceRoles = [
|
|
600
|
+
Role.TenantInvoice_access,
|
|
601
|
+
Role.TenantInvoice_search,
|
|
602
|
+
Role.TenantInvoice_create,
|
|
603
|
+
Role.TenantInvoice_update,
|
|
604
|
+
Role.TenantInvoice_delete,
|
|
605
|
+
Role.TenantInvoice_draft,
|
|
606
|
+
Role.TenantInvoice_void,
|
|
607
|
+
Role.TenantInvoice_confirm,
|
|
608
|
+
Role.TenantInvoice_print,
|
|
609
|
+
];
|
|
610
|
+
for (let r = 0; r < tenantInvoiceRoles.length; r++) {
|
|
611
|
+
if (!this.roles.includes(tenantInvoiceRoles[r])) {
|
|
612
|
+
this.roles.push(tenantInvoiceRoles[r]);
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
|
|
581
617
|
this.moreProps = this.setMoreProps(userProfile);
|
|
582
618
|
// this.package = userProfile['package'];
|
|
583
619
|
// this.appintegration = await this.setAppIntegration();
|
|
@@ -1123,6 +1159,40 @@ export class UserContext extends UserContextInfo {
|
|
|
1123
1159
|
}
|
|
1124
1160
|
}
|
|
1125
1161
|
|
|
1162
|
+
if (this.roles.includes(Role.DevSupport)) {
|
|
1163
|
+
const tenantRoles = [
|
|
1164
|
+
Role.Tenant_access,
|
|
1165
|
+
Role.Tenant_search,
|
|
1166
|
+
Role.Tenant_create,
|
|
1167
|
+
Role.Tenant_update,
|
|
1168
|
+
Role.Tenant_delete,
|
|
1169
|
+
];
|
|
1170
|
+
for (let r = 0; r < tenantRoles.length; r++) {
|
|
1171
|
+
if (!this.roles.includes(tenantRoles[r])) {
|
|
1172
|
+
this.roles.push(tenantRoles[r]);
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
|
|
1177
|
+
if (this.roles.includes(Role.DevBilling)) {
|
|
1178
|
+
const tenantInvoiceRoles = [
|
|
1179
|
+
Role.TenantInvoice_access,
|
|
1180
|
+
Role.TenantInvoice_search,
|
|
1181
|
+
Role.TenantInvoice_create,
|
|
1182
|
+
Role.TenantInvoice_update,
|
|
1183
|
+
Role.TenantInvoice_delete,
|
|
1184
|
+
Role.TenantInvoice_draft,
|
|
1185
|
+
Role.TenantInvoice_void,
|
|
1186
|
+
Role.TenantInvoice_confirm,
|
|
1187
|
+
Role.TenantInvoice_print,
|
|
1188
|
+
];
|
|
1189
|
+
for (let r = 0; r < tenantInvoiceRoles.length; r++) {
|
|
1190
|
+
if (!this.roles.includes(tenantInvoiceRoles[r])) {
|
|
1191
|
+
this.roles.push(tenantInvoiceRoles[r]);
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1126
1196
|
this.moreProps = this.setMoreProps(userProfile);
|
|
1127
1197
|
} else {
|
|
1128
1198
|
this.logger.debug(`User ${this.uid} not exists in tenant (${this.tenantId})`);
|
|
@@ -1221,54 +1291,44 @@ export class UserContext extends UserContextInfo {
|
|
|
1221
1291
|
return isodate;
|
|
1222
1292
|
}
|
|
1223
1293
|
|
|
1294
|
+
addTransactionStep(action: string, collection: string, id: string[], data: any[]) {
|
|
1295
|
+
this.transSteps.push({ action: action, collection: collection, id: id, data: data });
|
|
1296
|
+
}
|
|
1224
1297
|
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
inTransaction(){
|
|
1231
|
-
if(process.env.MONGO_TRANS==='false')
|
|
1232
|
-
return this.isTransaction
|
|
1233
|
-
else
|
|
1234
|
-
return this.dbsession && this.dbsession.inTransaction() ? true : false
|
|
1298
|
+
inTransaction() {
|
|
1299
|
+
if (process.env.MONGO_TRANS === 'false') return this.isTransaction;
|
|
1300
|
+
else return this.dbsession && this.dbsession.inTransaction() ? true : false;
|
|
1235
1301
|
}
|
|
1236
|
-
startTransaction(){
|
|
1237
|
-
if(process.env.MONGO_TRANS==='false'){
|
|
1238
|
-
this.isTransaction=true
|
|
1239
|
-
this.transSteps=[]
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
}else{
|
|
1243
|
-
this.dbsession.startTransaction({ readConcern: { level: 'snapshot' }, writeConcern: { w: 'majority' }, readPreference: 'primary' });
|
|
1302
|
+
startTransaction() {
|
|
1303
|
+
if (process.env.MONGO_TRANS === 'false') {
|
|
1304
|
+
this.isTransaction = true;
|
|
1305
|
+
this.transSteps = [];
|
|
1306
|
+
} else {
|
|
1307
|
+
this.dbsession.startTransaction({ readConcern: { level: 'snapshot' }, writeConcern: { w: 'majority' }, readPreference: 'primary' });
|
|
1244
1308
|
}
|
|
1245
1309
|
}
|
|
1246
|
-
async commitTransaction(){
|
|
1247
|
-
if(process.env.MONGO_TRANS==='false'){
|
|
1248
|
-
this.isTransaction=false
|
|
1249
|
-
this.transSteps=[]
|
|
1250
|
-
}else{
|
|
1251
|
-
if(this.dbsession.inTransaction())
|
|
1252
|
-
await this.dbsession.commitTransaction()
|
|
1310
|
+
async commitTransaction() {
|
|
1311
|
+
if (process.env.MONGO_TRANS === 'false') {
|
|
1312
|
+
this.isTransaction = false;
|
|
1313
|
+
this.transSteps = [];
|
|
1314
|
+
} else {
|
|
1315
|
+
if (this.dbsession.inTransaction()) await this.dbsession.commitTransaction();
|
|
1253
1316
|
}
|
|
1254
1317
|
}
|
|
1255
|
-
async rollBackTransaction(dbService:SimpleAppDbRevertService){
|
|
1256
|
-
if(process.env.MONGO_TRANS==='false'){
|
|
1257
|
-
await dbService.revertSteps(this.transSteps)
|
|
1258
|
-
this.isTransaction=false
|
|
1259
|
-
this.transSteps=[]
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
if(this.dbsession.inTransaction())
|
|
1263
|
-
await this.dbsession.abortTransaction()
|
|
1318
|
+
async rollBackTransaction(dbService: SimpleAppDbRevertService) {
|
|
1319
|
+
if (process.env.MONGO_TRANS === 'false') {
|
|
1320
|
+
await dbService.revertSteps(this.transSteps);
|
|
1321
|
+
this.isTransaction = false;
|
|
1322
|
+
this.transSteps = [];
|
|
1323
|
+
} else {
|
|
1324
|
+
if (this.dbsession.inTransaction()) await this.dbsession.abortTransaction();
|
|
1264
1325
|
}
|
|
1265
1326
|
}
|
|
1266
|
-
async endSession(){
|
|
1267
|
-
|
|
1327
|
+
async endSession() {
|
|
1328
|
+
await this.dbsession.endSession();
|
|
1268
1329
|
}
|
|
1269
1330
|
}
|
|
1270
1331
|
|
|
1271
|
-
|
|
1272
1332
|
// type StepData = {action:string,collection:string,id:string[],data:any[]}
|
|
1273
1333
|
/**
|
|
1274
1334
|
* Define a type for userinfo
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/buildinschemas/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA2B,MAAM,SAAS,CAAA;AAE5D,eAAO,MAAM,WAAW,EAAC,UA6BtB,CAAA"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.docnoformat = void 0;
|
|
4
|
-
const type_1 = require("../type");
|
|
5
|
-
exports.docnoformat = {
|
|
6
|
-
"type": "object",
|
|
7
|
-
"x-simpleapp-config": {
|
|
8
|
-
"documentType": "msg",
|
|
9
|
-
"documentName": "message",
|
|
10
|
-
"isolationType": type_1.IsolationType.tenant,
|
|
11
|
-
"documentTitle": "messageTitle"
|
|
12
|
-
},
|
|
13
|
-
"properties": {
|
|
14
|
-
"_id": { "type": "string" },
|
|
15
|
-
"created": { "type": "string" },
|
|
16
|
-
"updated": { "type": "string" },
|
|
17
|
-
"createdBy": { "type": "string" },
|
|
18
|
-
"updatedBy": { "type": "string" },
|
|
19
|
-
"tenantId": { "type": "integer", "default": 1 },
|
|
20
|
-
"orgId": { "type": "integer", "default": 1 },
|
|
21
|
-
"branchId": { "type": "integer", "default": 1 },
|
|
22
|
-
"messageTitle": {
|
|
23
|
-
"type": "string",
|
|
24
|
-
"minLength": 3
|
|
25
|
-
},
|
|
26
|
-
"read": { "type": "boolean", "default": false },
|
|
27
|
-
"url": { "type": "string" },
|
|
28
|
-
"description": {
|
|
29
|
-
"type": "string",
|
|
30
|
-
"format": "text"
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=message.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/buildinschemas/message.ts"],"names":[],"mappings":";;;AAAA,kCAA4D;AAE/C,QAAA,WAAW,GACxB;IACI,MAAM,EAAE,QAAQ;IAChB,oBAAoB,EAAE;QACpB,cAAc,EAAE,KAAK;QACrB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,oBAAa,CAAC,MAAM;QACrC,eAAe,EAAE,cAAc;KAChC;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC3B,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC/B,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC/B,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QACjC,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QACjC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE;QAC/C,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE;QAC5C,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,EAAE;QAC/C,cAAc,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,CAAC;SACf;QACD,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAC;QAC9C,KAAK,EAAC,EAAE,MAAM,EAAE,QAAQ,EAAC;QACzB,aAAa,EAAE;YACb,MAAM,EAAE,QAAQ;YAChB,QAAQ,EAAE,MAAM;SACjB;KACF;CACF,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webhookhistory.d.ts","sourceRoot":"","sources":["../../src/buildinschemas/webhookhistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA2B,MAAM,SAAS,CAAA;AAE5D,eAAO,MAAM,cAAc,EAAC,UAsC3B,CAAA"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.webhookhistory = void 0;
|
|
4
|
-
const type_1 = require("../type");
|
|
5
|
-
exports.webhookhistory = {
|
|
6
|
-
type: "object",
|
|
7
|
-
"x-simpleapp-config": {
|
|
8
|
-
documentType: 'webhookhistory',
|
|
9
|
-
documentName: 'webhookhistory',
|
|
10
|
-
isolationType: type_1.IsolationType.tenant,
|
|
11
|
-
// uniqueKey:'documentName',
|
|
12
|
-
// documentTitle:'documentName'
|
|
13
|
-
// pageType:"crud",
|
|
14
|
-
},
|
|
15
|
-
required: ["documentName", "url"],
|
|
16
|
-
properties: {
|
|
17
|
-
_id: { type: 'string' },
|
|
18
|
-
created: { type: 'string' },
|
|
19
|
-
updated: { type: 'string' },
|
|
20
|
-
createdBy: { type: 'string' },
|
|
21
|
-
updatedBy: { type: 'string' },
|
|
22
|
-
tenantId: { type: 'integer', default: 1, minimum: 0 },
|
|
23
|
-
orgId: { type: 'integer', default: 1, minimum: 0 },
|
|
24
|
-
branchId: { type: 'integer', default: 1, minimum: 0 },
|
|
25
|
-
webHookId: { type: "string", format: "uuid" },
|
|
26
|
-
url: { type: "string", format: 'uri' },
|
|
27
|
-
authentication: { type: "string" },
|
|
28
|
-
headers: {
|
|
29
|
-
type: "array",
|
|
30
|
-
items: {
|
|
31
|
-
type: "object",
|
|
32
|
-
description: "http headers",
|
|
33
|
-
properties: {
|
|
34
|
-
name: { type: 'string' },
|
|
35
|
-
value: { type: 'string' }
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
description: { type: "string", format: "text" },
|
|
40
|
-
setting: { type: "string", format: "text" },
|
|
41
|
-
result: { type: "string" }
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
//# sourceMappingURL=webhookhistory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webhookhistory.js","sourceRoot":"","sources":["../../src/buildinschemas/webhookhistory.ts"],"names":[],"mappings":";;;AAAA,kCAA4D;AAE/C,QAAA,cAAc,GAAc;IACrC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAC;QACnB,YAAY,EAAC,gBAAgB;QAC7B,YAAY,EAAC,gBAAgB;QAC7B,aAAa,EAAC,oBAAa,CAAC,MAAM;QAClC,4BAA4B;QAC5B,+BAA+B;QAC/B,yBAAyB;KAC1B;IACD,QAAQ,EAAC,CAAC,cAAc,EAAC,KAAK,CAAC;IAC/B,UAAU,EAAE;QACV,GAAG,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACnB,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACvB,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACvB,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACzB,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;QACzB,QAAQ,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC/C,KAAK,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC5C,QAAQ,EAAE,EAAC,IAAI,EAAC,SAAS,EAAC,OAAO,EAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE;QAC/C,SAAS,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC;QACvC,GAAG,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAC,KAAK,EAAC;QACnC,cAAc,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC;QAChC,OAAO,EAAE;YACP,IAAI,EAAE,OAAO;YACb,KAAK,EAAC;gBACJ,IAAI,EAAC,QAAQ;gBACb,WAAW,EAAC,cAAc;gBAC1B,UAAU,EAAC;oBACT,IAAI,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;oBACpB,KAAK,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;iBACtB;aACF;SACF;QACD,WAAW,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC;QAC3C,OAAO,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC,MAAM,EAAC,MAAM,EAAC;QACrC,MAAM,EAAC,EAAC,IAAI,EAAC,QAAQ,EAAC;KACvB;CACJ,CAAA"}
|
package/dist/createproject.js
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
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 (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;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.createNest = exports.createNuxt = exports.installDependency = void 0;
|
|
27
|
-
const child_process_1 = require("child_process");
|
|
28
|
-
const fs_1 = require("fs");
|
|
29
|
-
const constants = __importStar(require("./constant"));
|
|
30
|
-
const tslog_1 = require("tslog");
|
|
31
|
-
const log = new tslog_1.Logger();
|
|
32
|
-
const { Eta } = require('eta');
|
|
33
|
-
const checkNodeJS = (callback) => {
|
|
34
|
-
return (0, child_process_1.exec)(`npx -v`, (error, stdout, stderr) => {
|
|
35
|
-
if (error) {
|
|
36
|
-
throw ("Nodejs not exists");
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
callback();
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
const checkNestCli = (callback) => {
|
|
44
|
-
log.info("setting up nest backend");
|
|
45
|
-
return (0, child_process_1.exec)(`npx -v`, (error, stdout, stderr) => {
|
|
46
|
-
if (error) {
|
|
47
|
-
return (0, child_process_1.exec)(`npm i -g @nestjs/cli`, (error, stdout, stderr) => {
|
|
48
|
-
callback();
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
callback();
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
const installDependency = async () => {
|
|
57
|
-
log.info("installDependency 'npm install -g pnpm @nestjs/cli @openapitools/openapi-generator-cli nuxi'");
|
|
58
|
-
return await (0, child_process_1.exec)("npm install -g pnpm @nestjs/cli @openapitools/openapi-generator-cli nuxi");
|
|
59
|
-
};
|
|
60
|
-
exports.installDependency = installDependency;
|
|
61
|
-
const createNuxt = (targetfolder, callback) => {
|
|
62
|
-
log.info("setting up nuxt frontend ${targetfolder}");
|
|
63
|
-
log.info(`frontend nuxt project "${targetfolder}" created, installing module`);
|
|
64
|
-
(0, child_process_1.exec)(`cd ${targetfolder};pnpm install;pnpm install -D @types/node @vueuse/nuxt @sidebase/nuxt-auth @vueuse/core nuxt-security prettier @nuxt/ui`, (error, stdout, stderr) => {
|
|
65
|
-
//;pnpm install
|
|
66
|
-
console.log(error, stdout, stderr);
|
|
67
|
-
(0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save ajv dotenv @fullcalendar/core @fullcalendar/vue3 quill uuid ajv-formats primeflex primeicons prettier primevue axios json-schema mitt @simitgroup/simpleapp-vue-component@latest`, (error, stdout, stderr) => {
|
|
68
|
-
console.log(error, stdout, stderr);
|
|
69
|
-
(0, fs_1.mkdirSync)(`${targetfolder}/assets/css/`, { recursive: true });
|
|
70
|
-
(0, fs_1.mkdirSync)(`${targetfolder}/layouts`, { recursive: true });
|
|
71
|
-
(0, fs_1.mkdirSync)(`${targetfolder}/components`, { recursive: true });
|
|
72
|
-
(0, fs_1.mkdirSync)(`${targetfolder}/server/api`, { recursive: true });
|
|
73
|
-
(0, fs_1.mkdirSync)(`${targetfolder}/pages`, { recursive: true });
|
|
74
|
-
(0, fs_1.mkdirSync)(`${targetfolder}/plugins`, { recursive: true });
|
|
75
|
-
const eta = new Eta({ views: `${constants.templatedir}/nuxt` });
|
|
76
|
-
const variables = [];
|
|
77
|
-
const writes = {
|
|
78
|
-
'./app.vue.eta': 'app.vue',
|
|
79
|
-
'./components.eventmonitor.vue.eta': 'components/EventMonitor.vue',
|
|
80
|
-
'./components.menus.vue.eta': 'components/Menus.vue',
|
|
81
|
-
'./components.crudsimple.vue.eta': 'components/CrudSimple.vue',
|
|
82
|
-
'./components.debugdocdata.vue.eta': 'components/DebugDocumentData.vue',
|
|
83
|
-
'./layouts.default.vue.eta': 'layouts/default.vue',
|
|
84
|
-
'./server.api.ts.eta': 'server/api/[...].ts',
|
|
85
|
-
'./nuxt.config.ts.eta': 'nuxt.config.ts',
|
|
86
|
-
'./pages.index.vue.eta': 'pages/index.vue',
|
|
87
|
-
'./plugins.simpleapp.ts.eta': 'plugins/simpleapp.ts',
|
|
88
|
-
'./tailwind.config.ts.eta': 'tailwind.config.ts',
|
|
89
|
-
'./tailwind.css.eta': 'assets/css/tailwind.css',
|
|
90
|
-
'./env.eta': '.env',
|
|
91
|
-
};
|
|
92
|
-
const templates = Object.getOwnPropertyNames(writes);
|
|
93
|
-
for (let i = 0; i < templates.length; i++) {
|
|
94
|
-
const template = templates[i];
|
|
95
|
-
const filename = writes[template];
|
|
96
|
-
const txt = eta.render(template, variables);
|
|
97
|
-
const file = `${targetfolder}/${filename}`;
|
|
98
|
-
log.info("writing ", file);
|
|
99
|
-
(0, fs_1.writeFileSync)(file, txt);
|
|
100
|
-
}
|
|
101
|
-
log.info("nuxt project completed");
|
|
102
|
-
callback();
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
};
|
|
106
|
-
exports.createNuxt = createNuxt;
|
|
107
|
-
const createNest = (targetfolder, callback) => {
|
|
108
|
-
// checkNestCli(()=>{
|
|
109
|
-
log.info(`creating backend project ${targetfolder}`);
|
|
110
|
-
(0, child_process_1.exec)(`cd ${targetfolder};pnpm install --save @nestjs/swagger @nestjs/mongoose mongoose ajv ajv-formats @nestjs/config`, async (error, stdout, stderr) => {
|
|
111
|
-
// log.info(`dependency installed`)
|
|
112
|
-
if (!error) {
|
|
113
|
-
(0, child_process_1.exec)(`pnpm install ajv ajv-formats axios json-schema`, (error, stdout, stderr) => {
|
|
114
|
-
const eta = new Eta({ views: constants.templatedir });
|
|
115
|
-
const variables = [];
|
|
116
|
-
const txtEnv = eta.render('./nest.env.eta', variables);
|
|
117
|
-
const txtMain = eta.render('./nest.main.eta', variables);
|
|
118
|
-
(0, fs_1.writeFileSync)(`${targetfolder}/.env`, txtEnv);
|
|
119
|
-
(0, fs_1.writeFileSync)(`${targetfolder}/src/main.ts`, txtMain);
|
|
120
|
-
const tsconfigpath = process.cwd() + '/' + `${targetfolder}/tsconfig.json`;
|
|
121
|
-
const tsconfig = require(tsconfigpath);
|
|
122
|
-
tsconfig.compilerOptions.esModuleInterop = true;
|
|
123
|
-
tsconfig.compilerOptions.resolveJsonModule = true;
|
|
124
|
-
(0, fs_1.writeFileSync)(tsconfigpath, JSON.stringify(tsconfig));
|
|
125
|
-
log.info("nest project completed");
|
|
126
|
-
callback();
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
log.error(stderr);
|
|
131
|
-
throw error;
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
//
|
|
135
|
-
// })
|
|
136
|
-
};
|
|
137
|
-
exports.createNest = createNest;
|
|
138
|
-
//# sourceMappingURL=createproject.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createproject.js","sourceRoot":"","sources":["../src/createproject.ts"],"names":[],"mappings":"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"}
|