gitbeaker/packages/core/src/resources/MergeRequestNotes.ts
Justin Dalrymple 6a3292b033
Expose typing to consumer and remove export complexity (#1818)
- Exports all types
- Clean up type duplicates
- Remove Project,User and Group Bundles
- Fix typing on the Gitlab Export
- Clean up README.md
2021-07-05 15:34:19 -04:00

63 lines
1.6 KiB
TypeScript

import { BaseResourceOptions } from '@gitbeaker/requester-utils';
import { ResourceNotes } from '../templates';
import { NoteSchema } from '../templates/types';
import {
PaginatedRequestOptions,
BaseRequestOptions,
Sudo,
CamelizedRecord,
} from '../infrastructure';
export interface MergeRequestNoteSchema extends NoteSchema {
attachment?: string;
system: boolean;
noteable_id: number;
noteable_type: string;
noteable_iid: number;
resolvable: boolean;
}
export interface MergeRequestNotes<C extends boolean = false> extends ResourceNotes<C> {
all(
projectId: string | number,
mergerequestId: string | number,
options?: PaginatedRequestOptions,
): Promise<CamelizedRecord<C, MergeRequestNoteSchema>[]>;
create(
projectId: string | number,
mergerequestId: string | number,
body: string,
options?: BaseRequestOptions,
): Promise<CamelizedRecord<C, MergeRequestNoteSchema>>;
edit(
projectId: string | number,
mergerequestId: string | number,
noteId: number,
body: string,
options?: BaseRequestOptions,
): Promise<CamelizedRecord<C, MergeRequestNoteSchema>>;
remove(
projectId: string | number,
mergerequestId: string | number,
noteId: number,
options?: Sudo,
): Promise<void>;
show(
projectId: string | number,
mergerequestIdepicId: string | number,
noteId: number,
options?: Sudo,
): Promise<CamelizedRecord<C, MergeRequestNoteSchema>>;
}
export class MergeRequestNotes<C extends boolean = false> extends ResourceNotes<C> {
constructor(options: BaseResourceOptions<C>) {
/* istanbul ignore next */
super('projects', 'merge_requests', options);
}
}