@ckstack/ck-lib-models
Version:
ckstack default database table sequelize models
342 lines (341 loc) • 13 kB
JavaScript
"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;