UNPKG

@sync-in/server

Version:

The secure, open-source platform for file storage, sharing, collaboration, and sync

57 lines (56 loc) 2.19 kB
/* * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com> * This file is part of Sync-in | The open source file sync and share solution * See the LICENSE file for licensing details */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: Object.getOwnPropertyDescriptor(all, name).get }); } _export(exports, { get comments () { return comments; }, get fileHasCommentsSubquerySQL () { return fileHasCommentsSubquerySQL; } }); const _drizzleorm = require("drizzle-orm"); const _mysqlcore = require("drizzle-orm/mysql-core"); const _filesschema = require("../../files/schemas/files.schema"); const _usersschema = require("../../users/schemas/users.schema"); const comments = (0, _mysqlcore.mysqlTable)('comments', { id: (0, _mysqlcore.bigint)('id', { mode: 'number', unsigned: true }).autoincrement().primaryKey(), userId: (0, _mysqlcore.bigint)('userId', { mode: 'number', unsigned: true }).references(()=>_usersschema.users.id, { onDelete: 'cascade' }).notNull(), fileId: (0, _mysqlcore.bigint)('fileId', { mode: 'number', unsigned: true }).references(()=>_filesschema.files.id, { onDelete: 'cascade' }).notNull(), content: (0, _mysqlcore.text)(), modifiedAt: (0, _mysqlcore.datetime)('modifiedAt', { mode: 'date' }).default((0, _drizzleorm.sql)`CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`), createdAt: (0, _mysqlcore.datetime)('createdAt', { mode: 'date' }).default((0, _drizzleorm.sql)`CURRENT_TIMESTAMP`).notNull() }, (table)=>[ (0, _mysqlcore.index)('user_idx').on(table.userId), (0, _mysqlcore.index)('file_idx').on(table.fileId) ]); const fileHasCommentsSubquerySQL = (fileId)=>(0, _drizzleorm.sql)`EXISTS(SELECT 1 FROM ${comments} WHERE ${(0, _drizzleorm.sql)`${fileId}`} IS NOT NULL AND ${(0, _drizzleorm.sql)`${comments.fileId}`} = ${(0, _drizzleorm.sql)`${fileId}`})`; //# sourceMappingURL=comments.schema.js.map