UNPKG

@ckstack/ck-lib-models

Version:

ckstack default database table sequelize models

342 lines (341 loc) 13 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Document = void 0; const sequelize_typescript_1 = require("sequelize-typescript"); const dk_lib_1 = require("@dkpkg/dk-lib"); const MyValues_1 = require("../MyValues"); const Board_1 = require("./Board"); const Category_1 = require("./Category"); const Comment_1 = require("./Comment"); const DocumentFile_1 = require("./DocumentFile"); const DocumentLink_1 = require("./DocumentLink"); const DocumentTag_1 = require("./DocumentTag"); const __autoFitString = (data, modelName) => { const _data = data; if (_data.title && dk_lib_1.CkUtils.getByteLength(_data.title) > 255) { _data.title = dk_lib_1.CkUtils.stringCutByByte(_data.title, 255); dk_lib_1.CkLogger.warnLog2(`${modelName}. title from [${data.title}] to [${_data.title}]`, MyValues_1.PROC_LHD.IP_LHD_HTTP); } if (_data.ipaddress && dk_lib_1.CkUtils.getByteLength(_data.ipaddress) > 32) { _data.ipaddress = dk_lib_1.CkUtils.stringCutByByte(_data.ipaddress, 32); dk_lib_1.CkLogger.warnLog2(`${modelName}. ipaddress from [${data.ipaddress}] to [${_data.ipaddress}]`, MyValues_1.PROC_LHD.IP_LHD_HTTP); } if (_data.user_name && dk_lib_1.CkUtils.getByteLength(_data.user_name) > 128) { _data.user_name = dk_lib_1.CkUtils.stringCutByByte(_data.user_name, 128); dk_lib_1.CkLogger.warnLog2(`${modelName}. user_name from [${data.user_name}] to [${_data.user_name}]`, MyValues_1.PROC_LHD.IP_LHD_HTTP); } if (_data.user_nickname && dk_lib_1.CkUtils.getByteLength(_data.user_nickname) > 128) { _data.user_nickname = dk_lib_1.CkUtils.stringCutByByte(_data.user_nickname, 128); dk_lib_1.CkLogger.warnLog2(`${modelName}. user_nickname from [${data.user_nickname}] to [${_data.user_nickname}]`, MyValues_1.PROC_LHD.IP_LHD_HTTP); } }; let Document = class Document extends sequelize_typescript_1.Model { static autoFitString(data) { __autoFitString(data, 'Document'); } }; __decorate([ (0, sequelize_typescript_1.Column)({ field: 'id', type: sequelize_typescript_1.DataType.INTEGER({ scale: 11 }).UNSIGNED, primaryKey: true, autoIncrement: true, allowNull: false, unique: true, }), __metadata("design:type", Number) ], Document.prototype, "id", void 0); __decorate([ (0, sequelize_typescript_1.Index)({ name: 'idx_rid', unique: true }), (0, sequelize_typescript_1.Column)({ field: 'rid', type: sequelize_typescript_1.DataType.STRING(32), allowNull: false, unique: true, defaultValue: '', }), __metadata("design:type", String) ], Document.prototype, "rid", void 0); __decorate([ (0, sequelize_typescript_1.ForeignKey)(() => Board_1.Board), (0, sequelize_typescript_1.Index)('idx_board_id'), (0, sequelize_typescript_1.Column)({ field: 'board_id', type: sequelize_typescript_1.DataType.INTEGER({ scale: 11 }).UNSIGNED, allowNull: false, defaultValue: 0, }), __metadata("design:type", Number) ], Document.prototype, "board_id", void 0); __decorate([ (0, sequelize_typescript_1.ForeignKey)(() => Category_1.Category), (0, sequelize_typescript_1.Index)('idx_category_id'), (0, sequelize_typescript_1.Column)({ field: 'category_id', type: sequelize_typescript_1.DataType.INTEGER({ scale: 11 }).UNSIGNED, allowNull: false, defaultValue: 0, }), __metadata("design:type", Number) ], Document.prototype, "category_id", void 0); __decorate([ (0, sequelize_typescript_1.Index)({ name: 'idx_title', type: 'FULLTEXT' }), (0, sequelize_typescript_1.Column)({ field: 'title', type: sequelize_typescript_1.DataType.STRING(255), allowNull: false, defaultValue: '', }), __metadata("design:type", String) ], Document.prototype, "title", void 0); __decorate([ (0, sequelize_typescript_1.Index)({ name: 'idx_document', type: 'FULLTEXT' }), (0, sequelize_typescript_1.Column)({ field: 'document', type: sequelize_typescript_1.DataType.TEXT, allowNull: false, defaultValue: '', }), __metadata("design:type", String) ], Document.prototype, "document", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'secret', type: sequelize_typescript_1.DataType.ENUM(dk_lib_1.CkValue.YES_OR_NO.YES, dk_lib_1.CkValue.YES_OR_NO.NO), allowNull: false, defaultValue: dk_lib_1.CkValue.YES_OR_NO.NO, }), __metadata("design:type", Number) ], Document.prototype, "secret", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'read_count', type: sequelize_typescript_1.DataType.INTEGER.UNSIGNED, allowNull: false, defaultValue: 0, }), __metadata("design:type", Number) ], Document.prototype, "read_count", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'like_count', type: sequelize_typescript_1.DataType.INTEGER.UNSIGNED, allowNull: false, defaultValue: 0, }), __metadata("design:type", Number) ], Document.prototype, "like_count", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'blame_count', type: sequelize_typescript_1.DataType.INTEGER.UNSIGNED, allowNull: false, defaultValue: 0, }), __metadata("design:type", Number) ], Document.prototype, "blame_count", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'pin_count', type: sequelize_typescript_1.DataType.INTEGER.UNSIGNED, allowNull: false, defaultValue: 0, }), __metadata("design:type", Number) ], Document.prototype, "pin_count", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'comment_count', type: sequelize_typescript_1.DataType.INTEGER.UNSIGNED, allowNull: false, defaultValue: 0, }), __metadata("design:type", Number) ], Document.prototype, "comment_count", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'file_count', type: sequelize_typescript_1.DataType.INTEGER.UNSIGNED, allowNull: false, defaultValue: 0, }), __metadata("design:type", Number) ], Document.prototype, "file_count", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'status', type: sequelize_typescript_1.DataType.ENUM(dk_lib_1.CkValue.STATUS.ENABLE, dk_lib_1.CkValue.STATUS.DISABLE), allowNull: false, defaultValue: dk_lib_1.CkValue.STATUS.ENABLE, }), __metadata("design:type", Number) ], Document.prototype, "status", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'allow_comment', type: sequelize_typescript_1.DataType.ENUM(dk_lib_1.CkValue.YES_OR_NO.YES, dk_lib_1.CkValue.YES_OR_NO.NO), allowNull: false, defaultValue: dk_lib_1.CkValue.YES_OR_NO.YES, }), __metadata("design:type", Number) ], Document.prototype, "allow_comment", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'ipaddress', type: sequelize_typescript_1.DataType.STRING(32), allowNull: false, defaultValue: '', }), __metadata("design:type", String) ], Document.prototype, "ipaddress", void 0); __decorate([ (0, sequelize_typescript_1.Index)('idx_user_id'), (0, sequelize_typescript_1.Column)({ field: 'user_id', type: sequelize_typescript_1.DataType.STRING(128), allowNull: false, defaultValue: '', }), __metadata("design:type", String) ], Document.prototype, "user_id", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'user_email_address', type: sequelize_typescript_1.DataType.STRING(128), allowNull: false, defaultValue: '', }), __metadata("design:type", String) ], Document.prototype, "user_email_address", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'document_password', type: sequelize_typescript_1.DataType.STRING(128), allowNull: false, defaultValue: '', }), __metadata("design:type", String) ], Document.prototype, "document_password", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'user_name', type: sequelize_typescript_1.DataType.STRING(128), allowNull: false, defaultValue: '', }), __metadata("design:type", String) ], Document.prototype, "user_name", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'user_nickname', type: sequelize_typescript_1.DataType.STRING(128), allowNull: false, defaultValue: '', }), __metadata("design:type", String) ], Document.prototype, "user_nickname", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'template_rid', type: sequelize_typescript_1.DataType.STRING(32), allowNull: false, defaultValue: '', }), __metadata("design:type", String) ], Document.prototype, "template_rid", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'extra', type: sequelize_typescript_1.DataType.JSON, defaultValue: {}, }), __metadata("design:type", Object) ], Document.prototype, "extra", void 0); __decorate([ (0, sequelize_typescript_1.Index)('idx_list_order'), (0, sequelize_typescript_1.Column)({ field: 'list_order', type: sequelize_typescript_1.DataType.INTEGER({ scale: 11 }).UNSIGNED, allowNull: false, defaultValue: 0, }), __metadata("design:type", Number) ], Document.prototype, "list_order", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'top_list_order', type: sequelize_typescript_1.DataType.INTEGER({ scale: 11 }).UNSIGNED, allowNull: false, defaultValue: 0, }), __metadata("design:type", Number) ], Document.prototype, "top_list_order", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'c_date', type: sequelize_typescript_1.DataType.DATE, allowNull: false, defaultValue: new Date(), }), __metadata("design:type", Date) ], Document.prototype, "c_date", void 0); __decorate([ (0, sequelize_typescript_1.Column)({ field: 'u_date', type: sequelize_typescript_1.DataType.DATE, allowNull: true, defaultValue: new Date(), }), __metadata("design:type", Date) ], Document.prototype, "u_date", void 0); __decorate([ (0, sequelize_typescript_1.BelongsTo)(() => Board_1.Board), __metadata("design:type", Board_1.Board) ], Document.prototype, "board", void 0); __decorate([ (0, sequelize_typescript_1.BelongsTo)(() => Category_1.Category), __metadata("design:type", Category_1.Category) ], Document.prototype, "category", void 0); __decorate([ (0, sequelize_typescript_1.HasMany)(() => Comment_1.Comment), __metadata("design:type", Array) ], Document.prototype, "comments", void 0); __decorate([ (0, sequelize_typescript_1.HasMany)(() => DocumentFile_1.DocumentFile), __metadata("design:type", Array) ], Document.prototype, "documentFiles", void 0); __decorate([ (0, sequelize_typescript_1.HasMany)(() => DocumentLink_1.DocumentLink), __metadata("design:type", Array) ], Document.prototype, "documentLinks", void 0); __decorate([ (0, sequelize_typescript_1.HasMany)(() => DocumentTag_1.DocumentTag), __metadata("design:type", Array) ], Document.prototype, "documentTags", void 0); __decorate([ sequelize_typescript_1.BeforeCreate, sequelize_typescript_1.BeforeUpdate, sequelize_typescript_1.BeforeSave, sequelize_typescript_1.BeforeUpsert, __metadata("design:type", Function), __metadata("design:paramtypes", [Document]), __metadata("design:returntype", void 0) ], Document, "autoFitString", null); Document = __decorate([ (0, sequelize_typescript_1.Table)({ tableName: 'tbl_document', freezeTableName: true, underscored: true, timestamps: false, }) ], Document); exports.Document = Document;