From 4f81552d57b118546f0ae07735e21cbc4ca709b4 Mon Sep 17 00:00:00 2001
From: Matthias Feyll <matthias.feyll@stud.h-da.de>
Date: Wed, 25 Sep 2024 15:09:56 +0200
Subject: [PATCH] ui: refactor utils path

---
 react-ui/docs/routine_pattern.md              |  18 ++++
 react-ui/docs/routine_pattern.png             | Bin 0 -> 102971 bytes
 .../action.routine.ts}                        |   0
 .../device.routine.ts}                        |   6 +-
 .../src/components/subscriptions/index.ts     |  26 ------
 .../components/view/device/device.view.tsx    |  10 +-
 .../view_model/device.table.viewmodel.ts      |   2 +-
 .../components/view_model/device.viewmodel.ts |   2 +-
 react-ui/src/index.tsx                        |   5 +-
 react-ui/src/routes.tsx                       |  10 +-
 react-ui/src/{utils => shared}/api/api.ts     |   0
 .../src/{utils => shared}/helper/coookie.ts   |   0
 react-ui/src/{utils => shared}/icons/icons.ts |   0
 .../layouts/basic.layout.tsx                  |   4 +-
 .../layouts/login.layout.tsx                  |   0
 .../protected.layout/protected.layout.scss    |   0
 .../protected.layout/protected.layout.tsx     |   8 +-
 .../provider/auth.provider.tsx                |   0
 react-ui/src/shared/utils/routine.manager.ts  |  88 ++++++++++++++++++
 react-ui/src/stores/index.ts                  |   4 +-
 react-ui/src/stores/persist.store.ts          |   6 +-
 .../{ => device.reducer}/device.reducer.ts    |   1 -
 .../device.reducer}/mne.subscription.ts       |  12 +--
 ...cription.reducer.ts => routine.reducer.ts} |  68 ++++++++------
 .../src/utils/api/subscription.handler.ts     |  68 --------------
 react-ui/tsconfig.json                        |  13 +--
 react-ui/vite.config.mjs                      |  13 +--
 27 files changed, 196 insertions(+), 168 deletions(-)
 create mode 100644 react-ui/docs/routine_pattern.md
 create mode 100644 react-ui/docs/routine_pattern.png
 rename react-ui/src/components/{subscriptions/action.subscription.ts => routines/action.routine.ts} (100%)
 rename react-ui/src/components/{subscriptions/device.subscription.ts => routines/device.routine.ts} (86%)
 delete mode 100644 react-ui/src/components/subscriptions/index.ts
 rename react-ui/src/{utils => shared}/api/api.ts (100%)
 rename react-ui/src/{utils => shared}/helper/coookie.ts (100%)
 rename react-ui/src/{utils => shared}/icons/icons.ts (100%)
 rename react-ui/src/{utils => shared}/layouts/basic.layout.tsx (88%)
 rename react-ui/src/{utils => shared}/layouts/login.layout.tsx (100%)
 rename react-ui/src/{utils => shared}/layouts/protected.layout/protected.layout.scss (100%)
 rename react-ui/src/{utils => shared}/layouts/protected.layout/protected.layout.tsx (98%)
 rename react-ui/src/{utils => shared}/provider/auth.provider.tsx (100%)
 create mode 100644 react-ui/src/shared/utils/routine.manager.ts
 rename react-ui/src/stores/reducer/{ => device.reducer}/device.reducer.ts (97%)
 rename react-ui/src/{components/subscriptions => stores/reducer/device.reducer}/mne.subscription.ts (75%)
 rename react-ui/src/stores/reducer/{subscription.reducer.ts => routine.reducer.ts} (51%)
 delete mode 100644 react-ui/src/utils/api/subscription.handler.ts

diff --git a/react-ui/docs/routine_pattern.md b/react-ui/docs/routine_pattern.md
new file mode 100644
index 000000000..97a29da31
--- /dev/null
+++ b/react-ui/docs/routine_pattern.md
@@ -0,0 +1,18 @@
+## Routine pattern
+The goal is to get a generic architecture to invoke persist and rerun asynchronous actions (thunks).
+
+
+### Goals
+* Invoke asyncronous actions
+* Rerun actions after page reload by persisting
+* Ability to access and manipulate the redux state
+* Give a simple interface to the outside world by abstracting the task to achive the upper goals
+
+
+### Usage
+Add 
+
+
+### Description
+The image displays the whole workflow starting by the user that clicks a button. The actual routine pattern takes place within the red border. 
+![image](./routine_pattern.png)
diff --git a/react-ui/docs/routine_pattern.png b/react-ui/docs/routine_pattern.png
new file mode 100644
index 0000000000000000000000000000000000000000..86b582398523ed51922d8ebad316c15be59265db
GIT binary patch
literal 102971
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

