diff --git a/back_users.sql b/back_users.sql new file mode 100644 index 0000000..9254d26 --- /dev/null +++ b/back_users.sql @@ -0,0 +1,209 @@ +-- phpMyAdmin SQL Dump +-- version 5.2.1 +-- https://www.phpmyadmin.net/ +-- +-- Хост: db +-- Время создания: Июл 01 2023 г., 08:40 +-- Версия сервера: 8.0.33 +-- Версия PHP: 8.1.19 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- База данных: `users` +-- + +CREATE USER 'user'@'%' IDENTIFIED WITH mysql_native_password BY 'user'; +GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'user'@'%' WITH GRANT OPTION; + + +-- CREATE DATABASE IF NOT EXISTS `users` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; +-- USE `users`; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `admins` +-- + +CREATE TABLE `admins` ( + `id` int NOT NULL, + `login` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `uid` int NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- +-- Дамп данных таблицы `admins` +-- + +INSERT INTO `admins` (`id`, `login`, `uid`) VALUES +(18, 'admin', 34); + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `objects` +-- + +CREATE TABLE `objects` ( + `id` int NOT NULL, + `name` text NOT NULL, + `img` text NOT NULL, + `height` smallint NOT NULL, + `width` smallint NOT NULL, + `description` mediumtext NOT NULL, + `gid` int NOT NULL DEFAULT '0' +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `projects` +-- + +CREATE TABLE `projects` ( + `id` int NOT NULL, + `name` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `uid` int NOT NULL, + `body` json NOT NULL, + `img` mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `sids` +-- + +CREATE TABLE `sids` ( + `id` int NOT NULL, + `sid` text NOT NULL, + `uid` int NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- -------------------------------------------------------- + +-- +-- Структура таблицы `users` +-- + +CREATE TABLE `users` ( + `id` int NOT NULL, + `login` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL, + `pass` varchar(1000) NOT NULL, + `admin` int DEFAULT '0', + `uuid` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- +-- Дамп данных таблицы `users` +-- + +INSERT INTO `users` (`id`, `login`, `pass`, `admin`, `uuid`) VALUES +(34, 'admin', 'admin', 1, '7a910a34-8b80-4a60-8445-2400920be5d3%admin%%4a576825-deea-403d-bf0b-46bb98bb80fd#621'); + +-- +-- Индексы сохранённых таблиц +-- + +-- +-- Индексы таблицы `admins` +-- +ALTER TABLE `admins` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `uid` (`uid`) USING BTREE; + +-- +-- Индексы таблицы `objects` +-- +ALTER TABLE `objects` + ADD PRIMARY KEY (`id`); + +-- +-- Индексы таблицы `projects` +-- +ALTER TABLE `projects` + ADD PRIMARY KEY (`id`), + ADD KEY `uid` (`uid`); + +-- +-- Индексы таблицы `sids` +-- +ALTER TABLE `sids` + ADD PRIMARY KEY (`id`), + ADD KEY `uid` (`uid`); + +-- +-- Индексы таблицы `users` +-- +ALTER TABLE `users` + ADD PRIMARY KEY (`id`); + +-- +-- AUTO_INCREMENT для сохранённых таблиц +-- + +-- +-- AUTO_INCREMENT для таблицы `admins` +-- +ALTER TABLE `admins` + MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=19; + +-- +-- AUTO_INCREMENT для таблицы `objects` +-- +ALTER TABLE `objects` + MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=20; + +-- +-- AUTO_INCREMENT для таблицы `projects` +-- +ALTER TABLE `projects` + MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=27; + +-- +-- AUTO_INCREMENT для таблицы `sids` +-- +ALTER TABLE `sids` + MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=72; + +-- +-- AUTO_INCREMENT для таблицы `users` +-- +ALTER TABLE `users` + MODIFY `id` int NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=35; + +-- +-- Ограничения внешнего ключа сохраненных таблиц +-- + +-- +-- Ограничения внешнего ключа таблицы `admins` +-- +ALTER TABLE `admins` + ADD CONSTRAINT `admins_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; + +-- +-- Ограничения внешнего ключа таблицы `projects` +-- +ALTER TABLE `projects` + ADD CONSTRAINT `projects_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; + +-- +-- Ограничения внешнего ключа таблицы `sids` +-- +ALTER TABLE `sids` + ADD CONSTRAINT `sids_ibfk_1` FOREIGN KEY (`uid`) REFERENCES `users` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT; +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/index.js b/index.js index 767dd3f..aa03665 100644 --- a/index.js +++ b/index.js @@ -20,7 +20,7 @@ const app = express(); // const { mainModule } = require('process'); // const { name } = require('ejs'); -const maxRequestBodySize = '10mb'; +const maxRequestBodySize = '50mb'; app.set('view engine', 'ejs'); app.use(express.urlencoded({ extended: false, @@ -296,6 +296,11 @@ app.post("/get_objs", (req,res) => { if(cook['sid'] != null && cook['uuid'] != null){ db.gv("objects","gid",0,(odata)=>{ // console.log(odata); + // Object.keys(odata).forEach(([key,value]) => { + // }); + odata.forEach(element => { + delete element["img"] + }); res.send({out:"good",body:odata}); }) } diff --git a/public/lib/inter.js b/public/lib/inter.js index a31425c..a6f8662 100644 --- a/public/lib/inter.js +++ b/public/lib/inter.js @@ -25,7 +25,7 @@ function create(clas,x,y,body,id){ goto("/proj/"+proj_name); }); } - else{ + else if (db_data != null){ obj.src = db_data["img"]; obj.title = `${db_data["name"]} \n ${db_data["description"]}`; } @@ -107,7 +107,7 @@ function save(callback){ html2canvas(document.querySelector("body"),{height: 500, width:(window.innerWidth /1.65),x:(window.innerWidth / 5), y:250}).then(canvas => { let scr = ""; console.log(canvas.toDataURL().length); - if (canvas.toDataURL().length < 80000) scr = canvas.toDataURL() + if (canvas.toDataURL().length < 100000) scr = canvas.toDataURL() // console.log(scr); $.post( "/save_proj", {proj:JSON.stringify(objs),name:proj_name,img:scr}) .done(function( res ) { diff --git a/views/admin.ejs b/views/admin.ejs index 65c781b..0947e63 100644 --- a/views/admin.ejs +++ b/views/admin.ejs @@ -13,7 +13,7 @@

hello admin

-
+

Image preview...
@@ -61,8 +61,8 @@ var img = document.querySelector('img').src; name = name.replace(" ","_"); if (img != "http://n0rsrv2:3002/admin"){ + document.getElementById("obj_resp").innerHTML = "creating object"; new_obj(name,img,0,0,description,(res)=>{ - document.getElementById("obj_resp").innerHTML = "creating object"; if(res["out"] == "bad" && res["err"] == "name"){ document.getElementById("obj_resp").innerHTML = "object already exist"; } diff --git a/views/project.ejs b/views/project.ejs index 84677a9..5830656 100644 --- a/views/project.ejs +++ b/views/project.ejs @@ -109,7 +109,7 @@
- +
@@ -182,6 +182,7 @@ czone.classList.add("createzone"); czones.append(czone) }); + load_proj(); }) <%- include('./static/end.ejs') %> \ No newline at end of file diff --git a/views/reg.ejs b/views/reg.ejs index dee5d31..a423770 100644 --- a/views/reg.ejs +++ b/views/reg.ejs @@ -15,10 +15,15 @@

user registration

- - - - +
+ + + +
+
+ + +