Compare commits
3 Commits
feature/IO
...
feature/IO
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c27e206687 | ||
|
|
01fd253f1d | ||
|
|
3eab3e2fb6 |
File diff suppressed because it is too large
Load Diff
@@ -5,7 +5,6 @@ import {
|
||||
Input,
|
||||
InputNumber,
|
||||
Select,
|
||||
Space,
|
||||
Switch,
|
||||
Typography,
|
||||
} from "antd";
|
||||
@@ -18,7 +17,6 @@ import { selectBodyshop } from "../../redux/user/user.selectors";
|
||||
import { connect } from "react-redux";
|
||||
import { createStructuredSelector } from "reselect";
|
||||
import { useTreatments } from "@splitsoftware/splitio-react";
|
||||
import FormListMoveArrows from "../form-list-move-arrows/form-list-move-arrows.component";
|
||||
|
||||
const SelectorDiv = styled.div`
|
||||
.ant-form-item .ant-select {
|
||||
@@ -193,7 +191,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
|
||||
</LayoutFormRow>
|
||||
<LayoutFormRow header={t("bodyshop.labels.dms.cdk.payers")}>
|
||||
<Form.List name={["cdk_configuration", "payers"]}>
|
||||
{(fields, { add, remove, move }) => {
|
||||
{(fields, { add, remove }) => {
|
||||
return (
|
||||
<div>
|
||||
{fields.map((field, index) => (
|
||||
@@ -251,18 +249,11 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
|
||||
</Select>
|
||||
</Form.Item>
|
||||
|
||||
<Space align="center">
|
||||
<DeleteFilled
|
||||
onClick={() => {
|
||||
remove(field.name);
|
||||
}}
|
||||
/>
|
||||
<FormListMoveArrows
|
||||
move={move}
|
||||
index={index}
|
||||
total={fields.length}
|
||||
/>
|
||||
</Space>
|
||||
<DeleteFilled
|
||||
onClick={() => {
|
||||
remove(field.name);
|
||||
}}
|
||||
/>
|
||||
</LayoutFormRow>
|
||||
</Form.Item>
|
||||
))}
|
||||
@@ -354,7 +345,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
|
||||
id="costs"
|
||||
>
|
||||
<Form.List name={["md_responsibility_centers", "costs"]}>
|
||||
{(fields, { add, remove, move }) => {
|
||||
{(fields, { add, remove }) => {
|
||||
return (
|
||||
<div>
|
||||
{fields.map((field, index) => (
|
||||
@@ -471,18 +462,12 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
|
||||
<Input onBlur={handleBlur} />
|
||||
</Form.Item>
|
||||
)}
|
||||
<Space align="center">
|
||||
<DeleteFilled
|
||||
onClick={() => {
|
||||
remove(field.name);
|
||||
}}
|
||||
/>
|
||||
<FormListMoveArrows
|
||||
move={move}
|
||||
index={index}
|
||||
total={fields.length}
|
||||
/>
|
||||
</Space>
|
||||
|
||||
<DeleteFilled
|
||||
onClick={() => {
|
||||
remove(field.name);
|
||||
}}
|
||||
/>
|
||||
</LayoutFormRow>
|
||||
</Form.Item>
|
||||
))}
|
||||
@@ -508,7 +493,7 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
|
||||
id="profits"
|
||||
>
|
||||
<Form.List name={["md_responsibility_centers", "profits"]}>
|
||||
{(fields, { add, remove, move }) => {
|
||||
{(fields, { add, remove }) => {
|
||||
return (
|
||||
<div>
|
||||
{fields.map((field, index) => (
|
||||
@@ -610,18 +595,11 @@ export function ShopInfoResponsibilityCenterComponent({ bodyshop, form }) {
|
||||
<Input onBlur={handleBlur} />
|
||||
</Form.Item>
|
||||
)}
|
||||
<Space align="center">
|
||||
<DeleteFilled
|
||||
onClick={() => {
|
||||
remove(field.name);
|
||||
}}
|
||||
/>
|
||||
<FormListMoveArrows
|
||||
move={move}
|
||||
index={index}
|
||||
total={fields.length}
|
||||
/>
|
||||
</Space>
|
||||
<DeleteFilled
|
||||
onClick={() => {
|
||||
remove(field.name);
|
||||
}}
|
||||
/>
|
||||
</LayoutFormRow>
|
||||
</Form.Item>
|
||||
))}
|
||||
|
||||
@@ -4,6 +4,8 @@ import { getAuth, updatePassword, updateProfile } from "firebase/auth";
|
||||
import { getFirestore } from "firebase/firestore";
|
||||
import { getMessaging, getToken, onMessage } from "firebase/messaging";
|
||||
import { store } from "../redux/store";
|
||||
import axios from "axios";
|
||||
import { checkBeta } from "../utils/handleBeta";
|
||||
|
||||
const config = JSON.parse(process.env.REACT_APP_FIREBASE_CONFIG);
|
||||
initializeApp(config);
|
||||
@@ -86,6 +88,18 @@ export const logImEXEvent = (eventName, additionalParams, stateProp = null) => {
|
||||
null,
|
||||
...additionalParams,
|
||||
};
|
||||
axios.post("/ioevent", {
|
||||
useremail:
|
||||
(state.user && state.user.currentUser && state.user.currentUser.email) ||
|
||||
null,
|
||||
bodyshopid:
|
||||
(state.user && state.user.bodyshop && state.user.bodyshop.id) || null,
|
||||
operationName: eventName,
|
||||
variables: additionalParams,
|
||||
dbevent: false,
|
||||
env: checkBeta() ? "beta" : "master",
|
||||
});
|
||||
|
||||
// console.log(
|
||||
// "%c[Analytics]",
|
||||
// "background-color: green ;font-weight:bold;",
|
||||
|
||||
@@ -259,7 +259,6 @@
|
||||
"saving": "Error encountered while saving. {{message}}"
|
||||
},
|
||||
"fields": {
|
||||
"ReceivableCustomField": "QBO Receivable Custom Field {{number}}",
|
||||
"address1": "Address 1",
|
||||
"address2": "Address 2",
|
||||
"appt_alt_transport": "Appointment Alternative Transportation Options",
|
||||
@@ -478,6 +477,7 @@
|
||||
"editaccess": "Users -> Edit access"
|
||||
}
|
||||
},
|
||||
"ReceivableCustomField": "QBO Receivable Custom Field {{number}}",
|
||||
"responsibilitycenter": "Responsibility Center",
|
||||
"responsibilitycenter_accountdesc": "Account Description",
|
||||
"responsibilitycenter_accountitem": "Item",
|
||||
@@ -608,7 +608,7 @@
|
||||
"dms": {
|
||||
"cdk": {
|
||||
"controllist": "Control Number List",
|
||||
"payers": "Payers"
|
||||
"payers": "CDK Payers"
|
||||
},
|
||||
"cdk_dealerid": "CDK Dealer ID",
|
||||
"pbs_serialnumber": "PBS Serial Number",
|
||||
@@ -844,8 +844,8 @@
|
||||
"notconfigured": "You do not have any current CSI Question Sets configured.",
|
||||
"notfoundsubtitle": "We were unable to find a survey using the link you provided. Please ensure the URL is correct or reach out to your shop for more help.",
|
||||
"notfoundtitle": "No survey found.",
|
||||
"surveycompletesubtitle": "This survey was already completed on {{date}}.",
|
||||
"surveycompletetitle": "Survey previously completed"
|
||||
"surveycompletetitle": "Survey previously completed",
|
||||
"surveycompletesubtitle": "This survey was already completed on {{date}}."
|
||||
},
|
||||
"fields": {
|
||||
"completedon": "Completed On",
|
||||
@@ -854,13 +854,13 @@
|
||||
"validuntil": "Valid Until"
|
||||
},
|
||||
"labels": {
|
||||
"copyright": "Copyright © $t(titles.app). All Rights Reserved.",
|
||||
"greeting": "Hi {{name}}!",
|
||||
"intro": "At {{shopname}}, we value your feedback. We would love to hear what you have to say. Please fill out the form below.",
|
||||
"nologgedinuser": "Please log out of $t(titles.app)",
|
||||
"nologgedinuser_sub": "Users of $t(titles.app) cannot complete CSI surveys while logged in. Please log out and try again.",
|
||||
"noneselected": "No response selected.",
|
||||
"title": "Customer Satisfaction Survey"
|
||||
"title": "Customer Satisfaction Survey",
|
||||
"greeting": "Hi {{name}}!",
|
||||
"intro": "At {{shopname}}, we value your feedback. We would love to hear what you have to say. Please fill out the form below.",
|
||||
"copyright": "Copyright © $t(titles.app). All Rights Reserved."
|
||||
},
|
||||
"successes": {
|
||||
"created": "CSI created successfully.",
|
||||
@@ -2417,7 +2417,6 @@
|
||||
"invoice_total_payable": "Invoice (Total Payable)",
|
||||
"iou_form": "IOU Form",
|
||||
"job_costing_ro": "Job Costing",
|
||||
"job_lifecycle_ro": "Job Lifecycle",
|
||||
"job_notes": "Job Notes",
|
||||
"key_tag": "Key Tag",
|
||||
"labels": {
|
||||
@@ -2584,17 +2583,17 @@
|
||||
},
|
||||
"labels": {
|
||||
"advanced_filters": "Advanced Filters and Sorters",
|
||||
"advanced_filters_false": "False",
|
||||
"advanced_filters_show": "Show",
|
||||
"advanced_filters_hide": "Hide",
|
||||
"advanced_filters_filters": "Filters",
|
||||
"advanced_filters_sorters": "Sorters",
|
||||
"advanced_filters_filter_field": "Field",
|
||||
"advanced_filters_sorter_field": "Field",
|
||||
"advanced_filters_true": "True",
|
||||
"advanced_filters_false": "False",
|
||||
"advanced_filters_sorter_direction": "Direction",
|
||||
"advanced_filters_filter_operator": "Operator",
|
||||
"advanced_filters_filter_value": "Value",
|
||||
"advanced_filters_filters": "Filters",
|
||||
"advanced_filters_hide": "Hide",
|
||||
"advanced_filters_show": "Show",
|
||||
"advanced_filters_sorter_direction": "Direction",
|
||||
"advanced_filters_sorter_field": "Field",
|
||||
"advanced_filters_sorters": "Sorters",
|
||||
"advanced_filters_true": "True",
|
||||
"dates": "Dates",
|
||||
"employee": "Employee",
|
||||
"filterson": "Filters on {{object}}: {{field}}",
|
||||
|
||||
@@ -259,7 +259,6 @@
|
||||
"saving": ""
|
||||
},
|
||||
"fields": {
|
||||
"ReceivableCustomField": "",
|
||||
"address1": "",
|
||||
"address2": "",
|
||||
"appt_alt_transport": "",
|
||||
@@ -478,6 +477,7 @@
|
||||
"editaccess": ""
|
||||
}
|
||||
},
|
||||
"ReceivableCustomField": "",
|
||||
"responsibilitycenter": "",
|
||||
"responsibilitycenter_accountdesc": "",
|
||||
"responsibilitycenter_accountitem": "",
|
||||
@@ -844,8 +844,8 @@
|
||||
"notconfigured": "",
|
||||
"notfoundsubtitle": "",
|
||||
"notfoundtitle": "",
|
||||
"surveycompletesubtitle": "",
|
||||
"surveycompletetitle": ""
|
||||
"surveycompletetitle": "",
|
||||
"surveycompletesubtitle": ""
|
||||
},
|
||||
"fields": {
|
||||
"completedon": "",
|
||||
@@ -854,13 +854,13 @@
|
||||
"validuntil": ""
|
||||
},
|
||||
"labels": {
|
||||
"copyright": "",
|
||||
"greeting": "",
|
||||
"intro": "",
|
||||
"nologgedinuser": "",
|
||||
"nologgedinuser_sub": "",
|
||||
"noneselected": "",
|
||||
"title": ""
|
||||
"title": "",
|
||||
"greeting": "",
|
||||
"intro": "",
|
||||
"copyright": ""
|
||||
},
|
||||
"successes": {
|
||||
"created": "",
|
||||
@@ -2417,7 +2417,6 @@
|
||||
"invoice_total_payable": "",
|
||||
"iou_form": "",
|
||||
"job_costing_ro": "",
|
||||
"job_lifecycle_ro": "",
|
||||
"job_notes": "",
|
||||
"key_tag": "",
|
||||
"labels": {
|
||||
@@ -2584,17 +2583,17 @@
|
||||
},
|
||||
"labels": {
|
||||
"advanced_filters": "",
|
||||
"advanced_filters_false": "",
|
||||
"advanced_filters_show": "",
|
||||
"advanced_filters_hide": "",
|
||||
"advanced_filters_filters": "",
|
||||
"advanced_filters_sorters": "",
|
||||
"advanced_filters_filter_field": "",
|
||||
"advanced_filters_sorter_field": "",
|
||||
"advanced_filters_true": "",
|
||||
"advanced_filters_false": "",
|
||||
"advanced_filters_sorter_direction": "",
|
||||
"advanced_filters_filter_operator": "",
|
||||
"advanced_filters_filter_value": "",
|
||||
"advanced_filters_filters": "",
|
||||
"advanced_filters_hide": "",
|
||||
"advanced_filters_show": "",
|
||||
"advanced_filters_sorter_direction": "",
|
||||
"advanced_filters_sorter_field": "",
|
||||
"advanced_filters_sorters": "",
|
||||
"advanced_filters_true": "",
|
||||
"dates": "",
|
||||
"employee": "",
|
||||
"filterson": "",
|
||||
|
||||
@@ -259,7 +259,6 @@
|
||||
"saving": ""
|
||||
},
|
||||
"fields": {
|
||||
"ReceivableCustomField": "",
|
||||
"address1": "",
|
||||
"address2": "",
|
||||
"appt_alt_transport": "",
|
||||
@@ -478,6 +477,7 @@
|
||||
"editaccess": ""
|
||||
}
|
||||
},
|
||||
"ReceivableCustomField": "",
|
||||
"responsibilitycenter": "",
|
||||
"responsibilitycenter_accountdesc": "",
|
||||
"responsibilitycenter_accountitem": "",
|
||||
@@ -844,8 +844,8 @@
|
||||
"notconfigured": "",
|
||||
"notfoundsubtitle": "",
|
||||
"notfoundtitle": "",
|
||||
"surveycompletesubtitle": "",
|
||||
"surveycompletetitle": ""
|
||||
"surveycompletetitle": "",
|
||||
"surveycompletesubtitle": ""
|
||||
},
|
||||
"fields": {
|
||||
"completedon": "",
|
||||
@@ -854,13 +854,13 @@
|
||||
"validuntil": ""
|
||||
},
|
||||
"labels": {
|
||||
"copyright": "",
|
||||
"greeting": "",
|
||||
"intro": "",
|
||||
"nologgedinuser": "",
|
||||
"nologgedinuser_sub": "",
|
||||
"noneselected": "",
|
||||
"title": ""
|
||||
"title": "",
|
||||
"greeting": "",
|
||||
"intro": "",
|
||||
"copyright": ""
|
||||
},
|
||||
"successes": {
|
||||
"created": "",
|
||||
@@ -2417,7 +2417,6 @@
|
||||
"invoice_total_payable": "",
|
||||
"iou_form": "",
|
||||
"job_costing_ro": "",
|
||||
"job_lifecycle_ro": "",
|
||||
"job_notes": "",
|
||||
"key_tag": "",
|
||||
"labels": {
|
||||
@@ -2584,17 +2583,17 @@
|
||||
},
|
||||
"labels": {
|
||||
"advanced_filters": "",
|
||||
"advanced_filters_false": "",
|
||||
"advanced_filters_show": "",
|
||||
"advanced_filters_hide": "",
|
||||
"advanced_filters_filters": "",
|
||||
"advanced_filters_sorters": "",
|
||||
"advanced_filters_filter_field": "",
|
||||
"advanced_filters_sorter_field": "",
|
||||
"advanced_filters_true": "",
|
||||
"advanced_filters_false": "",
|
||||
"advanced_filters_sorter_direction": "",
|
||||
"advanced_filters_filter_operator": "",
|
||||
"advanced_filters_filter_value": "",
|
||||
"advanced_filters_filters": "",
|
||||
"advanced_filters_hide": "",
|
||||
"advanced_filters_show": "",
|
||||
"advanced_filters_sorter_direction": "",
|
||||
"advanced_filters_sorter_field": "",
|
||||
"advanced_filters_sorters": "",
|
||||
"advanced_filters_true": "",
|
||||
"dates": "",
|
||||
"employee": "",
|
||||
"filterson": "",
|
||||
|
||||
@@ -514,14 +514,6 @@ export const TemplateList = (type, context) => {
|
||||
group: "financial",
|
||||
dms: true,
|
||||
},
|
||||
job_lifecycle_ro: {
|
||||
title: i18n.t("printcenter.jobs.job_lifecycle_ro"),
|
||||
description: "",
|
||||
subject: i18n.t("printcenter.jobs.job_lifecycle_ro"),
|
||||
key: "job_lifecycle_ro",
|
||||
disabled: false,
|
||||
group: "post",
|
||||
},
|
||||
}
|
||||
: {}),
|
||||
...(!type || type === "job_special"
|
||||
|
||||
@@ -4200,7 +4200,7 @@
|
||||
interval_sec: 10
|
||||
num_retries: 0
|
||||
timeout_sec: 60
|
||||
webhook_from_env: HASURA_API_URL
|
||||
webhook: https://worktest.home.irony.online
|
||||
headers:
|
||||
- name: event-secret
|
||||
value_from_env: EVENT_SECRET
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
-- Could not auto-generate a down migration.
|
||||
-- Please write an appropriate down migration for the SQL below:
|
||||
-- alter table "public"."ioevents" add column "useremail" text
|
||||
-- not null;
|
||||
@@ -0,0 +1 @@
|
||||
alter table "public"."ioevents" add column "useremail" text;
|
||||
@@ -0,0 +1,4 @@
|
||||
-- Could not auto-generate a down migration.
|
||||
-- Please write an appropriate down migration for the SQL below:
|
||||
-- alter table "public"."ioevents" add column "bodyshopid" uuid
|
||||
-- null;
|
||||
@@ -0,0 +1,2 @@
|
||||
alter table "public"."ioevents" add column "bodyshopid" uuid
|
||||
null;
|
||||
@@ -0,0 +1 @@
|
||||
alter table "public"."ioevents" alter column "useremail" set not null;
|
||||
@@ -0,0 +1 @@
|
||||
alter table "public"."ioevents" alter column "useremail" drop not null;
|
||||
@@ -0,0 +1,4 @@
|
||||
-- Could not auto-generate a down migration.
|
||||
-- Please write an appropriate down migration for the SQL below:
|
||||
-- alter table "public"."ioevents" add column "env" text
|
||||
-- null;
|
||||
@@ -0,0 +1,2 @@
|
||||
alter table "public"."ioevents" add column "env" text
|
||||
null;
|
||||
@@ -0,0 +1 @@
|
||||
DROP INDEX IF EXISTS "public"."ioevents_useremail";
|
||||
@@ -0,0 +1,2 @@
|
||||
CREATE INDEX "ioevents_useremail" on
|
||||
"public"."ioevents" using btree ("useremail");
|
||||
@@ -0,0 +1 @@
|
||||
alter table "public"."ioevents" drop constraint "ioevents_useremail_fkey";
|
||||
@@ -0,0 +1,5 @@
|
||||
alter table "public"."ioevents"
|
||||
add constraint "ioevents_useremail_fkey"
|
||||
foreign key ("useremail")
|
||||
references "public"."users"
|
||||
("email") on update set null on delete set null;
|
||||
@@ -0,0 +1 @@
|
||||
alter table "public"."ioevents" drop constraint "ioevents_bodyshopid_fkey";
|
||||
@@ -0,0 +1,5 @@
|
||||
alter table "public"."ioevents"
|
||||
add constraint "ioevents_bodyshopid_fkey"
|
||||
foreign key ("bodyshopid")
|
||||
references "public"."bodyshops"
|
||||
("id") on update set null on delete set null;
|
||||
@@ -0,0 +1 @@
|
||||
DROP INDEX IF EXISTS "public"."idx_audit_trail_type";
|
||||
@@ -0,0 +1,2 @@
|
||||
CREATE INDEX "idx_audit_trail_type" on
|
||||
"public"."audit_trail" using btree ("type");
|
||||
@@ -11,27 +11,40 @@ require("dotenv").config({
|
||||
});
|
||||
|
||||
exports.default = async (req, res) => {
|
||||
const { operationName, time, dbevent, user, imexshopid } = req.body;
|
||||
const {
|
||||
useremail,
|
||||
bodyshopid,
|
||||
operationName,
|
||||
variables,
|
||||
env,
|
||||
time,
|
||||
dbevent,
|
||||
user,
|
||||
} = req.body;
|
||||
|
||||
try {
|
||||
// await client.request(queries.INSERT_IOEVENT, {
|
||||
// event: {
|
||||
// operationname: operationName,
|
||||
// time,
|
||||
// dbevent,
|
||||
// },
|
||||
// });
|
||||
console.log("IOEVENT", operationName, time, dbevent, user, imexshopid);
|
||||
logger.log("ioevent", "trace", user, null, {
|
||||
imexshopid,
|
||||
operationName,
|
||||
time,
|
||||
dbevent,
|
||||
await client.request(queries.INSERT_IOEVENT, {
|
||||
event: {
|
||||
operationname: operationName,
|
||||
time,
|
||||
dbevent,
|
||||
env,
|
||||
variables,
|
||||
bodyshopid,
|
||||
useremail,
|
||||
},
|
||||
});
|
||||
|
||||
res.sendStatus(200);
|
||||
} catch (error) {
|
||||
console.log("error", error);
|
||||
res.status(400).send(error);
|
||||
logger.log("ioevent-error", "trace", user, null, {
|
||||
operationname: operationName,
|
||||
time,
|
||||
dbevent,
|
||||
env,
|
||||
variables,
|
||||
bodyshopid,
|
||||
useremail,
|
||||
});
|
||||
res.sendStatus(200);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user