Skip to content

Commit 86ef654

Browse files
authored
Merge pull request #55 from Vladyslav317/feature/casl/nestjs-version
feat(casl/nestjs): added casl and updated nestjs to version 9
2 parents c29526e + c2d34fd commit 86ef654

File tree

1,446 files changed

+49919
-15868
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,446 files changed

+49919
-15868
lines changed
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"general": {
3-
"@adminjs/express": "4.1.3",
4-
"@adminjs/mongoose": "2.0.4",
5-
"@adminjs/nestjs": "4.0.1",
6-
"@adminjs/passwords": "2.0.2",
7-
"adminjs": "5.10.4"
3+
"@adminjs/express": "5.0.1",
4+
"@adminjs/mongoose": "3.0.1",
5+
"@adminjs/nestjs": "5.1.0",
6+
"@adminjs/passwords": "3.0.1",
7+
"adminjs": "6.7.5"
88
},
99
"dev": {}
1010
}

generators/admin/steps/writing.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
module.exports = function() {
2+
const fs = require('fs');
23
const { answers } = this.options;
34

45
const rootFolder = answers.identifier;
@@ -7,11 +8,14 @@ module.exports = function() {
78
config: answers,
89
};
910

10-
this.fs.copyTpl(
11-
this.templatePath(`${adminFolder}/src/modules`),
12-
this.destinationPath(`${rootFolder}/src/modules`),
13-
payload,
14-
);
11+
if (answers.wantedPrismaOrTypeOrmOrMongoose !== 'Prisma') {
12+
this.fs.copyTpl(
13+
this.templatePath(`${adminFolder}/src/modules`),
14+
this.destinationPath(`${rootFolder}/src/modules`),
15+
payload,
16+
);
17+
}
18+
1519
this.fs.copyTpl(
1620
this.templatePath(`${adminFolder}/src/exceptions`),
1721
this.destinationPath(`${rootFolder}/src/exceptions`),
Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,33 @@
11
{
22
"mongodb": {
33
"general": {
4-
"mongoose": "5.13.7",
5-
"@nestjs/mongoose": "8.0.1",
6-
"mongodb": "4.1.0"
4+
"mongoose": "6.8.3",
5+
"@nestjs/mongoose": "9.2.1",
6+
"mongodb": "4.13.0"
77
},
88
"dev": {}
99
},
1010
"mysql": {
1111
"general": {
1212
"mysql2": "2.3.3",
13-
"@nestjs/typeorm": "8.0.2",
14-
"typeorm": "0.2.37"
13+
"@nestjs/typeorm": "9.0.1",
14+
"typeorm": "0.3.11"
1515
},
1616
"dev": {}
1717
},
1818
"postgresql": {
1919
"general": {
2020
"pg": "8.7.1",
21-
"@nestjs/typeorm": "8.0.2",
22-
"typeorm": "0.2.37"
21+
"@nestjs/typeorm": "9.0.1",
22+
"typeorm": "0.3.11"
2323
},
2424
"dev": {}
25+
},
26+
"prisma": {
27+
"general": {
28+
"prisma": "4.8.1",
29+
"@prisma/client": "4.8.1",
30+
"typeorm": "0.3.11"
31+
}
2532
}
2633
}

generators/app/questions/casl.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
module.exports = [
2+
{
3+
type: 'list',
4+
name: 'wantedCasl',
5+
message: 'Do you want to use Casl?',
6+
choices: ['Yes', 'No'],
7+
},
8+
]

generators/app/questions/db.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,23 @@ module.exports = {
33
{
44
type: 'list',
55
name: 'db',
6-
message: 'Choose db for your api.(Sql - Typeorm, Mongo - Mongoose)',
6+
message: 'Choose db for your api.(Sql, Mongo)',
77
choices: ['Mongodb', 'Mysql', 'Postgresql'],
88
},
99
],
1010
oauth2: [
1111
{
1212
type: 'list',
1313
name: 'db',
14-
message: 'Choose db for your api.(Sql - Typeorm, Mongo - Mongoose)',
14+
message: 'Choose db for your api.(Sql, Mongo)',
1515
choices: ['Mongodb', 'Mysql'],
1616
},
1717
],
1818
passportLocal: [
1919
{
2020
type: 'list',
2121
name: 'db',
22-
message: 'Choose db for your api.(Sql - Typeorm, Mongo - Mongoose)',
22+
message: 'Choose db for your api.(Sql, Mongo)',
2323
choices: ['Mongodb', 'Mysql'],
2424
},
2525
],

generators/app/questions/deploy.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ module.exports = [
22
{
33
type: 'list',
44
name: 'deploy:heroku',
5-
message: 'Do you want to have a possibillity to deploy on heroku?',
5+
message: 'Do you want to have a possibility to deploy on heroku?',
66
default: 'No',
77
choices: ['Yes', 'No'],
88
},

generators/app/questions/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ const mailer = require('./mailer');
1111
const socket = require('./socket');
1212
const additionalMailerQuestions = require('./additionalMailerQuestions');
1313
const adminPanel = require('./admin');
14+
const casl = require('./casl');
15+
const orm = require('./orm');
1416

1517
module.exports = {
1618
packageManager,
@@ -30,4 +32,6 @@ module.exports = {
3032
},
3133
socket,
3234
adminPanel,
35+
casl,
36+
orm,
3337
};

generators/app/questions/orm.js

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
module.exports = {
2+
Mongodb: {
3+
jwt: [
4+
{
5+
type: 'list',
6+
name: 'wantedPrismaOrTypeOrmOrMongoose',
7+
message: 'Would you like to choose Prisma or Mongoose?',
8+
choices: ['Mongoose', 'Prisma'],
9+
}
10+
],
11+
oauth2: [
12+
{
13+
type: 'list',
14+
name: 'wantedPrismaOrTypeOrmOrMongoose',
15+
message: 'Would you like to choose Prisma or Mongoose?',
16+
choices: ['Mongoose', 'Prisma'],
17+
}
18+
],
19+
passportLocal: [
20+
{
21+
type: 'list',
22+
name: 'wantedPrismaOrTypeOrmOrMongoose',
23+
message: 'Would you like to choose Prisma or Mongoose?',
24+
choices: ['Mongoose', 'Prisma'],
25+
}
26+
],
27+
},
28+
29+
Mysql: {
30+
jwt: [
31+
{
32+
type: 'list',
33+
name: 'wantedPrismaOrTypeOrmOrMongoose',
34+
message: 'Would you like to choose Prisma or TypeORM?',
35+
choices: ['TypeOrm', 'Prisma'],
36+
}
37+
],
38+
oauth2: [
39+
{
40+
type: 'list',
41+
name: 'wantedPrismaOrTypeOrmOrMongoose',
42+
message: 'Would you like to choose Prisma or TypeORM?',
43+
choices: ['TypeOrm', 'Prisma'],
44+
}
45+
],
46+
passportLocal: [
47+
{
48+
type: 'list',
49+
name: 'wantedPrismaOrTypeOrmOrMongoose',
50+
message: 'Would you like to choose Prisma or TypeORM?',
51+
choices: ['TypeOrm', 'Prisma'],
52+
}
53+
],
54+
},
55+
56+
Postgresql: {
57+
jwt: [
58+
{
59+
type: 'list',
60+
name: 'wantedPrismaOrTypeOrmOrMongoose',
61+
message: 'Would you like to choose Prisma or TypeORM?',
62+
choices: ['TypeOrm', 'Prisma'],
63+
}
64+
],
65+
oauth2: [],
66+
passportLocal: [],
67+
},
68+
}
69+

generators/app/steps/prompting.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ module.exports = {
4545
askQuestions.call(this, 'Database', questions.db[this.answers.authType], this.async());
4646
},
4747

48+
askAboutOrm() {
49+
askQuestions.call(this, 'Orm', questions.orm[this.answers.db][this.answers.authType], this.async())
50+
},
51+
4852
askAboutMailer() {
4953
askQuestions.call(
5054
this,
@@ -71,6 +75,10 @@ module.exports = {
7175
askQuestions.call(this, 'Admin panel', questions.adminPanel[this.answers.db][this.answers.authType], this.async());
7276
},
7377

78+
askAboutCasl() {
79+
askQuestions.call(this, 'Casl', questions.casl, this.async());
80+
},
81+
7482
askWouldHeLikeDocker() {
7583
askQuestions.call(this, 'Docker', questions.docker, this.async());
7684
},

generators/app/templates/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,3 +174,11 @@ When you go by http://localhost:3000/google route, google'll ask you to authoriz
174174

175175
[travis-image]: https://travis-ci.org/caiobsouza/generator-ts-node-api.svg?branch=master
176176
[travis-url]: https://travis-ci.org/caiobsouza/generator-ts-node-api
177+
178+
## Running migrations for Prisma
179+
180+
For Mongodb run:
181+
`npx prisma generate`
182+
183+
For Mysql/Postgres run:
184+
`npm run db:migration`

0 commit comments

Comments
 (0)