File

src/app/data/issue/issue-store.service.ts

Description

This service provides CRUD operations and linking for issues The code for the mutations are automaticly generated by a code generator for the GraphQL schema based on the definitions in the issue.graphql file in the same folder

Index

Methods

Constructor

constructor(createIssue: CreateIssueGQL, linkIssue: LinkIssueGQL, getFullIssueQuery: GetIssueGQL, commentIssueMutation: CommentIssueGQL, deleteIssueCommentMutation: DeleteIssueCommentGQL, unlinkIssueMutation: UnlinkIssueGQL, closeIssueMutation: CloseIssueGQL, reopenIssueMutation: ReopenIssueGQL, renameIssueMutation: RenameIssueTitleGQL, changeIssueCategoryMutation: ChangeIssueCategoryGQL, addIssueToLocationMutation: AddIssueToLocationGQL, removeIssueFromLocationMutation: RemoveIssueFromLocationGQL, updateCommentMutation: UpdateCommentGQL, getAllTimelineItemsQuery: GetAllTimelineItemsGQL)
Parameters :
Name Type Optional
createIssue CreateIssueGQL No
linkIssue LinkIssueGQL No
getFullIssueQuery GetIssueGQL No
commentIssueMutation CommentIssueGQL No
deleteIssueCommentMutation DeleteIssueCommentGQL No
unlinkIssueMutation UnlinkIssueGQL No
closeIssueMutation CloseIssueGQL No
reopenIssueMutation ReopenIssueGQL No
renameIssueMutation RenameIssueTitleGQL No
changeIssueCategoryMutation ChangeIssueCategoryGQL No
addIssueToLocationMutation AddIssueToLocationGQL No
removeIssueFromLocationMutation RemoveIssueFromLocationGQL No
updateCommentMutation UpdateCommentGQL No
getAllTimelineItemsQuery GetAllTimelineItemsGQL No

Methods

addToLocation
addToLocation(addLocationInput: AddIssueToLocationInput)
Parameters :
Name Type Optional
addLocationInput AddIssueToLocationInput No
Returns : Observable<any>
changeIssueCategory
changeIssueCategory(changeIssueCategoryInput: ChangeIssueCategoryInput)
Parameters :
Name Type Optional
changeIssueCategoryInput ChangeIssueCategoryInput No
Returns : Observable<any>
close
close(closeInput: CloseIssueInput)
Parameters :
Name Type Optional
closeInput CloseIssueInput No
Returns : Observable<any>
commentIssue
commentIssue(commentIssueInput: AddIssueCommentInput)
Parameters :
Name Type Optional
commentIssueInput AddIssueCommentInput No
Returns : Observable<any>
create
create(issueInput: CreateIssueInput)
Parameters :
Name Type Optional
issueInput CreateIssueInput No
Returns : Observable<any>
deleteComment
deleteComment(deleteIssueCommentInput: DeleteIssueCommentInput)
Parameters :
Name Type Optional
deleteIssueCommentInput DeleteIssueCommentInput No
Returns : Observable<any>
getAllTimelineItems
getAllTimelineItems(id: string)
Parameters :
Name Type Optional
id string No
Returns : Observable<GetAllTimelineItemsQuery>
getFullIssue
getFullIssue(id: string)
Parameters :
Name Type Optional
id string No
Returns : Observable<GetIssueQuery>
link
link(linkIssueInput: LinkIssueInput)
Parameters :
Name Type Optional
linkIssueInput LinkIssueInput No
Returns : Observable<any>
removeFromLocation
removeFromLocation(removeLocationInput: RemoveIssueFromLocationInput)
Parameters :
Name Type Optional
removeLocationInput RemoveIssueFromLocationInput No
Returns : Observable<any>
rename
rename(renameInput: RenameIssueTitleInput)
Parameters :
Name Type Optional
renameInput RenameIssueTitleInput No
Returns : Observable<any>
reopen
reopen(reopenInput: ReopenIssueInput)
Parameters :
Name Type Optional
reopenInput ReopenIssueInput No
Returns : Observable<any>
unlink
unlink(unlinkIssueInput: UnlinkIssueInput)
Parameters :
Name Type Optional
unlinkIssueInput UnlinkIssueInput No
Returns : Observable<any>
updateComment
updateComment(updateCommentInput: UpdateCommentInput)
Parameters :
Name Type Optional
updateCommentInput UpdateCommentInput No
Returns : Observable<any>
import {Injectable} from '@angular/core';
import {map} from 'rxjs/operators';
import {
  AddIssueCommentInput,
  CloseIssueGQL,
  CommentIssueGQL,
  CreateIssueGQL,
  CreateIssueInput,
  GetIssueGQL,
  GetIssueQuery,
  LinkIssueGQL,
  LinkIssueInput,
  UnlinkIssueGQL,
  CloseIssueInput,
  UnlinkIssueInput,
  ReopenIssueGQL,
  ReopenIssueInput,
  RenameIssueTitleInput,
  RenameIssueTitleGQL,
  AddIssueToLocationInput,
  RemoveIssueFromLocationInput,
  AddIssueToLocationGQL,
  RemoveIssueFromLocationGQL,
  DeleteIssueCommentInput,
  DeleteIssueCommentGQL,
  UpdateCommentInput,
  UpdateCommentGQL,
  GetAllTimelineItemsGQL,
  GetAllTimelineItemsQuery,
  ChangeIssueCategoryGQL,
  ChangeIssueCategoryInput
} from 'src/generated/graphql';
import {Observable} from 'rxjs';
/**
 * This service provides CRUD operations and linking for issues
 * The code for the mutations are automaticly generated by a code generator for the GraphQL schema
 * based on the definitions in the issue.graphql file in the same folder
 */
