feat: initial commit - Band Management application

This commit is contained in:
2026-01-06 03:11:46 +01:00
commit 34e12e00b3
24543 changed files with 3991790 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
import { database } from '@/server/fake-db/apps/kanban/index'
export default defineEventHandler(async event => {
const boardId = getIntId(event, 'User id is required to get board details')
const boardIndex = database.boards.findIndex(board => board.id === boardId)
if (boardIndex === -1) {
setResponseStatus(event, 404)
return { body: { message: `Board with id ${boardId} not found` } }
}
database.boards.splice(boardIndex, 1)
return { body: { message: `Board with id ${boardId} deleted` } }
})

View File

@@ -0,0 +1,25 @@
import { database } from '@/server/fake-db/apps/kanban/index'
export default defineEventHandler(async event => {
const { title } = await readBody(event)
const getNewBoardId = () => {
const newBoardId = database.boards.length + 1
if (!(database.boards.some(board => board.id === newBoardId)))
return newBoardId
else
return newBoardId + 1
}
if (database.boards.some(board => board.title === title)) {
setResponseStatus(event, 204)
}
else {
database.boards.push({
id: getNewBoardId(),
title,
itemsIds: [],
})
setResponseStatus(event, 201)
}
})

View File

@@ -0,0 +1,15 @@
import { database } from '@/server/fake-db/apps/kanban/index'
export default defineEventHandler(async event => {
const { boardId, newName } = await readBody(event)
database.boards = database.boards.map(board => {
if (board.id === boardId)
board.title = newName
return board
})
setResponseStatus(event, 201)
return { body: { message: `Rename Board with id ${newName}` } }
})

View File

@@ -0,0 +1,13 @@
import { database } from '@/server/fake-db/apps/kanban'
export default defineEventHandler(async event => {
const boardState = await readBody(event)
// sort board as per boardState
const sortedBoards = boardState.map(boardId => {
return database.boards.find(board => board.id === boardId)
})
database.boards = sortedBoards
})

View File

@@ -0,0 +1,5 @@
import { database } from '@/server/fake-db/apps/kanban/index'
export default defineEventHandler(() => {
return database
})

View File

@@ -0,0 +1,11 @@
import { database } from '@/server/fake-db/apps/kanban'
export default defineEventHandler(event => {
const itemId = getIntId(event, 'Item id is required to get item details')
database.items = database.items.filter(item => item.id !== itemId)
database.boards.forEach(board => {
board.itemsIds = board.itemsIds.filter(id => id !== itemId)
})
setResponseStatus(event, 204)
})

View File

@@ -0,0 +1,28 @@
import { database } from '@/server/fake-db/apps/kanban/'
export default defineEventHandler(async event => {
const { boardId, boardName, itemTitle } = await readBody(event)
const itemId = database.items[database.items.length - 1].id + 1
if (itemTitle && boardName) {
// Add the new item to the items list
database.items.push({
id: itemId,
title: itemTitle,
attachments: 0,
comments: '',
commentsCount: 0,
dueDate: '',
labels: [],
members: [],
})
// find the index of board in the database
const id = database.boards.findIndex(board => board.id === boardId)
// Add the new item to the board
database.boards[id].itemsIds.push(itemId)
}
setResponseStatus(event, 201)
})

View File

@@ -0,0 +1,11 @@
import { database } from '@/server/fake-db/apps/kanban/'
export default defineEventHandler(async event => {
const { boardId, ids } = await readBody(event)
database.boards.forEach(board => {
if (board.id === boardId)
board.itemsIds = ids
})
setResponseStatus(event, 201)
})

View File

@@ -0,0 +1,18 @@
import { database } from '@/server/fake-db/apps/kanban/'
export default defineEventHandler(async event => {
const { item: task } = await readBody(event)
database.items.forEach(item => {
if (task && item.id === task.id) {
item.title = task.title
item.attachments = task.attachments
item.comments = task.comments
item.commentsCount = task.commentsCount
item.dueDate = task.dueDate
item.labels = task.labels
item.members = task.members
}
})
setResponseStatus(event, 201)
})