From 97629a91fb47adec0abe55d38aa49a799c93cac6 Mon Sep 17 00:00:00 2001 From: Patrick Fic Date: Thu, 20 Aug 2020 14:43:59 -0700 Subject: [PATCH] Added time ago formatter + schema changes for BOD-198 --- .../jobs-available-new.component.jsx | 4 +-- .../jobs-available-supplement.component.jsx | 4 +-- client/src/redux/user/user.sagas.js | 2 ++ client/src/utils/DateFormatter.jsx | 12 ++++++- .../down.yaml | 5 +++ .../up.yaml | 6 ++++ .../down.yaml | 24 ++++++++++++++ .../up.yaml | 33 +++++++++++++++++++ hasura/migrations/metadata.yaml | 11 ++++++- 9 files changed, 95 insertions(+), 6 deletions(-) create mode 100644 hasura/migrations/1597946820994_alter_table_public_available_jobs_add_unique_clm_no_bodyshopid/down.yaml create mode 100644 hasura/migrations/1597946820994_alter_table_public_available_jobs_add_unique_clm_no_bodyshopid/up.yaml create mode 100644 hasura/migrations/1597955468157_update_permission_user_public_table_available_jobs/down.yaml create mode 100644 hasura/migrations/1597955468157_update_permission_user_public_table_available_jobs/up.yaml diff --git a/client/src/components/jobs-available-new/jobs-available-new.component.jsx b/client/src/components/jobs-available-new/jobs-available-new.component.jsx index 574237241..b81cb9add 100644 --- a/client/src/components/jobs-available-new/jobs-available-new.component.jsx +++ b/client/src/components/jobs-available-new/jobs-available-new.component.jsx @@ -7,7 +7,7 @@ import { Button, notification, Table, Input } from "antd"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import CurrencyFormatter from "../../utils/CurrencyFormatter"; -import { DateTimeFormatter } from "../../utils/DateFormatter"; +import { TimeAgoFormatter } from "../../utils/DateFormatter"; import { alphaSort } from "../../utils/sorters"; import OwnerFindModalContainer from "../owner-find-modal/owner-find-modal.container"; @@ -109,7 +109,7 @@ export default function JobsAvailableComponent({ sortOrder: state.sortedInfo.columnKey === "updated_at" && state.sortedInfo.order, render: (text, record) => ( - {record.updated_at} + {record.updated_at} ), //width: "12%", //ellipsis: true diff --git a/client/src/components/jobs-available-supplement/jobs-available-supplement.component.jsx b/client/src/components/jobs-available-supplement/jobs-available-supplement.component.jsx index eeeec7bb3..fbe6712b0 100644 --- a/client/src/components/jobs-available-supplement/jobs-available-supplement.component.jsx +++ b/client/src/components/jobs-available-supplement/jobs-available-supplement.component.jsx @@ -7,7 +7,7 @@ import { Button, notification, Table, Input } from "antd"; import React, { useState } from "react"; import { useTranslation } from "react-i18next"; import CurrencyFormatter from "../../utils/CurrencyFormatter"; -import { DateTimeFormatter } from "../../utils/DateFormatter"; +import { TimeAgoFormatter } from "../../utils/DateFormatter"; import { alphaSort } from "../../utils/sorters"; import JobsFindModalContainer from "../jobs-find-modal/jobs-find-modal.container"; @@ -124,7 +124,7 @@ export default function JobsAvailableSupplementComponent({ sortOrder: state.sortedInfo.columnKey === "updated_at" && state.sortedInfo.order, render: (text, record) => ( - {record.updated_at} + {record.updated_at} ), //width: "12%", //ellipsis: true diff --git a/client/src/redux/user/user.sagas.js b/client/src/redux/user/user.sagas.js index 2561fab2c..ac95cd846 100644 --- a/client/src/redux/user/user.sagas.js +++ b/client/src/redux/user/user.sagas.js @@ -64,6 +64,8 @@ export function* isUserAuthenticated() { return; } + console.log(yield auth.currentUser.getIdToken(true)); + LogRocket.identify(user.email); yield put( signInSuccess({ diff --git a/client/src/utils/DateFormatter.jsx b/client/src/utils/DateFormatter.jsx index 1989c53ea..88bda7b04 100644 --- a/client/src/utils/DateFormatter.jsx +++ b/client/src/utils/DateFormatter.jsx @@ -1,14 +1,24 @@ import React from "react"; +import moment from "moment"; import Moment from "react-moment"; +import { Tooltip } from "antd"; export function DateFormatter(props) { return props.children ? ( {props.children} ) : null; } - export function DateTimeFormatter(props) { return props.children ? ( {props.children} ) : null; } + +export function TimeAgoFormatter(props) { + const m = moment(props.children); + return props.children ? ( + + {m.fromNow()} + + ) : null; +} diff --git a/hasura/migrations/1597946820994_alter_table_public_available_jobs_add_unique_clm_no_bodyshopid/down.yaml b/hasura/migrations/1597946820994_alter_table_public_available_jobs_add_unique_clm_no_bodyshopid/down.yaml new file mode 100644 index 000000000..e8fa788db --- /dev/null +++ b/hasura/migrations/1597946820994_alter_table_public_available_jobs_add_unique_clm_no_bodyshopid/down.yaml @@ -0,0 +1,5 @@ +- args: + cascade: false + read_only: false + sql: alter table "public"."available_jobs" drop constraint "available_jobs_clm_no_bodyshopid_key"; + type: run_sql diff --git a/hasura/migrations/1597946820994_alter_table_public_available_jobs_add_unique_clm_no_bodyshopid/up.yaml b/hasura/migrations/1597946820994_alter_table_public_available_jobs_add_unique_clm_no_bodyshopid/up.yaml new file mode 100644 index 000000000..8882889c9 --- /dev/null +++ b/hasura/migrations/1597946820994_alter_table_public_available_jobs_add_unique_clm_no_bodyshopid/up.yaml @@ -0,0 +1,6 @@ +- args: + cascade: false + read_only: false + sql: alter table "public"."available_jobs" add constraint "available_jobs_clm_no_bodyshopid_key" + unique ("clm_no", "bodyshopid"); + type: run_sql diff --git a/hasura/migrations/1597955468157_update_permission_user_public_table_available_jobs/down.yaml b/hasura/migrations/1597955468157_update_permission_user_public_table_available_jobs/down.yaml new file mode 100644 index 000000000..90b0105b5 --- /dev/null +++ b/hasura/migrations/1597955468157_update_permission_user_public_table_available_jobs/down.yaml @@ -0,0 +1,24 @@ +- args: + role: user + table: + name: available_jobs + schema: public + type: drop_update_permission +- args: + permission: + columns: [] + filter: + bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true + set: {} + role: user + table: + name: available_jobs + schema: public + type: create_update_permission diff --git a/hasura/migrations/1597955468157_update_permission_user_public_table_available_jobs/up.yaml b/hasura/migrations/1597955468157_update_permission_user_public_table_available_jobs/up.yaml new file mode 100644 index 000000000..ea3838750 --- /dev/null +++ b/hasura/migrations/1597955468157_update_permission_user_public_table_available_jobs/up.yaml @@ -0,0 +1,33 @@ +- args: + role: user + table: + name: available_jobs + schema: public + type: drop_update_permission +- args: + permission: + columns: + - cieca_id + - clm_amt + - est_data + - issupplement + - ownr_name + - source_system + - supplement_number + - uploaded_by + - vehicle_info + filter: + bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true + set: {} + role: user + table: + name: available_jobs + schema: public + type: create_update_permission diff --git a/hasura/migrations/metadata.yaml b/hasura/migrations/metadata.yaml index 55f4b720d..9872b5cfb 100644 --- a/hasura/migrations/metadata.yaml +++ b/hasura/migrations/metadata.yaml @@ -316,7 +316,16 @@ tables: update_permissions: - role: user permission: - columns: [] + columns: + - cieca_id + - clm_amt + - est_data + - issupplement + - ownr_name + - source_system + - supplement_number + - uploaded_by + - vehicle_info filter: bodyshop: associations: