Tasks: able to get and print tasks

This commit is contained in:
2023-12-31 01:39:42 +01:00
parent cf20935e01
commit 4c9765b4a3
10 changed files with 103 additions and 24 deletions

View File

@ -4,7 +4,7 @@ import env from './environment'
const db = new Sequelize(env.DB_DATABASE, env.DB_USERNAME, env.DB_PASSWORD, {
host: env.DB_HOST,
dialect: 'mariadb',
logging: false
logging: true
})
export default db

View File

@ -0,0 +1,19 @@
import { Request, Response } from 'express'
import Task from '../models/Task'
export async function get(req: Request, res: Response) {
try {
const data = await Task.findAll()
res.json(data)
} catch (error) {
res.status(500).send(error)
}
}
export async function add(req: Request, res: Response) {
try {
const task = await Task.create(req.body)
res.json(task)
} catch (error) {
res.status(500).send(error)
}
}

43
api/src/models/Task.ts Normal file
View File

@ -0,0 +1,43 @@
import { DataTypes, Model } from 'sequelize'
import path from 'path'
import db from '../config/sequelize.config'
class Instance extends Model {}
Instance.init(
{
_id: {
type: DataTypes.UUID,
defaultValue: DataTypes.UUIDV4,
primaryKey: true,
allowNull: false,
unique: true
},
title: {
type: DataTypes.STRING,
allowNull: false
},
client: {
type: DataTypes.STRING,
allowNull: true
},
project: {
type: DataTypes.STRING,
allowNull: true
},
timeStart: {
type: DataTypes.BIGINT,
allowNull: false
},
timeEnd: {
type: DataTypes.BIGINT,
allowNull: true
}
},
{
sequelize: db,
tableName: path.basename(__filename).split('.')[0].toLowerCase()
}
)
export default Instance

View File

@ -1,6 +1,6 @@
import { DataTypes, Model } from 'sequelize'
import path from 'path'
import db from '../config/sequelize.config.ts'
import db from '../config/sequelize.config'
class Instance extends Model {}

View File

@ -0,0 +1,8 @@
import { Router } from 'express'
import * as taskController from "../controllers/taskController"
export const router = Router()
//const mws = [handleValidation.handleValidationError]
router.get("/task/get", taskController.get)
router.post("/task/add", taskController.add)

View File

@ -1,9 +1,11 @@
import { Request, Response, Router } from 'express'
import { router as rootRoutes } from './rootRoutes'
import { router as apiRoutes } from './apiRoutes'
export const router = Router()
router.use(rootRoutes)
router.use("/api/v1", apiRoutes)
// 404
router.use((req: Request, res: Response) => {