Browse Source

Task/refactor from v4 as uuidv4 from uuid to crypto.randomUUID() (#5990)

* Refactor from v4 as uuidv4 from uuid to randomUUID() from node:crypto

* Update changelog
pull/5984/head^2
Thomas Kaul 4 days ago
committed by GitHub
parent
commit
2765fb1df7
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 4
      CHANGELOG.md
  2. 6
      apps/api/src/app/import/import.service.ts
  3. 4
      apps/api/src/app/order/order.service.ts
  4. 4
      apps/api/src/services/demo/demo.service.ts
  5. 2
      package-lock.json
  6. 1
      package.json

4
CHANGELOG.md

@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## Unreleased ## Unreleased
### Changed
- Eliminated `uuid` in favor of using `randomUUID` from `node:crypto`
### Fixed ### Fixed
- Fixed an issue with the exchange rate calculation when converting between derived currencies and their root currencies - Fixed an issue with the exchange rate calculation when converting between derived currencies and their root currencies

6
apps/api/src/app/import/import.service.ts

@ -35,7 +35,7 @@ import { DataSource, Prisma, SymbolProfile } from '@prisma/client';
import { Big } from 'big.js'; import { Big } from 'big.js';
import { endOfToday, isAfter, isSameSecond, parseISO } from 'date-fns'; import { endOfToday, isAfter, isSameSecond, parseISO } from 'date-fns';
import { omit, uniqBy } from 'lodash'; import { omit, uniqBy } from 'lodash';
import { v4 as uuidv4 } from 'uuid'; import { randomUUID } from 'node:crypto';
import { ImportDataDto } from './import-data.dto'; import { ImportDataDto } from './import-data.dto';
@ -277,7 +277,7 @@ export class ImportService {
// Asset profile belongs to a different user // Asset profile belongs to a different user
if (existingAssetProfile) { if (existingAssetProfile) {
const symbol = uuidv4(); const symbol = randomUUID();
assetProfileSymbolMapping[assetProfile.symbol] = symbol; assetProfileSymbolMapping[assetProfile.symbol] = symbol;
assetProfile.symbol = symbol; assetProfile.symbol = symbol;
} }
@ -496,7 +496,7 @@ export class ImportService {
accountId: validatedAccount?.id, accountId: validatedAccount?.id,
accountUserId: undefined, accountUserId: undefined,
createdAt: new Date(), createdAt: new Date(),
id: uuidv4(), id: randomUUID(),
isDraft: isAfter(date, endOfToday()), isDraft: isAfter(date, endOfToday()),
SymbolProfile: { SymbolProfile: {
assetClass, assetClass,

4
apps/api/src/app/order/order.service.ts

@ -37,7 +37,7 @@ import { Big } from 'big.js';
import { isUUID } from 'class-validator'; import { isUUID } from 'class-validator';
import { endOfToday, isAfter } from 'date-fns'; import { endOfToday, isAfter } from 'date-fns';
import { groupBy, uniqBy } from 'lodash'; import { groupBy, uniqBy } from 'lodash';
import { v4 as uuidv4 } from 'uuid'; import { randomUUID } from 'node:crypto';
@Injectable() @Injectable()
export class OrderService { export class OrderService {
@ -143,7 +143,7 @@ export class OrderService {
} else { } else {
// Create custom asset profile // Create custom asset profile
name = name ?? data.SymbolProfile.connectOrCreate.create.symbol; name = name ?? data.SymbolProfile.connectOrCreate.create.symbol;
symbol = uuidv4(); symbol = randomUUID();
} }
data.SymbolProfile.connectOrCreate.create.assetClass = assetClass; data.SymbolProfile.connectOrCreate.create.assetClass = assetClass;

4
apps/api/src/services/demo/demo.service.ts

@ -7,7 +7,7 @@ import {
} from '@ghostfolio/common/config'; } from '@ghostfolio/common/config';
import { Injectable } from '@nestjs/common'; import { Injectable } from '@nestjs/common';
import { v4 as uuidv4 } from 'uuid'; import { randomUUID } from 'node:crypto';
@Injectable() @Injectable()
export class DemoService { export class DemoService {
@ -41,7 +41,7 @@ export class DemoService {
accountId: demoAccountId, accountId: demoAccountId,
accountUserId: demoUserId, accountUserId: demoUserId,
comment: null, comment: null,
id: uuidv4(), id: randomUUID(),
userId: demoUserId userId: demoUserId
}; };
}); });

2
package-lock.json

@ -89,7 +89,6 @@
"svgmap": "2.14.0", "svgmap": "2.14.0",
"tablemark": "4.1.0", "tablemark": "4.1.0",
"twitter-api-v2": "1.27.0", "twitter-api-v2": "1.27.0",
"uuid": "11.1.0",
"yahoo-finance2": "3.10.2", "yahoo-finance2": "3.10.2",
"zone.js": "0.15.1" "zone.js": "0.15.1"
}, },
@ -40596,6 +40595,7 @@
"https://github.com/sponsors/ctavan" "https://github.com/sponsors/ctavan"
], ],
"license": "MIT", "license": "MIT",
"optional": true,
"bin": { "bin": {
"uuid": "dist/esm/bin/uuid" "uuid": "dist/esm/bin/uuid"
} }

1
package.json

@ -135,7 +135,6 @@
"svgmap": "2.14.0", "svgmap": "2.14.0",
"tablemark": "4.1.0", "tablemark": "4.1.0",
"twitter-api-v2": "1.27.0", "twitter-api-v2": "1.27.0",
"uuid": "11.1.0",
"yahoo-finance2": "3.10.2", "yahoo-finance2": "3.10.2",
"zone.js": "0.15.1" "zone.js": "0.15.1"
}, },

Loading…
Cancel
Save