From ba7c9747b974bd968ea6c3addb03b43ba6782f4a Mon Sep 17 00:00:00 2001 From: Alican Erdurmaz Date: Mon, 28 Aug 2023 15:33:22 +0300 Subject: [PATCH] fix(app-crm): remove operation (#4869) --- .../dashboard/latest-activities/index.tsx | 1 - .../src/components/kanban/comment-form.tsx | 3 - .../src/components/kanban/comment-list.tsx | 4 +- examples/app-crm/src/providers/resources.tsx | 5 +- .../routes/scrumboard/kanban/create-stage.tsx | 2 +- .../routes/scrumboard/kanban/edit-stage.tsx | 2 +- .../src/routes/scrumboard/kanban/list.tsx | 9 +- .../routes/scrumboard/sales/create-stage.tsx | 2 +- .../routes/scrumboard/sales/edit-stage.tsx | 2 +- .../src/routes/scrumboard/sales/list.tsx | 9 +- .../src/dataProvider/index.ts | 146 ++++++------------ 11 files changed, 63 insertions(+), 122 deletions(-) diff --git a/examples/app-crm/src/components/dashboard/latest-activities/index.tsx b/examples/app-crm/src/components/dashboard/latest-activities/index.tsx index 70486513fa57..08a11e69fb30 100644 --- a/examples/app-crm/src/components/dashboard/latest-activities/index.tsx +++ b/examples/app-crm/src/components/dashboard/latest-activities/index.tsx @@ -24,7 +24,6 @@ export const DashboardLatestActivities: React.FC<{ limit?: number }> = ({ }, ], meta: { - operation: "audits", fields: [ "id", "action", diff --git a/examples/app-crm/src/components/kanban/comment-form.tsx b/examples/app-crm/src/components/kanban/comment-form.tsx index 6dc1d708353c..8197f45f5137 100644 --- a/examples/app-crm/src/components/kanban/comment-form.tsx +++ b/examples/app-crm/src/components/kanban/comment-form.tsx @@ -31,9 +31,6 @@ export const CommentForm = () => { queryOptions: { enabled: false, }, - meta: { - operation: "taskComment", - }, redirect: false, mutationMode: "optimistic", onMutationSuccess: () => { diff --git a/examples/app-crm/src/components/kanban/comment-list.tsx b/examples/app-crm/src/components/kanban/comment-list.tsx index 89e72f9e975e..2210eb4660d4 100644 --- a/examples/app-crm/src/components/kanban/comment-list.tsx +++ b/examples/app-crm/src/components/kanban/comment-list.tsx @@ -19,7 +19,7 @@ const CommentListItem = ({ item }: { item: TaskComment }) => { HttpError, TaskComment >({ - resource: "taskComment", + resource: "taskComments", action: "edit", queryOptions: { enabled: false, @@ -109,7 +109,7 @@ const CommentListItem = ({ item }: { item: TaskComment }) => { { const { formProps, modalProps, close } = useModalForm({ action: "create", defaultVisible: true, + resource: "taskStages", meta: { - operation: "taskStage", fields: ["id"], }, onMutationSuccess: () => { diff --git a/examples/app-crm/src/routes/scrumboard/kanban/edit-stage.tsx b/examples/app-crm/src/routes/scrumboard/kanban/edit-stage.tsx index 860c97cdbaa1..3fb439ad8d01 100644 --- a/examples/app-crm/src/routes/scrumboard/kanban/edit-stage.tsx +++ b/examples/app-crm/src/routes/scrumboard/kanban/edit-stage.tsx @@ -10,8 +10,8 @@ export const KanbanEditStage = () => { const { formProps, modalProps, close } = useModalForm({ action: "edit", defaultVisible: true, + resource: "taskStages", meta: { - operation: "taskStage", fields: ["id", "title"], }, onMutationSuccess: () => { diff --git a/examples/app-crm/src/routes/scrumboard/kanban/list.tsx b/examples/app-crm/src/routes/scrumboard/kanban/list.tsx index 4e0dd2f9931b..562375f73bcb 100644 --- a/examples/app-crm/src/routes/scrumboard/kanban/list.tsx +++ b/examples/app-crm/src/routes/scrumboard/kanban/list.tsx @@ -42,12 +42,11 @@ export const KanbanPage: FC = ({ children }) => { const navigate = useNavigate(); const { data: stages, isLoading: isLoadingStages } = useList({ - resource: "tasks", + resource: "taskStages", pagination: { mode: "off", }, meta: { - operation: "taskStages", fields: ["id", "title"], }, }); @@ -67,7 +66,6 @@ export const KanbanPage: FC = ({ children }) => { mode: "off", }, meta: { - operation: "tasks", fields: taskFragment, }, }); @@ -146,10 +144,7 @@ export const KanbanPage: FC = ({ children }) => { const handleDeleteStage = (args: { stageId: string }) => { deleteStage({ - resource: "tasks", - meta: { - operation: "taskStage", - }, + resource: "taskStage", id: args.stageId, }); }; diff --git a/examples/app-crm/src/routes/scrumboard/sales/create-stage.tsx b/examples/app-crm/src/routes/scrumboard/sales/create-stage.tsx index b6e1e34d1476..fd0a27c3e153 100644 --- a/examples/app-crm/src/routes/scrumboard/sales/create-stage.tsx +++ b/examples/app-crm/src/routes/scrumboard/sales/create-stage.tsx @@ -9,8 +9,8 @@ export const SalesCreateStage = () => { const { formProps, modalProps, close } = useModalForm({ action: "create", defaultVisible: true, + resource: "dealStages", meta: { - operation: "dealStage", fields: ["id"], }, onMutationSuccess: () => { diff --git a/examples/app-crm/src/routes/scrumboard/sales/edit-stage.tsx b/examples/app-crm/src/routes/scrumboard/sales/edit-stage.tsx index 2b7d569c879d..7bc4c7b05d2e 100644 --- a/examples/app-crm/src/routes/scrumboard/sales/edit-stage.tsx +++ b/examples/app-crm/src/routes/scrumboard/sales/edit-stage.tsx @@ -10,8 +10,8 @@ export const SalesEditStage = () => { const { formProps, modalProps, close } = useModalForm({ action: "edit", defaultVisible: true, + resource: "dealStages", meta: { - operation: "dealStage", fields: ["id", "title"], }, onMutationSuccess: () => { diff --git a/examples/app-crm/src/routes/scrumboard/sales/list.tsx b/examples/app-crm/src/routes/scrumboard/sales/list.tsx index e7ac5eded6f5..eb58e44b7797 100644 --- a/examples/app-crm/src/routes/scrumboard/sales/list.tsx +++ b/examples/app-crm/src/routes/scrumboard/sales/list.tsx @@ -39,11 +39,11 @@ export const SalesPage: FC = ({ children }) => { const navigate = useNavigate(); const { data: stages, isLoading: isLoadingStages } = useList({ + resource: "dealStages", pagination: { mode: "off", }, meta: { - operation: "dealStages", fields: [ "id", "title", @@ -59,6 +59,7 @@ export const SalesPage: FC = ({ children }) => { }); const { data: deals, isLoading: isLoadingDeals } = useList({ + resource: "deals", sorters: [ { field: "createdAt", @@ -72,7 +73,6 @@ export const SalesPage: FC = ({ children }) => { mode: "off", }, meta: { - operation: "deals", fields: dealsFragment, }, }); @@ -199,10 +199,7 @@ export const SalesPage: FC = ({ children }) => { const handleDeleteStage = (args: { stageId: string }) => { deleteStage({ - resource: "deals", - meta: { - operation: "dealStage", - }, + resource: "dealStage", id: args.stageId, }); }; diff --git a/packages/nestjs-query-graphql/src/dataProvider/index.ts b/packages/nestjs-query-graphql/src/dataProvider/index.ts index 2b604d828b42..3aa501d50c8b 100644 --- a/packages/nestjs-query-graphql/src/dataProvider/index.ts +++ b/packages/nestjs-query-graphql/src/dataProvider/index.ts @@ -21,19 +21,16 @@ const handleGetMany = async ( meta, }: { resource: string; ids: BaseKey[]; meta?: MetaQuery }, ): Promise> => { - const operation = meta?.operation ?? camelcase(resource); + const operation = camelcase(resource); const { query, variables } = gql.query({ operation, fields: [{ nodes: meta?.fields || ["id"] }], variables: { filter: { - type: camelcase( - `${singular(meta?.operation ?? resource)}Filter`, - { - pascalCase: true, - }, - ), + type: camelcase(`${singular(resource)}Filter`, { + pascalCase: true, + }), required: true, value: { id: { in: ids }, @@ -52,7 +49,7 @@ const handleGetMany = async ( const dataProvider = (client: GraphQLClient): Required => { return { getList: async ({ resource, pagination, sorters, filters, meta }) => { - const operation = camelcase(meta?.operation ?? resource); + const operation = camelcase(resource); const paging = generatePaging(pagination || {}); @@ -60,12 +57,9 @@ const dataProvider = (client: GraphQLClient): Required => { if (filters) { queryVariables["filter"] = { - type: camelcase( - `${singular(meta?.operation ?? resource)}Filter`, - { - pascalCase: true, - }, - ), + type: camelcase(`${singular(resource)}Filter`, { + pascalCase: true, + }), required: true, value: generateFilters(filters as LogicalFilter[]), }; @@ -73,12 +67,9 @@ const dataProvider = (client: GraphQLClient): Required => { if (sorters) { queryVariables["sorting"] = { - type: camelcase( - `${singular(meta?.operation ?? resource)}Sort`, - { - pascalCase: true, - }, - ), + type: camelcase(`${singular(resource)}Sort`, { + pascalCase: true, + }), required: true, list: [true], value: generateSorting(sorters), @@ -112,28 +103,21 @@ const dataProvider = (client: GraphQLClient): Required => { }, create: async ({ resource, variables, meta }) => { - const operation = `createOne${camelcase( - singular(meta?.operation ?? resource), - { - pascalCase: true, - }, - )}`; + const operation = `createOne${camelcase(singular(resource), { + pascalCase: true, + })}`; const { query, variables: queryVariables } = gql.mutation({ operation, fields: meta?.fields || ["id"], variables: { input: { - type: `CreateOne${camelcase( - singular(meta?.operation ?? resource), - { - pascalCase: true, - }, - )}Input`, + type: `CreateOne${camelcase(singular(resource), { + pascalCase: true, + })}Input`, required: true, value: { - [camelcase(singular(meta?.operation ?? resource))]: - variables, + [camelcase(singular(resource))]: variables, }, }, }, @@ -150,27 +134,21 @@ const dataProvider = (client: GraphQLClient): Required => { }, createMany: async ({ resource, variables, meta }) => { - const operation = `createMany${camelcase( - meta?.operation ?? resource, - { - pascalCase: true, - }, - )}`; + const operation = `createMany${camelcase(resource, { + pascalCase: true, + })}`; const { query, variables: queryVariables } = gql.mutation({ operation, fields: meta?.fields || ["id"], variables: { input: { - type: `CreateMany${camelcase( - meta?.operation ?? resource, - { - pascalCase: true, - }, - )}Input`, + type: `CreateMany${camelcase(resource, { + pascalCase: true, + })}Input`, required: true, value: { - [camelcase(meta?.operation ?? resource)]: variables, + [camelcase(resource)]: variables, }, }, }, @@ -186,24 +164,18 @@ const dataProvider = (client: GraphQLClient): Required => { }; }, update: async ({ resource, id, variables, meta }) => { - const operation = `updateOne${camelcase( - singular(meta?.operation ?? resource), - { - pascalCase: true, - }, - )}`; + const operation = `updateOne${camelcase(singular(resource), { + pascalCase: true, + })}`; const { query, variables: queryVariables } = gql.mutation({ operation, fields: meta?.fields || ["id"], variables: { input: { - type: `UpdateOne${camelcase( - singular(meta?.operation ?? resource), - { - pascalCase: true, - }, - )}Input`, + type: `UpdateOne${camelcase(singular(resource), { + pascalCase: true, + })}Input`, required: true, value: { id, @@ -224,24 +196,18 @@ const dataProvider = (client: GraphQLClient): Required => { }, updateMany: async ({ resource, ids, variables, meta }) => { - const operation = `updateMany${camelcase( - meta?.operation ?? resource, - { - pascalCase: true, - }, - )}`; + const operation = `updateMany${camelcase(resource, { + pascalCase: true, + })}`; const { query, variables: queryVariables } = gql.mutation({ operation, fields: ["updatedCount"], variables: { input: { - type: `UpdateMany${camelcase( - meta?.operation ?? resource, - { - pascalCase: true, - }, - )}Input`, + type: `UpdateMany${camelcase(resource, { + pascalCase: true, + })}Input`, required: true, value: { filter: { @@ -258,7 +224,7 @@ const dataProvider = (client: GraphQLClient): Required => { return await handleGetMany(client, { resource, ids, meta }); }, getOne: async ({ resource, id, meta }) => { - const operation = meta?.operation ?? camelcase(singular(resource)); + const operation = camelcase(singular(resource)); const { query, variables } = gql.query({ operation, @@ -279,24 +245,18 @@ const dataProvider = (client: GraphQLClient): Required => { }; }, deleteOne: async ({ resource, id, meta }) => { - const operation = `deleteOne${camelcase( - singular(meta?.operation ?? resource), - { - pascalCase: true, - }, - )}`; + const operation = `deleteOne${camelcase(singular(resource), { + pascalCase: true, + })}`; const { query, variables } = gql.mutation({ operation, fields: meta?.fields || ["id"], variables: { input: { - type: `DeleteOne${camelcase( - singular(meta?.operation ?? resource), - { - pascalCase: true, - }, - )}Input`, + type: `DeleteOne${camelcase(singular(resource), { + pascalCase: true, + })}Input`, required: true, value: { id, @@ -312,24 +272,18 @@ const dataProvider = (client: GraphQLClient): Required => { }; }, deleteMany: async ({ resource, ids, meta }) => { - const operation = `deleteMany${camelcase( - meta?.operation ?? resource, - { - pascalCase: true, - }, - )}`; + const operation = `deleteMany${camelcase(resource, { + pascalCase: true, + })}`; const { query, variables } = gql.mutation({ operation, fields: ["deletedCount"], variables: { input: { - type: `DeleteMany${camelcase( - meta?.operation ?? resource, - { - pascalCase: true, - }, - )}Input`, + type: `DeleteMany${camelcase(resource, { + pascalCase: true, + })}Input`, required: true, value: { filter: {