Add tables for almost every admin change, update composer dependencies

This commit is contained in:
Matthew Penner 2021-01-05 14:52:49 -07:00
parent 8f1a5bf0ab
commit 59de9576c9
42 changed files with 3327 additions and 1241 deletions

View file

@ -0,0 +1,27 @@
import { action, Action } from 'easy-peasy';
export interface AdminDatabaseStore {
selectedDatabases: number[];
setSelectedDatabases: Action<AdminDatabaseStore, number[]>;
appendSelectedDatabase: Action<AdminDatabaseStore, number>;
removeSelectedDatabase: Action<AdminDatabaseStore, number>;
}
const databases: AdminDatabaseStore = {
selectedDatabases: [],
setSelectedDatabases: action((state, payload) => {
state.selectedDatabases = payload;
}),
appendSelectedDatabase: action((state, payload) => {
state.selectedDatabases = state.selectedDatabases.filter(id => id !== payload).concat(payload);
}),
removeSelectedDatabase: action((state, payload) => {
state.selectedDatabases = state.selectedDatabases.filter(id => id !== payload);
}),
};
export default databases;

View file

@ -1,20 +1,32 @@
import { createContextStore } from 'easy-peasy';
import { composeWithDevTools } from 'redux-devtools-extension';
import databases, { AdminDatabaseStore } from '@/state/admin/databases';
import locations, { AdminLocationStore } from '@/state/admin/locations';
import mounts, { AdminMountStore } from '@/state/admin/mounts';
import nests, { AdminNestStore } from '@/state/admin/nests';
import nodes, { AdminNodeStore } from '@/state/admin/nodes';
import roles, { AdminRoleStore } from '@/state/admin/roles';
import servers, { AdminServerStore } from '@/state/admin/servers';
import users, { AdminUserStore } from '@/state/admin/users';
interface AdminStore {
databases: AdminDatabaseStore;
locations: AdminLocationStore;
mounts: AdminMountStore;
nests: AdminNestStore;
nodes: AdminNodeStore;
roles: AdminRoleStore;
servers: AdminServerStore;
users: AdminUserStore;
}
export const AdminContext = createContextStore<AdminStore>({
databases,
locations,
mounts,
nests,
nodes,
roles,
servers,
users,

View file

@ -0,0 +1,27 @@
import { action, Action } from 'easy-peasy';
export interface AdminLocationStore {
selectedLocations: number[];
setSelectedLocations: Action<AdminLocationStore, number[]>;
appendSelectedLocation: Action<AdminLocationStore, number>;
removeSelectedLocation: Action<AdminLocationStore, number>;
}
const locations: AdminLocationStore = {
selectedLocations: [],
setSelectedLocations: action((state, payload) => {
state.selectedLocations = payload;
}),
appendSelectedLocation: action((state, payload) => {
state.selectedLocations = state.selectedLocations.filter(id => id !== payload).concat(payload);
}),
removeSelectedLocation: action((state, payload) => {
state.selectedLocations = state.selectedLocations.filter(id => id !== payload);
}),
};
export default locations;

View file

@ -0,0 +1,27 @@
import { action, Action } from 'easy-peasy';
export interface AdminMountStore {
selectedMounts: number[];
setSelectedMounts: Action<AdminMountStore, number[]>;
appendSelectedMount: Action<AdminMountStore, number>;
removeSelectedMount: Action<AdminMountStore, number>;
}
const mounts: AdminMountStore = {
selectedMounts: [],
setSelectedMounts: action((state, payload) => {
state.selectedMounts = payload;
}),
appendSelectedMount: action((state, payload) => {
state.selectedMounts = state.selectedMounts.filter(id => id !== payload).concat(payload);
}),
removeSelectedMount: action((state, payload) => {
state.selectedMounts = state.selectedMounts.filter(id => id !== payload);
}),
};
export default mounts;

View file

@ -0,0 +1,27 @@
import { action, Action } from 'easy-peasy';
export interface AdminNodeStore {
selectedNodes: number[];
setSelectedNodes: Action<AdminNodeStore, number[]>;
appendSelectedNode: Action<AdminNodeStore, number>;
removeSelectedNode: Action<AdminNodeStore, number>;
}
const nodes: AdminNodeStore = {
selectedNodes: [],
setSelectedNodes: action((state, payload) => {
state.selectedNodes = payload;
}),
appendSelectedNode: action((state, payload) => {
state.selectedNodes = state.selectedNodes.filter(id => id !== payload).concat(payload);
}),
removeSelectedNode: action((state, payload) => {
state.selectedNodes = state.selectedNodes.filter(id => id !== payload);
}),
};
export default nodes;