UNPKG

@sync-in/server

Version:

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

63 lines (62 loc) 2.28 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 spaceGroupConcatPermissions () { return spaceGroupConcatPermissions; }, get spaces () { return spaces; } }); const _drizzleorm = require("drizzle-orm"); const _mysqlcore = require("drizzle-orm/mysql-core"); const _spaces = require("../constants/spaces"); const spaces = (0, _mysqlcore.mysqlTable)('spaces', { id: (0, _mysqlcore.bigint)('id', { mode: 'number', unsigned: true }).autoincrement().primaryKey(), alias: (0, _mysqlcore.varchar)('alias', { length: 255 }).notNull(), name: (0, _mysqlcore.varchar)('name', { length: 255 }).notNull(), description: (0, _mysqlcore.varchar)('description', { length: 255 }), enabled: (0, _mysqlcore.boolean)('enabled').default(true).notNull(), storageUsage: (0, _mysqlcore.bigint)('storageUsage', { mode: 'number', unsigned: true }).default(0).notNull(), storageQuota: (0, _mysqlcore.bigint)('storageQuota', { mode: 'number', unsigned: true }), createdAt: (0, _mysqlcore.datetime)('createdAt', { mode: 'date' }).default((0, _drizzleorm.sql)`CURRENT_TIMESTAMP`).notNull(), modifiedAt: (0, _mysqlcore.datetime)('modifiedAt', { mode: 'date' }).default((0, _drizzleorm.sql)`CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP`), disabledAt: (0, _mysqlcore.datetime)('disabledAt', { mode: 'date' }) }, (table)=>[ (0, _mysqlcore.uniqueIndex)('alias_idx').on(table.alias) ]); const spaceGroupConcatPermissions = (column, separator = _spaces.SPACE_PERMS_SEP)=>(0, _drizzleorm.sql)`IFNULL(GROUP_CONCAT(DISTINCT(IF(${column} = '', null, ${column})) SEPARATOR ${_drizzleorm.sql.raw(`'${separator}'`)}), '')`; //# sourceMappingURL=spaces.schema.js.map