{"version":3,"sources":["jsdelivr-header.js","/npm/core-entity-instance@1.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACHA,IAAI,UAAY,QAAQ,aACpB,OAAS,CAET,KAAM,CAAC,EAAS,EAAM,EAAM,EAAU,KAClC,IAAI,EAAa,QAAQ,eAAe,KAAK,EAAS,EAAM,EAAM,EAAU,GAC5E,OAAO,MAAM,EAAW,EAE5B,MAAQ,IAEJ,IAAI,EAAc,qBAEd,EAAO,CACP,UAAW,EAAW,UACtB,KAAM,uBACN,aAAc,CACV,WAAY,GAGhB,MAAO,CACH,OAAQ,CACJ,qBAAuB,IACnB,EAAK,MAAM,eAAe,OAAO,CAC7B,SAAU,GACZ,IAId,MAAO,CACH,eAAgB,UAAU,OAAO,EAAc,iBAAkB,CAC7D,SAAU,CAAE,KAAM,UAAU,QAAS,WAAW,IACjD,CACC,iBAAiB,EACjB,gBAAgB,IAEpB,6BAA8B,UAAU,OAAO,EAAc,+BAAgC,CACzF,iBAAkB,CAAE,KAAM,UAAU,QAAS,WAAW,GACxD,2BAA4B,CAAE,KAAM,UAAU,QAAS,WAAW,GAClE,MAAO,CAAE,KAAM,UAAU,KAAM,WAAW,EAAO,QAAQ,IAC1D,CACC,iBAAiB,EACjB,gBAAgB,IAEpB,6BAA8B,UAAU,OAAO,EAAc,+BAAgC,CACzF,iBAAkB,CAAE,KAAM,UAAU,QAAS,WAAW,GACxD,2BAA4B,CAAE,KAAM,UAAU,QAAS,WAAW,GAClE,0BAA2B,CAAE,KAAM,UAAU,QAAS,WAAW,IAClE,CACC,iBAAiB,EACjB,gBAAgB,KAGxB,oBAAqB,CAAC,GA2C1B,OAxCA,EAAK,MAAM,6BAA6B,UAAU,EAAW,MAAM,yBAA0B,CACzF,WAAY,6BACZ,aAAa,IAEjB,EAAK,MAAM,6BAA6B,UAAU,EAAK,MAAM,eAAgB,CACzE,WAAY,mBACZ,aAAa,IAEjB,EAAK,MAAM,6BAA6B,UAAU,EAAW,MAAM,yBAA0B,CACzF,WAAY,6BACZ,aAAa,IAEjB,EAAK,MAAM,6BAA6B,UAAU,EAAK,MAAM,eAAgB,CACzE,WAAY,mBACZ,aAAa,IAEjB,EAAK,MAAM,6BAA6B,UAAU,EAAK,MAAM,eAAgB,CACzE,WAAY,4BACZ,aAAa,IAIH,IAAI,SAAQ,CAAC,EAAS,KAChC,UAAU,KAAK,CAAC,OAAO,IAAO,MAAK,KAC/B,EAAK,MAAM,OAAO,6BAA6B,UAAU,MAAM,IAC3D,EAAK,oBAAoB,OAAS,EAC3B,EAAK,MAAM,OAAO,6BAA6B,aACvD,MAAM,IACL,EAAK,oBAAoB,OAAS,EAC3B,EAAK,MAAM,OAAO,6BAA6B,WACvD,MAAM,IACL,EAAK,oBAAoB,KAAO,EACzB,EAAK,MAAM,OAAO,6BAA6B,WACvD,MAAM,IACL,EAAK,oBAAoB,KAAO,EAChC,EAAQ,EAAK,GACf,GACJ,GAGQ,GAItB,OAAO,QAAU","file":"/npm/core-entity-instance@1.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/core-entity-instance@1.0.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/**\r\n * Created by Ricardo Morais on 02/03/2017.\r\n */\r\nlet Sequelize = require('sequelize');\r\nlet object = {\r\n\r\n    init: (dialect, host, user, password, database) => {\r\n        let entityCore = require('entity-core').init(dialect, host, user, password, database);\r\n        object.adapt(entityCore);\r\n    },\r\n    adapt: (entityCore) => {\r\n\r\n        let tablePrefix = 'EntityInstanceCore';\r\n\r\n        let meta = {\r\n            sequelize: entityCore.sequelize,\r\n            name: 'entity-instance-core',\r\n            dependencies: {\r\n                entityCore: entityCore,\r\n            },\r\n\r\n            query: {\r\n                action: {\r\n                    createEntityInstance: (entityID) => {\r\n                        meta.model.EntityInstance.create({\r\n                            entityID: entityID\r\n                        });\r\n                    }\r\n                }\r\n            },\r\n            model: {\r\n                EntityInstance: sequelize.define(tablePrefix + 'EntityInstance', {\r\n                    entityID: { type: Sequelize.INTEGER, allowNull: false},\r\n                }, {\r\n                    freezeTableName: true,\r\n                    underscoredAll: true\r\n                }),\r\n                EntityInstancePrimitiveValue: sequelize.define(tablePrefix + 'EntityInstancePrimitiveValue', {\r\n                    entityInstanceID: { type: Sequelize.INTEGER, allowNull: false},\r\n                    primitiveAttributeEntityID: { type: Sequelize.INTEGER, allowNull: false},\r\n                    value: { type: Sequelize.TEXT, allowNull: false, unique: true},\r\n                }, {\r\n                    freezeTableName: true,\r\n                    underscoredAll: true\r\n                }),\r\n                EntityInstanceReferenceValue: sequelize.define(tablePrefix + 'EntityInstanceReferenceValue', {\r\n                    entityInstanceID: { type: Sequelize.INTEGER, allowNull: false},\r\n                    referenceAttributeEntityID: { type: Sequelize.INTEGER, allowNull: false},\r\n                    referenceEntityInstanceID: { type: Sequelize.INTEGER, allowNull: false},\r\n                }, {\r\n                    freezeTableName: true,\r\n                    underscoredAll: true\r\n                }),\r\n            },\r\n            primitiveAttributes: {},\r\n        };\r\n\r\n        meta.model.EntityInstancePrimitiveValue.belongsTo(entityCore.model.PrimitiveAttributeEntity, {\r\n            foreignKey: 'primitiveAttributeEntityID',\r\n            constraints: false,\r\n        });\r\n        meta.model.EntityInstancePrimitiveValue.belongsTo(meta.model.EntityInstance, {\r\n            foreignKey: 'entityInstanceID',\r\n            constraints: false,\r\n        });\r\n        meta.model.EntityInstanceReferenceValue.belongsTo(entityCore.model.ReferenceAttributeEntity, {\r\n            foreignKey: 'referenceAttributeEntityID',\r\n            constraints: false,\r\n        });\r\n        meta.model.EntityInstanceReferenceValue.belongsTo(meta.model.EntityInstance, {\r\n            foreignKey: 'entityInstanceID',\r\n            constraints: false,\r\n        });\r\n        meta.model.EntityInstanceReferenceValue.belongsTo(meta.model.EntityInstance, {\r\n            foreignKey: 'referenceEntityInstanceID',\r\n            constraints: false,\r\n        });\r\n\r\n        //Create the primitive attribute types\r\n        let promise = new Promise((resolve, reject)=>{\r\n            sequelize.sync({force: true}).then(()=> {\r\n                meta.query.action.createPrimitiveAttributeType('number').then((number) => {\r\n                    meta.primitiveAttributes.NUMBER = number;\r\n                    return meta.query.action.createPrimitiveAttributeType('string');\r\n                }).then((string) => {\r\n                    meta.primitiveAttributes.STRING = string;\r\n                    return meta.query.action.createPrimitiveAttributeType('date');\r\n                }).then((date) => {\r\n                    meta.primitiveAttributes.DATE = date;\r\n                    return meta.query.action.createPrimitiveAttributeType('json');\r\n                }).then((json) => {\r\n                    meta.primitiveAttributes.JSON = json;\r\n                    resolve(meta);\r\n                });\r\n            });\r\n        });\r\n\r\n        return promise;\r\n    }\r\n};\r\n\r\nmodule.exports = object;\r\n"]}