@iamnnort/nestjs-serializer 2.2.1 → 2.2.3
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/dist/index.d.mts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +15 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +13 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -12,6 +12,7 @@ declare const SerializeRelation: (configs: {
|
|
|
12
12
|
fieldName?: string;
|
|
13
13
|
fieldTransform?: (entity: any) => any | Promise<any>;
|
|
14
14
|
}[]) => (target: object, name: string) => void;
|
|
15
|
+
declare const SerializerQuery: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
|
15
16
|
|
|
16
17
|
declare global {
|
|
17
18
|
var serializerFieldConfigs: SerializerFieldConfig[];
|
|
@@ -29,6 +30,9 @@ type SerializerConfig = {
|
|
|
29
30
|
globalLimitedScopes?: string[];
|
|
30
31
|
globalSecretScopes?: string[];
|
|
31
32
|
};
|
|
33
|
+
type SerializerRequest = Request & {
|
|
34
|
+
scopes?: string[];
|
|
35
|
+
};
|
|
32
36
|
|
|
33
37
|
declare class SerializerService {
|
|
34
38
|
config: SerializerConfig;
|
|
@@ -75,4 +79,4 @@ declare const ConfigurableModuleClass: _nestjs_common.ConfigurableModuleCls<Seri
|
|
|
75
79
|
declare class SerializerModule extends ConfigurableModuleClass {
|
|
76
80
|
}
|
|
77
81
|
|
|
78
|
-
export { SerializeField, SerializeRelation, type SerializerConfig, type SerializerFieldConfig, SerializerIdInterceptor, SerializerInterceptor, SerializerModule, SerializerService };
|
|
82
|
+
export { SerializeField, SerializeRelation, type SerializerConfig, type SerializerFieldConfig, SerializerIdInterceptor, SerializerInterceptor, SerializerModule, SerializerQuery, type SerializerRequest, SerializerService };
|
package/dist/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ declare const SerializeRelation: (configs: {
|
|
|
12
12
|
fieldName?: string;
|
|
13
13
|
fieldTransform?: (entity: any) => any | Promise<any>;
|
|
14
14
|
}[]) => (target: object, name: string) => void;
|
|
15
|
+
declare const SerializerQuery: (...dataOrPipes: unknown[]) => ParameterDecorator;
|
|
15
16
|
|
|
16
17
|
declare global {
|
|
17
18
|
var serializerFieldConfigs: SerializerFieldConfig[];
|
|
@@ -29,6 +30,9 @@ type SerializerConfig = {
|
|
|
29
30
|
globalLimitedScopes?: string[];
|
|
30
31
|
globalSecretScopes?: string[];
|
|
31
32
|
};
|
|
33
|
+
type SerializerRequest = Request & {
|
|
34
|
+
scopes?: string[];
|
|
35
|
+
};
|
|
32
36
|
|
|
33
37
|
declare class SerializerService {
|
|
34
38
|
config: SerializerConfig;
|
|
@@ -75,4 +79,4 @@ declare const ConfigurableModuleClass: _nestjs_common.ConfigurableModuleCls<Seri
|
|
|
75
79
|
declare class SerializerModule extends ConfigurableModuleClass {
|
|
76
80
|
}
|
|
77
81
|
|
|
78
|
-
export { SerializeField, SerializeRelation, type SerializerConfig, type SerializerFieldConfig, SerializerIdInterceptor, SerializerInterceptor, SerializerModule, SerializerService };
|
|
82
|
+
export { SerializeField, SerializeRelation, type SerializerConfig, type SerializerFieldConfig, SerializerIdInterceptor, SerializerInterceptor, SerializerModule, SerializerQuery, type SerializerRequest, SerializerService };
|
package/dist/index.js
CHANGED
|
@@ -8991,6 +8991,7 @@ var require_operators = __commonJS({
|
|
|
8991
8991
|
});
|
|
8992
8992
|
|
|
8993
8993
|
// src/decorator.ts
|
|
8994
|
+
var _common = require('@nestjs/common');
|
|
8994
8995
|
global.serializerFieldConfigs = [];
|
|
8995
8996
|
var SerializeField = /* @__PURE__ */ __name((configs) => {
|
|
8996
8997
|
return (target, name) => {
|
|
@@ -9018,10 +9019,14 @@ var SerializeRelation = /* @__PURE__ */ __name((configs) => {
|
|
|
9018
9019
|
});
|
|
9019
9020
|
};
|
|
9020
9021
|
}, "SerializeRelation");
|
|
9022
|
+
var SerializerQuery = _common.createParamDecorator.call(void 0, (data, ctx) => {
|
|
9023
|
+
const request = ctx.switchToHttp().getRequest();
|
|
9024
|
+
return request.scopes;
|
|
9025
|
+
});
|
|
9021
9026
|
|
|
9022
9027
|
// src/interceptor.ts
|
|
9023
9028
|
var import_operators = __toESM(require_operators());
|
|
9024
|
-
|
|
9029
|
+
|
|
9025
9030
|
|
|
9026
9031
|
// src/service.ts
|
|
9027
9032
|
var _lodash = require('lodash');
|
|
@@ -9221,27 +9226,28 @@ var SerializerInterceptor = /* @__PURE__ */ __name((config) => {
|
|
|
9221
9226
|
this.serializerService = serializerService;
|
|
9222
9227
|
}
|
|
9223
9228
|
intercept(ctx, next) {
|
|
9224
|
-
const
|
|
9229
|
+
const request = ctx.switchToHttp().getRequest();
|
|
9230
|
+
request.scopes = this.getScopes(ctx);
|
|
9225
9231
|
return next.handle().pipe((0, import_operators.map)(async (responsePromise) => {
|
|
9226
9232
|
const response = await responsePromise;
|
|
9227
|
-
if (!scopes && !config.fields) {
|
|
9233
|
+
if (!request.scopes && !config.fields) {
|
|
9228
9234
|
return response;
|
|
9229
9235
|
}
|
|
9230
9236
|
return this.serializerService.transform(response, {
|
|
9231
|
-
scopes,
|
|
9237
|
+
scopes: request.scopes,
|
|
9232
9238
|
fields: config.fields
|
|
9233
9239
|
});
|
|
9234
9240
|
}));
|
|
9235
9241
|
}
|
|
9236
9242
|
getScopes(ctx) {
|
|
9237
9243
|
const request = ctx.switchToHttp().getRequest();
|
|
9238
|
-
if (request.query.extended) {
|
|
9244
|
+
if (request.query.extended === "true") {
|
|
9239
9245
|
return config.extendedScopes || config.scopes;
|
|
9240
9246
|
}
|
|
9241
|
-
if (request.query.limited) {
|
|
9247
|
+
if (request.query.limited === "true") {
|
|
9242
9248
|
return config.limitedScopes || this.serializerService.config.globalLimitedScopes || config.scopes;
|
|
9243
9249
|
}
|
|
9244
|
-
if (request.query.secret) {
|
|
9250
|
+
if (request.query.secret === "true") {
|
|
9245
9251
|
return config.secretScopes || this.serializerService.config.globalSecretScopes || config.scopes;
|
|
9246
9252
|
}
|
|
9247
9253
|
if (request.query.scopes && config.allowedScopes) {
|
|
@@ -9304,5 +9310,6 @@ SerializerModule = exports.SerializerModule = _ts_decorate3([
|
|
|
9304
9310
|
|
|
9305
9311
|
|
|
9306
9312
|
|
|
9307
|
-
|
|
9313
|
+
|
|
9314
|
+
exports.SerializeField = SerializeField; exports.SerializeRelation = SerializeRelation; exports.SerializerIdInterceptor = SerializerIdInterceptor; exports.SerializerInterceptor = SerializerInterceptor; exports.SerializerModule = SerializerModule; exports.SerializerQuery = SerializerQuery; exports.SerializerService = SerializerService;
|
|
9308
9315
|
//# sourceMappingURL=index.js.map
|