mirror of
https://github.com/cheveguerra/whaticket-community.git
synced 2026-04-19 20:29:17 +00:00
migrated setting routes to typescript
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
import { Request, Response } from "express";
|
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 store = async (req: Request, res: Response): Promise<Response> => {
|
||||||
const { email, password } = req.body;
|
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 CheckSettingsHelper from "../helpers/CheckSettingsHelper";
|
||||||
import AppError from "../errors/AppError";
|
import AppError from "../errors/AppError";
|
||||||
|
|
||||||
import CreateUserService from "../services/CreateUserService";
|
import CreateUserService from "../services/UserServices/CreateUserService";
|
||||||
import ListUsersService from "../services/ListUsersService";
|
import ListUsersService from "../services/UserServices/ListUsersService";
|
||||||
import UpdateUserService from "../services/UpdateUserService";
|
import UpdateUserService from "../services/UserServices/UpdateUserService";
|
||||||
import FindUserService from "../services/FindUserService";
|
import FindUserService from "../services/UserServices/FindUserService";
|
||||||
import DeleteUserService from "../services/DeleteUserService";
|
import DeleteUserService from "../services/UserServices/DeleteUserService";
|
||||||
|
|
||||||
export const index = async (req: Request, res: Response): Promise<Response> => {
|
export const index = async (req: Request, res: Response): Promise<Response> => {
|
||||||
if (req.user.profile !== "admin") {
|
if (req.user.profile !== "admin") {
|
||||||
|
|||||||
@@ -2,22 +2,22 @@ import { Router } from "express";
|
|||||||
|
|
||||||
import userRoutes from "./userRoutes";
|
import userRoutes from "./userRoutes";
|
||||||
import authRoutes from "./authRoutes";
|
import authRoutes from "./authRoutes";
|
||||||
|
import settingRoutes from "./settingRoutes";
|
||||||
|
|
||||||
// const TicketsRoutes = require("./routes/tickets");
|
// const TicketsRoutes = require("./routes/tickets");
|
||||||
// const MessagesRoutes = require("./routes/messages");
|
// const MessagesRoutes = require("./routes/messages");
|
||||||
// const ContactsRoutes = require("./routes/contacts");
|
// const ContactsRoutes = require("./routes/contacts");
|
||||||
// const WhatsRoutes = require("./routes/whatsapp");
|
// const WhatsRoutes = require("./routes/whatsapp");
|
||||||
// const UsersRoutes = require("./routes/users");
|
// const UsersRoutes = require("./routes/users");
|
||||||
// const SettingsRoutes = require("./routes/settings");
|
|
||||||
|
|
||||||
const routes = Router();
|
const routes = Router();
|
||||||
|
|
||||||
routes.use(userRoutes);
|
routes.use(userRoutes);
|
||||||
routes.use("/auth", authRoutes);
|
routes.use("/auth", authRoutes);
|
||||||
|
routes.use(settingRoutes);
|
||||||
// routes.use(TicketsRoutes);
|
// routes.use(TicketsRoutes);
|
||||||
// routes.use(MessagesRoutes);
|
// routes.use(MessagesRoutes);
|
||||||
// routes.use(ContactsRoutes);
|
// routes.use(ContactsRoutes);
|
||||||
// routes.use(WhatsRoutes);
|
// routes.use(WhatsRoutes);
|
||||||
// routes.use(SettingsRoutes);
|
|
||||||
|
|
||||||
export default routes;
|
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 { sign } from "jsonwebtoken";
|
||||||
|
|
||||||
import User from "../models/User";
|
import User from "../../models/User";
|
||||||
import AppError from "../errors/AppError";
|
import AppError from "../../errors/AppError";
|
||||||
import authConfig from "../config/auth";
|
import authConfig from "../../config/auth";
|
||||||
|
|
||||||
interface Request {
|
interface Request {
|
||||||
email: string;
|
email: string;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import * as Yup from "yup";
|
import * as Yup from "yup";
|
||||||
|
|
||||||
import AppError from "../errors/AppError";
|
import AppError from "../../errors/AppError";
|
||||||
import User from "../models/User";
|
import User from "../../models/User";
|
||||||
|
|
||||||
interface Request {
|
interface Request {
|
||||||
email: string;
|
email: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import User from "../models/User";
|
import User from "../../models/User";
|
||||||
import AppError from "../errors/AppError";
|
import AppError from "../../errors/AppError";
|
||||||
|
|
||||||
const DeleteUserService = async (id: string): Promise<void> => {
|
const DeleteUserService = async (id: string): Promise<void> => {
|
||||||
const user = await User.findOne({
|
const user = await User.findOne({
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import User from "../models/User";
|
import User from "../../models/User";
|
||||||
import AppError from "../errors/AppError";
|
import AppError from "../../errors/AppError";
|
||||||
|
|
||||||
const FindUserService = async (id: string): Promise<User | undefined> => {
|
const FindUserService = async (id: string): Promise<User | undefined> => {
|
||||||
const user = await User.findOne({
|
const user = await User.findOne({
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
import { Sequelize, Op } from "sequelize";
|
import { Sequelize, Op } from "sequelize";
|
||||||
import User from "../models/User";
|
import User from "../../models/User";
|
||||||
|
|
||||||
interface Request {
|
interface Request {
|
||||||
searchParam?: string;
|
searchParam?: string;
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import * as Yup from "yup";
|
import * as Yup from "yup";
|
||||||
|
|
||||||
import AppError from "../errors/AppError";
|
import AppError from "../../errors/AppError";
|
||||||
import User from "../models/User";
|
import User from "../../models/User";
|
||||||
|
|
||||||
interface UserData {
|
interface UserData {
|
||||||
email?: string;
|
email?: string;
|
||||||
Reference in New Issue
Block a user