feat: Implement initial version of getExecutions query

This commit is contained in:
Faruk AYDIN
2022-03-09 20:45:03 +03:00
committed by Ömer Faruk Aydın
parent d4bef44b93
commit 343b360303
5 changed files with 49 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
import Context from '../../types/express/context';
const getExecutions = async (
_parent: unknown,
_params: unknown,
context: Context
) => {
const executions = await context.currentUser
.$relatedQuery('executions')
.withGraphFetched('flow')
.orderBy('created_at', 'asc');
return executions;
};
export default getExecutions;

View File

@@ -6,6 +6,7 @@ import testConnection from './queries/test-connection';
import getFlow from './queries/get-flow';
import getFlows from './queries/get-flows';
import getStepWithTestExecutions from './queries/get-step-with-test-executions';
import getExecutions from './queries/get-executions';
const queryResolvers = {
getApps,
@@ -16,6 +17,7 @@ const queryResolvers = {
getFlow,
getFlows,
getStepWithTestExecutions,
getExecutions,
};
export default queryResolvers;

View File

@@ -7,6 +7,7 @@ type Query {
getFlow(id: String!): Flow
getFlows: [Flow]
getStepWithTestExecutions(stepId: String!): [Step]
getExecutions: [Execution]
}
type Mutation {
@@ -168,6 +169,14 @@ type Flow {
steps: [Step]
}
type Execution {
id: String
testRun: Boolean
createdAt: String
updatedAt: String
flow: Flow
}
input CreateConnectionInput {
key: AvailableAppsEnumType!
formattedData: JSONObject!

View File

@@ -1,6 +1,7 @@
import { ValidationError } from 'objection';
import Base from './base';
import Step from './step';
import Execution from './execution';
class Flow extends Base {
id!: string;
@@ -31,6 +32,14 @@ class Flow extends Base {
to: 'steps.flow_id',
},
},
executions: {
relation: Base.HasManyRelation,
modelClass: Execution,
join: {
from: 'flows.id',
to: 'executions.flow_id',
},
},
});
async $beforeUpdate(): Promise<void> {

View File

@@ -3,6 +3,7 @@ import Base from './base';
import Connection from './connection';
import Flow from './flow';
import Step from './step';
import Execution from './execution';
import bcrypt from 'bcrypt';
class User extends Base {
@@ -55,6 +56,18 @@ class User extends Base {
to: 'steps.flow_id',
},
},
executions: {
relation: Base.ManyToManyRelation,
modelClass: Execution,
join: {
from: 'users.id',
through: {
from: 'flows.user_id',
to: 'flows.id',
},
to: 'executions.flow_id',
},
},
});
login(password: string) {