Skip to content

Commit

Permalink
refactor: update TerminateAndDecomposeRelationship
Browse files Browse the repository at this point in the history
  • Loading branch information
jkoenig134 committed Jul 19, 2024
1 parent ca7c85e commit e605983
Showing 1 changed file with 19 additions and 7 deletions.
26 changes: 19 additions & 7 deletions src/mixins/AddTerminateAndDecomposeRelationship.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { ConnectorRelationshipStatus } from "@nmshd/connector-sdk"
import { ConnectorTUIBaseConstructor } from "../ConnectorTUIBase.js"

export function AddTerminateAndDecomposeRelationship<TBase extends ConnectorTUIBaseConstructor>(Base: TBase) {
Expand All @@ -8,20 +9,31 @@ export function AddTerminateAndDecomposeRelationship<TBase extends ConnectorTUIB
}

protected async terminateAndDecomposeRelationship() {
const relationship = await this.selectRelationship("Select relationship to terminate and decompose")
await this.connectorClient.account.sync()

const relationship = await this.selectRelationship(
"Select relationship to terminate and decompose",
ConnectorRelationshipStatus.Active,
ConnectorRelationshipStatus.Terminated,
ConnectorRelationshipStatus.DeletionProposed
)
if (!relationship) return

console.log(`Terminating relationship ${relationship.id}`)
const terminationResult = await this.connectorClient.relationships.terminateRelationship(relationship.id)
if (terminationResult.isError) {
console.error(`Failed to terminate relationship ${relationship.id}: ${terminationResult.error}`)
return
console.log(relationship.status)

if (relationship.status === ConnectorRelationshipStatus.Active) {
console.log(`Terminating relationship ${relationship.id}`)
const terminationResult = await this.connectorClient.relationships.terminateRelationship(relationship.id)
if (terminationResult.isError) {
console.error(`Failed to terminate relationship ${relationship.id}: ${JSON.stringify(terminationResult.error)}`)
return
}
}

console.log(`Decomposing relationship ${relationship.id}`)
const decomposeResult = await this.connectorClient.relationships.decomposeRelationship(relationship.id)
if (decomposeResult.isError) {
console.error(`Failed to terminate relationship ${relationship.id}: ${terminationResult.error}`)
console.error(`Failed to terminate relationship ${relationship.id}: ${JSON.stringify(decomposeResult.error)}`)
return
}
}
Expand Down

0 comments on commit e605983

Please sign in to comment.