mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-18 03:39:29 +00:00
migrated setting routes to typescript
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { Request, Response } from "express";
|
||||
|
||||
import AuthUserService from "../services/AuthUserSerice";
|
||||
import AuthUserService from "../services/UserServices/AuthUserSerice";
|
||||
|
||||
const store = async (req: Request, res: Response): Promise<Response> => {
|
||||
const { email, password } = req.body;
|
||||
|
||||
41
backend/src/controllers/SettingController.ts
Normal file
41
backend/src/controllers/SettingController.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import { Request, Response } from "express";
|
||||
|
||||
import AppError from "../errors/AppError";
|
||||
|
||||
import UpdateSettingService from "../services/SettingServices/UpdateSettingService";
|
||||
import ListSettingsService from "../services/SettingServices/ListSettingsService";
|
||||
// const { getIO } = require("../libs/socket");
|
||||
|
||||
export const index = async (req: Request, res: Response): Promise<Response> => {
|
||||
if (req.user.profile !== "admin") {
|
||||
throw new AppError("Only administrators can access resource.", 403);
|
||||
}
|
||||
|
||||
const settings = await ListSettingsService();
|
||||
|
||||
return res.status(200).json(settings);
|
||||
};
|
||||
|
||||
export const update = async (
|
||||
req: Request,
|
||||
res: Response
|
||||
): Promise<Response> => {
|
||||
if (req.user.profile !== "admin") {
|
||||
throw new AppError("Only administrators can access this route.", 403);
|
||||
}
|
||||
const { settingKey: key } = req.params;
|
||||
const { value } = req.body;
|
||||
|
||||
const setting = await UpdateSettingService({
|
||||
key,
|
||||
value
|
||||
});
|
||||
|
||||
// const io = getIO();
|
||||
// io.emit("settings", {
|
||||
// action: "update",
|
||||
// setting
|
||||
// });
|
||||
|
||||
return res.status(200).json(setting);
|
||||
};
|
||||
@@ -3,11 +3,11 @@ import { Request, Response } from "express";
|
||||
import CheckSettingsHelper from "../helpers/CheckSettingsHelper";
|
||||
import AppError from "../errors/AppError";
|
||||
|
||||
import CreateUserService from "../services/CreateUserService";
|
||||
import ListUsersService from "../services/ListUsersService";
|
||||
import UpdateUserService from "../services/UpdateUserService";
|
||||
import FindUserService from "../services/FindUserService";
|
||||
import DeleteUserService from "../services/DeleteUserService";
|
||||
import CreateUserService from "../services/UserServices/CreateUserService";
|
||||
import ListUsersService from "../services/UserServices/ListUsersService";
|
||||
import UpdateUserService from "../services/UserServices/UpdateUserService";
|
||||
import FindUserService from "../services/UserServices/FindUserService";
|
||||
import DeleteUserService from "../services/UserServices/DeleteUserService";
|
||||
|
||||
export const index = async (req: Request, res: Response): Promise<Response> => {
|
||||
if (req.user.profile !== "admin") {
|
||||
|
||||
@@ -2,22 +2,22 @@ import { Router } from "express";
|
||||
|
||||
import userRoutes from "./userRoutes";
|
||||
import authRoutes from "./authRoutes";
|
||||
import settingRoutes from "./settingRoutes";
|
||||
|
||||
// const TicketsRoutes = require("./routes/tickets");
|
||||
// const MessagesRoutes = require("./routes/messages");
|
||||
// const ContactsRoutes = require("./routes/contacts");
|
||||
// const WhatsRoutes = require("./routes/whatsapp");
|
||||
// const UsersRoutes = require("./routes/users");
|
||||
// const SettingsRoutes = require("./routes/settings");
|
||||
|
||||
const routes = Router();
|
||||
|
||||
routes.use(userRoutes);
|
||||
routes.use("/auth", authRoutes);
|
||||
routes.use(settingRoutes);
|
||||
// routes.use(TicketsRoutes);
|
||||
// routes.use(MessagesRoutes);
|
||||
// routes.use(ContactsRoutes);
|
||||
// routes.use(WhatsRoutes);
|
||||
// routes.use(SettingsRoutes);
|
||||
|
||||
export default routes;
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
const express = require("express");
|
||||
const isAuth = require("../../middleware/is-auth");
|
||||
|
||||
const SettingController = require("../../controllers/SettingController");
|
||||
|
||||
const routes = express.Router();
|
||||
|
||||
routes.get("/settings", isAuth, SettingController.index);
|
||||
|
||||
// routes.get("/settings/:settingKey", isAuth, SettingsController.show);
|
||||
|
||||
routes.put("/settings/:settingKey", isAuth, SettingController.update);
|
||||
|
||||
module.exports = routes;
|
||||
15
backend/src/routes/settingRoutes.ts
Normal file
15
backend/src/routes/settingRoutes.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { Router } from "express";
|
||||
import isAuth from "../middleware/isAuth";
|
||||
|
||||
import * as SettingController from "../controllers/SettingController";
|
||||
|
||||
const settingRoutes = Router();
|
||||
|
||||
settingRoutes.get("/settings", isAuth, SettingController.index);
|
||||
|
||||
// routes.get("/settings/:settingKey", isAuth, SettingsController.show);
|
||||
|
||||
// change setting key to key in future
|
||||
settingRoutes.put("/settings/:settingKey", isAuth, SettingController.update);
|
||||
|
||||
export default settingRoutes;
|
||||
@@ -0,0 +1,9 @@
|
||||
import Setting from "../../models/Setting";
|
||||
|
||||
const ListSettingsService = async (): Promise<Setting[] | undefined> => {
|
||||
const settings = await Setting.findAll();
|
||||
|
||||
return settings;
|
||||
};
|
||||
|
||||
export default ListSettingsService;
|
||||
26
backend/src/services/SettingServices/UpdateSettingService.ts
Normal file
26
backend/src/services/SettingServices/UpdateSettingService.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import AppError from "../../errors/AppError";
|
||||
import Setting from "../../models/Setting";
|
||||
|
||||
interface Request {
|
||||
key: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
const UpdateSettingService = async ({
|
||||
key,
|
||||
value
|
||||
}: Request): Promise<Setting | undefined> => {
|
||||
const setting = await Setting.findOne({
|
||||
where: { key }
|
||||
});
|
||||
|
||||
if (!setting) {
|
||||
throw new AppError("No setting found with this ID.", 404);
|
||||
}
|
||||
|
||||
await setting.update({ value });
|
||||
|
||||
return setting;
|
||||
};
|
||||
|
||||
export default UpdateSettingService;
|
||||
@@ -1,8 +1,8 @@
|
||||
import { sign } from "jsonwebtoken";
|
||||
|
||||
import User from "../models/User";
|
||||
import AppError from "../errors/AppError";
|
||||
import authConfig from "../config/auth";
|
||||
import User from "../../models/User";
|
||||
import AppError from "../../errors/AppError";
|
||||
import authConfig from "../../config/auth";
|
||||
|
||||
interface Request {
|
||||
email: string;
|
||||
@@ -1,7 +1,7 @@
|
||||
import * as Yup from "yup";
|
||||
|
||||
import AppError from "../errors/AppError";
|
||||
import User from "../models/User";
|
||||
import AppError from "../../errors/AppError";
|
||||
import User from "../../models/User";
|
||||
|
||||
interface Request {
|
||||
email: string;
|
||||
@@ -1,5 +1,5 @@
|
||||
import User from "../models/User";
|
||||
import AppError from "../errors/AppError";
|
||||
import User from "../../models/User";
|
||||
import AppError from "../../errors/AppError";
|
||||
|
||||
const DeleteUserService = async (id: string): Promise<void> => {
|
||||
const user = await User.findOne({
|
||||
@@ -1,5 +1,5 @@
|
||||
import User from "../models/User";
|
||||
import AppError from "../errors/AppError";
|
||||
import User from "../../models/User";
|
||||
import AppError from "../../errors/AppError";
|
||||
|
||||
const FindUserService = async (id: string): Promise<User | undefined> => {
|
||||
const user = await User.findOne({
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Sequelize, Op } from "sequelize";
|
||||
import User from "../models/User";
|
||||
import User from "../../models/User";
|
||||
|
||||
interface Request {
|
||||
searchParam?: string;
|
||||
@@ -1,7 +1,7 @@
|
||||
import * as Yup from "yup";
|
||||
|
||||
import AppError from "../errors/AppError";
|
||||
import User from "../models/User";
|
||||
import AppError from "../../errors/AppError";
|
||||
import User from "../../models/User";
|
||||
|
||||
interface UserData {
|
||||
email?: string;
|
||||
Reference in New Issue
Block a user