Skip to content

Commit

Permalink
adds models for allowed generators
Browse files Browse the repository at this point in the history
  • Loading branch information
jhmullen committed Jul 8, 2020
1 parent f6d835e commit 6ae2f80
Show file tree
Hide file tree
Showing 38 changed files with 1,429 additions and 0 deletions.
33 changes: 33 additions & 0 deletions packages/cms/scripts/migration/db_0.14/author.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
module.exports = function(sequelize, db) {

const a = sequelize.define("author",
{
id: {
type: db.INTEGER,
primaryKey: true,
autoIncrement: true
},
story_id: {
type: db.INTEGER,
onDelete: "cascade",
references: {
model: "canon_cms_story",
key: "id"
}
},
ordering: db.INTEGER
},
{
tableName: "canon_cms_author",
freezeTableName: true,
timestamps: false
}
);

a.associate = models => {
a.hasMany(models.author_content, {foreignKey: "id", sourceKey: "id", as: "content"});
};

return a;

};
48 changes: 48 additions & 0 deletions packages/cms/scripts/migration/db_0.14/author_content.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
module.exports = function(sequelize, db) {

const a = sequelize.define("author_content",
{
id: {
type: db.INTEGER,
primaryKey: true,
onDelete: "cascade",
references: {
model: "canon_cms_author",
key: "id"
}
},
locale: {
type: db.STRING,
primaryKey: true
},
name: {
type: db.STRING,
defaultValue: ""
},
title: {
type: db.STRING,
defaultValue: ""
},
image: {
type: db.STRING,
defaultValue: ""
},
twitter: {
type: db.STRING,
defaultValue: ""
},
bio: {
type: db.TEXT,
defaultValue: ""
}
},
{
tableName: "canon_cms_author_content",
freezeTableName: true,
timestamps: false
}
);

return a;

};
32 changes: 32 additions & 0 deletions packages/cms/scripts/migration/db_0.14/formatter.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
module.exports = function(sequelize, db) {

const f = sequelize.define("formatter",
{
id: {
type: db.INTEGER,
primaryKey: true,
autoIncrement: true
},
name: {
type: db.STRING,
defaultValue: ""
},
description: {
type: db.TEXT,
defaultValue: ""
},
logic: {
type: db.TEXT,
defaultValue: "return n;"
}
},
{
tableName: "canon_cms_formatter",
freezeTableName: true,
timestamps: false
}
);

return f;

};
56 changes: 56 additions & 0 deletions packages/cms/scripts/migration/db_0.14/generator.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
module.exports = function(sequelize, db) {

const g = sequelize.define("generator",
{
id: {
type: db.INTEGER,
primaryKey: true,
autoIncrement: true
},
name: {
type: db.TEXT,
defaultValue: ""
},
api: {
type: db.TEXT,
defaultValue: ""
},
description: {
type: db.TEXT,
defaultValue: ""
},
logic: {
type: db.TEXT,
defaultValue: "return {}"
},
logic_simple: {
type: db.JSON,
defaultValue: null
},
simple: {
type: db.BOOLEAN,
defaultValue: true
},
profile_id: {
type: db.INTEGER,
onDelete: "cascade",
references: {
model: "canon_cms_profile",
key: "id"
}
},
allowed: {
type: db.STRING,
defaultValue: "always"
}
},
{
tableName: "canon_cms_generator",
freezeTableName: true,
timestamps: false
}
);

return g;

};
29 changes: 29 additions & 0 deletions packages/cms/scripts/migration/db_0.14/image.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
module.exports = function(sequelize, db) {

const image = sequelize.define("image",
{
id: {
autoIncrement: true,
primaryKey: true,
type: db.INTEGER
},
url: {
type: db.TEXT,
unique: true
},
author: db.TEXT,
license: db.INTEGER
},
{
tableName: "canon_cms_image",
freezeTableName: true
}
);

image.associate = models => {
image.hasMany(models.image_content, {foreignKey: "id", sourceKey: "id", as: "content"});
};

return image;

};
29 changes: 29 additions & 0 deletions packages/cms/scripts/migration/db_0.14/image_content.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
module.exports = function(sequelize, db) {

const i = sequelize.define("image_content",
{
id: {
type: db.INTEGER,
primaryKey: true,
onDelete: "cascade",
references: {
model: "canon_cms_image",
key: "id"
}
},
locale: {
type: db.STRING,
primaryKey: true
},
meta: db.TEXT
},
{
tableName: "canon_cms_image_content",
freezeTableName: true,
timestamps: false
}
);

return i;

};
45 changes: 45 additions & 0 deletions packages/cms/scripts/migration/db_0.14/materializer.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
module.exports = function(sequelize, db) {

const m = sequelize.define("materializer",
{
id: {
type: db.INTEGER,
primaryKey: true,
autoIncrement: true
},
name: {
type: db.TEXT,
defaultValue: ""
},
description: {
type: db.TEXT,
defaultValue: ""
},
logic: {
type: db.TEXT,
defaultValue: "return {}"
},
ordering: db.INTEGER,
profile_id: {
type: db.INTEGER,
onDelete: "cascade",
references: {
model: "canon_cms_profile",
key: "id"
}
},
allowed: {
type: db.STRING,
defaultValue: "always"
}
},
{
tableName: "canon_cms_materializer",
freezeTableName: true,
timestamps: false
}
);

return m;

};
30 changes: 30 additions & 0 deletions packages/cms/scripts/migration/db_0.14/profile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
module.exports = function(sequelize, db) {

const p = sequelize.define("profile",
{
id: {
type: db.INTEGER,
primaryKey: true,
autoIncrement: true
},
ordering: db.INTEGER
},
{
tableName: "canon_cms_profile",
freezeTableName: true,
timestamps: false
}
);

p.associate = models => {
p.hasMany(models.profile_meta, {foreignKey: "profile_id", sourceKey: "id", as: "meta"});
p.hasMany(models.profile_content, {foreignKey: "id", sourceKey: "id", as: "content"});
p.hasMany(models.section, {foreignKey: "profile_id", sourceKey: "id", as: "sections"});
p.hasMany(models.generator, {foreignKey: "profile_id", sourceKey: "id", as: "generators"});
p.hasMany(models.materializer, {foreignKey: "profile_id", sourceKey: "id", as: "materializers"});
p.hasMany(models.selector, {foreignKey: "profile_id", sourceKey: "id", as: "selectors"});
};

return p;

};
40 changes: 40 additions & 0 deletions packages/cms/scripts/migration/db_0.14/profile_content.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
module.exports = function(sequelize, db) {

const p = sequelize.define("profile_content",
{
id: {
type: db.INTEGER,
primaryKey: true,
onDelete: "cascade",
references: {
model: "canon_cms_profile",
key: "id"
}
},
locale: {
type: db.STRING,
primaryKey: true
},
title: {
type: db.STRING,
defaultValue: "New Profile"
},
subtitle: {
type: db.TEXT,
defaultValue: ""
},
label: {
type: db.STRING,
defaultValue: ""
}
},
{
tableName: "canon_cms_profile_content",
freezeTableName: true,
timestamps: false
}
);

return p;

};
37 changes: 37 additions & 0 deletions packages/cms/scripts/migration/db_0.14/profile_meta.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
module.exports = function(sequelize, db) {

const p = sequelize.define("profile_meta",
{
id: {
type: db.INTEGER,
primaryKey: true,
autoIncrement: true
},
profile_id: {
type: db.INTEGER,
onDelete: "cascade",
references: {
model: "canon_cms_profile",
key: "id"
}
},
slug: {
type: db.STRING,
defaultValue: ""
},
dimension: db.STRING,
levels: db.ARRAY(db.TEXT),
measure: db.STRING,
ordering: db.INTEGER,
cubeName: db.STRING
},
{
tableName: "canon_cms_profile_meta",
freezeTableName: true,
timestamps: false
}
);

return p;

};
Loading

0 comments on commit 6ae2f80

Please sign in to comment.