return entity types
This commit is contained in:
parent
0538691173
commit
3c5867b3da
|
@ -57,8 +57,14 @@ export interface RepoManager {
|
||||||
getMergeRequest: (id: string) => Promise<MergeRequest>;
|
getMergeRequest: (id: string) => Promise<MergeRequest>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export enum ENTITY_TYPE {
|
||||||
|
ISSUE = 'issue',
|
||||||
|
MERGE_REQUEST = 'merge_request',
|
||||||
|
}
|
||||||
|
|
||||||
/** issue, merge request or whatever the fuck you need */
|
/** issue, merge request or whatever the fuck you need */
|
||||||
export interface RepoElement {
|
export interface RepoElement {
|
||||||
|
// type: ENTITY_TYPE;
|
||||||
id: string;
|
id: string;
|
||||||
title: string;
|
title: string;
|
||||||
content: string;
|
content: string;
|
||||||
|
@ -72,6 +78,7 @@ export enum ISSUE_STATE {
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface Issue extends RepoElement {
|
export interface Issue extends RepoElement {
|
||||||
|
type: ENTITY_TYPE.ISSUE;
|
||||||
state: ISSUE_STATE;
|
state: ISSUE_STATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,6 +95,7 @@ export enum MERGE_REQUEST_MERGABILITY {
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface MergeRequest extends RepoElement {
|
export interface MergeRequest extends RepoElement {
|
||||||
|
type: ENTITY_TYPE.MERGE_REQUEST;
|
||||||
state: MERGE_REQUEST_STATE;
|
state: MERGE_REQUEST_STATE;
|
||||||
/** null if unknown */
|
/** null if unknown */
|
||||||
mergability: MERGE_REQUEST_MERGABILITY | null;
|
mergability: MERGE_REQUEST_MERGABILITY | null;
|
||||||
|
|
4
src/vendor/github/repomgr.ts
vendored
4
src/vendor/github/repomgr.ts
vendored
|
@ -15,6 +15,7 @@ import {
|
||||||
MergeRequest,
|
MergeRequest,
|
||||||
MERGE_REQUEST_STATE,
|
MERGE_REQUEST_STATE,
|
||||||
MERGE_REQUEST_MERGABILITY,
|
MERGE_REQUEST_MERGABILITY,
|
||||||
|
ENTITY_TYPE,
|
||||||
} from '../../types';
|
} from '../../types';
|
||||||
import GitHubVendorManager from './vendormgr';
|
import GitHubVendorManager from './vendormgr';
|
||||||
import assert from 'assert';
|
import assert from 'assert';
|
||||||
|
@ -103,6 +104,7 @@ export default class GitHubRepoManager implements RepoManager {
|
||||||
assert(resp.repository.issue, 'no issue');
|
assert(resp.repository.issue, 'no issue');
|
||||||
const { issue } = resp.repository;
|
const { issue } = resp.repository;
|
||||||
return {
|
return {
|
||||||
|
type: ENTITY_TYPE.ISSUE,
|
||||||
id: number,
|
id: number,
|
||||||
content: issue.body,
|
content: issue.body,
|
||||||
title: issue.title,
|
title: issue.title,
|
||||||
|
@ -137,6 +139,7 @@ export default class GitHubRepoManager implements RepoManager {
|
||||||
assert(resp.createIssue.issue, 'creating issue failed');
|
assert(resp.createIssue.issue, 'creating issue failed');
|
||||||
const replicated = resp.createIssue.issue;
|
const replicated = resp.createIssue.issue;
|
||||||
return {
|
return {
|
||||||
|
type: ENTITY_TYPE.ISSUE,
|
||||||
id: replicated.number.toString(),
|
id: replicated.number.toString(),
|
||||||
content: replicated.body,
|
content: replicated.body,
|
||||||
title: replicated.title,
|
title: replicated.title,
|
||||||
|
@ -170,6 +173,7 @@ export default class GitHubRepoManager implements RepoManager {
|
||||||
assert(resp.repository.pullRequest, 'no pull request');
|
assert(resp.repository.pullRequest, 'no pull request');
|
||||||
const { pullRequest } = resp.repository;
|
const { pullRequest } = resp.repository;
|
||||||
return {
|
return {
|
||||||
|
type: ENTITY_TYPE.MERGE_REQUEST,
|
||||||
id: number,
|
id: number,
|
||||||
content: pullRequest.body,
|
content: pullRequest.body,
|
||||||
title: pullRequest.title,
|
title: pullRequest.title,
|
||||||
|
|
3
src/vendor/gitlab/repomgr.ts
vendored
3
src/vendor/gitlab/repomgr.ts
vendored
|
@ -15,6 +15,7 @@ import {
|
||||||
MergeRequest,
|
MergeRequest,
|
||||||
MERGE_REQUEST_STATE,
|
MERGE_REQUEST_STATE,
|
||||||
MERGE_REQUEST_MERGABILITY,
|
MERGE_REQUEST_MERGABILITY,
|
||||||
|
ENTITY_TYPE,
|
||||||
} from '../../types';
|
} from '../../types';
|
||||||
import GitLabVendorManager from './vendormgr';
|
import GitLabVendorManager from './vendormgr';
|
||||||
import assert from 'assert';
|
import assert from 'assert';
|
||||||
|
@ -109,6 +110,7 @@ export default class GitHubRepoManager implements RepoManager {
|
||||||
assert(resp.project.issue, 'no issue');
|
assert(resp.project.issue, 'no issue');
|
||||||
const { issue } = resp.project;
|
const { issue } = resp.project;
|
||||||
return {
|
return {
|
||||||
|
type: ENTITY_TYPE.ISSUE,
|
||||||
id: number,
|
id: number,
|
||||||
content: issue.description || '',
|
content: issue.description || '',
|
||||||
title: issue.title,
|
title: issue.title,
|
||||||
|
@ -160,6 +162,7 @@ export default class GitHubRepoManager implements RepoManager {
|
||||||
assert(resp.project.mergeRequest, 'no merge request');
|
assert(resp.project.mergeRequest, 'no merge request');
|
||||||
const { mergeRequest } = resp.project;
|
const { mergeRequest } = resp.project;
|
||||||
return {
|
return {
|
||||||
|
type: ENTITY_TYPE.MERGE_REQUEST,
|
||||||
id: number,
|
id: number,
|
||||||
content: mergeRequest.description || '',
|
content: mergeRequest.description || '',
|
||||||
title: mergeRequest.title,
|
title: mergeRequest.title,
|
||||||
|
|
Loading…
Reference in a new issue