mirror of
https://github.com/twentyhq/twenty.git
synced 2024-11-24 06:48:42 +03:00
Seed workspace member in workspace schema (#2504)
* Seed workspace member in workspace schema * Fix
This commit is contained in:
parent
7c229217be
commit
01ccc13e36
@ -11,6 +11,7 @@ import { seedViewFields } from 'src/database/typeorm-seeds/tenant/view-fields';
|
||||
import { seedViews } from 'src/database/typeorm-seeds/tenant/views';
|
||||
import { TypeORMService } from 'src/database/typeorm/typeorm.service';
|
||||
import { seedMetadataSchema } from 'src/database/typeorm-seeds/metadata';
|
||||
import { seedWorkspaceMember } from 'src/database/typeorm-seeds/tenant/workspaceMember';
|
||||
|
||||
// TODO: implement dry-run
|
||||
@Command({
|
||||
@ -59,6 +60,7 @@ export class DataSeedTenantCommand extends CommandRunner {
|
||||
await seedCompanies(workspaceDataSource, dataSourceMetadata.schema);
|
||||
await seedViews(workspaceDataSource, dataSourceMetadata.schema);
|
||||
await seedViewFields(workspaceDataSource, dataSourceMetadata.schema);
|
||||
await seedWorkspaceMember(workspaceDataSource, dataSourceMetadata.schema);
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ export const seedComments = async (prisma: PrismaClient) => {
|
||||
title: 'Performance update',
|
||||
type: 'Note',
|
||||
body: '[{"id":"555df0c3-ab88-4c62-abae-c9b557c37c5b","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"In the North American region, we have observed a strong growth rate of 18% in sales. Europe followed suit with a significant 14% increase, while Asia-Pacific sustained its performance with a steady 10% rise. Special kudos to the North American team for the excellent work done in penetrating new markets and establishing stronger footholds in the existing ones.","styles":{}}],"children":[]},{"id":"13530934-b3ce-4332-9238-3760aa4acb3e","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[],"children":[]}]',
|
||||
authorId: 'twenty-ge256b39-3ec3-4fe3-8997-b76aa0bfa408',
|
||||
authorId: '20202020-c231-45c5-b9f2-cf8b70191f6d',
|
||||
},
|
||||
});
|
||||
|
||||
@ -34,7 +34,7 @@ export const seedComments = async (prisma: PrismaClient) => {
|
||||
body: 'Hi Félix ! How do you like your Twenty workspace?',
|
||||
activityId: 'twenty-fe256b39-3ec3-4fe3-8997-b76aa0bfb400',
|
||||
commentThreadId: 'twenty-fe256b39-3ec3-4fe3-8997-b76aa0bfb400',
|
||||
authorId: 'twenty-ge256b39-3ec3-4fe3-8997-b76aa0bfa408',
|
||||
authorId: '20202020-c231-45c5-b9f2-cf8b70191f6d',
|
||||
},
|
||||
});
|
||||
|
||||
@ -47,7 +47,7 @@ export const seedComments = async (prisma: PrismaClient) => {
|
||||
body: 'I love it!',
|
||||
activityId: 'twenty-fe256b39-3ec3-4fe3-8997-b76aa0bfb400',
|
||||
commentThreadId: 'twenty-fe256b39-3ec3-4fe3-8997-b76aa0bfb400',
|
||||
authorId: 'twenty-gk256b39-3ec3-4fe3-8997-b76aa0bfa408',
|
||||
authorId: '20202020-ef2e-45df-b677-32fa06d4bd2a',
|
||||
},
|
||||
});
|
||||
|
||||
@ -59,10 +59,10 @@ export const seedComments = async (prisma: PrismaClient) => {
|
||||
workspaceId: '20202020-1c25-4d02-bf25-6aeccf7ea419',
|
||||
title: 'Buyout Proposal',
|
||||
type: 'Task',
|
||||
assigneeId: 'twenty-ge256b39-3ec3-4fe3-8997-b76aa0bfa408',
|
||||
assigneeId: '20202020-c231-45c5-b9f2-cf8b70191f6d',
|
||||
dueAt: new Date('2021-03-01T00:00:00.000Z'),
|
||||
body: '[{"id":"333df0c3-ab88-4c62-abae-c9b557c37c5b","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[{"type":"text","text":"We are considering the potential acquisition of [Company], a leading company in [Industry/Specific Technology]. This company has demonstrated remarkable success and pioneering advancements in their field, paralleling our own commitment to progress. By integrating their expertise with our own, we believe that we can amplify our growth, broaden our offerings, and fortify our position at the forefront of technology. This prospective partnership could help to ensure our continued leadership in the industry and allow us to deliver even more innovative solutions for our customers.","styles":{}}],"children":[]},{"id":"13530934-b3ce-4332-9238-3760aa4acb3e","type":"paragraph","props":{"textColor":"default","backgroundColor":"default","textAlignment":"left"},"content":[],"children":[]}]',
|
||||
authorId: 'twenty-ge256b39-3ec3-4fe3-8997-b76aa0bfa408',
|
||||
authorId: '20202020-c231-45c5-b9f2-cf8b70191f6d',
|
||||
},
|
||||
});
|
||||
|
||||
@ -87,7 +87,7 @@ export const seedComments = async (prisma: PrismaClient) => {
|
||||
body: 'I really like this comment thread feature!',
|
||||
activityId: 'twenty-fe256b39-3ec3-4fe3-8997-b76aa0bfc408',
|
||||
commentThreadId: 'twenty-fe256b39-3ec3-4fe3-8997-b76aa0bfc408',
|
||||
authorId: 'twenty-ge256b39-3ec3-4fe3-8997-b76aa0bfa408',
|
||||
authorId: '20202020-c231-45c5-b9f2-cf8b70191f6d',
|
||||
},
|
||||
});
|
||||
|
||||
|
@ -9,10 +9,10 @@ export const seedUsers = async (prisma: PrismaClient) => {
|
||||
},
|
||||
});
|
||||
await prisma.user.upsert({
|
||||
where: { id: 'twenty-ge256b39-3ec3-4fe3-8997-b76aa0bfc102' },
|
||||
where: { id: '20202020-a838-4fa9-b59b-96409b9a1c30' },
|
||||
update: {},
|
||||
create: {
|
||||
id: 'twenty-ge256b39-3ec3-4fe3-8997-b76aa0bfc102',
|
||||
id: '20202020-a838-4fa9-b59b-96409b9a1c30',
|
||||
firstName: 'Tim',
|
||||
lastName: 'Apple',
|
||||
email: 'tim@apple.dev',
|
||||
@ -24,7 +24,7 @@ export const seedUsers = async (prisma: PrismaClient) => {
|
||||
workspaceMember: {
|
||||
connectOrCreate: {
|
||||
where: {
|
||||
id: 'twenty-7ef9d213-1c25-4d02-bf35-6aeccf7ea419',
|
||||
id: '20202020-0687-4c41-b707-ed1bfca972a7',
|
||||
},
|
||||
create: {
|
||||
workspaceId: '20202020-1c25-4d02-bf25-6aeccf7ea419',
|
||||
@ -44,10 +44,10 @@ export const seedUsers = async (prisma: PrismaClient) => {
|
||||
},
|
||||
});
|
||||
await prisma.user.upsert({
|
||||
where: { id: 'twenty-ge256b39-3ec3-4fe3-8997-b76aa0bfa408' },
|
||||
where: { id: '20202020-c231-45c5-b9f2-cf8b70191f6d' },
|
||||
update: {},
|
||||
create: {
|
||||
id: 'twenty-ge256b39-3ec3-4fe3-8997-b76aa0bfa408',
|
||||
id: '20202020-c231-45c5-b9f2-cf8b70191f6d',
|
||||
firstName: 'Jony',
|
||||
lastName: 'Ive',
|
||||
email: 'jony.ive@apple.dev',
|
||||
@ -56,7 +56,7 @@ export const seedUsers = async (prisma: PrismaClient) => {
|
||||
avatarUrl: null,
|
||||
workspaceMember: {
|
||||
create: {
|
||||
id: 'twenty-7ef9d213-1c25-4d02-bf35-6aeccf7ea419',
|
||||
id: '20202020-77d5-4cb6-b60a-f4a835a85d61',
|
||||
workspaceId: '20202020-1c25-4d02-bf25-6aeccf7ea419',
|
||||
settingsId: 'twenty-ge256b39-3ec3-4fe3-8997-2c4a2035a215',
|
||||
},
|
||||
@ -73,10 +73,10 @@ export const seedUsers = async (prisma: PrismaClient) => {
|
||||
},
|
||||
});
|
||||
await prisma.user.upsert({
|
||||
where: { id: 'twenty-gk256b39-3ec3-4fe3-8997-b76aa0bfa408' },
|
||||
where: { id: '20202020-ef2e-45df-b677-32fa06d4bd2a' },
|
||||
update: {},
|
||||
create: {
|
||||
id: 'twenty-gk256b39-3ec3-4fe3-8997-b76aa0bfa408',
|
||||
id: '20202020-ef2e-45df-b677-32fa06d4bd2a',
|
||||
firstName: 'Phil',
|
||||
lastName: 'Schiler',
|
||||
email: 'phil.schiler@apple.dev',
|
||||
@ -85,7 +85,7 @@ export const seedUsers = async (prisma: PrismaClient) => {
|
||||
avatarUrl: null,
|
||||
workspaceMember: {
|
||||
create: {
|
||||
id: 'twenty-7ed9d213-1c25-4d02-bf35-6aeccf7ea419',
|
||||
id: '20202020-1553-45c6-a028-5a9064cce07f',
|
||||
workspaceId: '20202020-1c25-4d02-bf25-6aeccf7ea419',
|
||||
settingsId: 'twenty-ge256b39-3ec3-4fe3-8997-8e1f2097b328',
|
||||
},
|
||||
|
64
server/src/database/typeorm-seeds/tenant/workspaceMember.ts
Normal file
64
server/src/database/typeorm-seeds/tenant/workspaceMember.ts
Normal file
@ -0,0 +1,64 @@
|
||||
import { DataSource } from 'typeorm';
|
||||
|
||||
const tableName = 'workspaceMember';
|
||||
|
||||
const WorkspaceMemberIds = {
|
||||
Tim: '20202020-0687-4c41-b707-ed1bfca972a7',
|
||||
Jony: '20202020-77d5-4cb6-b60a-f4a835a85d61',
|
||||
Phil: '20202020-1553-45c6-a028-5a9064cce07f',
|
||||
};
|
||||
|
||||
const WorkspaceMemberUserIds = {
|
||||
Tim: '20202020-a838-4fa9-b59b-96409b9a1c30',
|
||||
Jony: '20202020-c231-45c5-b9f2-cf8b70191f6d',
|
||||
Phil: '20202020-ef2e-45df-b677-32fa06d4bd2a',
|
||||
};
|
||||
|
||||
export const seedWorkspaceMember = async (
|
||||
workspaceDataSource: DataSource,
|
||||
schemaName: string,
|
||||
) => {
|
||||
await workspaceDataSource
|
||||
.createQueryBuilder()
|
||||
.insert()
|
||||
.into(`${schemaName}.${tableName}`, [
|
||||
'id',
|
||||
'firstName',
|
||||
'lastName',
|
||||
'locale',
|
||||
'colorScheme',
|
||||
'allowImpersonation',
|
||||
'userId',
|
||||
])
|
||||
.orIgnore()
|
||||
.values([
|
||||
{
|
||||
id: WorkspaceMemberIds.Tim,
|
||||
firstName: 'Tim',
|
||||
lastName: 'Apple',
|
||||
locale: 'en',
|
||||
colorScheme: 'light',
|
||||
allowImpersonation: true,
|
||||
userId: WorkspaceMemberUserIds.Tim,
|
||||
},
|
||||
{
|
||||
id: WorkspaceMemberIds.Jony,
|
||||
firstName: 'Jony',
|
||||
lastName: 'Ive',
|
||||
locale: 'en',
|
||||
colorScheme: 'light',
|
||||
allowImpersonation: true,
|
||||
userId: WorkspaceMemberUserIds.Jony,
|
||||
},
|
||||
{
|
||||
id: WorkspaceMemberIds.Phil,
|
||||
firstName: 'Phil',
|
||||
lastName: 'Shiler',
|
||||
locale: 'en',
|
||||
colorScheme: 'light',
|
||||
allowImpersonation: true,
|
||||
userId: WorkspaceMemberUserIds.Phil,
|
||||
},
|
||||
])
|
||||
.execute();
|
||||
};
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"id": "twenty-ge256b39-3ec3-4fe3-8997-b76aa0bfc102",
|
||||
"id": "20202020-a838-4fa9-b59b-96409b9a1c30",
|
||||
"firstName": "Tim",
|
||||
"lastName": "Apple",
|
||||
"email": "tim@apple.dev",
|
||||
|
Loading…
Reference in New Issue
Block a user