8723 workflow add editor in serverless function code step (#8805)
- create a serverless function when creating a new workflow code step - add code editor in workflow code step - move workflowVersion steps management from frontend to backend - add a custom resolver for workflow-version management - fix optimistic rendering on frontend - fix css - delete serverless function when deleting workflow code step TODO - Don't update serverlessFunction if no code change - Factorize what can be between crud trigger and crud step - Publish serverless version when activating workflow - delete serverless functions when deleting workflow or workflowVersion - fix optimistic rendering for code updates - Unify CRUD types <img width="1279" alt="image" src="https://github.com/user-attachments/assets/3d97ee9f-4b96-4abc-9d36-5c0280058be4">
This commit is contained in:
@ -1,4 +1,4 @@
|
||||
import { useLazyQuery } from '@apollo/client';
|
||||
import { useLazyQuery, WatchQueryFetchPolicy } from '@apollo/client';
|
||||
|
||||
import { useObjectMetadataItem } from '@/object-metadata/hooks/useObjectMetadataItem';
|
||||
import { ObjectMetadataItemIdentifier } from '@/object-metadata/types/ObjectMetadataItemIdentifier';
|
||||
@ -10,6 +10,8 @@ import { ObjectRecord } from '@/object-record/types/ObjectRecord';
|
||||
|
||||
type UseLazyFindOneRecordParams = ObjectMetadataItemIdentifier & {
|
||||
recordGqlFields?: RecordGqlOperationGqlRecordFields;
|
||||
withSoftDeleted?: boolean;
|
||||
fetchPolicy?: WatchQueryFetchPolicy;
|
||||
};
|
||||
|
||||
type FindOneRecordParams<T extends ObjectRecord> = {
|
||||
@ -20,6 +22,8 @@ type FindOneRecordParams<T extends ObjectRecord> = {
|
||||
export const useLazyFindOneRecord = <T extends ObjectRecord = ObjectRecord>({
|
||||
objectNameSingular,
|
||||
recordGqlFields,
|
||||
withSoftDeleted = false,
|
||||
fetchPolicy = 'cache-first',
|
||||
}: UseLazyFindOneRecordParams) => {
|
||||
const { objectMetadataItem } = useObjectMetadataItem({
|
||||
objectNameSingular,
|
||||
@ -30,22 +34,28 @@ export const useLazyFindOneRecord = <T extends ObjectRecord = ObjectRecord>({
|
||||
recordGqlFields:
|
||||
recordGqlFields ??
|
||||
generateDepthOneRecordGqlFields({ objectMetadataItem }),
|
||||
withSoftDeleted,
|
||||
});
|
||||
|
||||
const [findOneRecord, { loading, error, data, called }] =
|
||||
useLazyQuery(findOneRecordQuery);
|
||||
|
||||
return {
|
||||
findOneRecord: ({ objectRecordId, onCompleted }: FindOneRecordParams<T>) =>
|
||||
findOneRecord({
|
||||
findOneRecord: async ({
|
||||
objectRecordId,
|
||||
onCompleted,
|
||||
}: FindOneRecordParams<T>) => {
|
||||
await findOneRecord({
|
||||
variables: { objectRecordId },
|
||||
fetchPolicy,
|
||||
onCompleted: (data) => {
|
||||
const record = getRecordFromRecordNode<T>({
|
||||
recordNode: data[objectNameSingular],
|
||||
});
|
||||
onCompleted?.(record);
|
||||
},
|
||||
}),
|
||||
});
|
||||
},
|
||||
called,
|
||||
error,
|
||||
loading,
|
||||
|
||||
Reference in New Issue
Block a user