@iamnnort/nestjs-serializer 2.2.2 → 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 +14 -9
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +12 -7
- 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');
|
|
@@ -9222,28 +9227,27 @@ var SerializerInterceptor = /* @__PURE__ */ __name((config) => {
|
|
|
9222
9227
|
}
|
|
9223
9228
|
intercept(ctx, next) {
|
|
9224
9229
|
const request = ctx.switchToHttp().getRequest();
|
|
9225
|
-
|
|
9226
|
-
request.query.scopes = scopes;
|
|
9230
|
+
request.scopes = this.getScopes(ctx);
|
|
9227
9231
|
return next.handle().pipe((0, import_operators.map)(async (responsePromise) => {
|
|
9228
9232
|
const response = await responsePromise;
|
|
9229
|
-
if (!scopes && !config.fields) {
|
|
9233
|
+
if (!request.scopes && !config.fields) {
|
|
9230
9234
|
return response;
|
|
9231
9235
|
}
|
|
9232
9236
|
return this.serializerService.transform(response, {
|
|
9233
|
-
scopes,
|
|
9237
|
+
scopes: request.scopes,
|
|
9234
9238
|
fields: config.fields
|
|
9235
9239
|
});
|
|
9236
9240
|
}));
|
|
9237
9241
|
}
|
|
9238
9242
|
getScopes(ctx) {
|
|
9239
9243
|
const request = ctx.switchToHttp().getRequest();
|
|
9240
|
-
if (request.query.extended) {
|
|
9244
|
+
if (request.query.extended === "true") {
|
|
9241
9245
|
return config.extendedScopes || config.scopes;
|
|
9242
9246
|
}
|
|
9243
|
-
if (request.query.limited) {
|
|
9247
|
+
if (request.query.limited === "true") {
|
|
9244
9248
|
return config.limitedScopes || this.serializerService.config.globalLimitedScopes || config.scopes;
|
|
9245
9249
|
}
|
|
9246
|
-
if (request.query.secret) {
|
|
9250
|
+
if (request.query.secret === "true") {
|
|
9247
9251
|
return config.secretScopes || this.serializerService.config.globalSecretScopes || config.scopes;
|
|
9248
9252
|
}
|
|
9249
9253
|
if (request.query.scopes && config.allowedScopes) {
|
|
@@ -9306,5 +9310,6 @@ SerializerModule = exports.SerializerModule = _ts_decorate3([
|
|
|
9306
9310
|
|
|
9307
9311
|
|
|
9308
9312
|
|
|
9309
|
-
|
|
9313
|
+
|
|
9314
|
+
exports.SerializeField = SerializeField; exports.SerializeRelation = SerializeRelation; exports.SerializerIdInterceptor = SerializerIdInterceptor; exports.SerializerInterceptor = SerializerInterceptor; exports.SerializerModule = SerializerModule; exports.SerializerQuery = SerializerQuery; exports.SerializerService = SerializerService;
|
|
9310
9315
|
//# sourceMappingURL=index.js.map
|