Skip to main content
Glama
Task.js1.59 kB
const { DataTypes } = require('sequelize'); const { sequelize } = require('../../config/database'); const WorkPackage = require('./WorkPackage'); const Task = sequelize.define('Task', { id: { type: DataTypes.UUID, defaultValue: DataTypes.UUIDV4, primaryKey: true }, taskId: { type: DataTypes.STRING, allowNull: false, unique: true }, name: { type: DataTypes.STRING, allowNull: false }, description: { type: DataTypes.TEXT }, filePath: { type: DataTypes.STRING, allowNull: false }, changes: { type: DataTypes.TEXT, defaultValue: '{}' }, status: { type: DataTypes.ENUM('PLANNED', 'IN_PROGRESS', 'READY_FOR_QA', 'QA_IN_PROGRESS', 'COMPLETED', 'FAILED'), defaultValue: 'PLANNED' }, successCriteria: { type: DataTypes.TEXT }, qaResults: { type: DataTypes.TEXT, defaultValue: '{}' }, workPackageId: { type: DataTypes.UUID, references: { model: WorkPackage, key: 'id' } }, dependencies: { type: DataTypes.TEXT, defaultValue: '[]', get() { const value = this.getDataValue('dependencies'); return value ? JSON.parse(value) : []; }, set(value) { this.setDataValue('dependencies', JSON.stringify(value)); } }, priority: { type: DataTypes.INTEGER, defaultValue: 0 }, createdAt: { type: DataTypes.DATE, defaultValue: DataTypes.NOW }, updatedAt: { type: DataTypes.DATE, defaultValue: DataTypes.NOW } }); Task.belongsTo(WorkPackage); WorkPackage.hasMany(Task); module.exports = Task;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/docherty/contextmgr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server