OpenAssignment

Node Action:

The OpenAssignment node action opens a design for the given assignment. This will only open designs you own.

Parameters:

se_type

OpenAssignment

se_type = OpenAssignment

se_assignmentId

The assignment ID to open.

se_determineAssignmentId

A lambda to determine which assignment to open.

Example:

Open Assignment: The following workflow opens a design for a given assignment.

digraph workflow {

entry[
  se_type0 = BackstageToolTrigger,
se_displayName0 = "Open Assignment"
se_iconService0 = ""
se_iconUrl0 = ""
se_requiresConnection0 = false,
se_sortOrder0 = 0,
se_visibilityCondition0 = "(dynamicStateMachineContext, msLogger) => {
  return true;
}",

]

GetDesignName[
se_type0 = PromptUser,
se_cardTemplate0 = "
{
    \"type\": \"AdaptiveCard\",
    \"$schema\": \"https://adaptivecards.io/schemas/adaptive-card.json\",
    \"version\": \"1.5\",
    \"body\": [
        {
            \"type\": \"Input.Text\",
            \"label\": \"Design Name\",
            \"placeholder\": \"Name\",
            \"id\": \"DesignName\"
        }
    ],
    \"actions\": [
        {
            \"type\": \"Action.Submit\",
            \"title\": \"Search\"
        }
    ]
}"
se_promptCaption0 = "Search Design Name"
se_resultVariable0 = DesignNameResult

]

QueryDesign[
se_type0 = Api,
  se_body0 = ""
  se_method0 = "GET"
  se_modifyRequest0 = "(request, ctx, log) => {
          var name = ctx.State.DesignNameResult.userInputs.DesignName;
          var search = $\"select * from c where CONTAINS(c.name, '{name}',true)\";
          var query = System.Net.WebUtility.UrlEncode(search);
          
          var uri = new Uri($\"api/v1/query?q={query}&tenantId={ctx.User.TenantId}&pageSize=50&walkAncestry=False&walkReferenceDesigns=False\", UriKind.RelativeOrAbsolute);
          request.RequestUri = uri;
        }",

se_service0 = DesignerCoordination
se_resultVariable0 = Designs
]

QueryAssignment[
se_type0 = Api,
  se_body0 = ""
  se_method0 = "GET"
  se_modifyRequest0 = "(request, ctx, log) => {
          var designId = ctx.State.Designs.designs[0].id.ToString();
          var search = $\"select * from c where c.designId = '{designId}'\";
          var query = System.Net.WebUtility.UrlEncode(search);
          
          var uri = new Uri($\"api/v1/query?q={query}&tenantId={ctx.User.TenantId}&pageSize=50&walkAncestry=False&walkReferenceDesigns=False\", UriKind.RelativeOrAbsolute);
          request.RequestUri = uri;
        }",

se_service0 = DesignerCoordination
se_resultVariable0 = Assignments
]

OpenAssignment[
se_type0 = OpenAssignment,
se_determineAssignmentId0 = "(ctx, msLogger) => {
  var id = ctx.State.Assignments.assignments[0].id.ToString();
  return id;
}",

]
entry->GetDesignName->QueryDesign->QueryAssignment->OpenAssignment->exit
}
Feedback
QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.