@nestledjs/api 0.0.8 → 0.0.10
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/package.json +2 -2
- package/src/config/files/src/index.ts__tmpl__ +1 -0
- package/src/config/files/src/lib/config.modules.ts__tmpl__ +8 -0
- package/src/config/files/src/lib/config.service.ts__tmpl__ +3 -3
- package/src/core/files/models/src/lib/generate-models.ts__tmpl__ +36 -25
- package/src/generate-crud/files/data-access/src/lib/api-crud-data-access.module.ts__tmpl__ +1 -1
- package/src/generate-crud/files/data-access/src/lib/api-crud-data-access.service.ts__tmpl__ +1 -1
- package/src/generate-crud/files/data-access/src/lib/dto/index.ts__tmpl__ +2 -2
- package/src/generate-crud/generator.js +19 -20
- package/src/generate-crud/generator.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestledjs/api",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.10",
|
|
4
4
|
"generators": "./generators.json",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./src/index.js",
|
|
@@ -25,6 +25,6 @@
|
|
|
25
25
|
"pg": "^8.13.0"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
|
-
"@nestledjs/utils": "0.0.
|
|
28
|
+
"@nestledjs/utils": "0.0.10"
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Injectable } from '@nestjs/common'
|
|
2
|
-
import { ConfigService } from '@nestjs/config'
|
|
2
|
+
import { ConfigService as NestConfigService } from '@nestjs/config'
|
|
3
3
|
import { CookieOptions } from 'express'
|
|
4
4
|
|
|
5
5
|
@Injectable()
|
|
6
|
-
export class
|
|
7
|
-
constructor(public readonly config:
|
|
6
|
+
export class ConfigService {
|
|
7
|
+
constructor(public readonly config: NestConfigService) {}
|
|
8
8
|
|
|
9
9
|
get apiUrl(): string {
|
|
10
10
|
return this.config.getOrThrow<string>('apiUrl')
|
|
@@ -30,7 +30,10 @@ function getPrismaImportPath(): string {
|
|
|
30
30
|
const schemaPathSetting = packageJson.prisma?.schema || ''
|
|
31
31
|
|
|
32
32
|
// Updated logic: if the schema path includes 'libs/api/prisma' (or similar new structure)
|
|
33
|
-
if (
|
|
33
|
+
if (
|
|
34
|
+
schemaPathSetting.includes('libs/api/prisma') ||
|
|
35
|
+
schemaPathSetting.includes('prisma/src/lib')
|
|
36
|
+
) {
|
|
34
37
|
return '@<%= npmScope %>/api/prisma'
|
|
35
38
|
}
|
|
36
39
|
|
|
@@ -101,7 +104,7 @@ async function main() {
|
|
|
101
104
|
|
|
102
105
|
// Read and parse all schema files for DMMF
|
|
103
106
|
console.log('Reading Prisma schema files for DMMF generation...')
|
|
104
|
-
const schemaFiles = readdirSync(schemaDir).filter(
|
|
107
|
+
const schemaFiles = readdirSync(schemaDir).filter(file => file.endsWith('.prisma'))
|
|
105
108
|
|
|
106
109
|
if (schemaFiles.length === 0) {
|
|
107
110
|
console.error(`Error: No .prisma files found in directory ${schemaDir}`)
|
|
@@ -142,21 +145,25 @@ async function main() {
|
|
|
142
145
|
|
|
143
146
|
function generateModels(models: readonly any[], enums: readonly any[]): string {
|
|
144
147
|
// Check if any model field uses Float
|
|
145
|
-
const usesFloat = models.some(model =>
|
|
148
|
+
const usesFloat = models.some(model =>
|
|
149
|
+
model.fields.some((field: { type: string }) => field.type === 'Float'),
|
|
150
|
+
)
|
|
146
151
|
let output = `import { Field, ObjectType${usesFloat ? ', Float' : ''}, Int } from '@nestjs/graphql';\n`
|
|
147
152
|
output += `import { GraphQLJSONObject } from 'graphql-type-json';\n`
|
|
148
153
|
|
|
149
154
|
// Check if any model field uses Decimal
|
|
150
|
-
const usesDecimal = models.some(model =>
|
|
155
|
+
const usesDecimal = models.some(model =>
|
|
156
|
+
model.fields.some((field: { type: string }) => field.type === 'Decimal'),
|
|
157
|
+
)
|
|
151
158
|
if (usesDecimal) {
|
|
152
|
-
output += `import { Decimal } from '@prisma/client/runtime/library';\n
|
|
153
|
-
output += `import { GraphQLDecimal } from 'prisma-graphql-type-decimal';\n
|
|
159
|
+
output += `import { Decimal } from '@prisma/client/runtime/library';\n`
|
|
160
|
+
output += `import { GraphQLDecimal } from 'prisma-graphql-type-decimal';\n`
|
|
154
161
|
}
|
|
155
162
|
// Ensure Prisma and enums are imported correctly
|
|
156
|
-
const enumNames = enums.map(
|
|
163
|
+
const enumNames = enums.map(e => e.name)
|
|
157
164
|
output += `import { Prisma } from '${prismaImportPath}';\n`
|
|
158
165
|
if (enumNames.length > 0) {
|
|
159
|
-
output += `import { ${enumNames.join(', ')} } from './enums';\n
|
|
166
|
+
output += `import { ${enumNames.join(', ')} } from './enums';\n`
|
|
160
167
|
}
|
|
161
168
|
output += `\n`
|
|
162
169
|
|
|
@@ -168,6 +175,7 @@ function generateModels(models: readonly any[], enums: readonly any[]): string {
|
|
|
168
175
|
const isEnum = field.kind === 'enum'
|
|
169
176
|
const isRelation = field.kind === 'object'
|
|
170
177
|
const originalType = field.type
|
|
178
|
+
const isFieldRequired = isRelation ? false : field.isRequired
|
|
171
179
|
// const isRequired = field.isRequired // Natively supported by DMMF
|
|
172
180
|
|
|
173
181
|
// ALWAYS LOG: Print every field processed for debugging
|
|
@@ -178,7 +186,7 @@ function generateModels(models: readonly any[], enums: readonly any[]): string {
|
|
|
178
186
|
type: field.type,
|
|
179
187
|
isList: field.isList,
|
|
180
188
|
isRequired: field.isRequired,
|
|
181
|
-
})
|
|
189
|
+
})
|
|
182
190
|
|
|
183
191
|
let tsType = originalType
|
|
184
192
|
|
|
@@ -208,8 +216,10 @@ function generateModels(models: readonly any[], enums: readonly any[]): string {
|
|
|
208
216
|
|
|
209
217
|
let decorator = '@Field('
|
|
210
218
|
const options: string[] = []
|
|
211
|
-
//
|
|
212
|
-
|
|
219
|
+
// Only add nullable: true for optional fields
|
|
220
|
+
if (!isFieldRequired) {
|
|
221
|
+
options.push('nullable: true')
|
|
222
|
+
}
|
|
213
223
|
|
|
214
224
|
// Always declare the type in the decorator
|
|
215
225
|
let decoratorType = ''
|
|
@@ -238,26 +248,26 @@ function generateModels(models: readonly any[], enums: readonly any[]): string {
|
|
|
238
248
|
else if (isEnum || isRelation) decoratorType = `() => ${originalType}`
|
|
239
249
|
else if (originalType === 'DateTime') decoratorType = '() => Date'
|
|
240
250
|
else if (originalType === 'Boolean') decoratorType = '() => Boolean'
|
|
241
|
-
else if (originalType.toLowerCase() === 'string' || originalType === 'ID')
|
|
251
|
+
else if (originalType.toLowerCase() === 'string' || originalType === 'ID')
|
|
252
|
+
decoratorType = '() => String'
|
|
242
253
|
else decoratorType = `() => ${originalType}`
|
|
243
254
|
}
|
|
244
255
|
|
|
245
256
|
decorator += decoratorType
|
|
246
|
-
|
|
257
|
+
if (options.length > 0) {
|
|
258
|
+
decorator += `, { ${options.join(', ')} }`
|
|
259
|
+
}
|
|
247
260
|
decorator += ')'
|
|
248
261
|
|
|
249
262
|
output += ` ${decorator}\n`
|
|
250
|
-
//
|
|
251
|
-
const
|
|
263
|
+
// Add optional marker (?) for non-required fields, or ! for required fields
|
|
264
|
+
const typeMarker = isFieldRequired ? '!' : '?'
|
|
252
265
|
|
|
253
266
|
// For relations, use Partial<Type> only if it's not required and can be partially loaded
|
|
254
|
-
// Otherwise, if it's a relation, it's either the full Type or Type[] or null/undefined.
|
|
255
|
-
// For simplicity, let's assume if it's a relation object, it's the Type itself.
|
|
256
|
-
// Partial is useful for inputs or update DTOs, less so for GQL ObjectTypes unless specifically designed.
|
|
257
267
|
let finalTsType = tsType
|
|
258
268
|
if (isRelation) {
|
|
259
269
|
// For relations, always use Partial<Type> (for both single and list)
|
|
260
|
-
finalTsType = `Partial<${tsType}
|
|
270
|
+
finalTsType = `Partial<${tsType}>`
|
|
261
271
|
// DEBUG: Log relation fields
|
|
262
272
|
console.log('DEBUG: Relation field detected:', {
|
|
263
273
|
model: model.name,
|
|
@@ -266,11 +276,12 @@ function generateModels(models: readonly any[], enums: readonly any[]): string {
|
|
|
266
276
|
type: field.type,
|
|
267
277
|
isList: field.isList,
|
|
268
278
|
isRequired: field.isRequired,
|
|
269
|
-
})
|
|
279
|
+
})
|
|
270
280
|
}
|
|
271
281
|
|
|
272
|
-
//
|
|
273
|
-
|
|
282
|
+
// Add null union type only for non-required fields
|
|
283
|
+
const nullUnion = isFieldRequired ? '' : ' | null'
|
|
284
|
+
output += ` ${field.name}${typeMarker}: ${finalTsType}${isList ? '[]' : ''}${nullUnion};\n\n`
|
|
274
285
|
}
|
|
275
286
|
output += `}\n\n`
|
|
276
287
|
}
|
|
@@ -282,11 +293,11 @@ function generateEnums(enums: readonly any[]): string {
|
|
|
282
293
|
output += "import { registerEnumType } from '@nestjs/graphql';\n"
|
|
283
294
|
|
|
284
295
|
if (enums.length > 0) {
|
|
285
|
-
const enumNames = enums.map(
|
|
296
|
+
const enumNames = enums.map(e => e.name).join(', ')
|
|
286
297
|
output += `import { ${enumNames} } from '${prismaImportPath}';\n\n`
|
|
287
298
|
output += `export { ${enumNames} };\n\n`
|
|
288
299
|
|
|
289
|
-
enums.forEach(
|
|
300
|
+
enums.forEach(enumType => {
|
|
290
301
|
output += `registerEnumType(${enumType.name}, { name: '${enumType.name}' });\n\n`
|
|
291
302
|
})
|
|
292
303
|
} else {
|
|
@@ -304,7 +315,7 @@ export * from './core-paging.model'
|
|
|
304
315
|
`
|
|
305
316
|
}
|
|
306
317
|
|
|
307
|
-
main().catch(
|
|
318
|
+
main().catch(e => {
|
|
308
319
|
console.error('Error during generation:', e)
|
|
309
320
|
process.exit(1)
|
|
310
321
|
})
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Module } from '@nestjs/common'
|
|
2
2
|
|
|
3
3
|
import { ApiCrudDataAccessService } from './api-crud-data-access.service'
|
|
4
|
-
import { ApiCoreDataAccessModule } from '
|
|
4
|
+
import { ApiCoreDataAccessModule } from '@<%= npmScope %>/api/core/data-access'
|
|
5
5
|
|
|
6
6
|
@Module({
|
|
7
7
|
imports: [ApiCoreDataAccessModule],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@nestjs/common'
|
|
2
|
-
import { ApiCoreDataAccessService } from '
|
|
2
|
+
import { ApiCoreDataAccessService } from '@<%= npmScope %>/api/core/data-access'
|
|
3
3
|
import { PrismaSelect } from '@paljs/plugins'
|
|
4
4
|
import type { GraphQLResolveInfo } from 'graphql'
|
|
5
5
|
import * as dto from './dto'
|
|
@@ -36,9 +36,9 @@ if (usesID) gqlImports.add('ID');
|
|
|
36
36
|
%>
|
|
37
37
|
import { <%= Array.from(gqlImports).join(', ') %> } from '@nestjs/graphql'
|
|
38
38
|
|
|
39
|
-
<% if (enumNames.size > 0) { %>import { <%= Array.from(enumNames).join(', ') %> } from '
|
|
39
|
+
<% if (enumNames.size > 0) { %>import { <%= Array.from(enumNames).join(', ') %> } from '@<%= npmScope %>/api/core/models'
|
|
40
40
|
<% } %><% if (usesGraphQLJSON) { %>import { GraphQLJSON } from 'graphql-type-json'<% } %>
|
|
41
|
-
import { CorePagingInput } from '
|
|
41
|
+
import { CorePagingInput } from '@<%= npmScope %>/api/core/data-access'
|
|
42
42
|
|
|
43
43
|
<% for (const model of models) { %>
|
|
44
44
|
@InputType()
|
|
@@ -115,7 +115,7 @@ ${guardImports}
|
|
|
115
115
|
|
|
116
116
|
@Resolver(() => ${model.modelName})
|
|
117
117
|
export class Generated${model.modelName}Resolver {
|
|
118
|
-
constructor(private readonly
|
|
118
|
+
constructor(private readonly generatedService: ApiCrudDataAccessService) {}
|
|
119
119
|
|
|
120
120
|
@Query(() => [${model.modelName}], { nullable: true })
|
|
121
121
|
${readManyGuardDecorator ? `@UseGuards(${readManyGuardDecorator})` : ''}
|
|
@@ -123,7 +123,7 @@ export class Generated${model.modelName}Resolver {
|
|
|
123
123
|
@Info() info: GraphQLResolveInfo,
|
|
124
124
|
@Args({ name: 'input', type: () => List${model.modelName}Input, nullable: true }) input?: List${model.modelName}Input,
|
|
125
125
|
) {
|
|
126
|
-
return this.
|
|
126
|
+
return this.generatedService.${readManyMethodName}(info, input)
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
@Query(() => CorePaging, { nullable: true })
|
|
@@ -131,7 +131,7 @@ export class Generated${model.modelName}Resolver {
|
|
|
131
131
|
${countMethodName}(
|
|
132
132
|
@Args({ name: 'input', type: () => List${model.modelName}Input, nullable: true }) input?: List${model.modelName}Input,
|
|
133
133
|
) {
|
|
134
|
-
return this.
|
|
134
|
+
return this.generatedService.${countMethodName}(input)
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
@Query(() => ${model.modelName}, { nullable: true })
|
|
@@ -140,7 +140,7 @@ export class Generated${model.modelName}Resolver {
|
|
|
140
140
|
@Info() info: GraphQLResolveInfo,
|
|
141
141
|
@Args('${model.modelPropertyName}Id') ${model.modelPropertyName}Id: string
|
|
142
142
|
) {
|
|
143
|
-
return this.
|
|
143
|
+
return this.generatedService.${readOneMethodName}(info, ${model.modelPropertyName}Id)
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
@Mutation(() => ${model.modelName}, { nullable: true })
|
|
@@ -149,7 +149,7 @@ export class Generated${model.modelName}Resolver {
|
|
|
149
149
|
@Info() info: GraphQLResolveInfo,
|
|
150
150
|
@Args('input') input: Create${model.modelName}Input,
|
|
151
151
|
) {
|
|
152
|
-
return this.
|
|
152
|
+
return this.generatedService.create${model.modelName}(info, input)
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
@Mutation(() => ${model.modelName}, { nullable: true })
|
|
@@ -159,7 +159,7 @@ export class Generated${model.modelName}Resolver {
|
|
|
159
159
|
@Args('${model.modelPropertyName}Id') ${model.modelPropertyName}Id: string,
|
|
160
160
|
@Args('input') input: Update${model.modelName}Input,
|
|
161
161
|
) {
|
|
162
|
-
return this.
|
|
162
|
+
return this.generatedService.update${model.modelName}(info, ${model.modelPropertyName}Id, input)
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
@Mutation(() => ${model.modelName}, { nullable: true })
|
|
@@ -167,7 +167,7 @@ export class Generated${model.modelName}Resolver {
|
|
|
167
167
|
delete${model.modelName}(
|
|
168
168
|
@Args('${model.modelPropertyName}Id') ${model.modelPropertyName}Id: string,
|
|
169
169
|
) {
|
|
170
|
-
return this.
|
|
170
|
+
return this.generatedService.delete${model.modelName}(${model.modelPropertyName}Id)
|
|
171
171
|
}
|
|
172
172
|
}
|
|
173
173
|
`;
|
|
@@ -188,6 +188,10 @@ function generateFeatureIndexContent(models) {
|
|
|
188
188
|
// This function contains all the generator's logic but uses injected dependencies, making it testable.
|
|
189
189
|
function generateCrudLogic(tree, schema, dependencies) {
|
|
190
190
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
191
|
+
const customPluralize = (str) => {
|
|
192
|
+
const plural = dependencies.pluralize(str);
|
|
193
|
+
return plural === str ? `${str}List` : plural;
|
|
194
|
+
};
|
|
191
195
|
// Helper functions that now use injected dependencies
|
|
192
196
|
function getAllPrismaModels(tree) {
|
|
193
197
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
@@ -202,16 +206,16 @@ function generateCrudLogic(tree, schema, dependencies) {
|
|
|
202
206
|
return dmmf.datamodel.models.map((model) => {
|
|
203
207
|
var _a;
|
|
204
208
|
const singularPropertyName = model.name.charAt(0).toLowerCase() + model.name.slice(1);
|
|
205
|
-
const pluralPropertyName =
|
|
209
|
+
const pluralPropertyName = customPluralize(singularPropertyName);
|
|
206
210
|
const authConfig = getCrudAuthForModel(prismaSchema, model.name);
|
|
207
211
|
return {
|
|
208
212
|
name: model.name,
|
|
209
|
-
pluralName:
|
|
213
|
+
pluralName: customPluralize(model.name),
|
|
210
214
|
fields: model.fields.map((field) => (Object.assign({}, field))),
|
|
211
215
|
primaryField: ((_a = model.fields.find((f) => !f.isId && f.type === 'String')) === null || _a === void 0 ? void 0 : _a.name) || 'name',
|
|
212
216
|
modelName: model.name,
|
|
213
217
|
modelPropertyName: singularPropertyName,
|
|
214
|
-
pluralModelName:
|
|
218
|
+
pluralModelName: customPluralize(model.name),
|
|
215
219
|
pluralModelPropertyName: pluralPropertyName,
|
|
216
220
|
auth: authConfig,
|
|
217
221
|
};
|
|
@@ -223,24 +227,19 @@ function generateCrudLogic(tree, schema, dependencies) {
|
|
|
223
227
|
}
|
|
224
228
|
});
|
|
225
229
|
}
|
|
226
|
-
function createLibraries(tree, name) {
|
|
230
|
+
function createLibraries(tree, name, models) {
|
|
227
231
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
228
232
|
const dataAccessLibraryRoot = `libs/api/${name}/data-access`;
|
|
229
233
|
const featureLibraryRoot = `libs/api/${name}/feature`;
|
|
230
|
-
const
|
|
231
|
-
|
|
232
|
-
yield dependencies.apiLibraryGenerator(tree, { name },
|
|
233
|
-
yield dependencies.apiLibraryGenerator(tree, { name }, featureTemplatePath, 'feature');
|
|
234
|
+
const templatePath = dependencies.joinPathFragments(__dirname, './files');
|
|
235
|
+
yield dependencies.apiLibraryGenerator(tree, { name, models }, templatePath, 'data-access');
|
|
236
|
+
yield dependencies.apiLibraryGenerator(tree, { name, models }, templatePath, 'feature');
|
|
234
237
|
return { dataAccessLibraryRoot, featureLibraryRoot };
|
|
235
238
|
});
|
|
236
239
|
}
|
|
237
240
|
function generateModelFiles(tree, dataAccessLibraryRoot, featureLibraryRoot, models, name) {
|
|
238
241
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
239
242
|
const npmScope = dependencies.getNpmScope(tree);
|
|
240
|
-
const nameObj = dependencies.names(name);
|
|
241
|
-
const substitutions = Object.assign(Object.assign({}, nameObj), { name, models, npmScope: `@${npmScope}`, apiClassName: 'PrismaCrud', tmpl: '' });
|
|
242
|
-
dependencies.generateFiles(tree, dependencies.joinPathFragments(__dirname, './files/data-access/src/lib'), dependencies.joinPathFragments(dataAccessLibraryRoot, 'src/lib'), Object.assign(Object.assign({}, substitutions), { type: 'data-access' }));
|
|
243
|
-
dependencies.generateFiles(tree, dependencies.joinPathFragments(__dirname, './files/data-access/src'), dependencies.joinPathFragments(dataAccessLibraryRoot, 'src'), Object.assign(Object.assign({}, substitutions), { type: 'data-access' }));
|
|
244
243
|
const featureModuleContent = generateFeatureModuleContent(models, npmScope);
|
|
245
244
|
tree.write(dependencies.joinPathFragments(featureLibraryRoot, 'src/lib/api-admin-crud-feature.module.ts'), featureModuleContent);
|
|
246
245
|
const featureIndexContent = generateFeatureIndexContent(models);
|
|
@@ -259,7 +258,7 @@ function generateCrudLogic(tree, schema, dependencies) {
|
|
|
259
258
|
console.error('No Prisma models found');
|
|
260
259
|
return; // Return early for the test case
|
|
261
260
|
}
|
|
262
|
-
const { dataAccessLibraryRoot, featureLibraryRoot } = yield createLibraries(tree, name);
|
|
261
|
+
const { dataAccessLibraryRoot, featureLibraryRoot } = yield createLibraries(tree, name, models);
|
|
263
262
|
yield generateModelFiles(tree, dataAccessLibraryRoot, featureLibraryRoot, models, name);
|
|
264
263
|
yield dependencies.formatFiles(tree);
|
|
265
264
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../generators/api/src/generate-crud/generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../generators/api/src/generate-crud/generator.ts"],"names":[],"mappings":"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"}
|