literal 0
HcmV?d00001

diff --git a/react-ui/src/components/subscriptions/action.subscription.ts b/react-ui/src/components/routines/action.routine.ts
similarity index 100%
rename from react-ui/src/components/subscriptions/action.subscription.ts
rename to react-ui/src/components/routines/action.routine.ts
diff --git a/react-ui/src/components/subscriptions/device.subscription.ts b/react-ui/src/components/routines/device.routine.ts
similarity index 86%
rename from react-ui/src/components/subscriptions/device.subscription.ts
rename to react-ui/src/components/routines/device.routine.ts
index 5afcc7c68..0290f637d 100644
--- a/react-ui/src/components/subscriptions/device.subscription.ts
+++ b/react-ui/src/components/routines/device.routine.ts
@@ -1,10 +1,10 @@
 import { NetworkElementServiceGetAllFlattenedApiArg, api } from "@api/api";
-import { setDevices } from "@reducer/device.reducer";
+import { setDevices } from "@reducer/device.reducer/device.reducer";
 import { setUser } from "@reducer/user.reducer";
 import { createAsyncThunk } from "@reduxjs/toolkit";
 import { RootState } from "src/stores";
-import { startListening } from "../../../src/stores/middleware/listener.middleware";
-import { FETCH_DEVICE_ACTION } from "./action.subscription";
+import { startListening } from "../../stores/middleware/listener.middleware";
+import { FETCH_DEVICE_ACTION } from "./action.routine";
 
 // continously fetch devices
 const FETCH_DEVICES_INTERVAL = 15000; // in ms
diff --git a/react-ui/src/components/subscriptions/index.ts b/react-ui/src/components/subscriptions/index.ts
deleted file mode 100644
index 2a3e02f20..000000000
--- a/react-ui/src/components/subscriptions/index.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { AsyncThunk } from '@reduxjs/toolkit';
-import { fetchDevicesThunk } from './device.subscription';
-import { fetchSelectedMneThunk } from './mne.subscription';
-
-
-export enum THUNK_TYPE {
-    MNE =  'device/fetch',
-    DEVICE =  'mne/fetch',
-}
-
-export interface SubscriptionThunkModule {
-    thunkFn?: AsyncThunk<any, any, {}>
-    type: THUNK_TYPE,
-}
-
-export const SubscriptionThunks: SubscriptionThunkModule[] = [
-    {
-        thunkFn: fetchDevicesThunk,
-        type: THUNK_TYPE.DEVICE
-    }, {
-
-        thunkFn: fetchSelectedMneThunk,
-        type: THUNK_TYPE.MNE
-    }
-]
-
diff --git a/react-ui/src/components/view/device/device.view.tsx b/react-ui/src/components/view/device/device.view.tsx
index 0ef5c05b9..c85ce6be6 100644
--- a/react-ui/src/components/view/device/device.view.tsx
+++ b/react-ui/src/components/view/device/device.view.tsx
@@ -1,10 +1,10 @@
 import { useDeviceViewModel } from '@viewmodel/device.viewmodel';
 import { useRef } from 'react';
-import { Button, Col, Container, FloatingLabel, Form, Nav, NavLink, Row } from 'react-bootstrap';
+import { Button, Col, Container, Form, Nav, NavLink, Row } from 'react-bootstrap';
 import { useTranslation } from 'react-i18next';
-import { DeviceViewTabs, DeviceViewTabValues } from './device.view.tabs';
 import './device.scss';
 import { DeviceViewTable } from './device.view.table';
