mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
Added random-bigint library for verificationCode, store EmailOptIn data in DB.
This commit is contained in:
parent
d097e5cd76
commit
8bfc538824
5
backend/package-lock.json
generated
5
backend/package-lock.json
generated
@ -5697,6 +5697,11 @@
|
|||||||
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
|
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"random-bigint": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/random-bigint/-/random-bigint-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-X+NTsf5Hzl/tRNLiNTD3N1LRU0eKdIE0+plNlV1CmXLTlnAxj6HipcTnOhWvFRoSytCz6l1f4KYFf/iH8NNSLw=="
|
||||||
|
},
|
||||||
"range-parser": {
|
"range-parser": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
||||||
|
|||||||
@ -28,6 +28,7 @@
|
|||||||
"jsonwebtoken": "^8.5.1",
|
"jsonwebtoken": "^8.5.1",
|
||||||
"module-alias": "^2.2.2",
|
"module-alias": "^2.2.2",
|
||||||
"mysql2": "^2.3.0",
|
"mysql2": "^2.3.0",
|
||||||
|
"random-bigint": "^0.0.1",
|
||||||
"reflect-metadata": "^0.1.13",
|
"reflect-metadata": "^0.1.13",
|
||||||
"sodium-native": "^3.3.0",
|
"sodium-native": "^3.3.0",
|
||||||
"ts-jest": "^27.0.5",
|
"ts-jest": "^27.0.5",
|
||||||
|
|||||||
@ -29,6 +29,7 @@ import { LoginUserRepository } from '../../typeorm/repository/LoginUser'
|
|||||||
import { LoginUserBackupRepository } from '../../typeorm/repository/LoginUserBackup'
|
import { LoginUserBackupRepository } from '../../typeorm/repository/LoginUserBackup'
|
||||||
import { LoginUser } from '@entity/LoginUser'
|
import { LoginUser } from '@entity/LoginUser'
|
||||||
import { LoginUserBackup } from '@entity/LoginUserBackup'
|
import { LoginUserBackup } from '@entity/LoginUserBackup'
|
||||||
|
import { LoginEmailOptIn } from '@entity/LoginEmailOptIn'
|
||||||
|
|
||||||
// TODO apparently the types are cannot be loaded correctly? IDK whats wrong and we have to use require
|
// TODO apparently the types are cannot be loaded correctly? IDK whats wrong and we have to use require
|
||||||
// import {
|
// import {
|
||||||
@ -43,6 +44,8 @@ import { LoginUserBackup } from '@entity/LoginUserBackup'
|
|||||||
// } from 'sodium-native'
|
// } from 'sodium-native'
|
||||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
const sodium = require('sodium-native')
|
const sodium = require('sodium-native')
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
|
const random = require('random-bigint')
|
||||||
|
|
||||||
// We will reuse this for changePassword
|
// We will reuse this for changePassword
|
||||||
const isPassword = (password: string): boolean => {
|
const isPassword = (password: string): boolean => {
|
||||||
@ -374,16 +377,23 @@ export class UserResolver {
|
|||||||
throw new Error('error saving user')
|
throw new Error('error saving user')
|
||||||
})
|
})
|
||||||
|
|
||||||
// TODO: send EMail (EMAIL_OPT_IN_REGISTER)
|
// Store EmailOptIn in DB
|
||||||
// const emailType = 2
|
const emailOptIn = new LoginEmailOptIn()
|
||||||
// auto emailOptIn = controller::EmailVerificationCode::create(userModel->getID(), model::table::EMAIL_OPT_IN_REGISTER);
|
emailOptIn.userId = loginUserId
|
||||||
// auto code = createEmailVerificationCode();
|
emailOptIn.verificationCode = random(64) // TODO generate verificationCode
|
||||||
// auto db = new model::table::EmailOptIn(code, userModel->getID(), model::table::EMAIL_OPT_IN_REGISTER);
|
emailOptIn.emailOptInTypeId = 2
|
||||||
// auto emailOptInModel = emailOptIn->getModel();
|
|
||||||
|
await queryRunner.manager.save(emailOptIn).catch((error) => {
|
||||||
|
// TODO: Send error email instead of throw error
|
||||||
// if (!emailOptInModel->insertIntoDB(false)) {
|
// if (!emailOptInModel->insertIntoDB(false)) {
|
||||||
// emailOptInModel->sendErrorsAsEmail();
|
// emailOptInModel->sendErrorsAsEmail();
|
||||||
// return stateError("insert emailOptIn failed");
|
// return stateError("insert emailOptIn failed");
|
||||||
// }
|
// }
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.log('Error while saving emailOptIn', error)
|
||||||
|
throw new Error('error saving email opt in')
|
||||||
|
})
|
||||||
|
// TODO: Send EmailOptIn to user.email
|
||||||
// emailOptIn->setBaseUrl(user->getGroupBaseUrl() + ServerConfig::g_frontend_checkEmailPath);
|
// emailOptIn->setBaseUrl(user->getGroupBaseUrl() + ServerConfig::g_frontend_checkEmailPath);
|
||||||
// em->addEmail(new model::Email(emailOptIn, user, model::Email::convertTypeFromInt(emailType)));
|
// em->addEmail(new model::Email(emailOptIn, user, model::Email::convertTypeFromInt(emailType)));
|
||||||
await queryRunner.commitTransaction()
|
await queryRunner.commitTransaction()
|
||||||
|
|||||||
@ -4615,6 +4615,11 @@ queue-microtask@^1.2.2:
|
|||||||
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
|
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
|
||||||
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
||||||
|
|
||||||
|
random-bigint@^0.0.1:
|
||||||
|
version "0.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/random-bigint/-/random-bigint-0.0.1.tgz#684de0a93784ab7448a441393916f0e632c95df9"
|
||||||
|
integrity sha512-X+NTsf5Hzl/tRNLiNTD3N1LRU0eKdIE0+plNlV1CmXLTlnAxj6HipcTnOhWvFRoSytCz6l1f4KYFf/iH8NNSLw==
|
||||||
|
|
||||||
range-parser@~1.2.1:
|
range-parser@~1.2.1:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
|
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user