@ckstack/ck-lib-models
Version:
ckstack default database table sequelize models
110 lines (109 loc) • 4.29 kB
JavaScript
;
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.MqttAcl = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const dk_lib_1 = require("@dkpkg/dk-lib");
const MqttUser_1 = require("./MqttUser");
let MqttAcl = class MqttAcl extends sequelize_typescript_1.Model {
};
__decorate([
(0, sequelize_typescript_1.Column)({
field: 'id',
type: sequelize_typescript_1.DataType.INTEGER({ scale: 11 }),
primaryKey: true,
autoIncrement: true,
allowNull: false,
unique: true,
}),
__metadata("design:type", Number)
], MqttAcl.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)
], MqttAcl.prototype, "rid", void 0);
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => MqttUser_1.MqttUser),
(0, sequelize_typescript_1.Column)({
field: 'user',
type: sequelize_typescript_1.DataType.INTEGER({ scale: 11 }),
allowNull: false,
defaultValue: 0,
}),
__metadata("design:type", Number)
], MqttAcl.prototype, "user", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({
field: 'topic',
type: sequelize_typescript_1.DataType.STRING(256),
allowNull: false,
defaultValue: '',
}),
__metadata("design:type", String)
], MqttAcl.prototype, "topic", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({
field: 'rw',
type: sequelize_typescript_1.DataType.ENUM(dk_lib_1.CkValue.MOSQUITTO_ACL_AUTH.READ, dk_lib_1.CkValue.MOSQUITTO_ACL_AUTH.WRITE, dk_lib_1.CkValue.MOSQUITTO_ACL_AUTH.SUBSCRIBE, dk_lib_1.CkValue.MOSQUITTO_ACL_AUTH.SUBSCRIBE_ONLY, dk_lib_1.CkValue.MOSQUITTO_ACL_AUTH.PUBLISH_ONLY, dk_lib_1.CkValue.MOSQUITTO_ACL_AUTH.ALL),
allowNull: false,
defaultValue: dk_lib_1.CkValue.MOSQUITTO_ACL_AUTH.READ,
}),
__metadata("design:type", Number)
], MqttAcl.prototype, "rw", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({
field: 'description',
type: sequelize_typescript_1.DataType.TEXT,
defaultValue: '',
}),
__metadata("design:type", String)
], MqttAcl.prototype, "description", 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)
], MqttAcl.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)
], MqttAcl.prototype, "u_date", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => MqttUser_1.MqttUser),
__metadata("design:type", MqttUser_1.MqttUser)
], MqttAcl.prototype, "mqttUser", void 0);
MqttAcl = __decorate([
(0, sequelize_typescript_1.Table)({
tableName: 'tbl_mqtt_acl',
freezeTableName: true,
underscored: true,
timestamps: false,
indexes: [
{ name: 'idx_user_topic', fields: ['user', 'topic'], unique: true },
],
})
], MqttAcl);
exports.MqttAcl = MqttAcl;