Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
/* Add the admin group and permission */
await createConnection({
database: 'e2e_db.sqlite',
entities: [ User, Permission, Group ],
name: 'perm-connection',
type: 'sqlite',
});
const user2 = await getRepository(User, 'perm-connection').findOne({ email: 'john@foalts.org' });
if (!user2) {
throw new Error('John was not found in the database.');
}
const perm = new Permission();
perm.codeName = 'admin';
perm.name = 'Admin permission';
await getRepository(Permission, 'perm-connection').save(perm);
const group = new Group();
group.name = 'Administrators';
group.codeName = 'administrators';
group.permissions = [ perm ];
await getRepository(Group, 'perm-connection').save(group);
user2.groups = [ group ];
await getRepository(User, 'perm-connection').save(user2);
await getConnection('perm-connection').close();
/* Access the route that requires a specific permission */
/* Add the admin group and permission */
await createConnection({
database: 'e2e_db.sqlite',
entities: [ User, Permission, Group ],
name: 'perm-connection',
type: 'sqlite',
});
const user2 = await getRepository(User, 'perm-connection').findOne({ email: 'john@foalts.org' });
if (!user2) {
throw new Error('John was not found in the database.');
}
const perm = new Permission();
perm.codeName = 'admin';
perm.name = 'Admin permission';
await getRepository(Permission, 'perm-connection').save(perm);
const group = new Group();
group.name = 'Administrators';
group.codeName = 'administrators';
group.permissions = [ perm ];
await getRepository(Group, 'perm-connection').save(group);
user2.groups = [ group ];
await getRepository(User, 'perm-connection').save(user2);
await getConnection('perm-connection').close();
/* Access the route that requires a specific permission */
export async function main(args) {
const permission = new Permission();
permission.codeName = args.codeName;
permission.name = args.name;
await createConnection({
database: './e2e_db.sqlite',
entities: [ Permission ],
type: 'sqlite',
});
try {
console.log(
await getManager().save(permission)
);
} catch (error) {
console.log(error.message);
} finally {
before(async () => {
process.env.SETTINGS_SESSION_SECRET = 'session-secret';
await createConnection({
database: 'e2e_db.sqlite',
dropSchema: true,
entities: [ User, Permission, Group ],
synchronize: true,
type: 'sqlite',
});
const user1 = new User();
const user2 = new User();
const perm = new Permission();
perm.codeName = 'access-foo';
perm.name = 'Foo permission';
await getRepository(Permission).save(perm);
const group = new Group();
group.name = 'Administrators';
group.codeName = 'administrators';
group.permissions = [ perm ];
await getRepository(Group).save(group);
user1.userPermissions = [ perm ];
user2.groups = [ group ];
await getRepository(User).save([ user1, user2 ]);
const session1 = await createService(TypeORMStore).createAndSaveSessionFromUser(user1);