use class-transformer to validate interfaces
This commit is contained in:
parent
7bc047b4da
commit
264da24033
11
package-lock.json
generated
11
package-lock.json
generated
@ -1,18 +1,19 @@
|
||||
{
|
||||
"name": "@apihub24/token-authentication",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.5",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@apihub24/token-authentication",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.5",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@apihub24/repository": "^1.0.3",
|
||||
"@nestjs/common": "^11.1.6",
|
||||
"@nestjs/config": "^4.0.2",
|
||||
"@nestjs/core": "^11.1.6",
|
||||
"class-transformer": "^0.5.1",
|
||||
"class-validator": "^0.14.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -2022,6 +2023,12 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/class-transformer": {
|
||||
"version": "0.5.1",
|
||||
"resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz",
|
||||
"integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/class-validator": {
|
||||
"version": "0.14.2",
|
||||
"resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.14.2.tgz",
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@apihub24/token-authentication",
|
||||
"version": "1.0.4",
|
||||
"version": "1.0.5",
|
||||
"description": "",
|
||||
"main": "dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
@ -16,7 +16,8 @@
|
||||
"@nestjs/config": "^4.0.2",
|
||||
"@nestjs/core": "^11.1.6",
|
||||
"@apihub24/repository": "^1.0.3",
|
||||
"class-validator": "^0.14.2"
|
||||
"class-validator": "^0.14.2",
|
||||
"class-transformer": "^0.5.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"rimraf": "^6.0.1",
|
||||
|
||||
@ -5,6 +5,8 @@ import * as passwordService from "../contracts/services/password.service";
|
||||
import { IRegistration } from "../contracts/models/registration";
|
||||
import { IAccount } from "../contracts/models/account";
|
||||
import { Account } from "../models/account";
|
||||
import { plainToClass } from "class-transformer";
|
||||
import { Registration } from "../models/registration";
|
||||
|
||||
@Injectable()
|
||||
export class AccountFactoryService {
|
||||
@ -16,7 +18,9 @@ export class AccountFactoryService {
|
||||
) {}
|
||||
|
||||
async createFromRegistration(registration: IRegistration): Promise<IAccount> {
|
||||
let validationErrors = await validate(registration);
|
||||
let validationErrors = await validate(
|
||||
plainToClass(Registration, registration)
|
||||
);
|
||||
if (validationErrors?.length) {
|
||||
throw new Error(validationErrors[0].toString());
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user