From 44acf00d43e50c97e9a55e0db8ecbec15ff40cc4 Mon Sep 17 00:00:00 2001 From: Kgothatso Ngako Date: Sat, 8 Jan 2022 21:22:51 +0200 Subject: [PATCH] Adding owner (for multiple enity association) --- server/router/fork/index.js | 55 ++++++++++++++++++-- server/router/library/index.js | 16 +++++- server/router/projects/index.js | 55 ++++++++++++++++++-- server/router/translate/index.js | 88 +++++++++++++++++++++++++++++--- server/router/versions/index.js | 16 +++++- 5 files changed, 214 insertions(+), 16 deletions(-) diff --git a/server/router/fork/index.js b/server/router/fork/index.js index 3be1ccb..ea01e62 100644 --- a/server/router/fork/index.js +++ b/server/router/fork/index.js @@ -40,7 +40,13 @@ module.exports = function (options) { userId: request.user.id, dialectId: translationArtifactVersion.dialectId, forkedFromId: translationArtifactVersion.id, - entityId: request.user.individualEntityUser.entityUser.entityId, + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId, + } + ] + }, translationChapters: translationArtifactVersion.translationChapters.map(translationChapter => { return { creatorId: request.user.id, @@ -73,6 +79,14 @@ module.exports = function (options) { association: db.TranslationChapter.TranslationChunks, } ] + }, + { + association: db.TranslationArtifactVersion.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] } ] }) @@ -163,7 +177,24 @@ module.exports = function (options) { artifactVersionId: artifactVersion.id, dialectId: dialect.id, userId: userId, - entityId: entityId + owner: { + ownerEntities: [ + { + entityId: entityId, + } + ] + } + }, { + include: [ + { + association: db.TranslationArtifactVersion.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] + } + ] }) } else { return db.TranslationArtifactVersion.create({ @@ -172,7 +203,25 @@ module.exports = function (options) { artifactVersionId: artifactVersion.translationArtifactVersions[0].artifactVersionId, userId: userId, dialectId: artifactVersion.translationArtifactVersions[0].dialectId, - forkedFromId: artifactVersion.translationArtifactVersions[0].id + forkedFromId: artifactVersion.translationArtifactVersions[0].id, + owner: { + ownerEntities: [ + { + entityId: entityId, + } + ] + } + }, { + include: [ + { + association: db.TranslationArtifactVersion.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] + } + ] }) } } diff --git a/server/router/library/index.js b/server/router/library/index.js index 7430fc3..361f8d5 100644 --- a/server/router/library/index.js +++ b/server/router/library/index.js @@ -55,12 +55,26 @@ module.exports = function (options) { tag: request.body.version } ], - entityId: request.user.individualEntityUser.entityUser.entityId + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId, + } + ] + } }, { include: [ { association: db.Artifact.ArtifactVersions, + }, + { + association: db.Artifact.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] } ] }) diff --git a/server/router/projects/index.js b/server/router/projects/index.js index ae5da18..4bfcbfb 100644 --- a/server/router/projects/index.js +++ b/server/router/projects/index.js @@ -83,7 +83,24 @@ module.exports = function (options) { creatorId: request.user.id, name: request.body.name, description: request.body.description, - entityId: request.user.individualEntityUser.entityUser.entityId + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId, + } + ] + } + }, { + include: [ + { + association: db.Project.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] + } + ] }).then(project => { if (project) { response.redirect(`/projects/${project.id}`) @@ -424,7 +441,13 @@ module.exports = function (options) { return { creatorId: request.user.id, translationArtifactVersionId: projectTranslationArtifactVersion.translationArtifactVersionId, - entityId: request.user.individualEntityUser.entityUser.entityId, + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId, + } + ] + }, satoshis: request.body.satoshis } }) @@ -434,12 +457,36 @@ module.exports = function (options) { description: request.body.description, // defaultSatoshis: [request.body.satoshis].flat()[0], defaultSatoshis: request.body.satoshis, - entityId: request.user.individualEntityUser.entityUser.entityId, + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId, + } + ] + }, translationArtifactVersionCampaigns: translationArtifactVersionCampaigns }, { include: [ { - association: db.Campaign.TranslationArtifactVersionCampaigns + association: db.Campaign.TranslationArtifactVersionCampaigns, + include: [ + { + association: db.TranslationArtifactVersionCampaign.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] + } + ] + }, + { + association: db.Campaign.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] } ] }) diff --git a/server/router/translate/index.js b/server/router/translate/index.js index 4545f93..ce1eadd 100644 --- a/server/router/translate/index.js +++ b/server/router/translate/index.js @@ -308,7 +308,13 @@ module.exports = function (options) { artifactVersionId: translationArtifactVersion.artifactVersionId, dialectId: translationArtifactVersion.dialect.id, backTranslationFromId: translationArtifactVersion.id, - entityId: request.user.individualEntityUser.entityUser.entityId, + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId, + } + ] + }, translationChapters: translationArtifactVersion.translationChapters.map(translationChapter => { return { creatorId: request.user.id, @@ -332,6 +338,14 @@ module.exports = function (options) { association: db.TranslationChapter.TranslationChunks } ] + }, + { + association: db.TranslationArtifactVersionCampaign.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] } ] }) @@ -450,19 +464,49 @@ module.exports = function (options) { description: request.body.description, // defaultSatoshis: [request.body.satoshis].flat()[0], defaultSatoshis: request.body.satoshis, - entityId: request.user.individualEntityUser.entityUser.entityId, + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId, + } + ] + }, translationArtifactVersionCampaigns: [ { creatorId: request.user.id, translationArtifactVersionId: translationArtifactVersion.id, - entityId: request.user.individualEntityUser.entityUser.entityId, + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId, + } + ] + }, satoshis: request.body.satoshis } ] }, { include: [ { - association: db.Campaign.TranslationArtifactVersionCampaigns + association: db.Campaign.TranslationArtifactVersionCampaigns, + include: [ + { + association: db.TranslationArtifactVersionCampaign.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] + } + ] + }, + { + association: db.Campaign.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] } ] }) @@ -573,19 +617,49 @@ module.exports = function (options) { const pledge = await db.Pledge.create({ creatorId: request.user.id, message: request.body.message, - entityId: request.user.individualEntityUser.entityUser.entityId, + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId + } + ] + }, translationArtifactVersionPledges: [ { creatorId: request.user.id, translationArtifactVersionId: translationArtifactVersion.id, - entityId: request.user.individualEntityUser.entityUser.entityId, + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId, + } + ] + }, satoshis: request.body.satoshis } ] }, { include: [ { - association: db.Pledge.TranslationArtifactVersionPledges + association: db.Pledge.TranslationArtifactVersionPledges, + include: [ + { + association: db.TranslationArtifactVersionPledge.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] + } + ] + }, + { + association: db.Pledge.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] } ] }) diff --git a/server/router/versions/index.js b/server/router/versions/index.js index ab0eb43..07cac91 100644 --- a/server/router/versions/index.js +++ b/server/router/versions/index.js @@ -286,7 +286,13 @@ module.exports = function (options) { name: dialect.name, artifactVersionId: artifactVersion.id, dialectId: dialect.id, - entityId: request.user.individualEntityUser.entityUser.entityId, + owner: { + ownerEntities: [ + { + entityId: request.user.individualEntityUser.entityUser.entityId, + } + ] + }, translationChapters: artifactVersion.chapters.map(chapter => { return { creatorId: request.user.id, @@ -310,6 +316,14 @@ module.exports = function (options) { association: db.TranslationChapter.TranslationChunks } ] + }, + { + association: db.TranslationArtifactVersionPledge.Owner, + include: [ + { + association: db.Owner.OwnerEntities + } + ] } ] })