diff --git a/.gitea/workflows/dev_pipeline.yaml b/.gitea/workflows/dev_pipeline.yaml
new file mode 100644
index 0000000..a74f527
--- /dev/null
+++ b/.gitea/workflows/dev_pipeline.yaml
@@ -0,0 +1,47 @@
+name: Dev testing pipeline
+run-name: ${{ gitea.actor }} is testing out Yuna ๐Ÿš€
+on:
+  push:
+    branches:
+      - dev
+
+jobs:
+  BuildAndTest:
+    runs-on: ubuntu-latest
+    steps:
+      - name: List Base info ๐Ÿ‘“
+        run: echo "๐ŸŽ‰ The job was automatically triggered by a ${{ gitea.event_name }} event."
+        run: echo "๐Ÿง This job is now running on a ${{ runner.os }} server hosted by Gitea!"
+        run: echo "๐Ÿ”Ž The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
+        run: echo "${{ gitea.workspace }} is a workspace folder"
+
+      - name: Check out repo code ๐Ÿ“
+        uses: actions/checkout@v3
+
+      - name: Set up PostgreSQL ๐Ÿ˜
+      uses: postgres-actions/setup-postgres@v1
+      with:
+        postgres-version: '15'
+        postgres-user: 'developer'
+        postgres-password: 'magazinchik_forever'
+        postgres-port: '5432'
+
+      - name: Init db ๐Ÿ“œ
+        env:
+          PGPSSWORD: magazinchik_forever
+          run: |
+          psql -h localhost -U developer -p 5432 -f ${{ gitea.workspace }}/Db/_localhost-2024_07_27_12_51_02-dump.sql
+
+      - name: Setup .NET ๐Ÿ› ๏ธ
+        uses: actions/setup-dotnet@v3
+        with:
+          dotnet-version: '8.0.x'
+        
+      - name: Restore dependencies ๐Ÿ”ช
+        run: dotnet restore
+      
+      - name: Build debug app โ˜ข๏ธ
+        run: donet build -c Debug --no-restore
+      
+      - name: Run unit tests ๐Ÿ’Š
+        run: dotnet test -c Debug --no-build
\ No newline at end of file
diff --git a/.gitea/workflows/test.yaml b/.gitea/workflows/test.yaml
deleted file mode 100644
index 394c807..0000000
--- a/.gitea/workflows/test.yaml
+++ /dev/null
@@ -1,19 +0,0 @@
-name: Gitea Actions Demo
-run-name: ${{ gitea.actor }} is testing out Gitea Actions ๐Ÿš€
-on: [push]
-
-jobs:
-  Explore-Gitea-Actions:
-    runs-on: ubuntu-latest
-    steps:
-      - run: echo "๐ŸŽ‰ The job was automatically triggered by a ${{ gitea.event_name }} event."
-      - run: echo "๐Ÿง This job is now running on a ${{ runner.os }} server hosted by Gitea!"
-      - run: echo "๐Ÿ”Ž The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
-      - name: Check out repository code
-        uses: actions/checkout@v4
-      - run: echo "๐Ÿ’ก The ${{ gitea.repository }} repository has been cloned to the runner."
-      - run: echo "๐Ÿ–ฅ๏ธ The workflow is now ready to test your code on the runner."
-      - name: List files in the repository
-        run: |
-          ls ${{ gitea.workspace }}
-      - run: echo "๐Ÿ This job's status is ${{ job.status }}."
\ No newline at end of file
diff --git a/Db/_localhost-2024_07_27_12_51_02-dump.sql b/Db/_localhost-2024_07_27_12_51_02-dump.sql
new file mode 100644
index 0000000..8e9245c
--- /dev/null
+++ b/Db/_localhost-2024_07_27_12_51_02-dump.sql
@@ -0,0 +1,371 @@
+--
+-- PostgreSQL database dump
+--
+
+-- Dumped from database version 15.2
+-- Dumped by pg_dump version 15.2
+
+SET statement_timeout = 0;
+SET lock_timeout = 0;
+SET idle_in_transaction_session_timeout = 0;
+SET client_encoding = 'UTF8';
+SET standard_conforming_strings = on;
+SELECT pg_catalog.set_config('search_path', '', false);
+SET check_function_bodies = false;
+SET xmloption = content;
+SET client_min_messages = warning;
+SET row_security = off;
+
+--
+-- Name: Yuna; Type: DATABASE; Schema: -; Owner: developer
+--
+
+CREATE DATABASE "Yuna" WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE_PROVIDER = libc LOCALE = 'Russian_Russia.1251';
+
+
+ALTER DATABASE "Yuna" OWNER TO developer;
+
+\connect "Yuna"
+
+SET statement_timeout = 0;
+SET lock_timeout = 0;
+SET idle_in_transaction_session_timeout = 0;
+SET client_encoding = 'UTF8';
+SET standard_conforming_strings = on;
+SELECT pg_catalog.set_config('search_path', '', false);
+SET check_function_bodies = false;
+SET xmloption = content;
+SET client_min_messages = warning;
+SET row_security = off;
+
+SET default_tablespace = '';
+
+SET default_table_access_method = heap;
+
+--
+-- Name: Yuna_Devices; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE public."Yuna_Devices" (
+    "Id" bigint NOT NULL,
+    "Name" character varying(128) NOT NULL,
+    "Description" character varying(255),
+    "DeviceUrl" character varying(255),
+    "UserId" bigint NOT NULL,
+    "IsDeleted" boolean DEFAULT false NOT NULL
+);
+
+
+ALTER TABLE public."Yuna_Devices" OWNER TO postgres;
+
+--
+-- Name: Yuna_Devices_Id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+CREATE SEQUENCE public."Yuna_Devices_Id_seq"
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+ALTER TABLE public."Yuna_Devices_Id_seq" OWNER TO postgres;
+
+--
+-- Name: Yuna_Devices_Id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
+--
+
+ALTER SEQUENCE public."Yuna_Devices_Id_seq" OWNED BY public."Yuna_Devices"."Id";
+
+
+--
+-- Name: Yuna_Props; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE public."Yuna_Props" (
+    "Id" bigint NOT NULL,
+    "Name" character varying(100) NOT NULL,
+    "MeasureName" character varying(255),
+    "JsonValueName" character varying(255),
+    "Type" smallint
+);
+
+
+ALTER TABLE public."Yuna_Props" OWNER TO postgres;
+
+--
+-- Name: Yuna_Props_Id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+CREATE SEQUENCE public."Yuna_Props_Id_seq"
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+ALTER TABLE public."Yuna_Props_Id_seq" OWNER TO postgres;
+
+--
+-- Name: Yuna_Props_Id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
+--
+
+ALTER SEQUENCE public."Yuna_Props_Id_seq" OWNED BY public."Yuna_Props"."Id";
+
+
+--
+-- Name: Yuna_Props_In_Devices; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE public."Yuna_Props_In_Devices" (
+    "Id" bigint NOT NULL,
+    "PropId" bigint NOT NULL,
+    "DeviceId" bigint NOT NULL
+);
+
+
+ALTER TABLE public."Yuna_Props_In_Devices" OWNER TO postgres;
+
+--
+-- Name: Yuna_Props_In_Devices_Id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+CREATE SEQUENCE public."Yuna_Props_In_Devices_Id_seq"
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+ALTER TABLE public."Yuna_Props_In_Devices_Id_seq" OWNER TO postgres;
+
+--
+-- Name: Yuna_Props_In_Devices_Id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
+--
+
+ALTER SEQUENCE public."Yuna_Props_In_Devices_Id_seq" OWNED BY public."Yuna_Props_In_Devices"."Id";
+
+
+--
+-- Name: Yuna_Users; Type: TABLE; Schema: public; Owner: postgres
+--
+
+CREATE TABLE public."Yuna_Users" (
+    "Id" bigint NOT NULL,
+    "Username" character varying(32) NOT NULL,
+    "HashedPassword" character varying(255) NOT NULL,
+    "IsAdmin" boolean NOT NULL
+);
+
+
+ALTER TABLE public."Yuna_Users" OWNER TO postgres;
+
+--
+-- Name: Yuna_Users_Id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
+--
+
+CREATE SEQUENCE public."Yuna_Users_Id_seq"
+    START WITH 1
+    INCREMENT BY 1
+    NO MINVALUE
+    NO MAXVALUE
+    CACHE 1;
+
+
+ALTER TABLE public."Yuna_Users_Id_seq" OWNER TO postgres;
+
+--
+-- Name: Yuna_Users_Id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
+--
+
+ALTER SEQUENCE public."Yuna_Users_Id_seq" OWNED BY public."Yuna_Users"."Id";
+
+
+--
+-- Name: Yuna_Devices Id; Type: DEFAULT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public."Yuna_Devices" ALTER COLUMN "Id" SET DEFAULT nextval('public."Yuna_Devices_Id_seq"'::regclass);
+
+
+--
+-- Name: Yuna_Props Id; Type: DEFAULT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public."Yuna_Props" ALTER COLUMN "Id" SET DEFAULT nextval('public."Yuna_Props_Id_seq"'::regclass);
+
+
+--
+-- Name: Yuna_Props_In_Devices Id; Type: DEFAULT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public."Yuna_Props_In_Devices" ALTER COLUMN "Id" SET DEFAULT nextval('public."Yuna_Props_In_Devices_Id_seq"'::regclass);
+
+
+--
+-- Name: Yuna_Users Id; Type: DEFAULT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public."Yuna_Users" ALTER COLUMN "Id" SET DEFAULT nextval('public."Yuna_Users_Id_seq"'::regclass);
+
+
+--
+-- Data for Name: Yuna_Devices; Type: TABLE DATA; Schema: public; Owner: postgres
+--
+
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (9, 'Test Device', 'Test descr', 'sdfsdfsdfsdf', 8, false);
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (6, 'TenkiChan', 'Supa Weather', 'http://192.168.1.89/sensors', 8, false);
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (3, 'Test Device', 'Test Description', 'Test Urldfg', 1, true);
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (8, 'Test Devicedfgdfgdfgf', 'Test Description', 'Test Url11111111', 1, true);
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (11, 'string', 'string', 'ffffffffffdgghfghfghfgfghfgfghfg', 8, true);
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (12, 'Test Device', 'Test Description', 'Test Url', 1, true);
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (13, 'Test Device', 'Test Description', 'Test Url', 1, true);
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (10, 'string', 'string', 'fffdg', 8, true);
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (4, 'Test Device', 'Nyanyanyadfgdfgfdgfdg', 'Test Urldfgdfgdfgdf', 1, false);
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (1, 'strin111', 'strin', 'strindddd', 1, false);
+INSERT INTO public."Yuna_Devices" ("Id", "Name", "Description", "DeviceUrl", "UserId", "IsDeleted") VALUES (14, 'Test Device', 'Test Description', 'Test Url', 1, false);
+
+
+--
+-- Data for Name: Yuna_Props; Type: TABLE DATA; Schema: public; Owner: postgres
+--
+
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (1, 'test', 'test', 'test', 0);
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (2, 'test', 'test', 'test', 0);
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (3, 'Temp', 'C', 'string', 0);
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (4, 'string', 'string', 'string', 0);
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (5, 'strding', 'strding', 'strding', 0);
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (6, 'SupaTest', 'testing', 'sssss', 0);
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (7, 'test', 'test', 'test', 0);
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (8, 'ะขะตะผะฟะตั€ะฐั‚ัƒั€ะฐ', 'ยฐC', 'temperature', 0);
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (9, 'ะ’ะปะฐะถะฝะพัั‚ัŒ', '%', 'humidity', 0);
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (10, 'ะšะพะฝั†ะตะฝั‚ั€ะฐั†ะธั CO2', 'ัะผยณ/ะผยณ', 'ppm', 0);
+INSERT INTO public."Yuna_Props" ("Id", "Name", "MeasureName", "JsonValueName", "Type") VALUES (11, 'test', 'test', 'test', 0);
+
+
+--
+-- Data for Name: Yuna_Props_In_Devices; Type: TABLE DATA; Schema: public; Owner: postgres
+--
+
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (1, 1, 1);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (21, 4, 1);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (22, 5, 1);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (32, 6, 1);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (39, 3, 1);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (40, 8, 6);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (41, 9, 6);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (42, 10, 6);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (43, 1, 9);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (44, 2, 9);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (45, 3, 9);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (46, 4, 9);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (47, 5, 10);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (48, 6, 10);
+INSERT INTO public."Yuna_Props_In_Devices" ("Id", "PropId", "DeviceId") VALUES (49, 5, 11);
+
+
+--
+-- Data for Name: Yuna_Users; Type: TABLE DATA; Schema: public; Owner: postgres
+--
+
+INSERT INTO public."Yuna_Users" ("Id", "Username", "HashedPassword", "IsAdmin") VALUES (1, 'asd1', '2', true);
+INSERT INTO public."Yuna_Users" ("Id", "Username", "HashedPassword", "IsAdmin") VALUES (2, 'test', '123', false);
+INSERT INTO public."Yuna_Users" ("Id", "Username", "HashedPassword", "IsAdmin") VALUES (3, 'test', '123', false);
+INSERT INTO public."Yuna_Users" ("Id", "Username", "HashedPassword", "IsAdmin") VALUES (4, 'test', '123', false);
+INSERT INTO public."Yuna_Users" ("Id", "Username", "HashedPassword", "IsAdmin") VALUES (5, 'test', '123', false);
+INSERT INTO public."Yuna_Users" ("Id", "Username", "HashedPassword", "IsAdmin") VALUES (6, 'test', '123', false);
+INSERT INTO public."Yuna_Users" ("Id", "Username", "HashedPassword", "IsAdmin") VALUES (8, 'test1', 'EbvfS/o9GSL7wkbnix+BzMpCLJqfWqeTgimj3u9CknA=', false);
+INSERT INTO public."Yuna_Users" ("Id", "Username", "HashedPassword", "IsAdmin") VALUES (7, 'vasich', 'V64zSeugpX/I4ZSqot7K0NQBOGdMNYNclXButwoXasI=', true);
+INSERT INTO public."Yuna_Users" ("Id", "Username", "HashedPassword", "IsAdmin") VALUES (9, 'test', '123', false);
+
+
+--
+-- Name: Yuna_Devices_Id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
+--
+
+SELECT pg_catalog.setval('public."Yuna_Devices_Id_seq"', 14, true);
+
+
+--
+-- Name: Yuna_Props_Id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
+--
+
+SELECT pg_catalog.setval('public."Yuna_Props_Id_seq"', 11, true);
+
+
+--
+-- Name: Yuna_Props_In_Devices_Id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
+--
+
+SELECT pg_catalog.setval('public."Yuna_Props_In_Devices_Id_seq"', 49, true);
+
+
+--
+-- Name: Yuna_Users_Id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres
+--
+
+SELECT pg_catalog.setval('public."Yuna_Users_Id_seq"', 9, true);
+
+
+--
+-- Name: Yuna_Devices Yuna_Devices_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public."Yuna_Devices"
+    ADD CONSTRAINT "Yuna_Devices_pkey" PRIMARY KEY ("Id");
+
+
+--
+-- Name: Yuna_Props_In_Devices Yuna_Props_In_Devices_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public."Yuna_Props_In_Devices"
+    ADD CONSTRAINT "Yuna_Props_In_Devices_pkey" PRIMARY KEY ("Id");
+
+
+--
+-- Name: Yuna_Props Yuna_Props_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public."Yuna_Props"
+    ADD CONSTRAINT "Yuna_Props_pkey" PRIMARY KEY ("Id");
+
+
+--
+-- Name: Yuna_Users_index_1; Type: INDEX; Schema: public; Owner: postgres
+--
+
+CREATE UNIQUE INDEX "Yuna_Users_index_1" ON public."Yuna_Users" USING btree ("Id");
+
+
+--
+-- Name: Yuna_Props_In_Devices Yuna_Props_In_Devices_relation_2; Type: FK CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public."Yuna_Props_In_Devices"
+    ADD CONSTRAINT "Yuna_Props_In_Devices_relation_2" FOREIGN KEY ("DeviceId") REFERENCES public."Yuna_Devices"("Id") ON DELETE CASCADE;
+
+
+--
+-- Name: Yuna_Props_In_Devices Yuna_Props_In_Devices_relation_3; Type: FK CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public."Yuna_Props_In_Devices"
+    ADD CONSTRAINT "Yuna_Props_In_Devices_relation_3" FOREIGN KEY ("PropId") REFERENCES public."Yuna_Props"("Id") ON DELETE CASCADE;
+
+
+--
+-- Name: Yuna_Devices fk_user_id; Type: FK CONSTRAINT; Schema: public; Owner: postgres
+--
+
+ALTER TABLE ONLY public."Yuna_Devices"
+    ADD CONSTRAINT fk_user_id FOREIGN KEY ("UserId") REFERENCES public."Yuna_Users"("Id");
+
+
+--
+-- PostgreSQL database dump complete
+--
+