initial upload

This commit is contained in:
Kai Waggeling 2025-05-17 16:23:48 +02:00
parent ac114da487
commit 7c1cfdff51
63 changed files with 6883 additions and 0 deletions

57
sequelize/perms.model.mjs Normal file
View file

@ -0,0 +1,57 @@
import {
DataTypes
} from 'sequelize';
import {
DBLogger,
LabelDB
} from './db_conn.mjs'
export const Permission = LabelDB.define('permission', {
permission: {
type: DataTypes.STRING,
allowNull: false,
primaryKey: true
},
name: {
type: DataTypes.STRING,
allowNull: false
}
}, {
timestamps: false
});
LabelDB.afterBulkSync(async () => {
await Permission.bulkCreate([
{
permission: 'settings',
name: 'edit all Settings'
},
{
permission: 'settings.printer',
name: 'edit Printers'
},
{
permission: 'settings.media',
name: 'edit Medias'
},
{
permission: 'settings.queues',
name: 'edit Queues'
},
{
permission: 'settings.labels',
name: 'edit Lables'
}
], {
updateOnDuplicate: [
'name'
]
});
})
Permission.belongsTo(Permission, { as: 'parent', foreignKey: 'parentPermission' });
Permission.hasMany(Permission, { as: 'child', foreignKey: 'parentPermission' });