@Injectable({
  providedIn: 'root'
})
export class IssueStoreService {
  constructor(
    private createIssue: CreateIssueGQL,
    private linkIssue: LinkIssueGQL,
    private getFullIssueQuery: GetIssueGQL,
    private commentIssueMutation: CommentIssueGQL,
    private deleteIssueCommentMutation: DeleteIssueCommentGQL,
    private unlinkIssueMutation: UnlinkIssueGQL,
    private closeIssueMutation: CloseIssueGQL,
    private reopenIssueMutation: ReopenIssueGQL,
    private renameIssueMutation: RenameIssueTitleGQL,
    private changeIssueCategoryMutation: ChangeIssueCategoryGQL,
    private addIssueToLocationMutation: AddIssueToLocationGQL,
    private removeIssueFromLocationMutation: RemoveIssueFromLocationGQL,
    private updateCommentMutation: UpdateCommentGQL,
    private getAllTimelineItemsQuery: GetAllTimelineItemsGQL
  ) {}

  create(issueInput: CreateIssueInput): Observable<any> {
    return this.createIssue.mutate({input: issueInput});
  }

  link(linkIssueInput: LinkIssueInput): Observable<any> {
    return this.linkIssue.mutate({input: linkIssueInput});
  }

  unlink(unlinkIssueInput: UnlinkIssueInput): Observable<any> {
    return this.unlinkIssueMutation.mutate({input: unlinkIssueInput});
  }

  commentIssue(commentIssueInput: AddIssueCommentInput): Observable<any> {
    return this.commentIssueMutation.mutate({input: commentIssueInput});
  }

  deleteComment(deleteIssueCommentInput: DeleteIssueCommentInput): Observable<any> {
    return this.deleteIssueCommentMutation.mutate({
      input: deleteIssueCommentInput
    });
  }

  close(closeInput: CloseIssueInput): Observable<any> {
    return this.closeIssueMutation.mutate({input: closeInput});
  }

  reopen(reopenInput: ReopenIssueInput): Observable<any> {
    return this.reopenIssueMutation.mutate({input: reopenInput});
  }

  rename(renameInput: RenameIssueTitleInput): Observable<any> {
    return this.renameIssueMutation.mutate({input: renameInput});
  }

  changeIssueCategory(changeIssueCategoryInput: ChangeIssueCategoryInput): Observable<any> {
    return this.changeIssueCategoryMutation.mutate({
      input: changeIssueCategoryInput
    });
  }

  addToLocation(addLocationInput: AddIssueToLocationInput): Observable<any> {
    return this.addIssueToLocationMutation.mutate({input: addLocationInput});
  }

  removeFromLocation(removeLocationInput: RemoveIssueFromLocationInput): Observable<any> {
    return this.removeIssueFromLocationMutation.mutate({
      input: removeLocationInput
    });
  }

  updateComment(updateCommentInput: UpdateCommentInput): Observable<any> {
    return this.updateCommentMutation.mutate({input: updateCommentInput});
  }

  getFullIssue(id: string): Observable<GetIssueQuery> {
    return this.getFullIssueQuery.fetch({id}).pipe(map(({data}) => data));
  }

  getAllTimelineItems(id: string): Observable<GetAllTimelineItemsQuery> {
    return this.getAllTimelineItemsQuery.fetch({input: id}).pipe(map(({data}) => data));
  }
}

results matching ""

    No results matching ""