commit
7b999a670c
243 files changed
+24818
No files matched your search
@@ -0,0 +1,38 @@
|
||||
import { Field, InputType, Int } from '@nestjs/graphql';
|
||||
import { IsInt, IsNotEmpty, IsOptional, IsString, Max, MaxLength, Min } from 'class-validator';
|
||||
|
||||
@InputType()
|
||||
export class CreateIssueInput {
|
||||
@Field()
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
key: string;
|
||||
|
||||
@Field()
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
@MaxLength(200)
|
||||
title: string;
|
||||
|
||||
@Field()
|
||||
@IsString()
|
||||
@IsNotEmpty()
|
||||
projectId: string;
|
||||
|
||||
@Field({ nullable: true })
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
content?: string;
|
||||
|
||||
@Field(() => Int, { nullable: true })
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@Min(0)
|
||||
@Max(4)
|
||||
priority?: number;
|
||||
|
||||
@Field({ nullable: true })
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
assignee?: string;
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
import { Field, Int, ObjectType } from '@nestjs/graphql';
|
||||
import { UserType } from '../../../user/presentation/graphql/user.type.js';
|
||||
|
||||
@ObjectType('IssueDetail')
|
||||
export class IssueDetailType {
|
||||
@Field(() => Int)
|
||||
id: number;
|
||||
|
||||
@Field()
|
||||
key: string;
|
||||
|
||||
@Field()
|
||||
title: string;
|
||||
|
||||
@Field(() => String, { nullable: true })
|
||||
content: string | null;
|
||||
|
||||
@Field()
|
||||
status: string;
|
||||
|
||||
@Field(() => Int)
|
||||
priority: number;
|
||||
|
||||
@Field(() => String, { nullable: true })
|
||||
assigneeId: string | null;
|
||||
|
||||
@Field()
|
||||
reporterId: string;
|
||||
|
||||
@Field(() => UserType, { nullable: true })
|
||||
assignee: UserType | null;
|
||||
|
||||
@Field(() => UserType)
|
||||
reporter: UserType;
|
||||
|
||||
@Field()
|
||||
projectId: string;
|
||||
|
||||
@Field(() => Date)
|
||||
createdAt: Date;
|
||||
|
||||
@Field(() => Date)
|
||||
updatedAt: Date;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
import { Field, ObjectType } from '@nestjs/graphql';
|
||||
import { IssueType } from './issue.type.js';
|
||||
import { PaginationMetaType } from '../../../../common/graphql/pagination-meta.type.js';
|
||||
|
||||
@ObjectType('IssuePage')
|
||||
export class IssuePageType {
|
||||
@Field(() => [IssueType])
|
||||
list: IssueType[];
|
||||
|
||||
@Field(() => PaginationMetaType)
|
||||
meta: PaginationMetaType;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
import { Field, Int, ObjectType } from '@nestjs/graphql';
|
||||
|
||||
@ObjectType('Issue')
|
||||
export class IssueType {
|
||||
@Field(() => Int)
|
||||
id: number;
|
||||
|
||||
@Field()
|
||||
key: string;
|
||||
|
||||
@Field()
|
||||
title: string;
|
||||
|
||||
@Field(() => String, { nullable: true })
|
||||
content: string | null;
|
||||
|
||||
@Field()
|
||||
status: string;
|
||||
|
||||
@Field(() => Int)
|
||||
priority: number;
|
||||
|
||||
@Field(() => String, { nullable: true })
|
||||
assigneeId: string | null;
|
||||
|
||||
@Field()
|
||||
reporterId: string;
|
||||
|
||||
@Field()
|
||||
projectId: string;
|
||||
|
||||
@Field(() => Date)
|
||||
createdAt: Date;
|
||||
|
||||
@Field(() => Date)
|
||||
updatedAt: Date;
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
import { Field, InputType, Int } from '@nestjs/graphql';
|
||||
import { IsIn, IsInt, IsOptional, IsString, Max, MaxLength, Min } from 'class-validator';
|
||||
import { ISSUE_STATUSES } from '../../domain/value-objects/issue-status.vo.js';
|
||||
|
||||
@InputType()
|
||||
export class UpdateIssueInput {
|
||||
@Field({ nullable: true })
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
@MaxLength(200)
|
||||
title?: string;
|
||||
|
||||
@Field({ nullable: true })
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
content?: string;
|
||||
|
||||
@Field({ nullable: true })
|
||||
@IsOptional()
|
||||
@IsIn(ISSUE_STATUSES.map((status) => status.alias))
|
||||
status?: string;
|
||||
|
||||
@Field(() => Int, { nullable: true })
|
||||
@IsOptional()
|
||||
@IsInt()
|
||||
@Min(0)
|
||||
@Max(4)
|
||||
priority?: number;
|
||||
|
||||
@Field(() => String, { nullable: true })
|
||||
@IsOptional()
|
||||
@IsString()
|
||||
assignee?: string | null;
|
||||
}
|
||||
Reference in new issue
Block a user