migrated setting routes to typescript

This commit is contained in:
canove
2020-09-15 17:16:29 -03:00
parent 149cbef98e
commit 14d90a2dd4
17 changed files with 111 additions and 34 deletions

View File

@@ -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;

View 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);
};

View File

@@ -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") {

View File

@@ -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;

View File

@@ -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;

View 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;

View File

@@ -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;

View 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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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({

View File

@@ -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({

View File

@@ -1,5 +1,5 @@
import { Sequelize, Op } from "sequelize";
import User from "../models/User";
import User from "../../models/User";
interface Request {
searchParam?: string;

View File

@@ -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;