fork refine

This commit is contained in:
Stefan Pejcic
2024-02-05 10:23:04 +01:00
parent 3fffde9a8f
commit 8496a83edb
3634 changed files with 715528 additions and 2 deletions

View File

@@ -0,0 +1,43 @@
import { MetaQuery, BaseKey } from "@refinedev/core";
import * as gql from "gql-query-builder";
import pluralize from "pluralize";
import camelCase from "camelcase";
type GenerateUseOneSubscriptionParams = {
resource: string;
meta: MetaQuery;
id?: BaseKey;
};
type GenerateUseOneSubscriptionReturnValues = {
variables: any;
query: string;
operation: string;
};
export const generateUseOneSubscription = ({
resource,
meta,
id,
}: GenerateUseOneSubscriptionParams): GenerateUseOneSubscriptionReturnValues => {
if (!id) {
console.error(
"[useSubscription]: `id` is required in `params` for graphql subscriptions",
);
}
const singularResource = pluralize.singular(resource);
const camelResource = camelCase(singularResource);
const operation = meta.operation ?? camelResource;
const { query, variables } = gql.subscription({
operation,
variables: {
id: { value: id, type: "ID", required: true },
},
fields: meta.fields,
});
return { query, variables, operation };
};