Skip to content

Commit

Permalink
chore: add route to create bug
Browse files Browse the repository at this point in the history
  • Loading branch information
vinzlange committed Oct 2, 2024
1 parent d1699f0 commit 779b56a
Show file tree
Hide file tree
Showing 3 changed files with 104 additions and 3 deletions.
96 changes: 96 additions & 0 deletions src/mixins/AddNMSHDS152.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
import { ConnectorRelationshipStatus } from "@nmshd/connector-sdk"
import { ShareAttributeRequestItemJSON } from "@nmshd/content"
import fs from "fs"
import { ConnectorTUIBaseConstructor } from "../ConnectorTUIBase.js"

export function AddNMSHDS152<TBase extends ConnectorTUIBaseConstructor>(Base: TBase) {
return class NMSHDS152 extends Base {
public constructor(...args: any[]) {
super(...args)
this.choices.push({ title: "NMSHDS-152", value: this.NMSHDS152 })
}

protected async NMSHDS152() {
await this.connectorClient.account.sync()

const relationship = await this.selectRelationship("Select relationship to test", ConnectorRelationshipStatus.Active)
if (!relationship) return

console.log(`Testing NMSHDS-152 with relationship ${relationship.peer}`)
const title = "Schulabschlusszeugnis";
const description = "Schulabschlusszeugnis";
const expiresAt = "2030";
const filename = "Schulabschlusszeugnis.pdf";
const file = await fs.promises.readFile("__assets__/aPdf.pdf");
const fileUploadResult = this.connectorClient.files.uploadOwnFile({ title, expiresAt, file, filename, description });
const fileTruncatedReference = ((await fileUploadResult).result.truncatedReference);
const createFileAttributeResponse = await this.connectorClient.attributes.createRepositoryAttribute({
content: {
value: {
"@type": "IdentityFileReference",
value: fileTruncatedReference
},
tags: ["Schulabschlusszeugnis"]
}
});
const schulabschlusszeugnisRequestItem: ShareAttributeRequestItemJSON = {
"@type": "ShareAttributeRequestItem",
mustBeAccepted: false,
attribute: {
"@type": "IdentityAttribute",
owner: createFileAttributeResponse.result.content.owner,
value: {
"@type": "IdentityFileReference",
value: fileTruncatedReference
},
tags: ["Schulabschlusszeugnis"]
},
sourceAttributeId: createFileAttributeResponse.result.id
}

const requstResult = await this.connectorClient.outgoingRequests.createRequest(
{
content: {
"@type": "Request",
items: [
{
"@type": "ProposeAttributeRequestItem",
"attribute": {
"@type": "IdentityAttribute",
"owner": "",
"value": {
"@type": "PersonName",
"givenName": "Max",
"surname": "Mustermann"
}
},
"mustBeAccepted": false,
"query": {
"@type": "IdentityAttributeQuery",
"valueType": "PersonName"
}
},
schulabschlusszeugnisRequestItem
],
id: "applicationSetup"
},
peer: relationship.peer,
}
)
if (requstResult.isError) {
console.error(`Failed: ${JSON.stringify(requstResult.error)}`)
return
}
const messageResponse = await this.connectorClient.messages.sendMessage(
{
content: requstResult.result.content,
recipients: [relationship.peer]
},
);
if (messageResponse.isError) {
console.error(`Failed: ${JSON.stringify(requstResult.error)}`)
return
}
}
}
}
9 changes: 6 additions & 3 deletions src/mixins/ConnectorTUIBaseWithMixins.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ import {
AddDecomposeRelationship,
AddExit,
AddGetAttributesOfRelationship,
AddNMSHDS152,
AddSendMail,
AddSendRequestByMessage,
AddShareRequestByTemplate,
AddSync,
AddTerminateRelationship,
AddUploadFile,
AddUploadFile
} from "./index.js"

export class ConnectorTUIBaseWithMixins
Expand All @@ -30,8 +31,10 @@ export class ConnectorTUIBaseWithMixins
AddShareRequestByTemplate(
AddSync(
AddUploadFile(
//
ConnectorTUIBase
AddNMSHDS152(
//
ConnectorTUIBase
)
)
)
)
Expand Down
2 changes: 2 additions & 0 deletions src/mixins/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,12 @@ export * from "./AddCreateAndShowTemplate.js"
export * from "./AddDecomposeRelationship.js"
export * from "./AddExit.js"
export * from "./AddGetAttributesOfRelationship.js"
export * from "./AddNMSHDS152.js"
export * from "./AddSendMail.js"
export * from "./AddSendRequestByMessage.js"
export * from "./AddShareRequestByTemplate.js"
export * from "./AddSync.js"
export * from "./AddTerminateRelationship.js"
export * from "./AddUploadFile.js"
export * from "./ConnectorTUIBaseWithMixins.js"

0 comments on commit 779b56a

Please sign in to comment.