Skip to content

Commit a0e3eaa

Browse files
committed
adding skip validation to fetch connection, used for delete
1 parent f8527d3 commit a0e3eaa

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

packages/engine-backend/router/connectionRouter.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -262,9 +262,9 @@ export const connectionRouter = trpc.router({
262262
.output(z.object({}))
263263
.mutation(async ({input: {id: connId, ...opts}, ctx}) => {
264264
if (ctx.viewer.role === 'customer') {
265-
await ctx.services.getConnectionOrFail(connId)
265+
await ctx.services.getConnectionOrFail(connId, true)
266266
}
267-
const conn = await ctx.asOrgIfNeeded.getConnectionExpandedOrFail(connId)
267+
const conn = await ctx.asOrgIfNeeded.getConnectionExpandedOrFail(connId, true)
268268
const {settings, connectorConfig: ccfg} = conn
269269
if (!opts?.skipRevoke) {
270270
await ccfg.connector.revokeConnection?.(

packages/engine-backend/services/dbService.ts

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -184,15 +184,18 @@ export function makeDBService({
184184
}
185185
return zRaw.integration.parse(ins)
186186
})
187-
const getConnectionOrFail = (id: Id['conn']) =>
187+
const getConnectionOrFail = (id: Id['conn'], skipValidation = false) =>
188188
metaService.tables.connection.get(id).then((conn) => {
189189
if (!conn) {
190190
throw new TRPCError({
191191
code: 'NOT_FOUND',
192192
message: `conn not found: ${id}`,
193193
})
194194
}
195-
return zRaw.connection.parse(conn)
195+
if (!skipValidation) {
196+
return zRaw.connection.parse(conn)
197+
}
198+
return conn
196199
})
197200
const getPipelineOrFail = (id: Id['pipe']) =>
198201
metaService.tables.pipeline.get(id).then((pipe) => {
@@ -205,15 +208,16 @@ export function makeDBService({
205208
return zRaw.pipeline.parse(pipe)
206209
})
207210

208-
const getConnectionExpandedOrFail = (id: Id['conn']) =>
211+
const getConnectionExpandedOrFail = (id: Id['conn'], skipValidation = false) =>
209212
getConnectionOrFail(id).then(async (conn) => {
210213
const connectorConfig = await getConnectorConfigOrFail(
211214
conn.connectorConfigId,
212215
)
213-
const settings: {} =
214-
connectorConfig.connector.schemas.connectionSettings?.parse(
215-
conn.settings,
216-
)
216+
const settings: {} = skipValidation
217+
? conn.settings
218+
: connectorConfig.connector.schemas.connectionSettings?.parse(
219+
conn.settings,
220+
)
217221
const integration = conn.integrationId
218222
? await getIntegrationOrFail(conn.integrationId)
219223
: undefined

0 commit comments

Comments
 (0)