{`${data?.pit_owner_first_name ??
diff --git a/client/src/components/job-detail-cards/job-detail-cards.dates.component.jsx b/client/src/components/job-detail-cards/job-detail-cards.dates.component.jsx
index 2b3188342..50e108b9a 100644
--- a/client/src/components/job-detail-cards/job-detail-cards.dates.component.jsx
+++ b/client/src/components/job-detail-cards/job-detail-cards.dates.component.jsx
@@ -1,6 +1,7 @@
import React from "react";
import { useTranslation } from "react-i18next";
import CardTemplate from "./job-detail-cards.template.component";
+import Moment from "react-moment";
export default function JobDetailCardsDatesComponent({ loading, data }) {
const { t } = useTranslation();
@@ -9,7 +10,9 @@ export default function JobDetailCardsDatesComponent({ loading, data }) {
{data ? (
- Dates stuff here.
+ Actual In {data?.actual_in}
+ Scheduled Completion
+ {data?.scheduled_completion}
) : null}
diff --git a/client/src/components/job-detail-cards/job-detail-cards.header.component.jsx b/client/src/components/job-detail-cards/job-detail-cards.header.component.jsx
new file mode 100644
index 000000000..71b3acc81
--- /dev/null
+++ b/client/src/components/job-detail-cards/job-detail-cards.header.component.jsx
@@ -0,0 +1,74 @@
+import { Icon, Menu, Row, Col, PageHeader, Button, Descriptions } from "antd";
+import React from "react";
+import { useTranslation } from "react-i18next";
+
+export default function JobDetailCardsHeader({ selectedJob, data }) {
+ const { t } = useTranslation();
+
+ return (
+
+
window.history.back()}
+ title="Title"
+ subTitle="This is a subtitle"
+ extra={[
+ ,
+ ,
+
+ ]}
+ >
+
+ Lili Qu
+
+ 421421
+
+
+ 2017-01-10
+
+
+ 2017-10-10
+
+
+ Gonghu Road, Xihu District, Hangzhou, Zhejiang, China
+
+
+
+ The rest of the content can go heare?
+
+
+ Name
+
+
+
+
+
+ );
+}
diff --git a/client/src/components/job-detail-cards/job-detail-cards.insurance.component.jsx b/client/src/components/job-detail-cards/job-detail-cards.insurance.component.jsx
index 35abacb6a..5dd73988c 100644
--- a/client/src/components/job-detail-cards/job-detail-cards.insurance.component.jsx
+++ b/client/src/components/job-detail-cards/job-detail-cards.insurance.component.jsx
@@ -1,6 +1,7 @@
import React from "react";
import { useTranslation } from "react-i18next";
import CardTemplate from "./job-detail-cards.template.component";
+import PhoneFormatter from "../../utils/PhoneFormatter";
export default function JobDetailCardsInsuranceComponent({ loading, data }) {
const { t } = useTranslation();
@@ -9,7 +10,47 @@ export default function JobDetailCardsInsuranceComponent({ loading, data }) {
{data ? (
- Insurance stuff here.
+ {data?.ins_co_nm ?? t("general.labels.unknown")}
+ {data?.clm_no ?? t("general.labels.unknown")}
+
+
+
+
+
) : null}
diff --git a/client/src/components/job-detail-cards/job-detail-cards.parts.component.jsx b/client/src/components/job-detail-cards/job-detail-cards.parts.component.jsx
index 77a339ff9..e90237dc2 100644
--- a/client/src/components/job-detail-cards/job-detail-cards.parts.component.jsx
+++ b/client/src/components/job-detail-cards/job-detail-cards.parts.component.jsx
@@ -1,17 +1,42 @@
import React from "react";
import { useTranslation } from "react-i18next";
import CardTemplate from "./job-detail-cards.template.component";
+import { Pie } from "react-chartjs-2";
export default function JobDetailCardsPartsComponent({ loading, data }) {
const { t } = useTranslation();
+ const p = {
+ labels: ["Not Ordered", "Ordered", "Received", "Backordered"],
+ datasets: [
+ {
+ data: [5, 15, 10, 2],
+ backgroundColor: [
+ "rgba(255, 99, 132, 0.2)",
+ "rgba(54, 162, 235, 0.2)",
+ "rgba(255, 206, 86, 0.2)",
+ "rgba(75, 192, 192, 0.2)",
+ "rgba(153, 102, 255, 0.2)",
+ "rgba(255, 159, 64, 0.2)"
+ ],
+ borderColor: [
+ "rgba(255, 99, 132, 1)",
+ "rgba(54, 162, 235, 1)",
+ "rgba(255, 206, 86, 1)",
+ "rgba(75, 192, 192, 1)",
+ "rgba(153, 102, 255, 1)",
+ "rgba(255, 159, 64, 1)"
+ ],
+ borderWidth: 1
+ }
+ ]
+ };
+
return (
-
- {data ? (
-
- Parts stuff here.
-
- ) : null}
-
+
);
}
diff --git a/client/src/components/job-detail-cards/job-detail-cards.template.component.jsx b/client/src/components/job-detail-cards/job-detail-cards.template.component.jsx
index 791ff18fc..1247fce4f 100644
--- a/client/src/components/job-detail-cards/job-detail-cards.template.component.jsx
+++ b/client/src/components/job-detail-cards/job-detail-cards.template.component.jsx
@@ -1,11 +1,15 @@
import React from "react";
import { Card } from "antd";
+import { Link } from "react-router-dom";
export default function JobDetailCardTemplate({
loading,
title,
+ extraLink,
...otherProps
}) {
+ let extra;
+ if (extraLink) extra = { extra:
More };
return (
{otherProps.children}
diff --git a/client/src/components/job-detail-cards/job-detail-cards.vehicle.component.jsx b/client/src/components/job-detail-cards/job-detail-cards.vehicle.component.jsx
index 86ba32f07..ed58b3f81 100644
--- a/client/src/components/job-detail-cards/job-detail-cards.vehicle.component.jsx
+++ b/client/src/components/job-detail-cards/job-detail-cards.vehicle.component.jsx
@@ -6,10 +6,16 @@ export default function JobDetailCardsVehicleComponent({ loading, data }) {
const { t } = useTranslation();
return (
-
+
{data ? (
- Vehicle stuff here.
+ {data.vehicle?.v_model_yr ?? t("general.labels.na")}{" "}
+ {data.vehicle?.v_make_desc ?? t("general.labels.na")}{" "}
+ {data.vehicle?.v_model_desc ?? t("general.labels.na")}
) : null}
diff --git a/client/src/components/jobs-list/jobs-list.component.jsx b/client/src/components/jobs-list/jobs-list.component.jsx
index 95fb0153a..fb79da28a 100644
--- a/client/src/components/jobs-list/jobs-list.component.jsx
+++ b/client/src/components/jobs-list/jobs-list.component.jsx
@@ -19,28 +19,28 @@ export default function JobsPage({
const actionMenu = (
@@ -114,7 +114,7 @@ export default function JobsPage({
key: "action",
render: (text, record) => (
-
+
)
}
@@ -141,13 +141,20 @@ export default function JobsPage({
return (
-
+
console.log(value)}
+ enterButton
+ />
+
+
({ ...item }))}
- rowKey='id'
+ rowKey="id"
dataSource={jobs}
+ rowSelection={{ selectedRowKeys: [selectedJob] }}
onChange={handleTableChange}
onRow={(record, rowIndex) => {
return {
diff --git a/client/src/graphql/apollo-error-handling.js b/client/src/graphql/apollo-error-handling.js
index 37c987c81..deaa02861 100644
--- a/client/src/graphql/apollo-error-handling.js
+++ b/client/src/graphql/apollo-error-handling.js
@@ -9,51 +9,51 @@ const errorLink = onError(
console.log("networkError", networkError);
console.log("operation", operation);
console.log("forward", forward);
- if (graphQLErrors) {
- // User access token has expired
- if (graphQLErrors[0].message.includes("JWTExpired")) {
- console.log("Got to the error check.");
- if (access_token && access_token !== "undefined") {
- // Let's refresh token through async request
- return new Observable(observer => {
- auth.currentUser
- .getIdToken(true)
- .then(function(idToken) {
- if (!idToken) {
- window.localStorage.removeItem("token");
- return console.log("Refresh token has expired");
- }
- console.log("Got a new token", idToken);
- window.localStorage.setItem("token", idToken);
+ //if (graphQLErrors) {
+ // User access token has expired
+ // if (graphQLErrors[0].message.includes("JWTExpired")) {
+ console.log("Got to the error check.");
+ if (access_token && access_token !== "undefined") {
+ // Let's refresh token through async request
+ return new Observable(observer => {
+ auth.currentUser
+ .getIdToken(true)
+ .then(function(idToken) {
+ if (!idToken) {
+ window.localStorage.removeItem("token");
+ return console.log("Refresh token has expired");
+ }
+ console.log("Got a new token", idToken);
+ window.localStorage.setItem("token", idToken);
- // reset the headers
- operation.setContext(({ headers = {} }) => ({
- headers: {
- // Re-add old headers
- ...headers,
- // Switch out old access token for new one
- authorization: idToken ? `Bearer ${idToken}` : ""
- }
- }));
+ // reset the headers
+ operation.setContext(({ headers = {} }) => ({
+ headers: {
+ // Re-add old headers
+ ...headers,
+ // Switch out old access token for new one
+ authorization: idToken ? `Bearer ${idToken}` : ""
+ }
+ }));
- const subscriber = {
- next: observer.next.bind(observer),
- error: observer.error.bind(observer),
- complete: observer.complete.bind(observer)
- };
- console.log("About to resend the request.");
- // Retry last failed request
- forward(operation).subscribe(subscriber);
- })
- .catch(error => {
- // No refresh or client token available, we force user to login
- console.log("Hit an error.");
- observer.error(error);
- });
+ const subscriber = {
+ next: observer.next.bind(observer),
+ error: observer.error.bind(observer),
+ complete: observer.complete.bind(observer)
+ };
+ console.log("About to resend the request.");
+ // Retry last failed request
+ forward(operation).subscribe(subscriber);
+ })
+ .catch(error => {
+ // No refresh or client token available, we force user to login
+ console.log("Hit an error.");
+ observer.error(error);
});
- }
- }
+ });
}
+ //}
+ //}
if (networkError) {
console.log(`[Network error]: ${networkError}`);
diff --git a/client/src/graphql/jobs.queries.js b/client/src/graphql/jobs.queries.js
index 99dfa363a..7d63d8d1d 100644
--- a/client/src/graphql/jobs.queries.js
+++ b/client/src/graphql/jobs.queries.js
@@ -7,6 +7,7 @@ export const GET_ALL_OPEN_JOBS = gql`
est_number
ro_number
job_status {
+ id
name
}
scheduled_completion
@@ -35,6 +36,7 @@ export const SUBSCRIPTION_ALL_OPEN_JOBS = gql`
ro_number
job_status {
name
+ id
}
scheduled_completion
scheduled_delivery
@@ -46,6 +48,7 @@ export const SUBSCRIPTION_ALL_OPEN_JOBS = gql`
plate_no
}
owner {
+ id
first_name
last_name
}
@@ -101,6 +104,7 @@ export const SUBSCRIPTION_JOBS_IN_PRODUCTION = gql`
v_vin
}
owner {
+ id
first_name
last_name
}
@@ -120,6 +124,7 @@ export const GET_JOB_BY_PK = gql`
id
local_tax_rate
owner {
+ id
first_name
last_name
phone
@@ -135,6 +140,7 @@ export const GET_JOB_BY_PK = gql`
scheduled_in
scheduled_delivery
job_status {
+ id
name
}
updated_at
@@ -161,10 +167,12 @@ export const QUERY_JOB_CARD_DETAILS = gql`
pit_owner_phone
pit_owner_email
owner {
+ id
allow_text_message
preferred_contact
}
vehicle {
+ id
v_model_yr
v_make_desc
v_model_desc
@@ -175,27 +183,30 @@ export const QUERY_JOB_CARD_DETAILS = gql`
actual_completion
actual_delivery
actual_in
- created_at
est_number
id
- local_tax_rate
-
+ ins_co_nm
+ ins_ct_fn
+ ins_ct_ln
+ ins_ph1
+ ins_ea
est_co_nm
est_ph1
est_ea
est_ct_fn
est_ct_ln
- regie_number
+ clm_no
ro_number
scheduled_completion
scheduled_in
scheduled_delivery
job_status {
+ id
name
}
updated_at
claim_total
- deductible
+ ded_amt
vehicle {
id
plate_no
diff --git a/client/src/translations/en_us/common.json b/client/src/translations/en_us/common.json
index 6d542789b..2a043d70a 100644
--- a/client/src/translations/en_us/common.json
+++ b/client/src/translations/en_us/common.json
@@ -49,7 +49,10 @@
"parts": "Parts",
"notes": "Notes",
"damage": "Area of Damage",
- "totals": "Totals"
+ "totals": "Totals",
+ "filehandler" : "File Handler",
+ "appraiser" : "Appraiser",
+ "estimator" : "Estimator"
},
"no_owner": "No Owner",
"vehicle_info": "Vehicle"
diff --git a/client/yarn.lock b/client/yarn.lock
index 21bf558a7..37d1ca93e 100644
--- a/client/yarn.lock
+++ b/client/yarn.lock
@@ -3249,6 +3249,29 @@ chardet@^0.7.0:
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+chart.js@^2.9.3:
+ version "2.9.3"
+ resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-2.9.3.tgz#ae3884114dafd381bc600f5b35a189138aac1ef7"
+ integrity sha512-+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==
+ dependencies:
+ chartjs-color "^2.1.0"
+ moment "^2.10.2"
+
+chartjs-color-string@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz#1df096621c0e70720a64f4135ea171d051402f71"
+ integrity sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==
+ dependencies:
+ color-name "^1.0.0"
+
+chartjs-color@^2.1.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/chartjs-color/-/chartjs-color-2.4.1.tgz#6118bba202fe1ea79dd7f7c0f9da93467296c3b0"
+ integrity sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==
+ dependencies:
+ chartjs-color-string "^0.6.0"
+ color-convert "^1.9.3"
+
cheerio@^1.0.0-rc.3:
version "1.0.0-rc.3"
resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6"
@@ -3420,7 +3443,7 @@ collection-visit@^1.0.0:
map-visit "^1.0.0"
object-visit "^1.0.0"
-color-convert@^1.9.0, color-convert@^1.9.1:
+color-convert@^1.9.0, color-convert@^1.9.1, color-convert@^1.9.3:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
@@ -7837,7 +7860,7 @@ mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
dependencies:
minimist "0.0.8"
-moment@2.x, moment@^2.24.0:
+moment@2.x, moment@^2.10.2, moment@^2.24.0:
version "2.24.0"
resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b"
integrity sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg==
@@ -10238,6 +10261,14 @@ react-app-polyfill@^1.0.4:
regenerator-runtime "^0.13.3"
whatwg-fetch "^3.0.0"
+react-chartjs-2@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-2.8.0.tgz#1c24de91fb3755f8c4302675de7d66fdda339759"
+ integrity sha512-BPpC+qfnh37DkcXvxRwA1rdD9rX/0AQrwru4VZTLofCCuZBwRsc7PbfxjilvoB6YlHhorwZu40YDWEQkoz7xfQ==
+ dependencies:
+ lodash "^4.17.4"
+ prop-types "^15.5.8"
+
react-click-outside@tj/react-click-outside:
version "1.1.1"
resolved "https://codeload.github.com/tj/react-click-outside/tar.gz/a833ddc5be47490307f9fcc6ed09d8c353108510"
@@ -10994,6 +11025,8 @@ rxjs@^6.4.0, rxjs@^6.5.3:
version "6.5.4"
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c"
integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==
+ dependencies:
+ tslib "^1.9.0"
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
diff --git a/hasura/migrations/1578604401770_bulk_jobs_update/down.yaml b/hasura/migrations/1578604401770_bulk_jobs_update/down.yaml
new file mode 100644
index 000000000..fe51488c7
--- /dev/null
+++ b/hasura/migrations/1578604401770_bulk_jobs_update/down.yaml
@@ -0,0 +1 @@
+[]
diff --git a/hasura/migrations/1578604401770_bulk_jobs_update/up.yaml b/hasura/migrations/1578604401770_bulk_jobs_update/up.yaml
new file mode 100644
index 000000000..f919c30c0
--- /dev/null
+++ b/hasura/migrations/1578604401770_bulk_jobs_update/up.yaml
@@ -0,0 +1,15 @@
+- args:
+ cascade: true
+ sql: "alter table jobs\r\nadd column ins_co_id text ,\r\nadd column ins_co_nm
+ text ,\r\nadd column ins_addr1 text ,\r\nadd column ins_addr2 text ,\r\nadd
+ column ins_city text ,\r\nadd column ins_st text ,\r\nadd column ins_zip text
+ ,\r\nadd column ins_ctry text ,\r\nadd column ins_ph1 text ,\r\nadd column ins_ph1x
+ text ,\r\nadd column ins_ph2 text ,\r\nadd column ins_ph2x text ,\r\nadd column
+ ins_fax text ,\r\nadd column ins_faxx text ,\r\nadd column ins_ct_ln text ,\r\nadd
+ column ins_ct_fn text ,\r\nadd column ins_title text ,\r\nadd column ins_ct_ph
+ text ,\r\nadd column ins_ct_phx text ,\r\nadd column ins_ea text , \r\nadd
+ column ins_memo text ,\r\nadd column policy_no text ,\r\nadd column ded_amt
+ numeric ,\r\nadd column ded_status boolean ,\r\nadd column asgn_no text ,\r\nadd
+ column asgn_date date ,\r\nadd column asgn_type text ,\r\nadd column clm_no
+ text ,\r\nadd column clm_ofc_id text \r\n"
+ type: run_sql
diff --git a/hasura/migrations/1578604420364_update_permission_user_public_table_jobs/down.yaml b/hasura/migrations/1578604420364_update_permission_user_public_table_jobs/down.yaml
new file mode 100644
index 000000000..297bc3fe8
--- /dev/null
+++ b/hasura/migrations/1578604420364_update_permission_user_public_table_jobs/down.yaml
@@ -0,0 +1,91 @@
+- args:
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: drop_insert_permission
+- args:
+ permission:
+ check:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ columns:
+ - id
+ - created_at
+ - updated_at
+ - shopid
+ - est_number
+ - ro_number
+ - ownerid
+ - vehicleid
+ - labor_rate_id
+ - labor_rate_desc
+ - rate_lab
+ - rate_lad
+ - rate_lae
+ - rate_lar
+ - rate_las
+ - rate_laf
+ - rate_lam
+ - rate_lag
+ - rate_atp
+ - rate_lau
+ - rate_la1
+ - rate_la2
+ - rate_la3
+ - rate_la4
+ - rate_mapa
+ - rate_mash
+ - rate_mahw
+ - rate_ma2s
+ - rate_ma3s
+ - rate_ma2t
+ - rate_mabl
+ - rate_macs
+ - rate_matd
+ - federal_tax_rate
+ - state_tax_rate
+ - local_tax_rate
+ - est_co_nm
+ - est_addr1
+ - est_addr2
+ - est_city
+ - est_st
+ - est_zip
+ - est_ctry
+ - est_ph1
+ - est_ea
+ - est_ct_ln
+ - est_ct_fn
+ - scheduled_in
+ - actual_in
+ - scheduled_completion
+ - actual_completion
+ - scheduled_delivery
+ - actual_delivery
+ - regie_number
+ - invoice_date
+ - claim_total
+ - deductible
+ - inproduction
+ - statusid
+ - pit_owner_first_name
+ - pit_owner_last_name
+ - pit_owner_phone
+ - pit_owner_email
+ - pit_vehicle_plate_no
+ localPresets:
+ - key: ""
+ value: ""
+ set: {}
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: create_insert_permission
diff --git a/hasura/migrations/1578604420364_update_permission_user_public_table_jobs/up.yaml b/hasura/migrations/1578604420364_update_permission_user_public_table_jobs/up.yaml
new file mode 100644
index 000000000..60be69909
--- /dev/null
+++ b/hasura/migrations/1578604420364_update_permission_user_public_table_jobs/up.yaml
@@ -0,0 +1,120 @@
+- args:
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: drop_insert_permission
+- args:
+ permission:
+ check:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ columns:
+ - ded_status
+ - inproduction
+ - asgn_date
+ - invoice_date
+ - claim_total
+ - ded_amt
+ - deductible
+ - federal_tax_rate
+ - local_tax_rate
+ - rate_atp
+ - rate_la1
+ - rate_la2
+ - rate_la3
+ - rate_la4
+ - rate_lab
+ - rate_lad
+ - rate_lae
+ - rate_laf
+ - rate_lag
+ - rate_lam
+ - rate_lar
+ - rate_las
+ - rate_lau
+ - rate_ma2s
+ - rate_ma2t
+ - rate_ma3s
+ - rate_mabl
+ - rate_macs
+ - rate_mahw
+ - rate_mapa
+ - rate_mash
+ - rate_matd
+ - state_tax_rate
+ - asgn_no
+ - asgn_type
+ - clm_no
+ - clm_ofc_id
+ - est_addr1
+ - est_addr2
+ - est_city
+ - est_co_nm
+ - est_ct_fn
+ - est_ct_ln
+ - est_ctry
+ - est_ea
+ - est_number
+ - est_ph1
+ - est_st
+ - est_zip
+ - ins_addr1
+ - ins_addr2
+ - ins_city
+ - ins_co_id
+ - ins_co_nm
+ - ins_ct_fn
+ - ins_ct_ln
+ - ins_ct_ph
+ - ins_ct_phx
+ - ins_ctry
+ - ins_ea
+ - ins_fax
+ - ins_faxx
+ - ins_memo
+ - ins_ph1
+ - ins_ph1x
+ - ins_ph2
+ - ins_ph2x
+ - ins_st
+ - ins_title
+ - ins_zip
+ - labor_rate_desc
+ - labor_rate_id
+ - pit_owner_email
+ - pit_owner_first_name
+ - pit_owner_last_name
+ - pit_owner_phone
+ - pit_vehicle_plate_no
+ - policy_no
+ - regie_number
+ - ro_number
+ - actual_completion
+ - actual_delivery
+ - actual_in
+ - scheduled_completion
+ - scheduled_delivery
+ - scheduled_in
+ - created_at
+ - updated_at
+ - id
+ - ownerid
+ - shopid
+ - statusid
+ - vehicleid
+ localPresets:
+ - key: ""
+ value: ""
+ set: {}
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: create_insert_permission
diff --git a/hasura/migrations/1578604426830_update_permission_user_public_table_jobs/down.yaml b/hasura/migrations/1578604426830_update_permission_user_public_table_jobs/down.yaml
new file mode 100644
index 000000000..3e20b9803
--- /dev/null
+++ b/hasura/migrations/1578604426830_update_permission_user_public_table_jobs/down.yaml
@@ -0,0 +1,89 @@
+- args:
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: drop_select_permission
+- args:
+ permission:
+ allow_aggregations: false
+ columns:
+ - id
+ - created_at
+ - updated_at
+ - shopid
+ - est_number
+ - ro_number
+ - ownerid
+ - vehicleid
+ - labor_rate_id
+ - labor_rate_desc
+ - rate_lab
+ - rate_lad
+ - rate_lae
+ - rate_lar
+ - rate_las
+ - rate_laf
+ - rate_lam
+ - rate_lag
+ - rate_atp
+ - rate_lau
+ - rate_la1
+ - rate_la2
+ - rate_la3
+ - rate_la4
+ - rate_mapa
+ - rate_mash
+ - rate_mahw
+ - rate_ma2s
+ - rate_ma3s
+ - rate_ma2t
+ - rate_mabl
+ - rate_macs
+ - rate_matd
+ - federal_tax_rate
+ - state_tax_rate
+ - local_tax_rate
+ - est_co_nm
+ - est_addr1
+ - est_addr2
+ - est_city
+ - est_st
+ - est_zip
+ - est_ctry
+ - est_ph1
+ - est_ea
+ - est_ct_ln
+ - est_ct_fn
+ - scheduled_in
+ - actual_in
+ - scheduled_completion
+ - actual_completion
+ - scheduled_delivery
+ - actual_delivery
+ - regie_number
+ - invoice_date
+ - claim_total
+ - deductible
+ - inproduction
+ - statusid
+ - pit_owner_first_name
+ - pit_owner_last_name
+ - pit_owner_phone
+ - pit_owner_email
+ - pit_vehicle_plate_no
+ computed_fields: []
+ filter:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: create_select_permission
diff --git a/hasura/migrations/1578604426830_update_permission_user_public_table_jobs/up.yaml b/hasura/migrations/1578604426830_update_permission_user_public_table_jobs/up.yaml
new file mode 100644
index 000000000..b5c4d3fdd
--- /dev/null
+++ b/hasura/migrations/1578604426830_update_permission_user_public_table_jobs/up.yaml
@@ -0,0 +1,118 @@
+- args:
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: drop_select_permission
+- args:
+ permission:
+ allow_aggregations: false
+ columns:
+ - ded_status
+ - inproduction
+ - asgn_date
+ - invoice_date
+ - claim_total
+ - ded_amt
+ - deductible
+ - federal_tax_rate
+ - local_tax_rate
+ - rate_atp
+ - rate_la1
+ - rate_la2
+ - rate_la3
+ - rate_la4
+ - rate_lab
+ - rate_lad
+ - rate_lae
+ - rate_laf
+ - rate_lag
+ - rate_lam
+ - rate_lar
+ - rate_las
+ - rate_lau
+ - rate_ma2s
+ - rate_ma2t
+ - rate_ma3s
+ - rate_mabl
+ - rate_macs
+ - rate_mahw
+ - rate_mapa
+ - rate_mash
+ - rate_matd
+ - state_tax_rate
+ - asgn_no
+ - asgn_type
+ - clm_no
+ - clm_ofc_id
+ - est_addr1
+ - est_addr2
+ - est_city
+ - est_co_nm
+ - est_ct_fn
+ - est_ct_ln
+ - est_ctry
+ - est_ea
+ - est_number
+ - est_ph1
+ - est_st
+ - est_zip
+ - ins_addr1
+ - ins_addr2
+ - ins_city
+ - ins_co_id
+ - ins_co_nm
+ - ins_ct_fn
+ - ins_ct_ln
+ - ins_ct_ph
+ - ins_ct_phx
+ - ins_ctry
+ - ins_ea
+ - ins_fax
+ - ins_faxx
+ - ins_memo
+ - ins_ph1
+ - ins_ph1x
+ - ins_ph2
+ - ins_ph2x
+ - ins_st
+ - ins_title
+ - ins_zip
+ - labor_rate_desc
+ - labor_rate_id
+ - pit_owner_email
+ - pit_owner_first_name
+ - pit_owner_last_name
+ - pit_owner_phone
+ - pit_vehicle_plate_no
+ - policy_no
+ - regie_number
+ - ro_number
+ - actual_completion
+ - actual_delivery
+ - actual_in
+ - scheduled_completion
+ - scheduled_delivery
+ - scheduled_in
+ - created_at
+ - updated_at
+ - id
+ - ownerid
+ - shopid
+ - statusid
+ - vehicleid
+ computed_fields: []
+ filter:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: create_select_permission
diff --git a/hasura/migrations/1578604433860_update_permission_user_public_table_jobs/down.yaml b/hasura/migrations/1578604433860_update_permission_user_public_table_jobs/down.yaml
new file mode 100644
index 000000000..5c79c00a3
--- /dev/null
+++ b/hasura/migrations/1578604433860_update_permission_user_public_table_jobs/down.yaml
@@ -0,0 +1,91 @@
+- args:
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: drop_update_permission
+- args:
+ permission:
+ columns:
+ - inproduction
+ - invoice_date
+ - claim_total
+ - deductible
+ - federal_tax_rate
+ - local_tax_rate
+ - rate_atp
+ - rate_la1
+ - rate_la2
+ - rate_la3
+ - rate_la4
+ - rate_lab
+ - rate_lad
+ - rate_lae
+ - rate_laf
+ - rate_lag
+ - rate_lam
+ - rate_lar
+ - rate_las
+ - rate_lau
+ - rate_ma2s
+ - rate_ma2t
+ - rate_ma3s
+ - rate_mabl
+ - rate_macs
+ - rate_mahw
+ - rate_mapa
+ - rate_mash
+ - rate_matd
+ - state_tax_rate
+ - est_addr1
+ - est_addr2
+ - est_city
+ - est_co_nm
+ - est_ct_fn
+ - est_ct_ln
+ - est_ctry
+ - est_ea
+ - est_number
+ - est_ph1
+ - est_st
+ - est_zip
+ - labor_rate_desc
+ - labor_rate_id
+ - pit_owner_email
+ - pit_owner_first_name
+ - pit_owner_last_name
+ - pit_owner_phone
+ - pit_vehicle_plate_no
+ - regie_number
+ - ro_number
+ - actual_completion
+ - actual_delivery
+ - actual_in
+ - scheduled_completion
+ - scheduled_delivery
+ - scheduled_in
+ - created_at
+ - updated_at
+ - id
+ - ownerid
+ - shopid
+ - statusid
+ - vehicleid
+ filter:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ localPresets:
+ - key: ""
+ value: ""
+ set: {}
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: create_update_permission
diff --git a/hasura/migrations/1578604433860_update_permission_user_public_table_jobs/up.yaml b/hasura/migrations/1578604433860_update_permission_user_public_table_jobs/up.yaml
new file mode 100644
index 000000000..ddcb7f9e7
--- /dev/null
+++ b/hasura/migrations/1578604433860_update_permission_user_public_table_jobs/up.yaml
@@ -0,0 +1,120 @@
+- args:
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: drop_update_permission
+- args:
+ permission:
+ columns:
+ - ded_status
+ - inproduction
+ - asgn_date
+ - invoice_date
+ - claim_total
+ - ded_amt
+ - deductible
+ - federal_tax_rate
+ - local_tax_rate
+ - rate_atp
+ - rate_la1
+ - rate_la2
+ - rate_la3
+ - rate_la4
+ - rate_lab
+ - rate_lad
+ - rate_lae
+ - rate_laf
+ - rate_lag
+ - rate_lam
+ - rate_lar
+ - rate_las
+ - rate_lau
+ - rate_ma2s
+ - rate_ma2t
+ - rate_ma3s
+ - rate_mabl
+ - rate_macs
+ - rate_mahw
+ - rate_mapa
+ - rate_mash
+ - rate_matd
+ - state_tax_rate
+ - asgn_no
+ - asgn_type
+ - clm_no
+ - clm_ofc_id
+ - est_addr1
+ - est_addr2
+ - est_city
+ - est_co_nm
+ - est_ct_fn
+ - est_ct_ln
+ - est_ctry
+ - est_ea
+ - est_number
+ - est_ph1
+ - est_st
+ - est_zip
+ - ins_addr1
+ - ins_addr2
+ - ins_city
+ - ins_co_id
+ - ins_co_nm
+ - ins_ct_fn
+ - ins_ct_ln
+ - ins_ct_ph
+ - ins_ct_phx
+ - ins_ctry
+ - ins_ea
+ - ins_fax
+ - ins_faxx
+ - ins_memo
+ - ins_ph1
+ - ins_ph1x
+ - ins_ph2
+ - ins_ph2x
+ - ins_st
+ - ins_title
+ - ins_zip
+ - labor_rate_desc
+ - labor_rate_id
+ - pit_owner_email
+ - pit_owner_first_name
+ - pit_owner_last_name
+ - pit_owner_phone
+ - pit_vehicle_plate_no
+ - policy_no
+ - regie_number
+ - ro_number
+ - actual_completion
+ - actual_delivery
+ - actual_in
+ - scheduled_completion
+ - scheduled_delivery
+ - scheduled_in
+ - created_at
+ - updated_at
+ - id
+ - ownerid
+ - shopid
+ - statusid
+ - vehicleid
+ filter:
+ bodyshop:
+ associations:
+ _and:
+ - user:
+ authid:
+ _eq: X-Hasura-User-Id
+ - active:
+ _eq: true
+ localPresets:
+ - key: ""
+ value: ""
+ set: {}
+ role: user
+ table:
+ name: jobs
+ schema: public
+ type: create_update_permission
diff --git a/hasura/migrations/1578609531268_alter_table_public_jobs_alter_column_scheduled_in/down.yaml b/hasura/migrations/1578609531268_alter_table_public_jobs_alter_column_scheduled_in/down.yaml
new file mode 100644
index 000000000..07c90f98b
--- /dev/null
+++ b/hasura/migrations/1578609531268_alter_table_public_jobs_alter_column_scheduled_in/down.yaml
@@ -0,0 +1,7 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "scheduled_in" TYPE timestamp without
+ time zone;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."scheduled_in" IS E'null'
+ type: run_sql
diff --git a/hasura/migrations/1578609531268_alter_table_public_jobs_alter_column_scheduled_in/up.yaml b/hasura/migrations/1578609531268_alter_table_public_jobs_alter_column_scheduled_in/up.yaml
new file mode 100644
index 000000000..6a8bda178
--- /dev/null
+++ b/hasura/migrations/1578609531268_alter_table_public_jobs_alter_column_scheduled_in/up.yaml
@@ -0,0 +1,6 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "scheduled_in" TYPE timestamptz;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."scheduled_in" IS E''
+ type: run_sql
diff --git a/hasura/migrations/1578609541216_alter_table_public_jobs_alter_column_actual_in/down.yaml b/hasura/migrations/1578609541216_alter_table_public_jobs_alter_column_actual_in/down.yaml
new file mode 100644
index 000000000..53b816032
--- /dev/null
+++ b/hasura/migrations/1578609541216_alter_table_public_jobs_alter_column_actual_in/down.yaml
@@ -0,0 +1,7 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "actual_in" TYPE timestamp without
+ time zone;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."actual_in" IS E'null'
+ type: run_sql
diff --git a/hasura/migrations/1578609541216_alter_table_public_jobs_alter_column_actual_in/up.yaml b/hasura/migrations/1578609541216_alter_table_public_jobs_alter_column_actual_in/up.yaml
new file mode 100644
index 000000000..e6557dbdf
--- /dev/null
+++ b/hasura/migrations/1578609541216_alter_table_public_jobs_alter_column_actual_in/up.yaml
@@ -0,0 +1,6 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "actual_in" TYPE timestamptz;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."actual_in" IS E''
+ type: run_sql
diff --git a/hasura/migrations/1578609549147_alter_table_public_jobs_alter_column_scheduled_completion/down.yaml b/hasura/migrations/1578609549147_alter_table_public_jobs_alter_column_scheduled_completion/down.yaml
new file mode 100644
index 000000000..98d8a7025
--- /dev/null
+++ b/hasura/migrations/1578609549147_alter_table_public_jobs_alter_column_scheduled_completion/down.yaml
@@ -0,0 +1,7 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "scheduled_completion" TYPE timestamp
+ without time zone;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."scheduled_completion" IS E'null'
+ type: run_sql
diff --git a/hasura/migrations/1578609549147_alter_table_public_jobs_alter_column_scheduled_completion/up.yaml b/hasura/migrations/1578609549147_alter_table_public_jobs_alter_column_scheduled_completion/up.yaml
new file mode 100644
index 000000000..91a041a01
--- /dev/null
+++ b/hasura/migrations/1578609549147_alter_table_public_jobs_alter_column_scheduled_completion/up.yaml
@@ -0,0 +1,6 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "scheduled_completion" TYPE timestamptz;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."scheduled_completion" IS E''
+ type: run_sql
diff --git a/hasura/migrations/1578609555707_alter_table_public_jobs_alter_column_actual_completion/down.yaml b/hasura/migrations/1578609555707_alter_table_public_jobs_alter_column_actual_completion/down.yaml
new file mode 100644
index 000000000..698c3f326
--- /dev/null
+++ b/hasura/migrations/1578609555707_alter_table_public_jobs_alter_column_actual_completion/down.yaml
@@ -0,0 +1,7 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "actual_completion" TYPE timestamp
+ without time zone;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."actual_completion" IS E'null'
+ type: run_sql
diff --git a/hasura/migrations/1578609555707_alter_table_public_jobs_alter_column_actual_completion/up.yaml b/hasura/migrations/1578609555707_alter_table_public_jobs_alter_column_actual_completion/up.yaml
new file mode 100644
index 000000000..69db0c022
--- /dev/null
+++ b/hasura/migrations/1578609555707_alter_table_public_jobs_alter_column_actual_completion/up.yaml
@@ -0,0 +1,6 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "actual_completion" TYPE timestamptz;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."actual_completion" IS E''
+ type: run_sql
diff --git a/hasura/migrations/1578609570214_alter_table_public_jobs_alter_column_scheduled_delivery/down.yaml b/hasura/migrations/1578609570214_alter_table_public_jobs_alter_column_scheduled_delivery/down.yaml
new file mode 100644
index 000000000..3178248c9
--- /dev/null
+++ b/hasura/migrations/1578609570214_alter_table_public_jobs_alter_column_scheduled_delivery/down.yaml
@@ -0,0 +1,7 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "scheduled_delivery" TYPE timestamp
+ without time zone;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."scheduled_delivery" IS E'null'
+ type: run_sql
diff --git a/hasura/migrations/1578609570214_alter_table_public_jobs_alter_column_scheduled_delivery/up.yaml b/hasura/migrations/1578609570214_alter_table_public_jobs_alter_column_scheduled_delivery/up.yaml
new file mode 100644
index 000000000..5fae4da37
--- /dev/null
+++ b/hasura/migrations/1578609570214_alter_table_public_jobs_alter_column_scheduled_delivery/up.yaml
@@ -0,0 +1,6 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "scheduled_delivery" TYPE timestamptz;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."scheduled_delivery" IS E''
+ type: run_sql
diff --git a/hasura/migrations/1578609588489_alter_table_public_jobs_alter_column_actual_delivery/down.yaml b/hasura/migrations/1578609588489_alter_table_public_jobs_alter_column_actual_delivery/down.yaml
new file mode 100644
index 000000000..220adadd2
--- /dev/null
+++ b/hasura/migrations/1578609588489_alter_table_public_jobs_alter_column_actual_delivery/down.yaml
@@ -0,0 +1,7 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "actual_delivery" TYPE timestamp
+ without time zone;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."actual_delivery" IS E'null'
+ type: run_sql
diff --git a/hasura/migrations/1578609588489_alter_table_public_jobs_alter_column_actual_delivery/up.yaml b/hasura/migrations/1578609588489_alter_table_public_jobs_alter_column_actual_delivery/up.yaml
new file mode 100644
index 000000000..01d50a336
--- /dev/null
+++ b/hasura/migrations/1578609588489_alter_table_public_jobs_alter_column_actual_delivery/up.yaml
@@ -0,0 +1,6 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ALTER COLUMN "actual_delivery" TYPE timestamptz;
+ type: run_sql
+- args:
+ sql: COMMENT ON COLUMN "public"."jobs"."actual_delivery" IS E''
+ type: run_sql
diff --git a/hasura/migrations/1578610005386_alter_table_public_jobs_add_column_date_estimated/down.yaml b/hasura/migrations/1578610005386_alter_table_public_jobs_add_column_date_estimated/down.yaml
new file mode 100644
index 000000000..859af2c22
--- /dev/null
+++ b/hasura/migrations/1578610005386_alter_table_public_jobs_add_column_date_estimated/down.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" DROP COLUMN "date_estimated";
+ type: run_sql
diff --git a/hasura/migrations/1578610005386_alter_table_public_jobs_add_column_date_estimated/up.yaml b/hasura/migrations/1578610005386_alter_table_public_jobs_add_column_date_estimated/up.yaml
new file mode 100644
index 000000000..a4b7a69cb
--- /dev/null
+++ b/hasura/migrations/1578610005386_alter_table_public_jobs_add_column_date_estimated/up.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ADD COLUMN "date_estimated" timestamptz NULL;
+ type: run_sql
diff --git a/hasura/migrations/1578610020957_alter_table_public_jobs_add_column_date_open/down.yaml b/hasura/migrations/1578610020957_alter_table_public_jobs_add_column_date_open/down.yaml
new file mode 100644
index 000000000..0a6aecf1f
--- /dev/null
+++ b/hasura/migrations/1578610020957_alter_table_public_jobs_add_column_date_open/down.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" DROP COLUMN "date_open";
+ type: run_sql
diff --git a/hasura/migrations/1578610020957_alter_table_public_jobs_add_column_date_open/up.yaml b/hasura/migrations/1578610020957_alter_table_public_jobs_add_column_date_open/up.yaml
new file mode 100644
index 000000000..ec60a1b3b
--- /dev/null
+++ b/hasura/migrations/1578610020957_alter_table_public_jobs_add_column_date_open/up.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ADD COLUMN "date_open" timestamptz NULL;
+ type: run_sql
diff --git a/hasura/migrations/1578610060891_alter_table_public_jobs_add_column_date_scheduled/down.yaml b/hasura/migrations/1578610060891_alter_table_public_jobs_add_column_date_scheduled/down.yaml
new file mode 100644
index 000000000..199f7cac1
--- /dev/null
+++ b/hasura/migrations/1578610060891_alter_table_public_jobs_add_column_date_scheduled/down.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" DROP COLUMN "date_scheduled";
+ type: run_sql
diff --git a/hasura/migrations/1578610060891_alter_table_public_jobs_add_column_date_scheduled/up.yaml b/hasura/migrations/1578610060891_alter_table_public_jobs_add_column_date_scheduled/up.yaml
new file mode 100644
index 000000000..c88334c1a
--- /dev/null
+++ b/hasura/migrations/1578610060891_alter_table_public_jobs_add_column_date_scheduled/up.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ADD COLUMN "date_scheduled" timestamptz NULL;
+ type: run_sql
diff --git a/hasura/migrations/1578610077013_alter_table_public_jobs_add_column_date_invoiced/down.yaml b/hasura/migrations/1578610077013_alter_table_public_jobs_add_column_date_invoiced/down.yaml
new file mode 100644
index 000000000..81c15b018
--- /dev/null
+++ b/hasura/migrations/1578610077013_alter_table_public_jobs_add_column_date_invoiced/down.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" DROP COLUMN "date_invoiced";
+ type: run_sql
diff --git a/hasura/migrations/1578610077013_alter_table_public_jobs_add_column_date_invoiced/up.yaml b/hasura/migrations/1578610077013_alter_table_public_jobs_add_column_date_invoiced/up.yaml
new file mode 100644
index 000000000..1fdc6ae59
--- /dev/null
+++ b/hasura/migrations/1578610077013_alter_table_public_jobs_add_column_date_invoiced/up.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ADD COLUMN "date_invoiced" timestamptz NULL;
+ type: run_sql
diff --git a/hasura/migrations/1578610087087_alter_table_public_jobs_add_column_date_closed/down.yaml b/hasura/migrations/1578610087087_alter_table_public_jobs_add_column_date_closed/down.yaml
new file mode 100644
index 000000000..494ee11c4
--- /dev/null
+++ b/hasura/migrations/1578610087087_alter_table_public_jobs_add_column_date_closed/down.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" DROP COLUMN "date_closed";
+ type: run_sql
diff --git a/hasura/migrations/1578610087087_alter_table_public_jobs_add_column_date_closed/up.yaml b/hasura/migrations/1578610087087_alter_table_public_jobs_add_column_date_closed/up.yaml
new file mode 100644
index 000000000..bce2a020e
--- /dev/null
+++ b/hasura/migrations/1578610087087_alter_table_public_jobs_add_column_date_closed/up.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ADD COLUMN "date_closed" timestamptz NULL;
+ type: run_sql
diff --git a/hasura/migrations/1578610098441_alter_table_public_jobs_add_column_date_exported/down.yaml b/hasura/migrations/1578610098441_alter_table_public_jobs_add_column_date_exported/down.yaml
new file mode 100644
index 000000000..e32bede37
--- /dev/null
+++ b/hasura/migrations/1578610098441_alter_table_public_jobs_add_column_date_exported/down.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" DROP COLUMN "date_exported";
+ type: run_sql
diff --git a/hasura/migrations/1578610098441_alter_table_public_jobs_add_column_date_exported/up.yaml b/hasura/migrations/1578610098441_alter_table_public_jobs_add_column_date_exported/up.yaml
new file mode 100644
index 000000000..28b8ace45
--- /dev/null
+++ b/hasura/migrations/1578610098441_alter_table_public_jobs_add_column_date_exported/up.yaml
@@ -0,0 +1,3 @@
+- args:
+ sql: ALTER TABLE "public"."jobs" ADD COLUMN "date_exported" timestamptz NULL;
+ type: run_sql