43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| "use strict";
 | |
| 
 | |
| // external modules
 | |
| var Sequelize = require("sequelize");
 | |
| 
 | |
| // core
 | |
| var logger = require("../logger.js");
 | |
| 
 | |
| module.exports = function (sequelize, DataTypes) {
 | |
|     var Author = sequelize.define("Author", {
 | |
|         id: {
 | |
|             type: Sequelize.INTEGER,
 | |
|             primaryKey: true,
 | |
|             autoIncrement: true
 | |
|         },
 | |
|         color: {
 | |
|             type: DataTypes.STRING
 | |
|         }
 | |
|     }, {
 | |
|         indexes: [
 | |
|             {
 | |
|                 unique: true,
 | |
|                 fields: ['noteId', 'userId']
 | |
|             }
 | |
|         ],
 | |
|         classMethods: {
 | |
|             associate: function (models) {
 | |
|                 Author.belongsTo(models.Note, {
 | |
|                     foreignKey: "noteId",
 | |
|                     as: "note",
 | |
|                     constraints: false
 | |
|                 });
 | |
|                 Author.belongsTo(models.User, {
 | |
|                     foreignKey: "userId",
 | |
|                     as: "user",
 | |
|                     constraints: false
 | |
|                 });
 | |
|             }
 | |
|         }
 | |
|     });
 | |
|     
 | |
|     return Author;
 | |
| }; |