Skip to content

Commit

Permalink
Merge branch 'develop' into fix/some-permission-logic
Browse files Browse the repository at this point in the history
  • Loading branch information
samuelmbabhazi committed Feb 24, 2025
2 parents 7718285 + 8d7d4f1 commit 0b72754
Show file tree
Hide file tree
Showing 14 changed files with 545 additions and 142 deletions.
58 changes: 26 additions & 32 deletions packages/contracts/src/lib/task.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,21 @@ import {
IOrganizationSprintTaskHistory
} from './organization-sprint.model';
import { IOrganizationTeam, IRelationalOrganizationTeam } from './organization-team.model';
import { ITag } from './tag.model';
import { IUser } from './user.model';
import { ITaggable } from './tag.model';
import { IHasUserCreator } from './user.model';
import { ITaskStatus, TaskStatusEnum } from './task-status.model';
import { ITaskPriority, TaskPriorityEnum } from './task-priority.model';
import { ITaskSize, TaskSizeEnum } from './task-size.model';
import { IOrganizationProjectModule } from './organization-project-module.model';
import { IIssueType, TaskTypeEnum } from './issue-type.model';
import { IMentionEmployeeIds } from './mention.model';

export interface ITask
extends IBasePerTenantAndOrganizationEntityModel,
IRelationalOrganizationProject,
IRelationalOrganizationSprint {
export enum TaskParticipantEnum {
EMPLOYEES = 'employees',
TEAMS = 'teams'
}

export interface IBaseTaskProperties extends IBasePerTenantAndOrganizationEntityModel, IHasUserCreator {
title: string;
number?: number;
public?: boolean;
Expand All @@ -29,38 +31,38 @@ export interface ITask
status?: TaskStatusEnum;
priority?: TaskPriorityEnum;
size?: TaskSizeEnum;
issueType?: TaskTypeEnum;
startDate?: Date;
resolvedAt?: Date;
dueDate?: Date;
estimate?: number;
tags?: ITag[];
isDraft?: boolean; // Define if task is still draft (E.g : Task description not completed yet)
isScreeningTask?: boolean; // Defines if the task still in discussion before to be accepted
version?: string;
}

// Interface for task associations (related entities)
export interface ITaskAssociations extends ITaggable, IRelationalOrganizationProject, IRelationalOrganizationSprint {
children?: ITask[];
members?: IEmployee[];
invoiceItems?: IInvoiceItem[];
teams?: IOrganizationTeam[];
modules?: IOrganizationProjectModule[];
taskSprints?: IOrganizationSprint[];
taskSprintHistories?: IOrganizationSprintTaskHistory[];
creator?: IUser;
creatorId?: ID;
isDraft?: boolean; // Define if task is still draft (E.g : Task description not completed yet)
isScreeningTask?: boolean; // Defines if the task still in discussion before to be accepted

version?: string;
issueType?: TaskTypeEnum;
}

export interface ITask extends IBaseTaskProperties, ITaskAssociations {
parent?: ITask;
parentId?: ID; // Optional field for specifying the parent task ID
children?: ITask[];

taskStatus?: ITaskStatus;
taskSize?: ITaskSize;
taskPriority?: ITaskPriority;
taskType?: IIssueType;
taskStatusId?: ID;
taskSize?: ITaskSize;
taskSizeId?: ID;
taskPriority?: ITaskPriority;
taskPriorityId?: ID;
taskType?: IIssueType;
taskTypeId?: ID;

rootEpic?: ITask;
}

Expand All @@ -75,11 +77,6 @@ export interface IGetTaskByEmployeeOptions extends IBaseRelationsEntityModel {

export type IGetSprintsOptions = IGetTaskOptions;

export enum TaskParticipantEnum {
EMPLOYEES = 'employees',
TEAMS = 'teams'
}

export interface ITaskCreateInput extends ITask, IMentionEmployeeIds {}

export interface ITaskUpdateInput extends ITaskCreateInput {
Expand All @@ -101,17 +98,17 @@ export interface IGetTasksByViewFilters extends IBasePerTenantAndOrganizationEnt

export interface ITaskDateFilterInput
extends IBasePerTenantAndOrganizationEntityModel,
Pick<ITask, 'isScreeningTask' | 'projectId' | 'organizationSprintId' | 'creatorId'>,
Pick<ITask, 'isScreeningTask' | 'projectId' | 'organizationSprintId' | 'createdByUserId'>,
IEmployeeEntityInput,
IRelationalOrganizationTeam,
Pick<IGetTasksByViewFilters, 'relations'> {
IBaseRelationsEntityModel {
startDateFrom?: Date;
startDateTo?: Date;
dueDateFrom?: Date;
dueDateTo?: Date;
}

export interface ITaskAdvancedFilter {
export interface ITaskAdvancedFilter extends IBaseRelationsEntityModel {
projects?: ID[];
teams?: ID[];
modules?: ID[];
Expand All @@ -122,11 +119,8 @@ export interface ITaskAdvancedFilter {
priorityIds?: ID[];
sizeIds?: ID[];
parentIds?: ID[];
creators?: ID[];
createdByUserIds?: ID[];
dailyPlans?: ID[];

// Relations
relations?: string[];
}

export interface IAdvancedTaskFiltering {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/lib/activity-log/activity-log.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export class ActivityLogService extends TenantAwareCrudService<ActivityLog> {
// Retrieve the current employee's ID from the request context
const employeeId = RequestContext.currentEmployeeId() ?? input.employeeId;

// Create the activity log entry using the provided input along with the tenantId and creatorId
// Create the activity log entry using the provided input along with the employeeId and tenantId
return await super.create({ ...input, employeeId, tenantId });
} catch (error) {
console.log('Error while creating activity log:', error);
Expand Down
Loading

0 comments on commit 0b72754

Please sign in to comment.