@sync-in/server
Version:
The secure, open-source platform for file storage, sharing, collaboration, and sync
63 lines (62 loc) • 2.28 kB
JavaScript
/*
* 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