mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-13 22:54:42 -04:00
feat: add base implementation for realtime communication
Signed-off-by: Philip Molares <philip.molares@udo.edu> Signed-off-by: Erik Michelson <github@erik.michelson.eu> Co-authored-by: Erik Michelson <github@erik.michelson.eu> Co-authored-by: Philip Molares <philip.molares@udo.edu> Co-authored-by: Tilman Vatteroth <git@tilmanvatteroth.de> Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
d9ef44766d
commit
ce29cc0a2e
44 changed files with 2151 additions and 65 deletions
49
src/seed.ts
49
src/seed.ts
|
@ -66,11 +66,9 @@ dataSource
|
|||
|
||||
for (let i = 0; i < 3; i++) {
|
||||
const author = (await dataSource.manager.save(
|
||||
dataSource.manager.create(Author, Author.create(1)),
|
||||
Author.create(1),
|
||||
)) as Author;
|
||||
const user = (await dataSource.manager.save(
|
||||
dataSource.manager.create(User, users[i]),
|
||||
)) as User;
|
||||
const user = (await dataSource.manager.save(users[i])) as User;
|
||||
const identity = Identity.create(user, ProviderType.LOCAL, false);
|
||||
identity.passwordHash = await hashPassword(password);
|
||||
dataSource.manager.create(Identity, identity);
|
||||
|
@ -95,6 +93,49 @@ dataSource
|
|||
identity,
|
||||
]);
|
||||
}
|
||||
const createdUsers = await dataSource.manager.find(User);
|
||||
const groupEveryone = Group.create('_EVERYONE', 'Everyone', true) as Group;
|
||||
const groupLoggedIn = Group.create(
|
||||
'_LOGGED_IN',
|
||||
'Logged-in users',
|
||||
true,
|
||||
) as Group;
|
||||
await dataSource.manager.save([groupEveryone, groupLoggedIn]);
|
||||
|
||||
for (let i = 0; i < 3; i++) {
|
||||
if (i === 0) {
|
||||
const permission1 = NoteUserPermission.create(
|
||||
createdUsers[0],
|
||||
notes[i],
|
||||
true,
|
||||
);
|
||||
const permission2 = NoteUserPermission.create(
|
||||
createdUsers[1],
|
||||
notes[i],
|
||||
false,
|
||||
);
|
||||
notes[i].userPermissions = Promise.resolve([permission1, permission2]);
|
||||
notes[i].groupPermissions = Promise.resolve([]);
|
||||
await dataSource.manager.save([notes[i], permission1, permission2]);
|
||||
}
|
||||
|
||||
if (i === 1) {
|
||||
const readPermission = NoteGroupPermission.create(
|
||||
groupEveryone,
|
||||
notes[i],
|
||||
false,
|
||||
);
|
||||
notes[i].userPermissions = Promise.resolve([]);
|
||||
notes[i].groupPermissions = Promise.resolve([readPermission]);
|
||||
await dataSource.manager.save([notes[i], readPermission]);
|
||||
}
|
||||
|
||||
if (i === 2) {
|
||||
notes[i].owner = Promise.resolve(createdUsers[0]);
|
||||
await dataSource.manager.save([notes[i]]);
|
||||
}
|
||||
}
|
||||
|
||||
const foundUsers = await dataSource.manager.find(User);
|
||||
if (!foundUsers) {
|
||||
throw new Error('Could not find freshly seeded users. Aborting.');
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue