384 lines
7.7 KiB
JavaScript
384 lines
7.7 KiB
JavaScript
import { gql } from "@apollo/client";
|
|
|
|
export const PARTIAL_TASK_FIELDS = gql`
|
|
fragment TaskFields on tasks {
|
|
id
|
|
created_at
|
|
updated_at
|
|
title
|
|
description
|
|
deleted
|
|
deleted_at
|
|
due_date
|
|
created_by
|
|
assigned_to
|
|
assigned_to_employee {
|
|
id
|
|
user_email
|
|
}
|
|
completed
|
|
completed_at
|
|
remind_at
|
|
priority
|
|
job {
|
|
id
|
|
ro_number
|
|
joblines {
|
|
id
|
|
line_desc
|
|
}
|
|
bills {
|
|
id
|
|
vendor {
|
|
name
|
|
}
|
|
invoice_number
|
|
}
|
|
parts_orders {
|
|
id
|
|
vendor {
|
|
name
|
|
}
|
|
order_number
|
|
}
|
|
}
|
|
jobid
|
|
jobline {
|
|
id
|
|
line_desc
|
|
}
|
|
joblineid
|
|
parts_order {
|
|
id
|
|
vendor {
|
|
name
|
|
}
|
|
order_number
|
|
}
|
|
partsorderid
|
|
bill {
|
|
id
|
|
vendor {
|
|
name
|
|
}
|
|
invoice_number
|
|
}
|
|
billid
|
|
}
|
|
`;
|
|
|
|
export const QUERY_GET_TASK_BY_ID = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
query QUERY_GET_TASK_BY_ID($id: uuid!) {
|
|
tasks_by_pk(id: $id) {
|
|
...TaskFields
|
|
}
|
|
}
|
|
`;
|
|
|
|
export const QUERY_ALL_TASKS_PAGINATED = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
query QUERY_ALL_TASKS_PAGINATED(
|
|
$offset: Int
|
|
$limit: Int
|
|
$bodyshop: uuid!
|
|
$deleted: Boolean
|
|
$completed: Boolean
|
|
$assigned_to: uuid
|
|
$order: [tasks_order_by!]!
|
|
) {
|
|
tasks(
|
|
offset: $offset
|
|
limit: $limit
|
|
order_by: $order
|
|
where: {
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
assigned_to: { _eq: $assigned_to }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
...TaskFields
|
|
}
|
|
tasks_aggregate(
|
|
where: {
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
assigned_to: { _eq: $assigned_to }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
aggregate {
|
|
count
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
// Query for joblineid
|
|
export const QUERY_JOBLINE_TASKS_PAGINATED = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
query QUERY_JOBLINE_TASKS_PAGINATED(
|
|
$offset: Int
|
|
$limit: Int
|
|
$joblineid: uuid!
|
|
$bodyshop: uuid!
|
|
$deleted: Boolean
|
|
$completed: Boolean
|
|
$assigned_to: uuid
|
|
$order: [tasks_order_by!]!
|
|
) {
|
|
tasks(
|
|
offset: $offset
|
|
limit: $limit
|
|
order_by: $order
|
|
where: {
|
|
joblineid: { _eq: $joblineid }
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
assigned_to: { _eq: $assigned_to }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
...TaskFields
|
|
}
|
|
tasks_aggregate(
|
|
where: {
|
|
joblineid: { _eq: $joblineid }
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
assigned_to: { _eq: $assigned_to }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
aggregate {
|
|
count
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
// Query for partsorderid
|
|
export const QUERY_PARTSORDER_TASKS_PAGINATED = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
query QUERY_PARTSORDER_TASKS_PAGINATED(
|
|
$offset: Int
|
|
$limit: Int
|
|
$partsorderid: uuid!
|
|
$bodyshop: uuid!
|
|
$deleted: Boolean
|
|
$completed: Boolean
|
|
$assigned_to: uuid
|
|
$order: [tasks_order_by!]!
|
|
) {
|
|
tasks(
|
|
offset: $offset
|
|
limit: $limit
|
|
order_by: $order
|
|
where: {
|
|
partsorderid: { _eq: $partsorderid }
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
assigned_to: { _eq: $assigned_to }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
...TaskFields
|
|
}
|
|
tasks_aggregate(
|
|
where: {
|
|
partsorderid: { _eq: $partsorderid }
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
assigned_to: { _eq: $assigned_to }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
aggregate {
|
|
count
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
// Query for billid
|
|
export const QUERY_BILL_TASKS_PAGINATED = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
query QUERY_BILL_TASKS_PAGINATED(
|
|
$offset: Int
|
|
$limit: Int
|
|
$billid: uuid!
|
|
$bodyshop: uuid!
|
|
$deleted: Boolean
|
|
$completed: Boolean
|
|
$assigned_to: uuid
|
|
$order: [tasks_order_by!]!
|
|
) {
|
|
tasks(
|
|
offset: $offset
|
|
limit: $limit
|
|
order_by: $order
|
|
where: {
|
|
billid: { _eq: $billid }
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
assigned_to: { _eq: $assigned_to }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
...TaskFields
|
|
}
|
|
tasks_aggregate(
|
|
where: {
|
|
billid: { _eq: $billid }
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
assigned_to: { _eq: $assigned_to }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
aggregate {
|
|
count
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
// Use the fragment in your queries
|
|
export const QUERY_JOB_TASKS_PAGINATED = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
query QUERY_JOB_TASKS_PAGINATED(
|
|
$offset: Int
|
|
$limit: Int
|
|
$jobid: uuid!
|
|
$bodyshop: uuid!
|
|
$deleted: Boolean
|
|
$completed: Boolean
|
|
$assigned_to: uuid
|
|
$order: [tasks_order_by!]!
|
|
) {
|
|
tasks(
|
|
offset: $offset
|
|
limit: $limit
|
|
order_by: $order
|
|
where: {
|
|
jobid: { _eq: $jobid }
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
assigned_to: { _eq: $assigned_to }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
...TaskFields
|
|
}
|
|
tasks_aggregate(
|
|
where: {
|
|
jobid: { _eq: $jobid }
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
assigned_to: { _eq: $assigned_to }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
aggregate {
|
|
count
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
export const QUERY_MY_TASKS_PAGINATED = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
query QUERY_MY_TASKS_PAGINATED(
|
|
$offset: Int
|
|
$limit: Int
|
|
$assigned_to: uuid!
|
|
$bodyshop: uuid!
|
|
$deleted: Boolean
|
|
$completed: Boolean
|
|
$order: [tasks_order_by!]!
|
|
) {
|
|
tasks(
|
|
offset: $offset
|
|
limit: $limit
|
|
order_by: $order
|
|
where: {
|
|
assigned_to: { _eq: $assigned_to }
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
...TaskFields
|
|
}
|
|
tasks_aggregate(
|
|
where: {
|
|
assigned_to: { _eq: $assigned_to }
|
|
bodyshopid: { _eq: $bodyshop }
|
|
deleted: { _eq: $deleted }
|
|
completed: { _eq: $completed }
|
|
}
|
|
) {
|
|
aggregate {
|
|
count
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
/**
|
|
* Toggle task completed mutation
|
|
* @type {DocumentNode}
|
|
*/
|
|
export const MUTATION_TOGGLE_TASK_COMPLETED = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
mutation MUTATION_TOGGLE_TASK_COMPLETED($id: uuid!, $completed: Boolean!, $completed_at: timestamptz) {
|
|
update_tasks_by_pk(pk_columns: { id: $id }, _set: { completed: $completed, completed_at: $completed_at }) {
|
|
...TaskFields
|
|
}
|
|
}
|
|
`;
|
|
|
|
/**
|
|
* Toggle task deleted mutation
|
|
* @type {DocumentNode}
|
|
*/
|
|
export const MUTATION_TOGGLE_TASK_DELETED = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
mutation MUTATION_TOGGLE_TASK_DELETED($id: uuid!, $deleted: Boolean!, $deleted_at: timestamptz) {
|
|
update_tasks_by_pk(pk_columns: { id: $id }, _set: { deleted: $deleted, deleted_at: $deleted_at }) {
|
|
...TaskFields
|
|
}
|
|
}
|
|
`;
|
|
|
|
/**
|
|
* Insert new task mutation
|
|
* @type {DocumentNode}
|
|
*/
|
|
export const MUTATION_INSERT_NEW_TASK = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
mutation MUTATION_INSERT_NEW_TASK($taskInput: [tasks_insert_input!]!) {
|
|
insert_tasks(objects: $taskInput) {
|
|
returning {
|
|
...TaskFields
|
|
}
|
|
}
|
|
}
|
|
`;
|
|
|
|
/**
|
|
* Update task mutation
|
|
* @type {DocumentNode}
|
|
*/
|
|
export const MUTATION_UPDATE_TASK = gql`
|
|
${PARTIAL_TASK_FIELDS}
|
|
mutation MUTATION_UPDATE_TASK($taskId: uuid!, $task: tasks_set_input!) {
|
|
update_tasks(where: { id: { _eq: $taskId } }, _set: $task) {
|
|
returning {
|
|
...TaskFields
|
|
}
|
|
}
|
|
}
|
|
`;
|