Queries

Queries for every resource of the Redmine API.

Each resource has:

  • A filter (redmine<Resource>Queries) with the query key prefix of all its queries, for invalidateQueries, removeQueries etc.
  • Queries for single items (redmineIssueQuery), returning the item itself instead of the response wrapper (issue instead of { issue }).
  • Infinite queries for paged lists (redmineIssuesQuery), see infinite queries. Lists that Redmine doesn't page (e.g. trackers) use regular queries.

All query keys start with ['redmine', <resource>], followed by the ID and the options:

redmineIssueQuery(client, 42, { include: [IssueQueryInclude.Journals] }).queryKey;
// ['redmine', 'issues', 42, { include: ['journals'] }]

Resources

ResourceFilterQueries
AttachmentsredmineAttachmentsQueriesredmineAttachmentQuery
Custom fieldsredmineCustomFieldsQueriesredmineCustomFieldsQuery
Document categoriesredmineDocumentCategoriesQueriesredmineDocumentCategoriesQuery
FilesredmineFilesQueriesredmineProjectFilesQuery
GroupsredmineGroupsQueriesredmineGroupQuery, redmineGroupsQuery
Issue categoriesredmineIssueCategoriesQueriesredmineIssueCategoryQuery, redmineProjectIssueCategoriesQuery
Issue prioritiesredmineIssuePrioritiesQueriesredmineIssuePrioritiesQuery
Issue relationsredmineIssueRelationsQueriesredmineIssueRelationQuery, redmineIssueRelationsQuery
Issue statusesredmineIssueStatusesQueriesredmineIssueStatusesQuery
IssuesredmineIssuesQueriesredmineIssueQuery, redmineIssuesQuery
MembershipsredmineMembershipsQueriesredmineMembershipQuery, redmineProjectMembershipsQuery
My accountredmineMyAccountQueriesredmineMyAccountQuery
NewsredmineNewsQueriesredmineNewsItemQuery, redmineNewsQuery, redmineProjectNewsQuery
ProjectsredmineProjectsQueriesredmineProjectQuery, redmineProjectsQuery
RolesredmineRolesQueriesredmineRoleQuery, redmineRolesQuery
Saved queriesredmineSavedQueriesQueriesredmineSavedQueriesQuery
SearchredmineSearchQueriesredmineSearchQuery, redmineProjectSearchQuery
Time entriesredmineTimeEntriesQueriesredmineTimeEntryQuery, redmineTimeEntriesQuery
Time entry activitiesredmineTimeEntryActivitiesQueriesredmineTimeEntryActivitiesQuery
TrackersredmineTrackersQueriesredmineTrackersQuery
UsersredmineUsersQueriesredmineUserQuery, redmineUsersQuery
VersionsredmineVersionsQueriesredmineVersionQuery, redmineProjectVersionsQuery
Wiki pagesredmineWikiPagesQueriesredmineProjectWikiPagesQuery, redmineWikiPageQuery, redmineWikiPageVersionQuery

Options

The last parameter of each query takes the options of the client operation, without operationOptions (and without offset and limit for paged lists):

useQuery(redmineUserQuery(client, "current", { include: [UserQueryInclude.Memberships] }));

Overriding options

The queries are plain query option objects, so spread them to change or add options:

useQuery({
  ...redmineProjectQuery(client, "my-project"),
  staleTime: 5 * 60 * 1000,
  select: (project) => project.name,
});

On this page