From 1afcb4b0c976ee7f2166abdba5a20a7ecec4047e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20Sch=C3=A4fer?= Date: Tue, 19 Feb 2019 01:17:38 +0100 Subject: [PATCH] Seed organizations --- src/seed/data/index.js | 2 -- src/seed/data/organizations.js | 51 ----------------------------- src/seed/factories/index.js | 2 ++ src/seed/factories/organizations.js | 35 ++++++++++++++++++++ src/seed/seed-db.js | 15 +++++++++ 5 files changed, 52 insertions(+), 53 deletions(-) delete mode 100644 src/seed/data/organizations.js create mode 100644 src/seed/factories/organizations.js diff --git a/src/seed/data/index.js b/src/seed/data/index.js index 4bf0669ff..a77c6e6fb 100644 --- a/src/seed/data/index.js +++ b/src/seed/data/index.js @@ -1,7 +1,5 @@ export default { - - Organization: require('./organizations.js').default, Comment: require('./comments.js').default, // Reports: require('./reports.js').default diff --git a/src/seed/data/organizations.js b/src/seed/data/organizations.js deleted file mode 100644 index b8b9075d4..000000000 --- a/src/seed/data/organizations.js +++ /dev/null @@ -1,51 +0,0 @@ -export default () => { - return `mutation { - o1: CreateOrganization( - id: "o1", - name: "Democracy Deutschland", - description: "Description for democracy-deutschland.", - disabled: false, - deleted: false - ) { name } - o2: CreateOrganization( - id: "o2", - name: "Human-Connection", - description: "Description for human-connection.", - disabled: false, - deleted: false - ) { name } - o3: CreateOrganization( - id: "o3", - name: "Pro Veg", - description: "Description for pro-veg.", - disabled: false, - deleted: false - ) { name } - o4: CreateOrganization( - id: "o4", - name: "Greenpeace", - description: "Description for greenpeace.", - disabled: false, - deleted: false - ) { name } - - u1_c_o1: AddOrganizationCreatedBy( - from: { id: "u1" }, - to: { id: "o1" } - ) { from { id } } - u1_c_o2: AddOrganizationCreatedBy( - from: { id: "u1" }, - to: { id: "o2" } - ) { from { id } } - - u2_o_o1: AddOrganizationOwnedBy( - from: { id: "u2" }, - to: { id: "o2" } - ) { from { id } } - u2_c_o3: AddOrganizationOwnedBy( - from: { id: "u2" }, - to: { id: "o3" } - ) { from { id } } - } -` -} diff --git a/src/seed/factories/index.js b/src/seed/factories/index.js index 849d77dc1..93916f376 100644 --- a/src/seed/factories/index.js +++ b/src/seed/factories/index.js @@ -20,6 +20,7 @@ const driver = neo4j().getDriver() const builders = { 'badge': require('./badges.js').default, 'user': require('./users.js').default, + 'organization': require('./organizations.js').default, 'post': require('./posts.js').default, 'category': require('./categories.js').default, 'tag': require('./tags.js').default @@ -27,6 +28,7 @@ const builders = { const relationBuilders = { 'user': require('./users.js').relate, + 'organization': require('./organizations.js').relate, 'post': require('./posts.js').relate } diff --git a/src/seed/factories/organizations.js b/src/seed/factories/organizations.js new file mode 100644 index 000000000..047398eb0 --- /dev/null +++ b/src/seed/factories/organizations.js @@ -0,0 +1,35 @@ +import faker from 'faker' + +export default function create (params) { + const { + id = `o${faker.random.number()}`, + name = faker.comany.companyName(), + description = faker.company.catchPhrase(), + disabled = false, + deleted = false + } = params + + return ` + mutation { + ${id}: CreateOrganization( + id: "${id}", + name: "${name}", + description: "${description}", + disabled: ${disabled}, + deleted: ${deleted} + ) { name } + } + ` +} + +export function relate(type, params) { + const { from, to } = params + return ` + mutation { + ${from}_${type}_${to}: AddOrganization${type}( + from: { id: "${from}" }, + to: { id: "${to}" } + ) { from { id } } + } + ` +} diff --git a/src/seed/seed-db.js b/src/seed/seed-db.js index 917298569..1a259f4cc 100644 --- a/src/seed/seed-db.js +++ b/src/seed/seed-db.js @@ -147,6 +147,21 @@ import seed from './data' relate('user', 'Shouted', { from: 'u4', to: 'p1' }) ]) + await Promise.all([ + create('organization', { id: "o1", name: "Democracy Deutschland", description: "Description for democracy-deutschland."}), + create('organization', { id: "o2", name: "Human-Connection", description: "Description for human-connection." }), + create('organization', { id: "o3", name: "Pro Veg", description: "Description for pro-veg." }), + create('organization', { id: "o4", name: "Greenpeace", description: "Description for greenpeace." }) + ]) + + await Promise.all([ + relate('organization', 'CreatedBy', {from: 'u1', to: 'o1'}), + relate('organization', 'CreatedBy', {from: 'u1', to: 'o2'}), + relate('organization', 'OwnedBy', {from: 'u2', to: 'o2'}), + relate('organization', 'OwnedBy', {from: 'u2', to: 'o3'}) + ]) + + } catch (err) { /* eslint-disable-next-line no-console */ console.error(err)