"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const abstractTable_1 = __importDefault(require("drizzle-orm/tables/abstractTable"));
const types_1 = require("./types");
class UsersTable extends abstractTable_1.default {
    constructor() {
        super(...arguments);
        this.id = this.serial('id').primaryKey();
        this.name = this.varchar('name');
        this.password = this.varchar('password');
        this.photo = this.varchar('photo');
        this.smallPhoto = this.varchar('small_photo');
        this.birthday = this.varchar('birthday');
        this.email = this.varchar('email');
        this.role = this.type(types_1.rolesEnum, 'role').notNull();
        this.telegramId = this.bigint('telegram_id', 'max_bytes_53');
        this.tags = this.jsonb('tags');
        this.workload = this.int('workload');
        this.hireDate = this.varchar('hire_date');
        this.english = this.type(types_1.englishLevelEnum, 'english_level');
        this.deleted = this.bool('is_deleted').defaultValue(false);
        this.tlUsername = this.varchar('tl_username');
        this.language = this.varchar('language_setup');
        this.isTelegramConnected = this.bool('is_telegram_connected').defaultValue(false);
        this.filters = this.jsonb('filters');
        this.hasPersonalInventory = this.bool('has_personal_inventory');
    }
    tableName() {
        return 'users';
    }
}
exports.default = UsersTable;
//# sourceMappingURL=UsersTable.js.map