mirror of
https://github.com/IT4Change/gradido.git
synced 2026-04-25 23:37:36 +00:00
seed peter lustig as admin
This commit is contained in:
parent
2ca75ba8fc
commit
56e95718e1
@ -8,8 +8,8 @@ export class ServerUser extends BaseEntity {
|
|||||||
@Column({ length: 50 })
|
@Column({ length: 50 })
|
||||||
username: string
|
username: string
|
||||||
|
|
||||||
@Column({ type: 'bigint', unsigned: true })
|
@Column({ length: 255 })
|
||||||
password: BigInt
|
password: string
|
||||||
|
|
||||||
@Column({ length: 50, unique: true })
|
@Column({ length: 50, unique: true })
|
||||||
email: string
|
email: string
|
||||||
@ -23,9 +23,9 @@ export class ServerUser extends BaseEntity {
|
|||||||
@Column({ name: 'last_login', default: null, nullable: true })
|
@Column({ name: 'last_login', default: null, nullable: true })
|
||||||
lastLogin: Date
|
lastLogin: Date
|
||||||
|
|
||||||
@Column({ name: 'created', default: () => 'CURRENT_TIMESTAMP' })
|
@Column({ default: () => 'CURRENT_TIMESTAMP' })
|
||||||
created: Date
|
created: Date
|
||||||
|
|
||||||
@Column({ name: 'created', default: () => 'CURRENT_TIMESTAMP' })
|
@Column({ default: () => 'CURRENT_TIMESTAMP' })
|
||||||
modified: Date
|
modified: Date
|
||||||
}
|
}
|
||||||
|
|||||||
13
database/entity/0003-login_server_tables/LoginUserRoles.ts
Normal file
13
database/entity/0003-login_server_tables/LoginUserRoles.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { BaseEntity, Entity, PrimaryGeneratedColumn, Column } from 'typeorm'
|
||||||
|
|
||||||
|
@Entity('login_user_roles')
|
||||||
|
export class LoginUserRoles extends BaseEntity {
|
||||||
|
@PrimaryGeneratedColumn('increment', { unsigned: true })
|
||||||
|
id: number
|
||||||
|
|
||||||
|
@Column({ name: 'user_id' })
|
||||||
|
userId: number
|
||||||
|
|
||||||
|
@Column({ name: 'role_id' })
|
||||||
|
roleId: number
|
||||||
|
}
|
||||||
1
database/entity/LoginUserRoles.ts
Normal file
1
database/entity/LoginUserRoles.ts
Normal file
@ -0,0 +1 @@
|
|||||||
|
export { LoginUserRoles } from './0003-login_server_tables/LoginUserRoles'
|
||||||
@ -2,6 +2,7 @@ import { Balance } from './Balance'
|
|||||||
import { LoginElopageBuys } from './LoginElopageBuys'
|
import { LoginElopageBuys } from './LoginElopageBuys'
|
||||||
import { LoginEmailOptIn } from './LoginEmailOptIn'
|
import { LoginEmailOptIn } from './LoginEmailOptIn'
|
||||||
import { LoginUser } from './LoginUser'
|
import { LoginUser } from './LoginUser'
|
||||||
|
import { LoginUserRoles } from './LoginUserRoles'
|
||||||
import { LoginUserBackup } from './LoginUserBackup'
|
import { LoginUserBackup } from './LoginUserBackup'
|
||||||
import { Migration } from './Migration'
|
import { Migration } from './Migration'
|
||||||
import { ServerUser } from './ServerUser'
|
import { ServerUser } from './ServerUser'
|
||||||
@ -17,6 +18,7 @@ export const entities = [
|
|||||||
LoginElopageBuys,
|
LoginElopageBuys,
|
||||||
LoginEmailOptIn,
|
LoginEmailOptIn,
|
||||||
LoginUser,
|
LoginUser,
|
||||||
|
LoginUserRoles,
|
||||||
LoginUserBackup,
|
LoginUserBackup,
|
||||||
Migration,
|
Migration,
|
||||||
ServerUser,
|
ServerUser,
|
||||||
|
|||||||
@ -10,7 +10,7 @@ interface LoginUserBackupContext {
|
|||||||
|
|
||||||
define(LoginUserBackup, (faker: typeof Faker, context?: LoginUserBackupContext) => {
|
define(LoginUserBackup, (faker: typeof Faker, context?: LoginUserBackupContext) => {
|
||||||
if (!context) context = {}
|
if (!context) context = {}
|
||||||
if (!context.userId) throw new Error('LoginUserBackup: No iserId present!')
|
if (!context.userId) throw new Error('LoginUserBackup: No userId present!')
|
||||||
|
|
||||||
const userBackup = new LoginUserBackup()
|
const userBackup = new LoginUserBackup()
|
||||||
// TODO: Get the real passphrase
|
// TODO: Get the real passphrase
|
||||||
|
|||||||
20
database/src/factories/login-user-roles.factory.ts
Normal file
20
database/src/factories/login-user-roles.factory.ts
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
import Faker from 'faker'
|
||||||
|
import { define } from 'typeorm-seeding'
|
||||||
|
import { LoginUserRoles } from '../../entity/LoginUserRoles'
|
||||||
|
|
||||||
|
interface LoginUserRolesContext {
|
||||||
|
userId?: number
|
||||||
|
roleId?: number
|
||||||
|
}
|
||||||
|
|
||||||
|
define(LoginUserRoles, (faker: typeof Faker, context?: LoginUserRolesContext) => {
|
||||||
|
if (!context) context = {}
|
||||||
|
if (!context.userId) throw new Error('LoginUserRoles: No userId present!')
|
||||||
|
if (!context.roleId) throw new Error('LoginUserRoles: No roleId present!')
|
||||||
|
|
||||||
|
const userRoles = new LoginUserRoles()
|
||||||
|
userRoles.userId = context.userId
|
||||||
|
userRoles.roleId = context.roleId
|
||||||
|
|
||||||
|
return userRoles
|
||||||
|
})
|
||||||
@ -4,7 +4,7 @@ import { ServerUser } from '../../entity/ServerUser'
|
|||||||
|
|
||||||
interface ServerUserContext {
|
interface ServerUserContext {
|
||||||
username?: string
|
username?: string
|
||||||
password?: BigInt
|
password?: string
|
||||||
email?: string
|
email?: string
|
||||||
role?: string
|
role?: string
|
||||||
activated?: number
|
activated?: number
|
||||||
@ -18,7 +18,7 @@ define(ServerUser, (faker: typeof Faker, context?: ServerUserContext) => {
|
|||||||
|
|
||||||
const user = new ServerUser()
|
const user = new ServerUser()
|
||||||
user.username = context.username ? context.username : faker.internet.userName()
|
user.username = context.username ? context.username : faker.internet.userName()
|
||||||
user.password = context.password ? context.password : BigInt(0)
|
user.password = context.password ? context.password : faker.internet.password()
|
||||||
user.email = context.email ? context.email : faker.internet.email()
|
user.email = context.email ? context.email : faker.internet.email()
|
||||||
user.role = context.role ? context.role : 'admin'
|
user.role = context.role ? context.role : 'admin'
|
||||||
user.activated = context.activated ? context.activated : 0
|
user.activated = context.activated ? context.activated : 0
|
||||||
|
|||||||
@ -2,7 +2,8 @@ import { Factory, Seeder } from 'typeorm-seeding'
|
|||||||
import { User } from '../../../entity/User'
|
import { User } from '../../../entity/User'
|
||||||
import { LoginUser } from '../../../entity/LoginUser'
|
import { LoginUser } from '../../../entity/LoginUser'
|
||||||
import { LoginUserBackup } from '../../../entity/LoginUserBackup'
|
import { LoginUserBackup } from '../../../entity/LoginUserBackup'
|
||||||
// import { ServerUser } from '../../../entity/ServerUser'
|
import { ServerUser } from '../../../entity/ServerUser'
|
||||||
|
import { LoginUserRoles } from '../../../entity/LoginUserRoles'
|
||||||
|
|
||||||
const peterLustig = {
|
const peterLustig = {
|
||||||
email: 'peter@lustig.de',
|
email: 'peter@lustig.de',
|
||||||
@ -17,7 +18,7 @@ const peterLustig = {
|
|||||||
'hex',
|
'hex',
|
||||||
),
|
),
|
||||||
emailHash: Buffer.from('9f700e6f6ec351a140b674c0edd4479509697b023bd8bee8826915ef6c2af036', 'hex'),
|
emailHash: Buffer.from('9f700e6f6ec351a140b674c0edd4479509697b023bd8bee8826915ef6c2af036', 'hex'),
|
||||||
createdAt: new Date('2021-11-25T10:48:43'),
|
createdAt: new Date('2020-11-25T10:48:43'),
|
||||||
emailChecked: true,
|
emailChecked: true,
|
||||||
passphraseShown: false,
|
passphraseShown: false,
|
||||||
language: 'de',
|
language: 'de',
|
||||||
@ -28,9 +29,10 @@ const peterLustig = {
|
|||||||
'okay property choice naive calm present weird increase stuff royal vibrant frame attend wood one else tribe pull hedgehog woman kitchen hawk snack smart ',
|
'okay property choice naive calm present weird increase stuff royal vibrant frame attend wood one else tribe pull hedgehog woman kitchen hawk snack smart ',
|
||||||
mnemonicType: 2,
|
mnemonicType: 2,
|
||||||
role: 'admin',
|
role: 'admin',
|
||||||
activated: 0,
|
serverUserPassword: '$2y$10$TzIWLeZoKs251gwrhSQmHeKhKI/EQ4EV5ClfAT8Ufnb4lcUXPa5X.',
|
||||||
|
activated: 1,
|
||||||
lastLogin: new Date('2021-10-27T12:25:57'),
|
lastLogin: new Date('2021-10-27T12:25:57'),
|
||||||
modified: new Date('2021-10-27T12:25:57'),
|
modified: new Date('2021-09-27T12:25:57'),
|
||||||
isAdmin: true,
|
isAdmin: true,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,5 +71,21 @@ export class CreatePeterLustigSeed implements Seeder {
|
|||||||
mnemonicType: peterLustig.mnemonicType,
|
mnemonicType: peterLustig.mnemonicType,
|
||||||
userId: loginUser.id,
|
userId: loginUser.id,
|
||||||
}).create()
|
}).create()
|
||||||
|
|
||||||
|
await factory(ServerUser)({
|
||||||
|
role: peterLustig.role,
|
||||||
|
username: peterLustig.username,
|
||||||
|
password: peterLustig.serverUserPassword,
|
||||||
|
email: peterLustig.email,
|
||||||
|
activated: peterLustig.activated,
|
||||||
|
created: peterLustig.createdAt,
|
||||||
|
lastLogin: peterLustig.lastLogin,
|
||||||
|
modified: peterLustig.modified,
|
||||||
|
}).create()
|
||||||
|
|
||||||
|
await factory(LoginUserRoles)({
|
||||||
|
userId: loginUser.id,
|
||||||
|
roleId: 1,
|
||||||
|
}).create()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user