Skip to content

Commit

Permalink
Migrate user functionality in server (#65)
Browse files Browse the repository at this point in the history
  • Loading branch information
maximilianruesch authored Nov 21, 2023
1 parent a97fee6 commit de6812c
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 8 deletions.
35 changes: 29 additions & 6 deletions electron/providers/jira-server-provider/JiraServerProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -363,21 +363,44 @@ export class JiraServerProvider implements IProvider {
)
})
}
/* eslint-disable @typescript-eslint/no-unused-vars */

getAssignableUsersByProject(projectIdOrKey: string): Promise<User[]> {
throw new Error("Method not implemented for Jira Server")
return new Promise((resolve, reject) => {
this.getRestApiClient(2)
.get(`/user/assignable/search?project=${projectIdOrKey}`)
.then(async (response) => {
resolve(response.data as User[])
})
.catch((error) => {
if (error.response) {
if (error.response.status === 404) {
return Promise.reject(Error(`Project was not found: ${error.response.data}`))
}
}

return Promise.reject(error)
})
.catch((error) => {
reject(new Error(`Error in fetching the assignable users for the project ${projectIdOrKey}: ${error}`))
})
})
}

createIssue(issue: Issue): Promise<string> {
throw new Error("Method not implemented for Jira Server")
getCurrentUser(): Promise<User> {
return new Promise((resolve, reject) => {
this.getRestApiClient(2)
.get('/myself')
.then(async (response) => resolve(response.data as User))
.catch((error) => reject(new Error(`Error in the current user: ${error}`)))
})
}
/* eslint-disable @typescript-eslint/no-unused-vars */

getEpicsByProject(projectIdOrKey: string): Promise<Issue[]> {
createIssue(issue: Issue): Promise<string> {
throw new Error("Method not implemented for Jira Server")
}

getCurrentUser(): Promise<User> {
getEpicsByProject(projectIdOrKey: string): Promise<Issue[]> {
throw new Error("Method not implemented for Jira Server")
}

Expand Down
8 changes: 6 additions & 2 deletions src/components/CreateIssue/CreateIssueModal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,12 @@ export function CreateIssueModal({

const { data: assignableUsers } = useQuery({
queryKey: ["assignableUsers", form.getInputProps("projectId").value],
queryFn: () =>
getAssignableUsersByProject(form.getInputProps("projectId").value!),
queryFn: () => {
const relevantProject = projects
.find((project) => project.id === form.getInputProps("projectId").value!)!

return getAssignableUsersByProject(relevantProject.key)
},
enabled: !!projects && !!form.getInputProps("projectId").value,
})

Expand Down

0 comments on commit de6812c

Please sign in to comment.