UNPKG

@sync-in/server

Version:

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

73 lines (72 loc) 2.8 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 }); Object.defineProperty(exports, "spacesMembers", { enumerable: true, get: function() { return spacesMembers; } }); const _drizzleorm = require("drizzle-orm"); const _mysqlcore = require("drizzle-orm/mysql-core"); const _linksschema = require("../../links/schemas/links.schema"); const _groupsschema = require("../../users/schemas/groups.schema"); const _usersschema = require("../../users/schemas/users.schema"); const _spacesschema = require("./spaces.schema"); const spacesMembers = (0, _mysqlcore.mysqlTable)('spaces_members', { id: (0, _mysqlcore.bigint)('id', { mode: 'number', unsigned: true }).autoincrement().primaryKey(), spaceId: (0, _mysqlcore.bigint)('spaceId', { mode: 'number', unsigned: true }).references(()=>_spacesschema.spaces.id, { onDelete: 'cascade' }).notNull(), userId: (0, _mysqlcore.bigint)('userId', { mode: 'number', unsigned: true }).references(()=>_usersschema.users.id, { onDelete: 'cascade' }), groupId: (0, _mysqlcore.bigint)('groupId', { mode: 'number', unsigned: true }).references(()=>_groupsschema.groups.id, { onDelete: 'cascade' }), linkId: (0, _mysqlcore.bigint)('linkId', { mode: 'number', unsigned: true }).references(()=>_linksschema.links.id, { onDelete: 'cascade' }), role: (0, _mysqlcore.tinyint)('role', { unsigned: true }).default(0).notNull(), permissions: (0, _mysqlcore.varchar)('permissions', { length: 32 }).default(''), 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`) }, (table)=>[ (0, _mysqlcore.unique)('space_user_uniq').on(table.spaceId, table.userId), (0, _mysqlcore.unique)('space_group_uniq').on(table.spaceId, table.groupId), (0, _mysqlcore.unique)('space_link_uniq').on(table.spaceId, table.linkId), (0, _mysqlcore.index)('space_idx').on(table.spaceId), (0, _mysqlcore.index)('user_idx').on(table.userId), (0, _mysqlcore.index)('group_idx').on(table.groupId), (0, _mysqlcore.index)('link_idx').on(table.linkId), (0, _mysqlcore.index)('role_idx').on(table.role) ]); //# sourceMappingURL=spaces-members.schema.js.map