Skip to content

Commit 49c9fdc

Browse files
Merge pull request #3974 from RedisInsight/be/feature/packages-rollback-class-transform
rollback class-transform to 0.3.x (0.3.1)
2 parents 8e48639 + efec48a commit 49c9fdc

File tree

78 files changed

+305
-287
lines changed

Some content is hidden

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

78 files changed

+305
-287
lines changed

configs/webpack.config.base.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ const configuration: webpack.Configuration = {
6161
// 'reflect-metadata',
6262
// 'swagger-ui-express',
6363
// 'class-transformer',
64-
'class-transformer/storage',
64+
// 'class-transformer/storage',
6565
// '@nestjs/websockets',
6666
// '@nestjs/core/adapters/http-adapter',
6767
// '@nestjs/core/helpers/router-method-factory',

redisinsight/api/package.json

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,33 +43,30 @@
4343
"nanoid": "^3.1.31",
4444
"word-wrap": "1.2.4",
4545
"jest/**/micromatch": "^4.0.8",
46-
"ts-loader/micromatch": "^4.0.8",
4746
"mocha/minimatch": "^3.0.5",
4847
"@nestjs/serve-static/path-to-regexp": "^1.9.0",
49-
"@nestjs/platform-express/express": "^4.21.1",
5048
"@nestjs/platform-socket.io/socket.io": "^4.8.0",
5149
"@nestjs/cli/**/braces": "^3.0.3",
52-
"@okta/okta-auth-js/**/jsonpath-plus": "^10.0.0",
5350
"**/semver": "^7.5.2",
5451
"winston-daily-rotate-file/**/file-stream-rotator": "^1.0.0"
5552
},
5653
"dependencies": {
57-
"@nestjs/common": "^10.4.4",
58-
"@nestjs/core": "^10.4.4",
54+
"@nestjs/common": "^10.4.5",
55+
"@nestjs/core": "^10.4.5",
5956
"@nestjs/event-emitter": "^2.0.4",
60-
"@nestjs/platform-express": "^10.4.4",
61-
"@nestjs/platform-socket.io": "^10.4.4",
57+
"@nestjs/platform-express": "^10.4.5",
58+
"@nestjs/platform-socket.io": "^10.4.5",
6259
"@nestjs/serve-static": "^4.0.2",
6360
"@nestjs/swagger": "^7.4.2",
6461
"@nestjs/typeorm": "^10.0.2",
65-
"@nestjs/websockets": "^10.4.4",
66-
"@okta/okta-auth-js": "^7.8.0",
62+
"@nestjs/websockets": "^10.4.5",
63+
"@okta/okta-auth-js": "^7.8.1",
6764
"@segment/analytics-node": "^2.1.3",
6865
"adm-zip": "^0.5.9",
6966
"axios": "^1.7.4",
7067
"body-parser": "^1.20.3",
7168
"busboy": "^1.6.0",
72-
"class-transformer": "^0.5.1",
69+
"class-transformer": "^0.3.1",
7370
"class-validator": "^0.14.1",
7471
"combined-stream": "^1.0.8",
7572
"connect-timeout": "^1.9.0",
@@ -84,7 +81,7 @@
8481
"keytar": "^7.9.0",
8582
"lodash": "^4.17.20",
8683
"nest-winston": "^1.9.7",
87-
"nestjs-form-data": "^1.9.91",
84+
"nestjs-form-data": "~1.8.7",
8885
"node-version-compare": "^1.0.3",
8986
"quicktype-core": "^23.0.116",
9087
"redis": "^4.6.10",
@@ -104,8 +101,8 @@
104101
"devDependencies": {
105102
"@mochajs/json-file-reporter": "^1.3.0",
106103
"@nestjs/cli": "^10.4.5",
107-
"@nestjs/schematics": "^10.1.4",
108-
"@nestjs/testing": "^10.4.4",
104+
"@nestjs/schematics": "^10.2.2",
105+
"@nestjs/testing": "^10.4.5",
109106
"@types/adm-zip": "^0.5.0",
110107
"@types/express": "^4.17.3",
111108
"@types/jest": "^26.0.15",

redisinsight/api/src/__mocks__/browser-history.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { plainToInstance } from 'class-transformer';
1+
import { plainToClass } from 'class-transformer';
22
import { v4 as uuidv4 } from 'uuid';
33
import {
44
mockDatabase,
@@ -26,7 +26,7 @@ export const mockBrowserHistoryRepository = jest.fn(() => ({
2626

2727
export const mockCreateBrowserHistoryDto: CreateBrowserHistoryDto = {
2828
mode: BrowserHistoryMode.Pattern,
29-
filter: plainToInstance(ScanFilter, {
29+
filter: plainToClass(ScanFilter, {
3030
type: RedisDataType.String,
3131
match: 'key*',
3232
}),

redisinsight/api/src/__mocks__/cloud-user.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
ICloudCapiAccount,
88
} from 'src/modules/cloud/user/models';
99
import config, { Config } from 'src/utils/config';
10-
import { instanceToPlain } from 'class-transformer';
10+
import { classToPlain } from 'class-transformer';
1111
import { mockCloudApiCapiAccessKey, mockCloudCapiAuthDto, mockCloudCapiKey } from 'src/__mocks__/cloud-capi-key';
1212
import { mockCloudApiAuthDto, mockCloudSession } from 'src/__mocks__/cloud-session';
1313

@@ -102,7 +102,7 @@ export const mockCloudUser = Object.assign(new CloudUser(), {
102102
capiKey: mockCloudCapiKey,
103103
});
104104

105-
export const mockCloudUserSafe = instanceToPlain(mockCloudUser); // omits all data in the "security" group
105+
export const mockCloudUserSafe = classToPlain(mockCloudUser); // omits all data in the "security" group
106106

107107
export const mockCloudApiAccount: ICloudApiAccount = {
108108
id: mockCloudCapiAccount.id,

redisinsight/api/src/common/decorators/client-metadata/client-metadata.decorator.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { BadRequestException, createParamDecorator, ExecutionContext } from '@nestjs/common';
2-
import { plainToInstance } from 'class-transformer';
2+
import { plainToClass } from 'class-transformer';
33
import { ClientContext, ClientMetadata } from 'src/common/models';
44
import { Validator } from 'class-validator';
55
import { API_HEADER_DATABASE_INDEX, API_PARAM_DATABASE_ID } from 'src/common/constants';
@@ -31,7 +31,7 @@ export const clientMetadataParamFactory = (
3131
uniqueId = req.params?.[options.uniqueIdParam];
3232
}
3333

34-
const clientMetadata = plainToInstance(ClientMetadata, {
34+
const clientMetadata = plainToClass(ClientMetadata, {
3535
sessionMetadata: sessionMetadataFromRequestExecutionContext(undefined, ctx),
3636
databaseId,
3737
uniqueId,

redisinsight/api/src/common/decorators/data-as-json-string.decorator.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import { Transform } from 'class-transformer';
33

44
export function DataAsJsonString() {
55
return applyDecorators(
6-
Transform(({ value }) => JSON.stringify(value), { toClassOnly: true }),
6+
Transform((value) => JSON.stringify(value), { toClassOnly: true }),
77
Transform(
8-
({ value }) => {
8+
(value) => {
99
try {
1010
return JSON.parse(value);
1111
} catch (e) {

redisinsight/api/src/common/decorators/default.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ import { Transform } from 'class-transformer';
22
import { cloneDeep } from 'lodash';
33

44
export function Default(defaultValue: unknown): PropertyDecorator {
5-
return Transform(({ value }) => value ?? cloneDeep(defaultValue));
5+
return Transform((value) => value ?? cloneDeep(defaultValue));
66
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { Transform } from 'class-transformer';
22

33
export function HiddenField(field: any): PropertyDecorator {
4-
return Transform(({ value }) => (value ? field : undefined), {
4+
return Transform((value) => (value ? field : undefined), {
55
toPlainOnly: true,
66
});
77
}

redisinsight/api/src/common/decorators/object-as-map.decorator.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
import { forEach } from 'lodash';
22
import { applyDecorators } from '@nestjs/common';
3-
import { instanceToPlain, plainToInstance, Transform } from 'class-transformer';
4-
import { ClassConstructor } from 'class-transformer/types/interfaces';
3+
import { classToPlain, plainToClass, Transform } from 'class-transformer';
4+
import { ClassType } from 'class-transformer/ClassTransformer';
55

6-
export function ObjectAsMap<T>(targetClass: ClassConstructor<T>) {
6+
export function ObjectAsMap<T>(targetClass: ClassType<T>) {
77
return applyDecorators(
88
Transform(
9-
({ value: object }): Map<string, T> => {
9+
(object): Map<string, T> => {
1010
const result = new Map();
1111

1212
try {
1313
forEach(object, (value, key) => {
14-
result.set(key, plainToInstance(targetClass, value));
14+
result.set(key, plainToClass(targetClass, value));
1515
});
1616

1717
return result;
@@ -22,12 +22,12 @@ export function ObjectAsMap<T>(targetClass: ClassConstructor<T>) {
2222
{ toClassOnly: true },
2323
),
2424
Transform(
25-
({ value: map }): object => {
25+
(map): object => {
2626
try {
2727
const result = {};
2828

2929
forEach(Array.from(map), ([key, value]) => {
30-
result[key] = instanceToPlain(value);
30+
result[key] = classToPlain(value);
3131
});
3232

3333
return result;

redisinsight/api/src/common/decorators/session/session-metadata.decorator.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { BadRequestException, createParamDecorator, ExecutionContext } from '@nestjs/common';
2-
import { plainToInstance } from 'class-transformer';
2+
import { plainToClass } from 'class-transformer';
33
import { Validator } from 'class-validator';
44
import { Request } from 'express';
55
import { SessionMetadata } from 'src/common/models';
@@ -16,7 +16,7 @@ export const sessionMetadataFromRequest = (request: Request): SessionMetadata =>
1616
};
1717

1818
// todo: do not forget to deal with session vs sessionMetadata property
19-
const session = plainToInstance(SessionMetadata, requestSession);
19+
const session = plainToClass(SessionMetadata, requestSession);
2020

2121
const errors = validator.validateSync(session, {
2222
whitelist: false, // we need this to allow additional fields if needed for flexibility

0 commit comments

Comments
 (0)