@nestledjs/api 0.1.12 → 0.2.0

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestledjs/api",
3
- "version": "0.1.12",
3
+ "version": "0.2.0",
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.1.3"
28
+ "@nestledjs/utils": "0.1.4"
29
29
  }
30
30
  }
@@ -1,7 +1,7 @@
1
1
  import { MiddlewareConsumer, Module, NestModule, RequestMethod } from '@nestjs/common'
2
2
  import { LoggerMiddleware } from './applogger.middleware'
3
- import { ConfigModule } from '@nestjs/config'
4
- import { configuration, validationSchema } from '@<%= npmScope %>/api/config'
3
+ import { ConfigModule as NestConfigModule } from '@nestjs/config'
4
+ import { ConfigModule as AppConfigModule, configuration, validationSchema } from '@<%= npmScope %>/api/config'
5
5
 
6
6
  // Auto-generated modules with special functions
7
7
  export const coreModules = [
@@ -24,7 +24,7 @@ export const appModules = [
24
24
 
25
25
  @Module({
26
26
  imports: [
27
- ConfigModule.forRoot({
27
+ NestConfigModule.forRoot({
28
28
  load: [configuration],
29
29
  validationSchema: validationSchema,
30
30
  validationOptions: {
@@ -33,11 +33,12 @@ export const appModules = [
33
33
  },
34
34
  isGlobal: true,
35
35
  }),
36
+ AppConfigModule,
36
37
  ...appModules,
37
38
  ],
38
39
  })
39
40
  export class AppModule implements NestModule {
40
41
  configure(consumer: MiddlewareConsumer): void {
41
- consumer.apply(LoggerMiddleware) .forRoutes({ path: '*path', method: RequestMethod.ALL })
42
+ consumer.apply(LoggerMiddleware).forRoutes({ path: '*path', method: RequestMethod.ALL })
42
43
  }
43
44
  }
@@ -1,45 +1,143 @@
1
+
1
2
  import { Logger } from '@nestjs/common'
2
3
  import { NestFactory } from '@nestjs/core'
3
4
  import { ConfigService } from '@<%= npmScope %>/api/config'
4
5
  import cookieParser from 'cookie-parser'
6
+ import * as express from 'express'
7
+ import { NextFunction, Request, Response } from 'express'
8
+ import helmet from 'helmet'
5
9
 
6
10
  import { AppModule } from './app.module'
7
11
 
12
+ /**
13
+ * Middleware to redirect HTTP requests to HTTPS in production environments.
14
+ */
15
+ function httpsRedirectMiddleware(
16
+ req: Request,
17
+ res: Response,
18
+ next: NextFunction,
19
+ ) {
20
+ const isHttp = req.headers['x-forwarded-proto'] === 'http'
21
+ if (isHttp && process.env.NODE_ENV === 'production') {
22
+ const host = req.headers.host || req.hostname
23
+ Logger.debug(`[HttpsRedirect] Redirecting http://${host}${req.originalUrl} to https`)
24
+ return res.redirect(301, `https://${host}${req.originalUrl}`)
25
+ }
26
+ return next()
27
+ }
28
+
8
29
  async function bootstrap() {
9
- const app = await NestFactory.create(AppModule)
30
+ const app = await NestFactory.create(AppModule, {
31
+ bodyParser: false, // Disable default parser for custom conditional parsing
32
+ })
33
+
10
34
  const configService = app.get(ConfigService)
35
+ const globalPrefix = configService.prefix || 'api'
36
+
37
+ /**
38
+ * Defines a list of known, valid API prefixes. This acts as an allow-list for the
39
+ * earlyRequestFilter, providing a "deny-by-default" security posture.
40
+ *
41
+ * !! IMPORTANT !!
42
+ * To expose a new REST controller, you MUST add its root path to this list.
43
+ * For example, for a `UsersController` at `/api/users`, add `/${globalPrefix}/users`.
44
+ */
45
+ const VALID_API_PREFIXES = [
46
+ '/graphql', // Standard GraphQL endpoint
47
+ `/${globalPrefix}/uptime`, // Generic health-check endpoint
48
+ ]
49
+
50
+ /**
51
+ * Middleware to reject requests to non-existent or un-exposed API endpoints early.
52
+ * This prevents requests from even reaching the NestJS router if they are not on the allow-list.
53
+ */
54
+ const earlyRequestFilter = (req: Request, res: Response, next: NextFunction) => {
55
+ const path = req.path
56
+ const isValidPath = VALID_API_PREFIXES.some(prefix => path.startsWith(prefix))
57
+
58
+ if (!isValidPath) {
59
+ Logger.debug(`[EarlyFilter] Rejecting request for un-exposed path: ${path}`)
60
+ return res.status(404).json({
61
+ statusCode: 404,
62
+ message: `Cannot ${req.method} ${path}`,
63
+ error: 'Not Found',
64
+ })
65
+ }
66
+
67
+ return next()
68
+ }
11
69
 
12
- // Get individual properties with fallbacks
13
- const prefix = configService.prefix || 'api';
14
- const port = configService.port || 3000;
15
- const host = configService.host || 'localhost';
70
+ // --- Middleware & Security Setup ---
16
71
 
17
- app.setGlobalPrefix(prefix)
72
+ // 1. HTTPS Redirect: Enforce HTTPS in production.
73
+ app.use(httpsRedirectMiddleware)
18
74
 
19
- // Use the apiCorsOrigins getter and handle as array
20
- const origins = configService.apiCorsOrigins.length
75
+ // 2. Helmet: Apply security-related HTTP headers.
76
+ app.use(
77
+ helmet({
78
+ contentSecurityPolicy: process.env.NODE_ENV === 'production' ? undefined : false,
79
+ crossOriginEmbedderPolicy: false,
80
+ }),
81
+ )
82
+
83
+ // 3. Global Prefix: Set for all API routes.
84
+ app.setGlobalPrefix(globalPrefix)
85
+
86
+ // 4. CORS: Enable Cross-Origin Resource Sharing.
87
+ const origins = configService.apiCorsOrigins?.length
21
88
  ? configService.apiCorsOrigins
22
- : ['http://localhost:4200']; // fallback for dev
89
+ : ['http://localhost:4200']
23
90
 
24
91
  app.enableCors({
25
92
  credentials: true,
26
- origin: (origin, callback) => {
27
- if (!origin) return callback(null, true);
28
- if (origins.includes(origin)) {
29
- return callback(null, true);
30
- }
31
- return callback(new Error('Not allowed by CORS'));
93
+ origin: (origin: string, callback: (err: Error | null, allow?: boolean) => void) => {
94
+ if (!origin) return callback(null, true)
95
+ if (origins.includes(origin)) return callback(null, true)
96
+ return callback(new Error('Not allowed by CORS'))
32
97
  },
33
- });
34
- app.use(cookieParser(configService.cookie.secret || 'secret'));
98
+ })
99
+
100
+ // 5. Early Request Filter: Apply the "deny-by-default" filter.
101
+ app.use(earlyRequestFilter)
102
+
103
+ // 6. Conditional Body Parser: Handle raw bodies for webhooks, JSON for others.
104
+ app.use((req: Request, res: Response, next: NextFunction) => {
105
+ if (req.originalUrl.startsWith(`/${globalPrefix}/webhooks/`)) {
106
+ return express.raw({
107
+ type: '*/*',
108
+ verify: (req: Request, res, buf) => { (req as any).rawBody = buf },
109
+ })(req, res, next)
110
+ }
111
+ return express.json()(req, res, next)
112
+ })
113
+ app.use(express.urlencoded({ extended: true }))
114
+
115
+ // 7. Cookie Parser: Parse and optionally sign cookies.
116
+ const cookieSecret = configService.cookie.secret
117
+ if (!cookieSecret) {
118
+ if (process.env['NODE_ENV'] === 'production') {
119
+ Logger.error('Cookie secret is not configured in production. Set configService.cookie.secret.')
120
+ process.exit(1)
121
+ } else {
122
+ Logger.warn('Using default cookie secret in development. Set configService.cookie.secret for better security.')
123
+ }
124
+ }
125
+ app.use(cookieParser(cookieSecret || 'default-secret-in-dev'))
126
+
127
+ // --- Application Start ---
128
+ const port = process.env.PORT
129
+ ? parseInt(process.env.PORT, 10)
130
+ : configService.port || 3000
35
131
 
36
- await app.listen(port, host, () => {
37
- Logger.log(`Listening at http://${host}:${port}/${prefix}`)
38
- Logger.log(`Listening at http://${host}:${port}/graphql`)
132
+ await app.listen(port, () => {
133
+ const host = 'localhost'
134
+ Logger.log(`🚀 Application is running on: http://${host}:${port}/${globalPrefix}`)
135
+ Logger.log(`🚀 GraphQL endpoint is at: http://${host}:${port}/graphql`)
136
+ Logger.log(`🌿 Environment: ${process.env.NODE_ENV || 'development'}`)
39
137
  })
40
138
  }
41
139
 
42
140
  bootstrap().catch((error) => {
43
- Logger.error('Failed to start the application', error);
44
- process.exit(1);
45
- });
141
+ Logger.error('Failed to start the application', error)
142
+ process.exit(1)
143
+ })
@@ -2,7 +2,12 @@ import * as Joi from 'joi'
2
2
 
3
3
  export const validationSchema = Joi.object({
4
4
  NODE_ENV: Joi.string().valid('development', 'production', 'test'),
5
- HOST: Joi.string().alphanum().default('localhost'),
5
+ HOST: Joi.alternatives()
6
+ .try(
7
+ Joi.string().ip({ version: ['ipv4', 'ipv6'] }),
8
+ Joi.string().hostname(),
9
+ )
10
+ .default('localhost'),
6
11
  PORT: Joi.number().default(3000),
7
12
  WEB_PORT: Joi.number().default(4200),
8
13
  WEB_URL: Joi.string().default(`http://${process.env['HOST'] || 'localhost'}:${process.env['WEB_PORT']}`),
@@ -5,6 +5,9 @@ export class CorePaging {
5
5
  @Field({ nullable: true })
6
6
  total?: number
7
7
 
8
+ @Field({ nullable: true })
9
+ filteredTotal?: number
10
+
8
11
  @Field({ nullable: true })
9
12
  count?: number
10
13
 
@@ -16,4 +19,13 @@ export class CorePaging {
16
19
 
17
20
  @Field({ nullable: true })
18
21
  skip?: number
22
+
23
+ @Field({ nullable: true })
24
+ pages?: number
25
+
26
+ @Field({ nullable: true })
27
+ hasNext?: boolean
28
+
29
+ @Field({ nullable: true })
30
+ hasPrev?: boolean
19
31
  }
@@ -1,11 +1,9 @@
1
1
  import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo'
2
2
  import { Module } from '@nestjs/common'
3
- import { ConfigModule } from '@nestjs/config'
4
3
  import { GraphQLModule } from '@nestjs/graphql'
5
4
  import { join } from 'path'
6
5
  import { Request, Response } from 'express'
7
6
  import { apiCorePubSub } from '@<%= npmScope %>/api/core/data-access'
8
- import { configuration, validationSchema } from '@<%= npmScope %>/api/config'
9
7
  import { Context } from 'graphql-ws'
10
8
  import { ApiCoreFeatureController } from './api-core-feature.controller'
11
9
  import { ApiCoreFeatureResolver } from './api-core-feature.resolver'
@@ -23,11 +21,6 @@ const redisPubSubProvider = {
23
21
 
24
22
  @Module({
25
23
  imports: [
26
- ConfigModule.forRoot({
27
- isGlobal: true,
28
- load: [configuration],
29
- validationSchema,
30
- }),
31
24
  GraphQLModule.forRoot<ApolloDriverConfig>({
32
25
  driver: ApolloDriver,
33
26
  autoSchemaFile: join(process.cwd(), 'api-schema.graphql'),
@@ -5,6 +5,9 @@ export class CorePaging {
5
5
  @Field({ nullable: true })
6
6
  total?: number
7
7
 
8
+ @Field({ nullable: true })
9
+ filteredTotal?: number
10
+
8
11
  @Field({ nullable: true })
9
12
  count?: number
10
13
 
@@ -22,4 +25,13 @@ export class CorePaging {
22
25
 
23
26
  @Field({ nullable: true })
24
27
  totalSum?: number
28
+
29
+ @Field({ nullable: true })
30
+ pages?: number
31
+
32
+ @Field({ nullable: true })
33
+ hasNext?: boolean
34
+
35
+ @Field({ nullable: true })
36
+ hasPrev?: boolean
25
37
  }
@@ -92,6 +92,7 @@ function updateIndexFileAdditively(tree, indexPath, newExports) {
92
92
  }
93
93
  function generateCustomFiles(tree, customLibraryRoot, models, npmScope, dependencies) {
94
94
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
95
+ var _a, _b;
95
96
  const defaultDir = dependencies.join(customLibraryRoot, 'src/lib/default');
96
97
  const pluginsDir = dependencies.join(customLibraryRoot, 'src/lib/plugins');
97
98
  yield ensureDirExists(tree, defaultDir);
@@ -99,7 +100,13 @@ function generateCustomFiles(tree, customLibraryRoot, models, npmScope, dependen
99
100
  // Create empty index.ts in pluginsDir for custom plugins (only if it doesn't exist)
100
101
  const pluginsIndexPath = dependencies.join(pluginsDir, 'index.ts');
101
102
  if (!tree.exists(pluginsIndexPath)) {
102
- tree.write(pluginsIndexPath, '');
103
+ tree.write(pluginsIndexPath, "export const customPlugins = []\n");
104
+ }
105
+ else {
106
+ const existingPluginsIndex = (_b = (_a = tree.read(pluginsIndexPath)) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '';
107
+ if (existingPluginsIndex.trim() === '') {
108
+ tree.write(pluginsIndexPath, "export const customPlugins = []\n");
109
+ }
103
110
  }
104
111
  for (const model of models) {
105
112
  const kebabModel = toKebabCase(model.modelName);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../generators/api/src/custom/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../generators/api/src/custom/generator.ts"],"names":[],"mappings":"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"}
@@ -172,18 +172,23 @@ export class ApiCrudDataAccessService {
172
172
 
173
173
  async <%= (model.pluralModelName === model.modelName ? model.pluralModelName + 'List' : model.pluralModelName).charAt(0).toLowerCase() + (model.pluralModelName === model.modelName ? model.pluralModelName + 'List' : model.pluralModelName).slice(1) %>Count(input?: dto.List<%= model.modelName %>Input) {
174
174
  const total = await this.data['<%= model.modelPropertyName %>'].count()
175
- const count = await this.data['<%= model.modelPropertyName %>'].count({
176
- ...this.data.filter(input)
177
- });
178
- const take = input?.take ?? 10
179
- const skip = input?.skip ?? 0
175
+ const { where, take = 10, skip = 0 } = this.data.filter(input)
176
+ const filteredTotal = await this.data['<%= model.modelPropertyName %>'].count({ where })
180
177
  const page = Math.floor(skip / take)
181
- return {
178
+ const pages = take > 0 ? Math.ceil(filteredTotal / take) : 0
179
+ const hasNext = skip + take < filteredTotal
180
+ const hasPrev = skip > 0
181
+ const count = Math.max(0, Math.min(take, filteredTotal - skip))
182
+ return {
182
183
  take,
183
184
  skip,
184
185
  page,
186
+ pages,
187
+ hasNext,
188
+ hasPrev,
185
189
  count,
186
190
  total,
191
+ filteredTotal,
187
192
  }
188
193
  }
189
194
 
@@ -125,8 +125,8 @@ export class Create<%= model.modelName %>Input {
125
125
  fieldDecoratorTypeArg = `() => ${baseGqlType}`;
126
126
  }
127
127
  }
128
- // Always optional for id, createdAt, updatedAt, virtual fields, and relational fields
129
- if (alwaysOptionalFields.includes(field.name) || field.isVirtual || field.relationName) {
128
+ // Always optional for id, createdAt, updatedAt, virtual fields, relational fields, and fields with DB defaults
129
+ if (alwaysOptionalFields.includes(field.name) || field.isVirtual || field.relationName || field.hasDefaultValue) {
130
130
  isOptional = true;
131
131
  } else {
132
132
  isOptional = field.isOptional;
@@ -216,6 +216,7 @@ function generateCrudLogic(tree, schema, dependencies) {
216
216
  pluralName: (0, utils_1.getPluralName)(model.name),
217
217
  fields: model.fields.map((field) => ({
218
218
  name: field.name,
219
+ kind: field.kind,
219
220
  type: field.type,
220
221
  isOptional: !field.isRequired,
221
222
  isId: field.isId,
@@ -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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"}
@@ -49,6 +49,11 @@ function generateLibraries(tree_1) {
49
49
  if (!json.scripts['prisma:reset']) {
50
50
  json.scripts['prisma:reset'] = 'pnpm prisma migrate reset && pnpm prisma:seed';
51
51
  }
52
+ // Add db-update convenience script to regenerate CRUD, models, custom, and SDK
53
+ if (!json.scripts['db-update']) {
54
+ json.scripts['db-update'] =
55
+ 'nx g @nestledjs/api:generate-crud && pnpm generate:models && nx g @nestledjs/api:custom && nx g @nestledjs/shared:sdk';
56
+ }
52
57
  return json;
53
58
  });
54
59
  yield (0, utils_1.apiLibraryGenerator)(tree, { name: 'prisma', overwrite }, templateRootPath);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../generators/api/src/prisma/generator.ts"],"names":[],"mappings":";;AAIA,oCAwDC;;AA5DD,uCAAkG;AAClG,4CAAsD;AAGtD,SAA8B,iBAAiB;iEAAC,IAAU,EAAE,UAAoC,EAAE;QAChG,MAAM,gBAAgB,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAChE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,IAAI,CAAA;QAE5C,sBAAsB;QACtB,IAAA,mBAAU,EAAC,IAAI,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;YACxC,yBAAyB;YACzB,IAAI,CAAC,MAAM,GAAG;gBACZ,MAAM,EAAE,iCAAiC;gBACzC,IAAI,EAAE,+FAA+F;aACtG,CAAA;YACD,6DAA6D;YAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;YACnB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAC7B,0GAA0G,CAAA;YAC9G,CAAC;YAED,0DAA0D;YAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,2CAA2C,CAAA;YAC5E,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,qBAAqB,CAAA;YACxD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,oBAAoB,CAAA;YACtD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,sBAAsB,CAAA;YAC1D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,oDAAoD,CAAA;YACvF,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;oBACzB,0FAA0F,CAAA;YAC9F,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,2BAA2B,CAAA;YAC7D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,+CAA+C,CAAA;YAChF,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,MAAM,IAAA,2BAAmB,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAA;QAEhF,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAA;QAEvB,OAAO,GAAG,EAAE;YACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAA;QAC3B,CAAC,CAAA;IACH,CAAC;CAAA"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../generators/api/src/prisma/generator.ts"],"names":[],"mappings":";;AAIA,oCA6DC;;AAjED,uCAAkG;AAClG,4CAAsD;AAGtD,SAA8B,iBAAiB;iEAAC,IAAU,EAAE,UAAoC,EAAE;QAChG,MAAM,gBAAgB,GAAG,IAAA,0BAAiB,EAAC,SAAS,EAAE,SAAS,CAAC,CAAA;QAChE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,IAAI,CAAA;QAE5C,sBAAsB;QACtB,IAAA,mBAAU,EAAC,IAAI,EAAE,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;YACxC,yBAAyB;YACzB,IAAI,CAAC,MAAM,GAAG;gBACZ,MAAM,EAAE,iCAAiC;gBACzC,IAAI,EAAE,+FAA+F;aACtG,CAAA;YACD,6DAA6D;YAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;YACnB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;oBAC7B,0GAA0G,CAAA;YAC9G,CAAC;YAED,0DAA0D;YAC1D,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,2CAA2C,CAAA;YAC5E,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,qBAAqB,CAAA;YACxD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,oBAAoB,CAAA;YACtD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,sBAAsB,CAAA;YAC1D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,oDAAoD,CAAA;YACvF,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;oBACzB,0FAA0F,CAAA;YAC9F,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,2BAA2B,CAAA;YAC7D,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,+CAA+C,CAAA;YAChF,CAAC;YACD,+EAA+E;YAC/E,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;oBACvB,uHAAuH,CAAA;YAC3H,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;QAEF,MAAM,IAAA,2BAAmB,EAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,CAAC,CAAA;QAEhF,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAA;QAEvB,OAAO,GAAG,EAAE;YACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAA;QAC3B,CAAC,CAAA;IACH,CAAC;CAAA"}
@@ -41,6 +41,7 @@ function apiSetupGenerator(tree) {
41
41
  'graphql-redis-subscriptions': '^2.7.0',
42
42
  ioredis: '^5.6.1',
43
43
  'cookie-parser': '^1.4.7',
44
+ helmet: '^8.1.0',
44
45
  'passport-jwt': '^4.0.1',
45
46
  }, {
46
47
  nx: '21.2.3',
@@ -54,7 +55,7 @@ function apiSetupGenerator(tree) {
54
55
  '@swc-node/register': '~1.10.10',
55
56
  '@swc/cli': '~0.7.7',
56
57
  '@swc/core': '~1.12.1',
57
- '@types/cookie-parser': '^1.4.3',
58
+ '@types/cookie-parser': '^1.4.9',
58
59
  '@types/express': '^5.0.3',
59
60
  '@types/nodemailer': '^6.4.7',
60
61
  '@types/passport-jwt': '^4.0.1',
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../generators/api/src/setup/generator.ts"],"names":[],"mappings":";;AASA,8CA8FC;;AAvGD,uCAAkF;AAClF,4CAAiF;AAEjF,SAAS,WAAW,CAAC,IAAU;IAC7B,MAAM,SAAS,GAAG,QAAQ,CAAA;IAC1B,MAAM,OAAO,GAAG,oCAAoC,CAAA;IACpD,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAChC,CAAC;AAED,SAAsB,iBAAiB,CAAC,IAAU;;QAChD,mBAAmB;QACnB,IAAA,qCAA4B,EAC1B,IAAI,EACJ;YACE,gBAAgB,EAAE,SAAS;YAC3B,eAAe,EAAE,QAAQ;YACzB,gBAAgB,EAAE,SAAS;YAC3B,gBAAgB,EAAE,QAAQ;YAC1B,cAAc,EAAE,SAAS;YACzB,iBAAiB,EAAE,SAAS;YAC5B,aAAa,EAAE,SAAS;YACxB,kBAAkB,EAAE,SAAS;YAC7B,0BAA0B,EAAE,SAAS;YACrC,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,UAAU;YACnB,0BAA0B,EAAE,OAAO;YACnC,iBAAiB,EAAE,SAAS;YAC5B,uBAAuB,EAAE,QAAQ;YACjC,YAAY,EAAE,QAAQ;YACtB,GAAG,EAAE,UAAU;YACf,UAAU,EAAE,QAAQ;YACpB,kBAAkB,EAAE,QAAQ;YAC5B,IAAI,EAAE,QAAQ;YACd,cAAc,EAAE,aAAa;YAC7B,gBAAgB,EAAE,QAAQ;YAC1B,iBAAiB,EAAE,SAAS;YAC5B,mBAAmB,EAAE,QAAQ;YAC7B,6BAA6B,EAAE,QAAQ;YACvC,OAAO,EAAE,QAAQ;YACjB,eAAe,EAAE,QAAQ;YACzB,cAAc,EAAE,QAAQ;SACzB,EACD;YACE,EAAE,EAAE,QAAQ;YACZ,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;YACpB,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,QAAQ;YACvB,oBAAoB,EAAE,SAAS;YAC/B,iBAAiB,EAAE,SAAS;YAC5B,4BAA4B,EAAE,OAAO;YACrC,oBAAoB,EAAE,UAAU;YAChC,UAAU,EAAE,QAAQ;YACpB,WAAW,EAAE,SAAS;YACtB,sBAAsB,EAAE,QAAQ;YAChC,gBAAgB,EAAE,QAAQ;YAC1B,mBAAmB,EAAE,QAAQ;YAC7B,qBAAqB,EAAE,QAAQ;YAC/B,aAAa,EAAE,SAAS;YACxB,mBAAmB,EAAE,SAAS;YAC9B,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,SAAS;YACf,uBAAuB,EAAE,SAAS;YAClC,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,QAAQ;YACnB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,QAAQ;YACvB,wBAAwB,EAAE,QAAQ;YAClC,+BAA+B,EAAE,QAAQ;YACzC,6BAA6B,EAAE,QAAQ;YACvC,mBAAmB,EAAE,QAAQ;SAC9B,CACF,CAAA;QAED,qDAAqD;QACrD,MAAM,eAAe,GAAG;YACtB,oBAAoB;YACpB,iBAAiB;YACjB,gBAAgB;YAChB,4BAA4B;YAC5B,iBAAiB;YACjB,SAAS;YACT,IAAI;YACJ,QAAQ;YACR,SAAS;YACT,6BAA6B;YAC7B,cAAc;YACd,cAAc;YACd,SAAS;YACT,eAAe;YACf,WAAW;SACZ,CAAA;QACD,IAAA,iCAAyB,EAAC,IAAI,EAAE,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC,CAAA;QAE3E,iDAAiD;QACjD,WAAW,CAAC,IAAI,CAAC,CAAA;QAEjB,gEAAgE;QAChE,OAAO,IAAA,2BAAmB,GAAE,CAAA;IAC9B,CAAC;CAAA;AAED,kBAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../generators/api/src/setup/generator.ts"],"names":[],"mappings":"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"}
@@ -25,10 +25,23 @@ export class ApiUserDataAccessService {
25
25
  ): Promise<CorePaging> {
26
26
  await this.data.ensureAdminUser(adminId);
27
27
  const total = await this.data.user.count();
28
+ const { where, take = 20, skip = 0 } = this.data.filter(paging);
29
+ const filteredTotal = await this.data.user.count({ where });
30
+ const page = Math.floor(skip / take);
31
+ const pages = take > 0 ? Math.ceil(filteredTotal / take) : 0;
32
+ const hasNext = skip + take < filteredTotal;
33
+ const hasPrev = skip > 0;
34
+ const count = Math.max(0, Math.min(take, filteredTotal - skip));
28
35
  return {
29
- take: paging?.take ?? 20,
30
- skip: paging?.skip ?? 0,
36
+ take,
37
+ skip,
38
+ page,
39
+ pages,
40
+ hasNext,
41
+ hasPrev,
42
+ count,
31
43
  total,
44
+ filteredTotal,
32
45
  };
33
46
  }
34
47