Skip to content

Commit

Permalink
Merge pull request #2325 from flowforge/fix-failed-setup
Browse files Browse the repository at this point in the history
Use findOrCreate to handle retrying failed setup
  • Loading branch information
hardillb committed Jun 22, 2023
2 parents e54906c + 40d30b2 commit eb12d8d
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 18 deletions.
18 changes: 11 additions & 7 deletions forge/db/controllers/ProjectStack.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,17 @@ module.exports = {
label = `Node-RED ${properties.nodered}`
name = label.toLowerCase().replace(/[ .]/g, '-')
}
const stack = await app.db.models.ProjectStack.create({
name,
label,
active: true,
order: 1,
description: '',
properties
const [stack] = await app.db.models.ProjectStack.findOrCreate({
where: {
name,
active: true
},
defaults: {
label,
order: 1,
description: '',
properties
}
})
await stack.setProjectType(projectType)
return stack
Expand Down
15 changes: 10 additions & 5 deletions forge/db/controllers/ProjectTemplate.js
Original file line number Diff line number Diff line change
Expand Up @@ -226,11 +226,16 @@ module.exports = {
setTemplateValue(settings, name, defaultTemplateValues[name])
setTemplateValue(policy, name, defaultTemplatePolicy[name])
})
const template = await app.db.models.ProjectTemplate.create({
name: 'Default',
active: true,
settings,
policy
const [template] = await app.db.models.ProjectTemplate.findOrCreate({
where: {
name: 'Default',
active: true,
ownerId: user.id
},
defaults: {
settings,
policy
}
})
await template.setOwner(user)
return template
Expand Down
19 changes: 13 additions & 6 deletions forge/db/controllers/ProjectType.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
module.exports = {
createDefaultProjectType: async function (app) {
return await app.db.models.ProjectType.create({
name: 'Default',
active: true,
order: 1,
description: '',
properties: {}
const [projectType] = await app.db.models.ProjectType.findOrCreate({
where: {
name: 'Default',
active: true
},
defaults: {
active: true,
order: 1,
description: '',
properties: {}
}
})

return projectType
}
}

0 comments on commit eb12d8d

Please sign in to comment.