123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 |
- import { Sequelize, DataTypes } from 'sequelize';
- export const sequelize = new Sequelize({
- dialect: 'sqlite',
- storage: './database/db.sqlite',
- logging: false,
- });
- export const User = sequelize.define('User', {
- id: {
- type: DataTypes.INTEGER,
- autoIncrement: true,
- primaryKey: true
- },
- name: {
- type: DataTypes.STRING
- },
- userID: {
- type: DataTypes.UUID,
- defaultValue: DataTypes.UUIDV4,
- },
- username: {
- type: DataTypes.STRING,
- allowNull: false
- },
- email: {
- type: DataTypes.STRING,
- allowNull: false
- },
- password: {
- type: DataTypes.STRING,
- allowNull: false
- },
- role: {
- type: DataTypes.STRING
- },
- group: {
- type: DataTypes.STRING
- },
- avatar: {
- type: DataTypes.STRING
- },
- lastLogin: {
- type: DataTypes.STRING
- }
- });
- export const Container = sequelize.define('Container', {
- id: {
- type: DataTypes.INTEGER,
- autoIncrement: true,
- primaryKey: true
- },
- name: {
- type: DataTypes.STRING,
- allowNull: false
- },
- visibility: {
- type: DataTypes.STRING
- },
- service: {
- type: DataTypes.STRING
- },
- state: {
- type: DataTypes.STRING
- },
- image: {
- type: DataTypes.STRING
- },
- external_port: {
- type: DataTypes.STRING
- },
- internal_port: {
- type: DataTypes.STRING
- },
- ports: {
- type: DataTypes.STRING
- },
- volumes: {
- type: DataTypes.STRING
- },
- environment_variables: {
- type: DataTypes.STRING
- },
- labels: {
- type: DataTypes.STRING
- },
- IPv4: {
- type: DataTypes.STRING
- },
- style: {
- type: DataTypes.STRING
- },
- cpu: {
- // stores the last 15 values from dockerContainerStats
- type: DataTypes.STRING
- },
- ram: {
- // stores the last 15 values from dockerContainerStats
- type: DataTypes.STRING
- },
- });
- export const Permission = sequelize.define('Permission', {
- id: {
- type: DataTypes.INTEGER,
- autoIncrement: true,
- primaryKey: true
- },
- containerName: {
- type: DataTypes.STRING,
- },
- containerID: {
- type: DataTypes.STRING,
- },
- username: {
- type: DataTypes.STRING,
- allowNull: false
- },
- userID: {
- type: DataTypes.STRING,
- allowNull: false
- },
- install: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- uninstall: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- edit: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- upgrade: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- start: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- stop: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- restart: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- pause: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- logs: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- hide: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- reset_view: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- view: {
- type: DataTypes.STRING,
- defaultValue: false
- },
- });
- export const Syslog = sequelize.define('Syslog', {
- id: {
- type: DataTypes.INTEGER,
- autoIncrement: true,
- primaryKey: true
- },
- user: {
- type: DataTypes.STRING
- },
- email: {
- type: DataTypes.STRING
- },
- event: {
- type: DataTypes.STRING,
- allowNull: false
- },
- message: {
- type: DataTypes.STRING,
- allowNull: false
- },
- ip : {
- type: DataTypes.STRING
- },
- });
- export const Notification = sequelize.define('Notification', {
- id: {
- type: DataTypes.INTEGER,
- autoIncrement: true,
- primaryKey: true
- },
- title: {
- type: DataTypes.STRING
- },
- message: {
- type: DataTypes.STRING
- },
- icon: {
- type: DataTypes.STRING,
- },
- color: {
- type: DataTypes.STRING,
- },
- read: {
- type: DataTypes.STRING,
- },
- createdAt : {
- type: DataTypes.STRING
- },
- createdBy : {
- type: DataTypes.STRING
- },
- });
- export const ServerSettings = sequelize.define('ServerSettings', {
- id: {
- type: DataTypes.INTEGER,
- autoIncrement: true,
- primaryKey: true
- },
- key: {
- type: DataTypes.STRING,
- allowNull: false
- },
- value: {
- type: DataTypes.STRING,
- allowNull: true
- }
- });
- export const UserSettings = sequelize.define('UserSettings', {
- id: {
- type: DataTypes.INTEGER,
- autoIncrement: true,
- primaryKey: true
- },
- userID: {
- type: DataTypes.STRING,
- allowNull: false
- },
- key: {
- type: DataTypes.STRING,
- allowNull: false
- },
- value: {
- type: DataTypes.STRING,
- allowNull: false
- }
- });
- export const Variables = sequelize.define('Variables', {
- find: {
- type: DataTypes.STRING,
- },
- replace: {
- type: DataTypes.STRING,
- }
- });
|