+import { DeviceViewTabs, DeviceViewTabValues } from './device.view.tabs';
 
 function DeviceView() {
     const { t } = useTranslation('common');
@@ -27,9 +27,9 @@ function DeviceView() {
 
                 <Row className='align-items-center'>
                     <Col sm={3}>
-                    <Form.Group controlId='device.search' className='p-0 mx-1 pt-2'>
-                        <Form.Control type="text" placeholder={t('device.search.placeholder')} ref={searchRef} />
-                    </Form.Group>
+                        <Form.Group controlId='device.search' className='p-0 mx-1 pt-2'>
+                            <Form.Control type="text" placeholder={t('device.search.placeholder')} ref={searchRef} />
+                        </Form.Group>
                     </Col>
                     <Col sm={{ span: 2, offset: 2 }} className='border-right pt-2'>
                         <Button variant='primary' className='w-100 my-auto'>{t('device.add_device_button')}</Button>
diff --git a/react-ui/src/components/view_model/device.table.viewmodel.ts b/react-ui/src/components/view_model/device.table.viewmodel.ts
index 22d8ae9e0..0802d6b57 100644
--- a/react-ui/src/components/view_model/device.table.viewmodel.ts
+++ b/react-ui/src/components/view_model/device.table.viewmodel.ts
@@ -1,5 +1,5 @@
 import { useAppDispatch } from "@hooks";
-import { Device, setSelectedDevice } from "@reducer/device.reducer";
+import { Device, setSelectedDevice } from "@reducer/device.reducer/device.reducer";
 import { useEffect, useState } from "react";
 
 export const useDeviceTableViewModel = (searchRef) => {
diff --git a/react-ui/src/components/view_model/device.viewmodel.ts b/react-ui/src/components/view_model/device.viewmodel.ts
index ec75927f0..6dd01d07e 100644
--- a/react-ui/src/components/view_model/device.viewmodel.ts
+++ b/react-ui/src/components/view_model/device.viewmodel.ts
@@ -1,5 +1,5 @@
 import { useAppDispatch, useAppSelector } from "@hooks";
-import { setActiveTab as setActiveTabState } from "@reducer/device.reducer";
+import { setActiveTab as setActiveTabState } from "@reducer/device.reducer/device.reducer";
 import { DeviceViewTabValues } from "@view/device/device.view.tabs";
 
 export const useDeviceViewModel = () => {
diff --git a/react-ui/src/index.tsx b/react-ui/src/index.tsx
index a2ddc81a9..dddcf5c07 100644
--- a/react-ui/src/index.tsx
+++ b/react-ui/src/index.tsx
@@ -1,5 +1,5 @@
 import React from 'react'
-import ReactDOM, { Container } from 'react-dom/client'
+import ReactDOM from 'react-dom/client'
 import {
     RouterProvider
 } from 'react-router-dom'
@@ -12,8 +12,8 @@ import { ToastContainer } from 'react-toastify'
 import { PersistGate } from 'redux-persist/integration/react'
 import './i18n/config'
 import { router } from './routes'
+import './shared/icons/icons'
 import { persistor, store } from './stores'
-import './utils/icons/icons'
 
 const installToastify = () => {
     return (
@@ -34,4 +34,3 @@ ReactDOM.createRoot(document.getElementById("root")).render(
     </React.StrictMode>
 );
 
-import './components/subscriptions'
\ No newline at end of file
diff --git a/react-ui/src/routes.tsx b/react-ui/src/routes.tsx
index b273246d9..a63d6d875 100644
--- a/react-ui/src/routes.tsx
+++ b/react-ui/src/routes.tsx
@@ -1,8 +1,8 @@
-import { BasicLayout } from "@layout/basic.layout"
-import { LoginLayout } from "@layout/login.layout"
-import { ProtectedLayout } from "@layout/protected.layout/protected.layout"
-import DeviceView from "@view/device/device.view"
-import { createBrowserRouter, createRoutesFromElements, Navigate, Route } from "react-router-dom"
+import { BasicLayout } from "@layout/basic.layout";
+import { LoginLayout } from "@layout/login.layout";
+import { ProtectedLayout } from "@layout/protected.layout/protected.layout";
+import DeviceView from "@view/device/device.view";
+import { createBrowserRouter, createRoutesFromElements, Navigate, Route } from "react-router-dom";
 
 export const DEVICE_URL = '/device/';
 export const LOGIN_URL = '/login';
diff --git a/react-ui/src/utils/api/api.ts b/react-ui/src/shared/api/api.ts
similarity index 100%
rename from react-ui/src/utils/api/api.ts
rename to react-ui/src/shared/api/api.ts
diff --git a/react-ui/src/utils/helper/coookie.ts b/react-ui/src/shared/helper/coookie.ts
similarity index 100%
rename from react-ui/src/utils/helper/coookie.ts
rename to react-ui/src/shared/helper/coookie.ts
diff --git a/react-ui/src/utils/icons/icons.ts b/react-ui/src/shared/icons/icons.ts
similarity index 100%
rename from react-ui/src/utils/icons/icons.ts
rename to react-ui/src/shared/icons/icons.ts
diff --git a/react-ui/src/utils/layouts/basic.layout.tsx b/react-ui/src/shared/layouts/basic.layout.tsx
similarity index 88%
rename from react-ui/src/utils/layouts/basic.layout.tsx
rename to react-ui/src/shared/layouts/basic.layout.tsx
index 7b7f2b11c..640af3e1b 100644
--- a/react-ui/src/utils/layouts/basic.layout.tsx
+++ b/react-ui/src/shared/layouts/basic.layout.tsx
@@ -4,11 +4,11 @@ import { useOutlet } from "react-router-dom";
 export const BasicLayout = () => {
     const outlet = useOutlet();
 
-    
+
 
     return (
         <AuthProvider>
-                {outlet}
+            {outlet}
         </AuthProvider>
     )
 }
\ No newline at end of file
diff --git a/react-ui/src/utils/layouts/login.layout.tsx b/react-ui/src/shared/layouts/login.layout.tsx
similarity index 100%
rename from react-ui/src/utils/layouts/login.layout.tsx
rename to react-ui/src/shared/layouts/login.layout.tsx
diff --git a/react-ui/src/utils/layouts/protected.layout/protected.layout.scss b/react-ui/src/shared/layouts/protected.layout/protected.layout.scss
similarity index 100%
rename from react-ui/src/utils/layouts/protected.layout/protected.layout.scss
rename to react-ui/src/shared/layouts/protected.layout/protected.layout.scss
diff --git a/react-ui/src/utils/layouts/protected.layout/protected.layout.tsx b/react-ui/src/shared/layouts/protected.layout/protected.layout.tsx
similarity index 98%
rename from react-ui/src/utils/layouts/protected.layout/protected.layout.tsx
rename to react-ui/src/shared/layouts/protected.layout/protected.layout.tsx
index 588491230..faff61c40 100644
--- a/react-ui/src/utils/layouts/protected.layout/protected.layout.tsx
+++ b/react-ui/src/shared/layouts/protected.layout/protected.layout.tsx
@@ -1,16 +1,16 @@
 import logo from '@assets/logo.svg';
 import { faCircleUser, faRightFromBracket } from "@fortawesome/free-solid-svg-icons";
 import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
+import { useAppDispatch, useAppSelector } from '@hooks';
 import { useAuth } from "@provider/auth.provider";
+import { fetchPnds } from '@reducer/device.reducer/device.reducer';
+import { fetchUser } from '@reducer/user.reducer';
+import { DEVICE_URL, LOGIN_URL } from '@routes';
 import React, { useEffect } from "react";
 import { Dropdown } from "react-bootstrap";
 import { useTranslation } from "react-i18next";
 import { Link, Outlet, useNavigate } from "react-router-dom";
 import "./protected.layout.scss";
-import { useAppDispatch, useAppSelector } from '@hooks';
-import { fetchUser } from '@reducer/user.reducer';
-import { fetchPnds } from '@reducer/device.reducer';
-import { DEVICE_URL, LOGIN_URL } from '@routes';
 
 
 export const ProtectedLayout = () => {
diff --git a/react-ui/src/utils/provider/auth.provider.tsx b/react-ui/src/shared/provider/auth.provider.tsx
similarity index 100%
rename from react-ui/src/utils/provider/auth.provider.tsx
rename to react-ui/src/shared/provider/auth.provider.tsx
diff --git a/react-ui/src/shared/utils/routine.manager.ts b/react-ui/src/shared/utils/routine.manager.ts
new file mode 100644
index 000000000..c86e30d4a
--- /dev/null
+++ b/react-ui/src/shared/utils/routine.manager.ts
@@ -0,0 +1,88 @@
+import { fetchSelectedMneThunk } from '@reducer/device.reducer/mne.subscription';
+import { AsyncThunk } from '@reduxjs/toolkit';
+import { QueryActionCreatorResult } from '@reduxjs/toolkit/query';
+import { fetchDevicesThunk } from '@routine/device.routine';
+
+type Routine = QueryActionCreatorResult<any>;
+
+interface Entity {
+    routine: Routine,
+    id: number
+}
+
+const initialState = {
+    routines: [] as Entity[]
+}
+
+export enum THUNK_KEY {
+    MNE =  'device/fetch',
+    DEVICE =  'mne/fetch',
+}
+
+export const RoutineDictionary = new Map<THUNK_KEY,AsyncThunk<any, any, {}>>([
+    [THUNK_KEY.DEVICE, fetchDevicesThunk],
+    [THUNK_KEY.MNE, fetchSelectedMneThunk]
+])
+
+
+/**
+ * Routine manager is a singleton that holds all running routines.
+ * The redux store holds any persistable information about the routines.
+ * The routines objects itself are stored in the RoutineManager.
+ */
+export const RoutineManager = (() => {
+    let state = initialState;
+    const add = (routine: Routine): number => {
+        const id = state.routines.length;
+
+        const newEntity: Entity = {
+            routine: routine,
+            id
+        }
+
+        state.routines = [...state.routines, newEntity];
+
+        return id;
+    }
+
+
+    const unsubscribeAll = () => {
+        state.routines.forEach(({ routine: subscription }) => {
+            _unsubscribe(subscription)
+        });
+
+        state.routines = initialState.routines;
+    }
+
+    /**
+     * @param id 
+     * @returns returns true if the routine was stopped, false if it was not found
+     */
+    const unsubscribe = (id: number): boolean => {
+        const routine = state.routines.find(({ id: routineId }) => routineId === id);
+
+        if (routine) {
+            _unsubscribe(routine.routine);
+        }
+
+        return !!routine;
+    }
+
+    /**
+     * Actual unsubscribe process.
+     * This process is extracted to have a single process of unsubscribing.
+     * 
+     * @param subscription 
+     */
+    const _unsubscribe = (subscription: Routine) => {
+        subscription.unsubscribe();
+        // TODO remove from state
+    }
+
+
+    return {
+        add,
+        unsubscribe,
+        unsubscribeAll
+    }
+})();
\ No newline at end of file
diff --git a/react-ui/src/stores/index.ts b/react-ui/src/stores/index.ts
index 8d2be362f..1b3c3335e 100644
--- a/react-ui/src/stores/index.ts
+++ b/react-ui/src/stores/index.ts
@@ -1,6 +1,6 @@
 import { configureStore } from '@reduxjs/toolkit'
 import { setupListeners } from '@reduxjs/toolkit/query'
-import { FETCH_DEVICE_ACTION, FETCH_MNE_ACTION } from '@subscription/action.subscription'
+import { FETCH_DEVICE_ACTION, FETCH_MNE_ACTION } from '@routine/action.routine'
 import { FLUSH, PAUSE, PERSIST, PURGE, REGISTER, REHYDRATE } from 'redux-persist'
 import persistStore from 'redux-persist/es/persistStore'
 import { emptySplitApi } from './api.store'
@@ -14,7 +14,7 @@ export const store = configureStore({
   middleware: (getDefaultMiddleware) =>
     getDefaultMiddleware({
       serializableCheck: {
-        ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER, FETCH_DEVICE_ACTION + '/fulfilled', FETCH_MNE_ACTION + '/fulfilled'],
+        ignoredActions: [FLUSH, REHYDRATE, PAUSE, PERSIST, PURGE, REGISTER, FETCH_DEVICE_ACTION + '/fulfilled', FETCH_MNE_ACTION + '/fulfilled', 'routine/addRoutine'],
       },
     }).prepend(listenerMiddleware.middleware).concat(emptySplitApi.middleware, rtkQueryErrorLogger),
 })
diff --git a/react-ui/src/stores/persist.store.ts b/react-ui/src/stores/persist.store.ts
index f14de1bd7..65ade7d3e 100644
--- a/react-ui/src/stores/persist.store.ts
+++ b/react-ui/src/stores/persist.store.ts
@@ -1,5 +1,5 @@
-import deviceReducer from "@reducer/device.reducer";
-import subscriptionReducer from "@reducer/subscription.reducer";
+import deviceReducer from "@reducer/device.reducer/device.reducer";
+import routineReducer from "@reducer/routine.reducer";
 import userReducer from "@reducer/user.reducer";
 import { combineReducers } from "redux";
 import { persistReducer } from "redux-persist";
@@ -18,7 +18,7 @@ const rootPersistConfig = {
 const rootReducer = combineReducers({
     user: userReducer, 
     device: deviceReducer, 
-    subscription: subscriptionReducer, 
+    routine: routineReducer, 
     [emptySplitApi.reducerPath]: emptySplitApi.reducer,
 })
 
diff --git a/react-ui/src/stores/reducer/device.reducer.ts b/react-ui/src/stores/reducer/device.reducer/device.reducer.ts
similarity index 97%
rename from react-ui/src/stores/reducer/device.reducer.ts
rename to react-ui/src/stores/reducer/device.reducer/device.reducer.ts
index 5919062d2..9f21bcbeb 100644
--- a/react-ui/src/stores/reducer/device.reducer.ts
+++ b/react-ui/src/stores/reducer/device.reducer/device.reducer.ts
@@ -1,7 +1,6 @@
 import { api, NetworkelementFlattenedManagedNetworkElement, NetworkelementManagedNetworkElement, PndPrincipalNetworkDomain, PndServiceGetPndListApiArg } from '@api/api';
 import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';
 import { DeviceViewTabValues } from '@view/device/device.view.tabs';
-import { startListening } from '../middleware/listener.middleware';
 
 export type Device = NetworkelementFlattenedManagedNetworkElement;
 
diff --git a/react-ui/src/components/subscriptions/mne.subscription.ts b/react-ui/src/stores/reducer/device.reducer/mne.subscription.ts
similarity index 75%
rename from react-ui/src/components/subscriptions/mne.subscription.ts
rename to react-ui/src/stores/reducer/device.reducer/mne.subscription.ts
index b2b036007..d84e7c5a5 100644
--- a/react-ui/src/components/subscriptions/mne.subscription.ts
+++ b/react-ui/src/stores/reducer/device.reducer/mne.subscription.ts
@@ -1,17 +1,17 @@
 import { api, NetworkElementServiceGetApiArg } from "@api/api";
-import { Device, setSelectedDevice, setSelectedMne } from "@reducer/device.reducer";
-import { CATEGORIES, triggerSubscription } from "@reducer/subscription.reducer";
+import { Device, setSelectedDevice, setSelectedMne } from "@reducer/device.reducer/device.reducer";
+import { addRoutine, CATEGORIES } from "@reducer/routine.reducer";
 import { createAsyncThunk } from "@reduxjs/toolkit";
+import { THUNK_KEY } from "@utils/routine.manager";
 import { RootState } from "src/stores";
-import { THUNK_TYPE } from ".";
-import { startListening } from "../../../src/stores/middleware/listener.middleware";
-import { FETCH_MNE_ACTION } from "./action.subscription";
+import { FETCH_MNE_ACTION } from "../../../components/routines/action.routine";
+import { startListening } from "../../middleware/listener.middleware";
 
 // fetch mne if selected device is set
 startListening({
     predicate: (action) => setSelectedDevice.match(action) && !!action.payload,
     effect: async (action, listenerApi) => {
-        listenerApi.dispatch(triggerSubscription({category: CATEGORIES.TAB, thunkType: THUNK_TYPE.MNE, payload: action.payload}));
+        listenerApi.dispatch(addRoutine({category: CATEGORIES.TAB, thunkKey: THUNK_KEY.MNE, payload: action.payload}));
     },
 })
 
diff --git a/react-ui/src/stores/reducer/subscription.reducer.ts b/react-ui/src/stores/reducer/routine.reducer.ts
similarity index 51%
rename from react-ui/src/stores/reducer/subscription.reducer.ts
rename to react-ui/src/stores/reducer/routine.reducer.ts
index 344b42d25..85ddd7b2b 100644
--- a/react-ui/src/stores/reducer/subscription.reducer.ts
+++ b/react-ui/src/stores/reducer/routine.reducer.ts
@@ -1,14 +1,14 @@
 import { PayloadAction, createSlice } from '@reduxjs/toolkit';
-import { SubscriptionThunks, THUNK_TYPE } from '@subscription/index';
+import { RoutineDictionary, RoutineManager, THUNK_KEY } from '@utils/routine.manager';
+import { REHYDRATE } from 'redux-persist';
 import { RootState } from '..';
-import { SubscriptionHandler } from '../../utils/api/subscription.handler';
 import { startListening } from '../middleware/listener.middleware';
 import { setToken } from './user.reducer';
 
 
 
 interface ThunkEntityDTO {
-    thunkType: THUNK_TYPE,
+    thunkKey: THUNK_KEY,
     payload: any
 
     /**
@@ -19,11 +19,11 @@ interface ThunkEntityDTO {
 
 interface ThunkEntity extends ThunkEntityDTO {
     id?: number,
-    locked: boolean    
+    locked: boolean,
 }
 
 
-export interface SubscriptionReducerState {
+export interface ReducerState {
     thunks: {[key in keyof typeof CATEGORIES]: ThunkEntity | null}
 }
 
@@ -32,18 +32,18 @@ export enum CATEGORIES {
     TAB
 }
 
-const initialState: SubscriptionReducerState = {
+const initialState: ReducerState = {
     thunks: {
         TABLE: null,
         TAB: null
     }
 }
 
-const SubscriptionSlice = createSlice({
-    name: 'subscription',
+const RoutineSlice = createSlice({
+    name: 'routine',
     initialState,
     reducers: {
-        triggerSubscription: (state, {payload}: PayloadAction<ThunkEntityDTO>) => {
+        addRoutine: (state, {payload}: PayloadAction<ThunkEntityDTO>) => {
             const newThunk: ThunkEntity = {...payload, locked: true};
             state.thunks[CATEGORIES[payload.category]] = newThunk;
         },
@@ -60,51 +60,67 @@ const SubscriptionSlice = createSlice({
         },
 
         removeAll: (state) => {
-            SubscriptionHandler.unsubscribeAll()
+            RoutineManager.unsubscribeAll()
             state.thunks = initialState.thunks;
         },
     },
 })
 
-export const { triggerSubscription } = SubscriptionSlice.actions
+export const { addRoutine } = RoutineSlice.actions
 
-// on logout remove all subscriptions
+// on logout remove all routine
 startListening({
     predicate: (action) => setToken.match(action) && action.payload.token === null,
     effect: async (_, listenerApi) => {
-        listenerApi.dispatch(SubscriptionSlice.actions.removeAll());
+        listenerApi.dispatch(RoutineSlice.actions.removeAll());
     },
 })
 
+// on rehydrate add all persistet routines
+startListening({
+    predicate: ({type}) => type === REHYDRATE,
+    effect: async (_, listenerApi) => {
+        const {routine} = listenerApi.getState() as RootState;
+        for (const [_,thunk] of Object.entries<ThunkEntity>(routine.thunks)) {
+            if (!thunk) {
+                return;
+            }
+
+            const dto: ThunkEntityDTO = thunk;
+            listenerApi.dispatch(addRoutine(dto));
+        }
+    },
+})
 
-// unsubscribe old subscription 
+// unsubscribe old routine 
 startListening({
-    predicate: (action) => triggerSubscription.match(action),
+    predicate: (action) => addRoutine.match(action),
     effect: async (action, listenerApi) => {
-        const {subscription} = listenerApi.getOriginalState() as RootState;
-        const lastThunk = subscription.thunks[CATEGORIES[action.payload.category]];
-        SubscriptionHandler.unsubscribe(lastThunk.id);
+        const {routine} = listenerApi.getOriginalState() as RootState;
+        const lastThunk = routine.thunks[CATEGORIES[action.payload.category]];
+        if (lastThunk) {
+            RoutineManager.unsubscribe(lastThunk.id);
+        }
     },
 })
 
-// add new subscription
+// add new routine
 startListening({
-    predicate: (action) => triggerSubscription.match(action),
+    predicate: (action) => addRoutine.match(action),
     effect: async (action, listenerApi) => {
-        const {thunkType} = action.payload as ThunkEntity;
+        const {thunkKey} = action.payload as ThunkEntity;
 
-        const {thunkFn} = SubscriptionThunks.find(({type}) => type === thunkType);
+        const thunkFn = RoutineDictionary.get(thunkKey);
         if (!thunkFn) {
             // TODO
             throw new Error('Thunk not found');
         }
         
         const subscription = await listenerApi.dispatch(thunkFn(action.payload.payload));
-        const thunkId = await SubscriptionHandler.add(subscription.payload);
-        listenerApi.dispatch(SubscriptionSlice.actions.setThunkId({id: thunkId, category: action.payload.category}));
-
+        const thunkId = await RoutineManager.add(subscription.payload);
+        listenerApi.dispatch(RoutineSlice.actions.setThunkId({id: thunkId, category: action.payload.category}));
     },
 })
 
 
-export default SubscriptionSlice.reducer
+export default RoutineSlice.reducer
diff --git a/react-ui/src/utils/api/subscription.handler.ts b/react-ui/src/utils/api/subscription.handler.ts
deleted file mode 100644
index e065879f0..000000000
--- a/react-ui/src/utils/api/subscription.handler.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import { QueryActionCreatorResult } from '@reduxjs/toolkit/query';
-
-type Subscription = QueryActionCreatorResult<any>;
-
-interface Entity {
-    subscription: Subscription,
-    id: number
-}
-
-
-const initialState = {
-    subscriptions: [] as Entity[]
-}
-
-export const SubscriptionHandler = (() => {
-    let state = initialState;
-    const add = (subscription: Subscription): number => {
-        const id = state.subscriptions.length;
-
-        const subscriptionEntity: Entity = {
-            subscription,
-            id
-        }
-
-        state.subscriptions = [...state.subscriptions, subscriptionEntity];
-
-        return id;
-    }
-
-
-    const unsubscribeAll = () => {
-        state.subscriptions.forEach(({ subscription }) => {
-            unsubscribeAction(subscription)
-        });
-
-        state.subscriptions = initialState.subscriptions;
-    }
-
-    /**
-     * @param id 
-     * @returns returns true if the subscription was stopped, false if it was not found
-     */
-    const unsubscribe = (id: number): boolean => {
-        const subscription = state.subscriptions.find(({ id: subscriptionId }) => subscriptionId === id);
-
-        if (subscription) {
-            unsubscribeAction(subscription.subscription);
-        }
-
-        return !!subscription;
-    }
-
-    /**
-     * Actual unsubscribe action
-     * 
-     * @param subscription 
-     */
-    const unsubscribeAction = (subscription: Subscription) => {
-        subscription.unsubscribe();
-    }
-
-
-    return {
-        add,
-        unsubscribe,
-        unsubscribeAll
-    }
-})();
\ No newline at end of file
diff --git a/react-ui/tsconfig.json b/react-ui/tsconfig.json
index 41c9c8f66..6bd0a18b7 100644
--- a/react-ui/tsconfig.json
+++ b/react-ui/tsconfig.json
@@ -23,17 +23,18 @@
         "baseUrl": ".",
         "paths": {
             "@assets/*": ["assets/*"],
-            "@api/*": ["src/utils/api/*"],
+            "@api/*": ["src/shared/api/*"],
             "@viewmodel/*": ["src/components/view_model/*"],
             "@view/*": ["src/components/view/*"],
             "@reducer/*": ["src/stores/reducer/*"],
-            "@provider/*": ["src/utils/provider/*"],
-            "@layout/*": ["src/utils/layouts/*"],
+            "@provider/*": ["src/shared/provider/*"],
+            "@layout/*": ["src/shared/layouts/*"],
             "@hooks": ["src/hooks"],
             "@routes": ["src/routes.tsx"],
-            "@task/*": ["src/utils/tasks/*"],
-            "@helper/*": ["src/utils/helper/*"],
-            "@subscription/*": ["src/components/subscriptions/*"]
+            "@task/*": ["src/shared/tasks/*"],
+            "@helper/*": ["src/shared/helper/*"],
+            "@routine/*": ["src/components/routines/*"],
+            "@utils/*": ["src/shared/utils/*"]
         }
     },
     "include": [
diff --git a/react-ui/vite.config.mjs b/react-ui/vite.config.mjs
index 96be1c844..d36e8cf3a 100644
--- a/react-ui/vite.config.mjs
+++ b/react-ui/vite.config.mjs
@@ -36,17 +36,18 @@ export default defineConfig({
     resolve: {
         alias: {
             '@assets': '/assets',
-            '@api': '/src/utils/api',
+            '@api': '/src/shared/api',
             '@viewmodel': '/src/components/view_model',
             '@view': '/src/components/view',
             '@reducer': '/src/stores/reducer',
-            '@provider': '/src/utils/provider',
-            '@layout': '/src/utils/layouts',
+            '@provider': '/src/shared/provider',
+            '@layout': '/src/shared/layouts',
             '@hooks': '/src/hooks.ts',
-            '@task': '/src/utils/tasks',
-            '@helper': '/src/utils/helper',
+            '@task': '/src/shared/tasks',
+            '@helper': '/src/shared/helper',
             '@routes': '/src/routes.tsx',
-            '@subscription': '/src/components/subscriptions',
+            '@routine': '/src/components/routines',
+            '@utils': '/src/shared/utils',
         },
     },
 
-- 
GitLab