Skip to content

Commit

Permalink
feat: automatically publish newly created flows (#639)
Browse files Browse the repository at this point in the history
  • Loading branch information
jessicamcinchak authored Feb 3, 2025
1 parent 9017391 commit db49201
Showing 1 changed file with 47 additions and 30 deletions.
77 changes: 47 additions & 30 deletions src/requests/flow.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ export class FlowClient {
name: string;
data?: object;
status?: FlowStatus;
userId: number;
}): Promise<string> {
return createFlow(this.client, args);
}
Expand Down Expand Up @@ -148,48 +149,63 @@ export async function createFlow(
name: string;
data?: object;
status?: FlowStatus;
userId: number;
},
): Promise<string> {
const response: { insert_flows_one: { id: string } } = await client.request(
gql`
mutation CreateFlow(
$teamId: Int!
$flowSlug: String!
$flowName: String!
$data: jsonb
$status: flow_status_enum_enum
) {
insert_flows_one(
object: {
team_id: $teamId
slug: $flowSlug
name: $flowName
data: $data
version: 1
status: $status
}
const response: { insert_flows_one: { id: string; data: object } } =
await client.request(
gql`
mutation CreateFlow(
$teamId: Int!
$flowSlug: String!
$flowName: String!
$data: jsonb
$status: flow_status_enum_enum
) {
id
insert_flows_one(
object: {
team_id: $teamId
slug: $flowSlug
name: $flowName
data: $data
version: 1
status: $status
}
) {
id
data
}
}
}
`,
{
teamId: args.teamId,
flowSlug: args.slug,
flowName: args.name,
data: args.data,
status: args.status || "offline",
},
);
`,
{
teamId: args.teamId,
flowSlug: args.slug,
flowName: args.name,
data: args.data,
status: args.status || "offline",
},
);
await createAssociatedOperation(client, {
flowId: response.insert_flows_one.id,
});
await publishFlow(client, {
flow: {
id: response.insert_flows_one.id,
data: response.insert_flows_one.data,
},
publisherId: args.userId,
summary: "Created flow",
});
return response.insert_flows_one.id;
}

export async function publishFlow(
client: GraphQLClient,
args: { flow: { id: string; data: object }; publisherId: number },
args: {
flow: { id: string; data: object };
publisherId: number;
summary?: string;
},
): Promise<number> {
const response: { insert_published_flows_one: { id: number } } =
await client.request(
Expand All @@ -207,6 +223,7 @@ export async function publishFlow(
flow_id: args.flow.id,
data: args.flow.data,
publisher_id: args.publisherId,
summary: args.summary,
},
},
);
Expand Down

0 comments on commit db49201

Please sign in to comment.