@burgan-tech/morph-touch-runtime 0.0.8 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -29,7 +29,7 @@
29
29
  ### Get Chat Rooms by User - Lists all permanent chat rooms for a user
30
30
  # Flow-level function (scope: F) on chat-room workflow.
31
31
  # Returns rooms array with instanceKey, user, advisorType, advisorId, roomId, currentState.
32
- GET {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/chat-room/functions/get-chat-rooms?user={{user}}&pageSize=1
32
+ GET {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/functions/get-chat-rooms?user={{user}}&pageSize=1
33
33
  Accept: application/json
34
34
  Accept-Language: tr-TR
35
35
  X-Request-Id: {{$guid}}
@@ -40,7 +40,7 @@ X-Request-Id: {{$guid}}
40
40
 
41
41
  ### Get Chat Rooms by Advisor - Lists all chat rooms for an advisor
42
42
  # Flow-level function (scope: F) on chat-room workflow.
43
- GET {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/chat-room/functions/get-chat-rooms?advisor={{advisor}}&pageSize=1
43
+ GET {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/functions/get-chat-rooms?advisor={{advisor}}&pageSize=1
44
44
  Accept: application/json
45
45
  Accept-Language: tr-TR
46
46
  X-Request-Id: {{$guid}}
@@ -50,13 +50,13 @@ X-Request-Id: {{$guid}}
50
50
  ###############################################################################
51
51
 
52
52
  ### Get Chat Rooms by User (permanent only)
53
- GET {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/chat-room/functions/get-chat-rooms?user={{user}}&roomType=permanent&pageSize=1
53
+ GET {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/functions/get-chat-rooms?user={{user}}&roomType=permanent&pageSize=1
54
54
  Accept: application/json
55
55
  Accept-Language: tr-TR
56
56
  X-Request-Id: {{$guid}}
57
57
 
58
58
  ### Get Chat Rooms by User (rezervation only)
59
- GET {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/chat-room/functions/get-chat-rooms?user={{user}}&roomType=rezervation&pageSize=1
59
+ GET {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/functions/get-chat-rooms?user={{user}}&roomType=rezervation&pageSize=1
60
60
  Accept: application/json
61
61
  Accept-Language: tr-TR
62
62
  X-Request-Id: {{$guid}}
@@ -13,7 +13,7 @@
13
13
  "type": "3",
14
14
  "config": {
15
15
  "appId": "vnext-app-morph-touch",
16
- "methodName": "api/v1/morph-touch/workflows/chat-room/functions/get-chat-rooms",
16
+ "methodName": "api/v1/morph-touch/functions/get-chat-rooms",
17
17
  "httpVerb": "GET",
18
18
  "timeoutSeconds": 30
19
19
  }
@@ -0,0 +1,22 @@
1
+ {
2
+ "key": "start-register-matrix-user",
3
+ "flow": "sys-tasks",
4
+ "domain": "morph-touch",
5
+ "version": "1.0.0",
6
+ "flowVersion": "1.0.0",
7
+ "tags": [
8
+ "chat",
9
+ "matrix",
10
+ "synapse",
11
+ "register",
12
+ "workflow",
13
+ "start"
14
+ ],
15
+ "attributes": {
16
+ "type": "11",
17
+ "config": {
18
+ "domain": "morph-touch",
19
+ "flow": "register-matrix-user"
20
+ }
21
+ }
22
+ }
@@ -121,23 +121,12 @@
121
121
  "task": {
122
122
  "domain": "morph-touch",
123
123
  "flow": "sys-tasks",
124
- "key": "register-for-chat",
124
+ "key": "start-register-matrix-user",
125
125
  "version": "1.0.0"
126
126
  },
127
127
  "mapping": {
128
128
  "location": "./src/RegisterForChatRoomMapping.csx",
129
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgcmVnaXN0ZXItZm9yLWNoYXQgaW4gY2hhdC1yb29tIHdvcmtmbG93LgovLy8gUmVnaXN0ZXJzIGRhdGEudXNlciBvbiBTeW5hcHNlIHZpYSBQT1NUIC9fbWF0cml4L2NsaWVudC92My9yZWdpc3Rlci4KLy8vIEVycm9yQm91bmRhcnkgb24gdGhlIHRhc2sgaWdub3JlcyBNX1VTRVJfSU5fVVNFIGFuZCBvdGhlciBlcnJvcnMgc28gbG9naW4gcHJvY2VlZHMuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBSZWdpc3RlckZvckNoYXRSb29tTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBhc3luYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgaHR0cFRhc2sgPSB0YXNrIGFzIEh0dHBUYXNrOwogICAgICAgIGlmIChodHRwVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGFuIEh0dHBUYXNrIik7CgogICAgICAgIHZhciBzZWNyZXROYW1lID0gR2V0Q29uZmlnVmFsdWUoIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShzZWNyZXROYW1lKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgbWF0cml4QmFzZVVybCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiTWF0cml4QmFzZVVybCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG1hdHJpeEJhc2VVcmwpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTWF0cml4QmFzZVVybCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHN5bmFwc2VQYXNzd29yZCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiU3luYXBzZVBhc3N3b3JkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc3luYXBzZVBhc3N3b3JkKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlN5bmFwc2VQYXNzd29yZCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciByZWdpc3RlclVzZXJuYW1lID0gR2V0U3RyaW5nKGRhdGEsICJ1c2VyIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UocmVnaXN0ZXJVc2VybmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJDYW5ub3QgZGV0ZXJtaW5lIHJlZ2lzdGVyIHVzZXI6IGRhdGEudXNlciBpcyBtaXNzaW5nIik7CgogICAgICAgIHZhciBmdWxsVXJsID0gbWF0cml4QmFzZVVybC5UcmltRW5kKCcvJykgKyAiL19tYXRyaXgvY2xpZW50L3YzL3JlZ2lzdGVyIjsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIGh0dHBUYXNrLlNldEhlYWRlcnMobmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICBbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIkFjY2VwdCJdID0gImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgfSk7CgogICAgICAgIGh0dHBUYXNrLlNldEJvZHkobmV3CiAgICAgICAgewogICAgICAgICAgICBhdXRoID0gbmV3IHsgdHlwZSA9ICJtLmxvZ2luLmR1bW15IiB9LAogICAgICAgICAgICB1c2VybmFtZSA9ICJ1IiArIHJlZ2lzdGVyVXNlcm5hbWUsCiAgICAgICAgICAgIHBhc3N3b3JkID0gc3luYXBzZVBhc3N3b3JkCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo="
130
- },
131
- "errorBoundary": {
132
- "onError": [
133
- {
134
- "action": 3,
135
- "errorCodes": [
136
- "*"
137
- ],
138
- "priority": 1
139
- }
140
- ]
129
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1yZWdpc3Rlci1tYXRyaXgtdXNlciBTdGFydFRhc2sgKFR5cGUgMTEpIGluIGNoYXQtcm9vbSB3b3JrZmxvdy4KLy8vIFN0YXJ0cyByZWdpc3Rlci1tYXRyaXgtdXNlciBmbG93IHdpdGggbWF0cml4VXNlcm5hbWUgPSAidSIgKyBkYXRhLnVzZXIuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBSZWdpc3RlckZvckNoYXRSb29tTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc3RhcnRUYXNrID0gdGFzayBhcyBTdGFydFRhc2s7CiAgICAgICAgaWYgKHN0YXJ0VGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgU3RhcnRUYXNrIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgdXNlciA9IEdldFN0cmluZyhkYXRhLCAidXNlciIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHVzZXIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiQ2Fubm90IGRldGVybWluZSByZWdpc3RlciB1c2VyOiBkYXRhLnVzZXIgaXMgbWlzc2luZyIpOwoKICAgICAgICB2YXIgbWF0cml4VXNlcm5hbWUgPSAidSIgKyB1c2VyOwoKICAgICAgICBzdGFydFRhc2suU2V0RG9tYWluKCJtb3JwaC10b3VjaCIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRGbG93KCJyZWdpc3Rlci1tYXRyaXgtdXNlciIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRTeW5jKHRydWUpOwogICAgICAgIHN0YXJ0VGFzay5TZXRCb2R5KG5ldyB7IG1hdHJpeFVzZXJuYW1lIH0pOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
141
130
  }
142
131
  },
143
132
  {
@@ -171,23 +160,12 @@
171
160
  "task": {
172
161
  "domain": "morph-touch",
173
162
  "flow": "sys-tasks",
174
- "key": "register-for-chat",
163
+ "key": "start-register-matrix-user",
175
164
  "version": "1.0.0"
176
165
  },
177
166
  "mapping": {
178
167
  "location": "./src/RegisterForJoinUserToRoomMapping.csx",
179
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgcmVnaXN0ZXItZm9yLWNoYXQgYmVmb3JlIGpvaW4tdXNlci10by1yb29tLgovLy8gUmVnaXN0ZXJzIHRoZSBqb2luaW5nIHVzZXIgKHBlbmRpbmdKb2luVXNlcklkIC8gbmV3QWR2aXNvcklkIC8gYWR2aXNvcklkKSBvbiBTeW5hcHNlLgovLy8gRXJyb3JCb3VuZGFyeSBvbiB0aGUgdGFzayBpZ25vcmVzIE1fVVNFUl9JTl9VU0UgYW5kIG90aGVyIGVycm9ycyBzbyBsb2dpbiBwcm9jZWVkcy4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFJlZ2lzdGVyRm9ySm9pblVzZXJUb1Jvb21NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBodHRwVGFzayA9IHRhc2sgYXMgSHR0cFRhc2s7CiAgICAgICAgaWYgKGh0dHBUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYW4gSHR0cFRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwoKICAgICAgICB2YXIgam9pblVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInBlbmRpbmdKb2luVXNlcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAibmV3QWR2aXNvcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvcklkIik7CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKGpvaW5Vc2VyKSkKICAgICAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwoKICAgICAgICB2YXIgcmVnaXN0ZXJVc2VybmFtZSA9IGpvaW5Vc2VyLlRyaW0oKTsKICAgICAgICBpZiAocmVnaXN0ZXJVc2VybmFtZS5TdGFydHNXaXRoKCJAIikpCiAgICAgICAgewogICAgICAgICAgICB2YXIgY29sb25JZHggPSByZWdpc3RlclVzZXJuYW1lLkluZGV4T2YoJzonKTsKICAgICAgICAgICAgcmVnaXN0ZXJVc2VybmFtZSA9IGNvbG9uSWR4ID4gMCA/IHJlZ2lzdGVyVXNlcm5hbWUuU3Vic3RyaW5nKDEsIGNvbG9uSWR4IC0gMSkgOiByZWdpc3RlclVzZXJuYW1lLlN1YnN0cmluZygxKTsKICAgICAgICB9CgogICAgICAgIHZhciBzZWNyZXROYW1lID0gR2V0Q29uZmlnVmFsdWUoIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShzZWNyZXROYW1lKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgbWF0cml4QmFzZVVybCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiTWF0cml4QmFzZVVybCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG1hdHJpeEJhc2VVcmwpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTWF0cml4QmFzZVVybCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHN5bmFwc2VQYXNzd29yZCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiU3luYXBzZVBhc3N3b3JkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc3luYXBzZVBhc3N3b3JkKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlN5bmFwc2VQYXNzd29yZCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIGZ1bGxVcmwgPSBtYXRyaXhCYXNlVXJsLlRyaW1FbmQoJy8nKSArICIvX21hdHJpeC9jbGllbnQvdjMvcmVnaXN0ZXIiOwogICAgICAgIGh0dHBUYXNrLlNldFVybChmdWxsVXJsKTsKCiAgICAgICAgaHR0cFRhc2suU2V0SGVhZGVycyhuZXcgRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgIFsiQ29udGVudC1UeXBlIl0gPSAiYXBwbGljYXRpb24vanNvbiIsCiAgICAgICAgICAgIFsiQWNjZXB0Il0gPSAiYXBwbGljYXRpb24vanNvbiIKICAgICAgICB9KTsKCiAgICAgICAgaHR0cFRhc2suU2V0Qm9keShuZXcKICAgICAgICB7CiAgICAgICAgICAgIGF1dGggPSBuZXcgeyB0eXBlID0gIm0ubG9naW4uZHVtbXkiIH0sCiAgICAgICAgICAgIHVzZXJuYW1lID0gcmVnaXN0ZXJVc2VybmFtZSwKICAgICAgICAgICAgcGFzc3dvcmQgPSBzeW5hcHNlUGFzc3dvcmQKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
180
- },
181
- "errorBoundary": {
182
- "onError": [
183
- {
184
- "action": 3,
185
- "errorCodes": [
186
- "*"
187
- ],
188
- "priority": 1
189
- }
190
- ]
168
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1yZWdpc3Rlci1tYXRyaXgtdXNlciBTdGFydFRhc2sgKFR5cGUgMTEpIGJlZm9yZSBqb2luLXVzZXItdG8tcm9vbS4KLy8vIFN0YXJ0cyByZWdpc3Rlci1tYXRyaXgtdXNlciBmbG93IHdpdGggbWF0cml4VXNlcm5hbWUgZnJvbSBwZW5kaW5nSm9pblVzZXJJZCAvIG5ld0Fkdmlzb3JJZCAvIGFkdmlzb3JJZC4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFJlZ2lzdGVyRm9ySm9pblVzZXJUb1Jvb21NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzdGFydFRhc2sgPSB0YXNrIGFzIFN0YXJ0VGFzazsKICAgICAgICBpZiAoc3RhcnRUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBTdGFydFRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwoKICAgICAgICB2YXIgam9pblVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInBlbmRpbmdKb2luVXNlcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAibmV3QWR2aXNvcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvcklkIik7CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKGpvaW5Vc2VyKSkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CgogICAgICAgIHZhciBtYXRyaXhVc2VybmFtZSA9IGpvaW5Vc2VyLlRyaW0oKTsKICAgICAgICBpZiAobWF0cml4VXNlcm5hbWUuU3RhcnRzV2l0aCgiQCIpKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGNvbG9uSWR4ID0gbWF0cml4VXNlcm5hbWUuSW5kZXhPZignOicpOwogICAgICAgICAgICBtYXRyaXhVc2VybmFtZSA9IGNvbG9uSWR4ID4gMCA/IG1hdHJpeFVzZXJuYW1lLlN1YnN0cmluZygxLCBjb2xvbklkeCAtIDEpIDogbWF0cml4VXNlcm5hbWUuU3Vic3RyaW5nKDEpOwogICAgICAgIH0KCiAgICAgICAgc3RhcnRUYXNrLlNldERvbWFpbigibW9ycGgtdG91Y2giKTsKICAgICAgICBzdGFydFRhc2suU2V0RmxvdygicmVnaXN0ZXItbWF0cml4LXVzZXIiKTsKICAgICAgICBzdGFydFRhc2suU2V0U3luYyh0cnVlKTsKICAgICAgICBzdGFydFRhc2suU2V0Qm9keShuZXcgeyBtYXRyaXhVc2VybmFtZSB9KTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
191
169
  }
192
170
  },
193
171
  {
@@ -327,23 +305,12 @@
327
305
  "task": {
328
306
  "domain": "morph-touch",
329
307
  "flow": "sys-tasks",
330
- "key": "register-for-chat",
308
+ "key": "start-register-matrix-user",
331
309
  "version": "1.0.0"
332
310
  },
333
311
  "mapping": {
334
312
  "location": "./src/RegisterForChatRoomMapping.csx",
335
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgcmVnaXN0ZXItZm9yLWNoYXQgaW4gY2hhdC1yb29tIHdvcmtmbG93LgovLy8gUmVnaXN0ZXJzIGRhdGEudXNlciBvbiBTeW5hcHNlIHZpYSBQT1NUIC9fbWF0cml4L2NsaWVudC92My9yZWdpc3Rlci4KLy8vIEVycm9yQm91bmRhcnkgb24gdGhlIHRhc2sgaWdub3JlcyBNX1VTRVJfSU5fVVNFIGFuZCBvdGhlciBlcnJvcnMgc28gbG9naW4gcHJvY2VlZHMuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBSZWdpc3RlckZvckNoYXRSb29tTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBhc3luYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgaHR0cFRhc2sgPSB0YXNrIGFzIEh0dHBUYXNrOwogICAgICAgIGlmIChodHRwVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGFuIEh0dHBUYXNrIik7CgogICAgICAgIHZhciBzZWNyZXROYW1lID0gR2V0Q29uZmlnVmFsdWUoIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShzZWNyZXROYW1lKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgbWF0cml4QmFzZVVybCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiTWF0cml4QmFzZVVybCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG1hdHJpeEJhc2VVcmwpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTWF0cml4QmFzZVVybCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHN5bmFwc2VQYXNzd29yZCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiU3luYXBzZVBhc3N3b3JkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc3luYXBzZVBhc3N3b3JkKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlN5bmFwc2VQYXNzd29yZCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciByZWdpc3RlclVzZXJuYW1lID0gR2V0U3RyaW5nKGRhdGEsICJ1c2VyIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UocmVnaXN0ZXJVc2VybmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJDYW5ub3QgZGV0ZXJtaW5lIHJlZ2lzdGVyIHVzZXI6IGRhdGEudXNlciBpcyBtaXNzaW5nIik7CgogICAgICAgIHZhciBmdWxsVXJsID0gbWF0cml4QmFzZVVybC5UcmltRW5kKCcvJykgKyAiL19tYXRyaXgvY2xpZW50L3YzL3JlZ2lzdGVyIjsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIGh0dHBUYXNrLlNldEhlYWRlcnMobmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICBbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIkFjY2VwdCJdID0gImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgfSk7CgogICAgICAgIGh0dHBUYXNrLlNldEJvZHkobmV3CiAgICAgICAgewogICAgICAgICAgICBhdXRoID0gbmV3IHsgdHlwZSA9ICJtLmxvZ2luLmR1bW15IiB9LAogICAgICAgICAgICB1c2VybmFtZSA9ICJ1IiArIHJlZ2lzdGVyVXNlcm5hbWUsCiAgICAgICAgICAgIHBhc3N3b3JkID0gc3luYXBzZVBhc3N3b3JkCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo="
336
- },
337
- "errorBoundary": {
338
- "onError": [
339
- {
340
- "action": 3,
341
- "errorCodes": [
342
- "*"
343
- ],
344
- "priority": 1
345
- }
346
- ]
313
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1yZWdpc3Rlci1tYXRyaXgtdXNlciBTdGFydFRhc2sgKFR5cGUgMTEpIGluIGNoYXQtcm9vbSB3b3JrZmxvdy4KLy8vIFN0YXJ0cyByZWdpc3Rlci1tYXRyaXgtdXNlciBmbG93IHdpdGggbWF0cml4VXNlcm5hbWUgPSAidSIgKyBkYXRhLnVzZXIuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBSZWdpc3RlckZvckNoYXRSb29tTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc3RhcnRUYXNrID0gdGFzayBhcyBTdGFydFRhc2s7CiAgICAgICAgaWYgKHN0YXJ0VGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgU3RhcnRUYXNrIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgdXNlciA9IEdldFN0cmluZyhkYXRhLCAidXNlciIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHVzZXIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiQ2Fubm90IGRldGVybWluZSByZWdpc3RlciB1c2VyOiBkYXRhLnVzZXIgaXMgbWlzc2luZyIpOwoKICAgICAgICB2YXIgbWF0cml4VXNlcm5hbWUgPSAidSIgKyB1c2VyOwoKICAgICAgICBzdGFydFRhc2suU2V0RG9tYWluKCJtb3JwaC10b3VjaCIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRGbG93KCJyZWdpc3Rlci1tYXRyaXgtdXNlciIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRTeW5jKHRydWUpOwogICAgICAgIHN0YXJ0VGFzay5TZXRCb2R5KG5ldyB7IG1hdHJpeFVzZXJuYW1lIH0pOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
347
314
  }
348
315
  },
349
316
  {
@@ -390,23 +357,12 @@
390
357
  "task": {
391
358
  "domain": "morph-touch",
392
359
  "flow": "sys-tasks",
393
- "key": "register-for-chat",
360
+ "key": "start-register-matrix-user",
394
361
  "version": "1.0.0"
395
362
  },
396
363
  "mapping": {
397
364
  "location": "./src/RegisterForJoinUserToRoomMapping.csx",
398
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgcmVnaXN0ZXItZm9yLWNoYXQgYmVmb3JlIGpvaW4tdXNlci10by1yb29tLgovLy8gUmVnaXN0ZXJzIHRoZSBqb2luaW5nIHVzZXIgKHBlbmRpbmdKb2luVXNlcklkIC8gbmV3QWR2aXNvcklkIC8gYWR2aXNvcklkKSBvbiBTeW5hcHNlLgovLy8gRXJyb3JCb3VuZGFyeSBvbiB0aGUgdGFzayBpZ25vcmVzIE1fVVNFUl9JTl9VU0UgYW5kIG90aGVyIGVycm9ycyBzbyBsb2dpbiBwcm9jZWVkcy4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFJlZ2lzdGVyRm9ySm9pblVzZXJUb1Jvb21NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBodHRwVGFzayA9IHRhc2sgYXMgSHR0cFRhc2s7CiAgICAgICAgaWYgKGh0dHBUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYW4gSHR0cFRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwoKICAgICAgICB2YXIgam9pblVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInBlbmRpbmdKb2luVXNlcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAibmV3QWR2aXNvcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvcklkIik7CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKGpvaW5Vc2VyKSkKICAgICAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwoKICAgICAgICB2YXIgcmVnaXN0ZXJVc2VybmFtZSA9IGpvaW5Vc2VyLlRyaW0oKTsKICAgICAgICBpZiAocmVnaXN0ZXJVc2VybmFtZS5TdGFydHNXaXRoKCJAIikpCiAgICAgICAgewogICAgICAgICAgICB2YXIgY29sb25JZHggPSByZWdpc3RlclVzZXJuYW1lLkluZGV4T2YoJzonKTsKICAgICAgICAgICAgcmVnaXN0ZXJVc2VybmFtZSA9IGNvbG9uSWR4ID4gMCA/IHJlZ2lzdGVyVXNlcm5hbWUuU3Vic3RyaW5nKDEsIGNvbG9uSWR4IC0gMSkgOiByZWdpc3RlclVzZXJuYW1lLlN1YnN0cmluZygxKTsKICAgICAgICB9CgogICAgICAgIHZhciBzZWNyZXROYW1lID0gR2V0Q29uZmlnVmFsdWUoIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShzZWNyZXROYW1lKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgbWF0cml4QmFzZVVybCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiTWF0cml4QmFzZVVybCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG1hdHJpeEJhc2VVcmwpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTWF0cml4QmFzZVVybCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHN5bmFwc2VQYXNzd29yZCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiU3luYXBzZVBhc3N3b3JkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc3luYXBzZVBhc3N3b3JkKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlN5bmFwc2VQYXNzd29yZCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIGZ1bGxVcmwgPSBtYXRyaXhCYXNlVXJsLlRyaW1FbmQoJy8nKSArICIvX21hdHJpeC9jbGllbnQvdjMvcmVnaXN0ZXIiOwogICAgICAgIGh0dHBUYXNrLlNldFVybChmdWxsVXJsKTsKCiAgICAgICAgaHR0cFRhc2suU2V0SGVhZGVycyhuZXcgRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgIFsiQ29udGVudC1UeXBlIl0gPSAiYXBwbGljYXRpb24vanNvbiIsCiAgICAgICAgICAgIFsiQWNjZXB0Il0gPSAiYXBwbGljYXRpb24vanNvbiIKICAgICAgICB9KTsKCiAgICAgICAgaHR0cFRhc2suU2V0Qm9keShuZXcKICAgICAgICB7CiAgICAgICAgICAgIGF1dGggPSBuZXcgeyB0eXBlID0gIm0ubG9naW4uZHVtbXkiIH0sCiAgICAgICAgICAgIHVzZXJuYW1lID0gcmVnaXN0ZXJVc2VybmFtZSwKICAgICAgICAgICAgcGFzc3dvcmQgPSBzeW5hcHNlUGFzc3dvcmQKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
399
- },
400
- "errorBoundary": {
401
- "onError": [
402
- {
403
- "action": 3,
404
- "errorCodes": [
405
- "*"
406
- ],
407
- "priority": 1
408
- }
409
- ]
365
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1yZWdpc3Rlci1tYXRyaXgtdXNlciBTdGFydFRhc2sgKFR5cGUgMTEpIGJlZm9yZSBqb2luLXVzZXItdG8tcm9vbS4KLy8vIFN0YXJ0cyByZWdpc3Rlci1tYXRyaXgtdXNlciBmbG93IHdpdGggbWF0cml4VXNlcm5hbWUgZnJvbSBwZW5kaW5nSm9pblVzZXJJZCAvIG5ld0Fkdmlzb3JJZCAvIGFkdmlzb3JJZC4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFJlZ2lzdGVyRm9ySm9pblVzZXJUb1Jvb21NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzdGFydFRhc2sgPSB0YXNrIGFzIFN0YXJ0VGFzazsKICAgICAgICBpZiAoc3RhcnRUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBTdGFydFRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwoKICAgICAgICB2YXIgam9pblVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInBlbmRpbmdKb2luVXNlcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAibmV3QWR2aXNvcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvcklkIik7CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKGpvaW5Vc2VyKSkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CgogICAgICAgIHZhciBtYXRyaXhVc2VybmFtZSA9IGpvaW5Vc2VyLlRyaW0oKTsKICAgICAgICBpZiAobWF0cml4VXNlcm5hbWUuU3RhcnRzV2l0aCgiQCIpKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGNvbG9uSWR4ID0gbWF0cml4VXNlcm5hbWUuSW5kZXhPZignOicpOwogICAgICAgICAgICBtYXRyaXhVc2VybmFtZSA9IGNvbG9uSWR4ID4gMCA/IG1hdHJpeFVzZXJuYW1lLlN1YnN0cmluZygxLCBjb2xvbklkeCAtIDEpIDogbWF0cml4VXNlcm5hbWUuU3Vic3RyaW5nKDEpOwogICAgICAgIH0KCiAgICAgICAgc3RhcnRUYXNrLlNldERvbWFpbigibW9ycGgtdG91Y2giKTsKICAgICAgICBzdGFydFRhc2suU2V0RmxvdygicmVnaXN0ZXItbWF0cml4LXVzZXIiKTsKICAgICAgICBzdGFydFRhc2suU2V0U3luYyh0cnVlKTsKICAgICAgICBzdGFydFRhc2suU2V0Qm9keShuZXcgeyBtYXRyaXhVc2VybmFtZSB9KTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
410
366
  }
411
367
  },
412
368
  {
@@ -458,23 +414,12 @@
458
414
  "task": {
459
415
  "domain": "morph-touch",
460
416
  "flow": "sys-tasks",
461
- "key": "register-for-chat",
417
+ "key": "start-register-matrix-user",
462
418
  "version": "1.0.0"
463
419
  },
464
420
  "mapping": {
465
421
  "location": "./src/RegisterForChatRoomMapping.csx",
466
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgcmVnaXN0ZXItZm9yLWNoYXQgaW4gY2hhdC1yb29tIHdvcmtmbG93LgovLy8gUmVnaXN0ZXJzIGRhdGEudXNlciBvbiBTeW5hcHNlIHZpYSBQT1NUIC9fbWF0cml4L2NsaWVudC92My9yZWdpc3Rlci4KLy8vIEVycm9yQm91bmRhcnkgb24gdGhlIHRhc2sgaWdub3JlcyBNX1VTRVJfSU5fVVNFIGFuZCBvdGhlciBlcnJvcnMgc28gbG9naW4gcHJvY2VlZHMuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBSZWdpc3RlckZvckNoYXRSb29tTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBhc3luYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgaHR0cFRhc2sgPSB0YXNrIGFzIEh0dHBUYXNrOwogICAgICAgIGlmIChodHRwVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGFuIEh0dHBUYXNrIik7CgogICAgICAgIHZhciBzZWNyZXROYW1lID0gR2V0Q29uZmlnVmFsdWUoIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShzZWNyZXROYW1lKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgbWF0cml4QmFzZVVybCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiTWF0cml4QmFzZVVybCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG1hdHJpeEJhc2VVcmwpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTWF0cml4QmFzZVVybCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHN5bmFwc2VQYXNzd29yZCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiU3luYXBzZVBhc3N3b3JkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc3luYXBzZVBhc3N3b3JkKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlN5bmFwc2VQYXNzd29yZCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciByZWdpc3RlclVzZXJuYW1lID0gR2V0U3RyaW5nKGRhdGEsICJ1c2VyIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UocmVnaXN0ZXJVc2VybmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJDYW5ub3QgZGV0ZXJtaW5lIHJlZ2lzdGVyIHVzZXI6IGRhdGEudXNlciBpcyBtaXNzaW5nIik7CgogICAgICAgIHZhciBmdWxsVXJsID0gbWF0cml4QmFzZVVybC5UcmltRW5kKCcvJykgKyAiL19tYXRyaXgvY2xpZW50L3YzL3JlZ2lzdGVyIjsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIGh0dHBUYXNrLlNldEhlYWRlcnMobmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICBbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIkFjY2VwdCJdID0gImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgfSk7CgogICAgICAgIGh0dHBUYXNrLlNldEJvZHkobmV3CiAgICAgICAgewogICAgICAgICAgICBhdXRoID0gbmV3IHsgdHlwZSA9ICJtLmxvZ2luLmR1bW15IiB9LAogICAgICAgICAgICB1c2VybmFtZSA9ICJ1IiArIHJlZ2lzdGVyVXNlcm5hbWUsCiAgICAgICAgICAgIHBhc3N3b3JkID0gc3luYXBzZVBhc3N3b3JkCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo="
467
- },
468
- "errorBoundary": {
469
- "onError": [
470
- {
471
- "action": 3,
472
- "errorCodes": [
473
- "*"
474
- ],
475
- "priority": 1
476
- }
477
- ]
422
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1yZWdpc3Rlci1tYXRyaXgtdXNlciBTdGFydFRhc2sgKFR5cGUgMTEpIGluIGNoYXQtcm9vbSB3b3JrZmxvdy4KLy8vIFN0YXJ0cyByZWdpc3Rlci1tYXRyaXgtdXNlciBmbG93IHdpdGggbWF0cml4VXNlcm5hbWUgPSAidSIgKyBkYXRhLnVzZXIuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBSZWdpc3RlckZvckNoYXRSb29tTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc3RhcnRUYXNrID0gdGFzayBhcyBTdGFydFRhc2s7CiAgICAgICAgaWYgKHN0YXJ0VGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgU3RhcnRUYXNrIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgdXNlciA9IEdldFN0cmluZyhkYXRhLCAidXNlciIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHVzZXIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiQ2Fubm90IGRldGVybWluZSByZWdpc3RlciB1c2VyOiBkYXRhLnVzZXIgaXMgbWlzc2luZyIpOwoKICAgICAgICB2YXIgbWF0cml4VXNlcm5hbWUgPSAidSIgKyB1c2VyOwoKICAgICAgICBzdGFydFRhc2suU2V0RG9tYWluKCJtb3JwaC10b3VjaCIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRGbG93KCJyZWdpc3Rlci1tYXRyaXgtdXNlciIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRTeW5jKHRydWUpOwogICAgICAgIHN0YXJ0VGFzay5TZXRCb2R5KG5ldyB7IG1hdHJpeFVzZXJuYW1lIH0pOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
478
423
  }
479
424
  },
480
425
  {
@@ -526,23 +471,12 @@
526
471
  "task": {
527
472
  "domain": "morph-touch",
528
473
  "flow": "sys-tasks",
529
- "key": "register-for-chat",
474
+ "key": "start-register-matrix-user",
530
475
  "version": "1.0.0"
531
476
  },
532
477
  "mapping": {
533
478
  "location": "./src/RegisterForChatRoomMapping.csx",
534
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgcmVnaXN0ZXItZm9yLWNoYXQgaW4gY2hhdC1yb29tIHdvcmtmbG93LgovLy8gUmVnaXN0ZXJzIGRhdGEudXNlciBvbiBTeW5hcHNlIHZpYSBQT1NUIC9fbWF0cml4L2NsaWVudC92My9yZWdpc3Rlci4KLy8vIEVycm9yQm91bmRhcnkgb24gdGhlIHRhc2sgaWdub3JlcyBNX1VTRVJfSU5fVVNFIGFuZCBvdGhlciBlcnJvcnMgc28gbG9naW4gcHJvY2VlZHMuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBSZWdpc3RlckZvckNoYXRSb29tTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBhc3luYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgaHR0cFRhc2sgPSB0YXNrIGFzIEh0dHBUYXNrOwogICAgICAgIGlmIChodHRwVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGFuIEh0dHBUYXNrIik7CgogICAgICAgIHZhciBzZWNyZXROYW1lID0gR2V0Q29uZmlnVmFsdWUoIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShzZWNyZXROYW1lKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgbWF0cml4QmFzZVVybCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiTWF0cml4QmFzZVVybCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG1hdHJpeEJhc2VVcmwpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTWF0cml4QmFzZVVybCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHN5bmFwc2VQYXNzd29yZCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiU3luYXBzZVBhc3N3b3JkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc3luYXBzZVBhc3N3b3JkKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlN5bmFwc2VQYXNzd29yZCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciByZWdpc3RlclVzZXJuYW1lID0gR2V0U3RyaW5nKGRhdGEsICJ1c2VyIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UocmVnaXN0ZXJVc2VybmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJDYW5ub3QgZGV0ZXJtaW5lIHJlZ2lzdGVyIHVzZXI6IGRhdGEudXNlciBpcyBtaXNzaW5nIik7CgogICAgICAgIHZhciBmdWxsVXJsID0gbWF0cml4QmFzZVVybC5UcmltRW5kKCcvJykgKyAiL19tYXRyaXgvY2xpZW50L3YzL3JlZ2lzdGVyIjsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIGh0dHBUYXNrLlNldEhlYWRlcnMobmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICBbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIkFjY2VwdCJdID0gImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgfSk7CgogICAgICAgIGh0dHBUYXNrLlNldEJvZHkobmV3CiAgICAgICAgewogICAgICAgICAgICBhdXRoID0gbmV3IHsgdHlwZSA9ICJtLmxvZ2luLmR1bW15IiB9LAogICAgICAgICAgICB1c2VybmFtZSA9ICJ1IiArIHJlZ2lzdGVyVXNlcm5hbWUsCiAgICAgICAgICAgIHBhc3N3b3JkID0gc3luYXBzZVBhc3N3b3JkCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo="
535
- },
536
- "errorBoundary": {
537
- "onError": [
538
- {
539
- "action": 3,
540
- "errorCodes": [
541
- "*"
542
- ],
543
- "priority": 1
544
- }
545
- ]
479
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1yZWdpc3Rlci1tYXRyaXgtdXNlciBTdGFydFRhc2sgKFR5cGUgMTEpIGluIGNoYXQtcm9vbSB3b3JrZmxvdy4KLy8vIFN0YXJ0cyByZWdpc3Rlci1tYXRyaXgtdXNlciBmbG93IHdpdGggbWF0cml4VXNlcm5hbWUgPSAidSIgKyBkYXRhLnVzZXIuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBSZWdpc3RlckZvckNoYXRSb29tTWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc3RhcnRUYXNrID0gdGFzayBhcyBTdGFydFRhc2s7CiAgICAgICAgaWYgKHN0YXJ0VGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgU3RhcnRUYXNrIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgdXNlciA9IEdldFN0cmluZyhkYXRhLCAidXNlciIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHVzZXIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiQ2Fubm90IGRldGVybWluZSByZWdpc3RlciB1c2VyOiBkYXRhLnVzZXIgaXMgbWlzc2luZyIpOwoKICAgICAgICB2YXIgbWF0cml4VXNlcm5hbWUgPSAidSIgKyB1c2VyOwoKICAgICAgICBzdGFydFRhc2suU2V0RG9tYWluKCJtb3JwaC10b3VjaCIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRGbG93KCJyZWdpc3Rlci1tYXRyaXgtdXNlciIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRTeW5jKHRydWUpOwogICAgICAgIHN0YXJ0VGFzay5TZXRCb2R5KG5ldyB7IG1hdHJpeFVzZXJuYW1lIH0pOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
546
480
  }
547
481
  },
548
482
  {
@@ -589,23 +523,12 @@
589
523
  "task": {
590
524
  "domain": "morph-touch",
591
525
  "flow": "sys-tasks",
592
- "key": "register-for-chat",
526
+ "key": "start-register-matrix-user",
593
527
  "version": "1.0.0"
594
528
  },
595
529
  "mapping": {
596
530
  "location": "./src/RegisterForJoinUserToRoomMapping.csx",
597
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgcmVnaXN0ZXItZm9yLWNoYXQgYmVmb3JlIGpvaW4tdXNlci10by1yb29tLgovLy8gUmVnaXN0ZXJzIHRoZSBqb2luaW5nIHVzZXIgKHBlbmRpbmdKb2luVXNlcklkIC8gbmV3QWR2aXNvcklkIC8gYWR2aXNvcklkKSBvbiBTeW5hcHNlLgovLy8gRXJyb3JCb3VuZGFyeSBvbiB0aGUgdGFzayBpZ25vcmVzIE1fVVNFUl9JTl9VU0UgYW5kIG90aGVyIGVycm9ycyBzbyBsb2dpbiBwcm9jZWVkcy4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFJlZ2lzdGVyRm9ySm9pblVzZXJUb1Jvb21NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBodHRwVGFzayA9IHRhc2sgYXMgSHR0cFRhc2s7CiAgICAgICAgaWYgKGh0dHBUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYW4gSHR0cFRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwoKICAgICAgICB2YXIgam9pblVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInBlbmRpbmdKb2luVXNlcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAibmV3QWR2aXNvcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvcklkIik7CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKGpvaW5Vc2VyKSkKICAgICAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwoKICAgICAgICB2YXIgcmVnaXN0ZXJVc2VybmFtZSA9IGpvaW5Vc2VyLlRyaW0oKTsKICAgICAgICBpZiAocmVnaXN0ZXJVc2VybmFtZS5TdGFydHNXaXRoKCJAIikpCiAgICAgICAgewogICAgICAgICAgICB2YXIgY29sb25JZHggPSByZWdpc3RlclVzZXJuYW1lLkluZGV4T2YoJzonKTsKICAgICAgICAgICAgcmVnaXN0ZXJVc2VybmFtZSA9IGNvbG9uSWR4ID4gMCA/IHJlZ2lzdGVyVXNlcm5hbWUuU3Vic3RyaW5nKDEsIGNvbG9uSWR4IC0gMSkgOiByZWdpc3RlclVzZXJuYW1lLlN1YnN0cmluZygxKTsKICAgICAgICB9CgogICAgICAgIHZhciBzZWNyZXROYW1lID0gR2V0Q29uZmlnVmFsdWUoIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShzZWNyZXROYW1lKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIkRBUFJfU0VDUkVUX1NUT1JFX05BTUUgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgbWF0cml4QmFzZVVybCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiTWF0cml4QmFzZVVybCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG1hdHJpeEJhc2VVcmwpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiTWF0cml4QmFzZVVybCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHN5bmFwc2VQYXNzd29yZCA9IGF3YWl0IEdldFNlY3JldEFzeW5jKHNlY3JldE5hbWUsICJ3b3JrZmxvdy1zZWNyZXQiLCAiU3luYXBzZVBhc3N3b3JkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc3luYXBzZVBhc3N3b3JkKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlN5bmFwc2VQYXNzd29yZCBzZWNyZXQgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIGZ1bGxVcmwgPSBtYXRyaXhCYXNlVXJsLlRyaW1FbmQoJy8nKSArICIvX21hdHJpeC9jbGllbnQvdjMvcmVnaXN0ZXIiOwogICAgICAgIGh0dHBUYXNrLlNldFVybChmdWxsVXJsKTsKCiAgICAgICAgaHR0cFRhc2suU2V0SGVhZGVycyhuZXcgRGljdGlvbmFyeTxzdHJpbmcsIHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgIFsiQ29udGVudC1UeXBlIl0gPSAiYXBwbGljYXRpb24vanNvbiIsCiAgICAgICAgICAgIFsiQWNjZXB0Il0gPSAiYXBwbGljYXRpb24vanNvbiIKICAgICAgICB9KTsKCiAgICAgICAgaHR0cFRhc2suU2V0Qm9keShuZXcKICAgICAgICB7CiAgICAgICAgICAgIGF1dGggPSBuZXcgeyB0eXBlID0gIm0ubG9naW4uZHVtbXkiIH0sCiAgICAgICAgICAgIHVzZXJuYW1lID0gcmVnaXN0ZXJVc2VybmFtZSwKICAgICAgICAgICAgcGFzc3dvcmQgPSBzeW5hcHNlUGFzc3dvcmQKICAgICAgICB9KTsKICAgICAgICByZXR1cm4gbmV3IFNjcmlwdFJlc3BvbnNlKCk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
598
- },
599
- "errorBoundary": {
600
- "onError": [
601
- {
602
- "action": 3,
603
- "errorCodes": [
604
- "*"
605
- ],
606
- "priority": 1
607
- }
608
- ]
531
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1yZWdpc3Rlci1tYXRyaXgtdXNlciBTdGFydFRhc2sgKFR5cGUgMTEpIGJlZm9yZSBqb2luLXVzZXItdG8tcm9vbS4KLy8vIFN0YXJ0cyByZWdpc3Rlci1tYXRyaXgtdXNlciBmbG93IHdpdGggbWF0cml4VXNlcm5hbWUgZnJvbSBwZW5kaW5nSm9pblVzZXJJZCAvIG5ld0Fkdmlzb3JJZCAvIGFkdmlzb3JJZC4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFJlZ2lzdGVyRm9ySm9pblVzZXJUb1Jvb21NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzdGFydFRhc2sgPSB0YXNrIGFzIFN0YXJ0VGFzazsKICAgICAgICBpZiAoc3RhcnRUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBTdGFydFRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwoKICAgICAgICB2YXIgam9pblVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInBlbmRpbmdKb2luVXNlcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAibmV3QWR2aXNvcklkIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoam9pblVzZXIpKQogICAgICAgICAgICBqb2luVXNlciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvcklkIik7CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKGpvaW5Vc2VyKSkKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CgogICAgICAgIHZhciBtYXRyaXhVc2VybmFtZSA9IGpvaW5Vc2VyLlRyaW0oKTsKICAgICAgICBpZiAobWF0cml4VXNlcm5hbWUuU3RhcnRzV2l0aCgiQCIpKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGNvbG9uSWR4ID0gbWF0cml4VXNlcm5hbWUuSW5kZXhPZignOicpOwogICAgICAgICAgICBtYXRyaXhVc2VybmFtZSA9IGNvbG9uSWR4ID4gMCA/IG1hdHJpeFVzZXJuYW1lLlN1YnN0cmluZygxLCBjb2xvbklkeCAtIDEpIDogbWF0cml4VXNlcm5hbWUuU3Vic3RyaW5nKDEpOwogICAgICAgIH0KCiAgICAgICAgc3RhcnRUYXNrLlNldERvbWFpbigibW9ycGgtdG91Y2giKTsKICAgICAgICBzdGFydFRhc2suU2V0RmxvdygicmVnaXN0ZXItbWF0cml4LXVzZXIiKTsKICAgICAgICBzdGFydFRhc2suU2V0U3luYyh0cnVlKTsKICAgICAgICBzdGFydFRhc2suU2V0Qm9keShuZXcgeyBtYXRyaXhVc2VybmFtZSB9KTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
609
532
  }
610
533
  },
611
534
  {
@@ -0,0 +1,128 @@
1
+ {
2
+ "key": "register-matrix-user",
3
+ "flow": "sys-flows",
4
+ "domain": "morph-touch",
5
+ "version": "1.0.0",
6
+ "flowVersion": "1.0.0",
7
+ "tags": [
8
+ "chat",
9
+ "matrix",
10
+ "synapse",
11
+ "register"
12
+ ],
13
+ "attributes": {
14
+ "type": "S",
15
+ "labels": [
16
+ {
17
+ "label": "Register Matrix User",
18
+ "language": "en-US"
19
+ },
20
+ {
21
+ "label": "Matrix Kullanıcı Kaydı",
22
+ "language": "tr-TR"
23
+ }
24
+ ],
25
+ "functions": [],
26
+ "features": [],
27
+ "extensions": [],
28
+ "sharedTransitions": [],
29
+ "startTransition": {
30
+ "key": "start",
31
+ "target": "registering",
32
+ "versionStrategy": "Major",
33
+ "triggerType": 0,
34
+ "labels": [
35
+ {
36
+ "label": "Start",
37
+ "language": "en-US"
38
+ },
39
+ {
40
+ "label": "Başla",
41
+ "language": "tr-TR"
42
+ }
43
+ ]
44
+ },
45
+ "states": [
46
+ {
47
+ "key": "registering",
48
+ "stateType": 1,
49
+ "versionStrategy": "Minor",
50
+ "labels": [
51
+ {
52
+ "label": "Registering",
53
+ "language": "en-US"
54
+ },
55
+ {
56
+ "label": "Kayıt Ediliyor",
57
+ "language": "tr-TR"
58
+ }
59
+ ],
60
+ "transitions": [
61
+ {
62
+ "key": "complete",
63
+ "target": "completed",
64
+ "triggerType": 1,
65
+ "versionStrategy": "Minor",
66
+ "labels": [
67
+ {
68
+ "label": "Complete",
69
+ "language": "en-US"
70
+ },
71
+ {
72
+ "label": "Tamamla",
73
+ "language": "tr-TR"
74
+ }
75
+ ],
76
+ "rule": {
77
+ "location": "./src/AlwaysTrueRule.csx",
78
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCnB1YmxpYyBjbGFzcyBBbHdheXNUcnVlUnVsZSA6IFNjcmlwdEJhc2UsIElDb25kaXRpb25NYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPGJvb2w+IEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CiAgICB9Cn0K"
79
+ },
80
+ "onExecutionTasks": [
81
+ {
82
+ "order": 1,
83
+ "task": {
84
+ "domain": "morph-touch",
85
+ "flow": "sys-tasks",
86
+ "key": "register-for-chat",
87
+ "version": "1.0.0"
88
+ },
89
+ "mapping": {
90
+ "location": "./src/RegisterMatrixUserMapping.csx",
91
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gR2VuZXJpYyBtYXBwaW5nIGZvciByZWdpc3Rlci1mb3ItY2hhdCBpbnNpZGUgdGhlIHJlZ2lzdGVyLW1hdHJpeC11c2VyIGZsb3cuCi8vLyBSZWFkcyBtYXRyaXhVc2VybmFtZSBmcm9tIGluc3RhbmNlIGRhdGEgYW5kIHJlZ2lzdGVycyBvbiBTeW5hcHNlIHZpYSBQT1NUIC9fbWF0cml4L2NsaWVudC92My9yZWdpc3Rlci4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFJlZ2lzdGVyTWF0cml4VXNlck1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgYXN5bmMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGh0dHBUYXNrID0gdGFzayBhcyBIdHRwVGFzazsKICAgICAgICBpZiAoaHR0cFRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhbiBIdHRwVGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIG1hdHJpeFVzZXJuYW1lID0gR2V0U3RyaW5nKGRhdGEsICJtYXRyaXhVc2VybmFtZSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG1hdHJpeFVzZXJuYW1lKSkKICAgICAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwoKICAgICAgICB2YXIgc2VjcmV0TmFtZSA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc2VjcmV0TmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIGNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIG1hdHJpeEJhc2VVcmwgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIk1hdHJpeEJhc2VVcmwiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShtYXRyaXhCYXNlVXJsKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIk1hdHJpeEJhc2VVcmwgc2VjcmV0IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBzeW5hcHNlUGFzc3dvcmQgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIlN5bmFwc2VQYXNzd29yZCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHN5bmFwc2VQYXNzd29yZCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJTeW5hcHNlUGFzc3dvcmQgc2VjcmV0IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBmdWxsVXJsID0gbWF0cml4QmFzZVVybC5UcmltRW5kKCcvJykgKyAiL19tYXRyaXgvY2xpZW50L3YzL3JlZ2lzdGVyIjsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIGh0dHBUYXNrLlNldEhlYWRlcnMobmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICBbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIkFjY2VwdCJdID0gImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgfSk7CgogICAgICAgIGh0dHBUYXNrLlNldEJvZHkobmV3CiAgICAgICAgewogICAgICAgICAgICBhdXRoID0gbmV3IHsgdHlwZSA9ICJtLmxvZ2luLmR1bW15IiB9LAogICAgICAgICAgICB1c2VybmFtZSA9IG1hdHJpeFVzZXJuYW1lLAogICAgICAgICAgICBwYXNzd29yZCA9IHN5bmFwc2VQYXNzd29yZAogICAgICAgIH0pOwogICAgICAgIHJldHVybiBuZXcgU2NyaXB0UmVzcG9uc2UoKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
92
+ },
93
+ "errorBoundary": {
94
+ "onError": [
95
+ {
96
+ "action": 5,
97
+ "errorCodes": [
98
+ "*"
99
+ ],
100
+ "priority": 1
101
+ }
102
+ ]
103
+ }
104
+ }
105
+ ]
106
+ }
107
+ ]
108
+ },
109
+ {
110
+ "key": "completed",
111
+ "stateType": 3,
112
+ "versionStrategy": "Minor",
113
+ "labels": [
114
+ {
115
+ "label": "Completed",
116
+ "language": "en-US"
117
+ },
118
+ {
119
+ "label": "Tamamlandı",
120
+ "language": "tr-TR"
121
+ }
122
+ ]
123
+ }
124
+ ],
125
+ "subFlowType": "S",
126
+ "timeout": null
127
+ }
128
+ }
@@ -399,23 +399,12 @@
399
399
  "task": {
400
400
  "domain": "morph-touch",
401
401
  "flow": "sys-tasks",
402
- "key": "register-for-chat",
402
+ "key": "start-register-matrix-user",
403
403
  "version": "1.0.0"
404
404
  },
405
405
  "mapping": {
406
406
  "location": "./src/RegisterForRandevuStartChatMapping.csx",
407
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgcmVnaXN0ZXItZm9yLWNoYXQgaW4gcmV6ZXJ2YXRpb24tc3RhcnQgZmxvdy4KLy8vIFJlZ2lzdGVycyB0aGUgdXNlciBiYXNlZCBvbiBwYXJ0aWNpcGFudFR5cGUgKGFkdmlzb3IvaW52aXRlZC9jdXN0b21lcikgb24gU3luYXBzZS4KLy8vIEVycm9yQm91bmRhcnkgb24gdGhlIHRhc2sgaWdub3JlcyBNX1VTRVJfSU5fVVNFIGFuZCBvdGhlciBlcnJvcnMgc28gbG9naW4gcHJvY2VlZHMuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBSZWdpc3RlckZvclJhbmRldnVTdGFydENoYXRNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBodHRwVGFzayA9IHRhc2sgYXMgSHR0cFRhc2s7CiAgICAgICAgaWYgKGh0dHBUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYW4gSHR0cFRhc2siKTsKCiAgICAgICAgdmFyIHNlY3JldE5hbWUgPSBHZXRDb25maWdWYWx1ZSgiREFQUl9TRUNSRVRfU1RPUkVfTkFNRSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHNlY3JldE5hbWUpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiREFQUl9TRUNSRVRfU1RPUkVfTkFNRSBjb25maWd1cmF0aW9uIGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBtYXRyaXhCYXNlVXJsID0gYXdhaXQgR2V0U2VjcmV0QXN5bmMoc2VjcmV0TmFtZSwgIndvcmtmbG93LXNlY3JldCIsICJNYXRyaXhCYXNlVXJsIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UobWF0cml4QmFzZVVybCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJNYXRyaXhCYXNlVXJsIHNlY3JldCBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgc3luYXBzZVBhc3N3b3JkID0gYXdhaXQgR2V0U2VjcmV0QXN5bmMoc2VjcmV0TmFtZSwgIndvcmtmbG93LXNlY3JldCIsICJTeW5hcHNlUGFzc3dvcmQiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShzeW5hcHNlUGFzc3dvcmQpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiU3luYXBzZVBhc3N3b3JkIHNlY3JldCBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIHBhcnRpY2lwYW50VHlwZSA9IEdldFN0cmluZyhkYXRhLCAicGFydGljaXBhbnRUeXBlIik7CiAgICAgICAgdmFyIHVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInVzZXIiKTsKICAgICAgICB2YXIgYWR2aXNvciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvciIpOwoKICAgICAgICB2YXIgcmVnaXN0ZXJVc2VybmFtZSA9IHBhcnRpY2lwYW50VHlwZSA9PSAiYWR2aXNvciIgPyBhZHZpc29yCiAgICAgICAgICAgIDogcGFydGljaXBhbnRUeXBlID09ICJpbnZpdGVkIiA/IEdldFN0cmluZyhkYXRhLCAiaW52aXRlZFVzZXJJZCIpCiAgICAgICAgICAgIDogInUiK3VzZXI7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UocmVnaXN0ZXJVc2VybmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJDYW5ub3QgZGV0ZXJtaW5lIHJlZ2lzdGVyIHVzZXI6IHBhcnRpY2lwYW50VHlwZSwgdXNlciwgYWR2aXNvciwgb3IgaW52aXRlZFVzZXJJZCBtaXNzaW5nIik7CgogICAgICAgIHZhciBmdWxsVXJsID0gbWF0cml4QmFzZVVybC5UcmltRW5kKCcvJykgKyAiL19tYXRyaXgvY2xpZW50L3YzL3JlZ2lzdGVyIjsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIGh0dHBUYXNrLlNldEhlYWRlcnMobmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICBbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIkFjY2VwdCJdID0gImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgfSk7CgogICAgICAgIGh0dHBUYXNrLlNldEJvZHkobmV3CiAgICAgICAgewogICAgICAgICAgICBhdXRoID0gbmV3IHsgdHlwZSA9ICJtLmxvZ2luLmR1bW15IiB9LAogICAgICAgICAgICB1c2VybmFtZSA9IHJlZ2lzdGVyVXNlcm5hbWUsCiAgICAgICAgICAgIHBhc3N3b3JkID0gc3luYXBzZVBhc3N3b3JkCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo="
408
- },
409
- "errorBoundary": {
410
- "onError": [
411
- {
412
- "action": 3,
413
- "errorCodes": [
414
- "*"
415
- ],
416
- "priority": 1
417
- }
418
- ]
407
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nLlRhc2tzOwp1c2luZyBCQlQuV29ya2Zsb3cuU2NyaXB0aW5nOwp1c2luZyBCQlQuV29ya2Zsb3cuRGVmaW5pdGlvbnM7CgovLy8gPHN1bW1hcnk+Ci8vLyBNYXBwaW5nIGZvciBzdGFydC1yZWdpc3Rlci1tYXRyaXgtdXNlciBTdGFydFRhc2sgKFR5cGUgMTEpIGluIHJlemVydmF0aW9uLXN0YXJ0IGZsb3cuCi8vLyBTdGFydHMgcmVnaXN0ZXItbWF0cml4LXVzZXIgZmxvdyB3aXRoIG1hdHJpeFVzZXJuYW1lIGJhc2VkIG9uIHBhcnRpY2lwYW50VHlwZSAoYWR2aXNvci9pbnZpdGVkL2N1c3RvbWVyKS4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFJlZ2lzdGVyRm9yUmFuZGV2dVN0YXJ0Q2hhdE1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHN0YXJ0VGFzayA9IHRhc2sgYXMgU3RhcnRUYXNrOwogICAgICAgIGlmIChzdGFydFRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhIFN0YXJ0VGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIHBhcnRpY2lwYW50VHlwZSA9IEdldFN0cmluZyhkYXRhLCAicGFydGljaXBhbnRUeXBlIik7CiAgICAgICAgdmFyIHVzZXIgPSBHZXRTdHJpbmcoZGF0YSwgInVzZXIiKTsKICAgICAgICB2YXIgYWR2aXNvciA9IEdldFN0cmluZyhkYXRhLCAiYWR2aXNvciIpOwoKICAgICAgICB2YXIgbWF0cml4VXNlcm5hbWUgPSBwYXJ0aWNpcGFudFR5cGUgPT0gImFkdmlzb3IiID8gYWR2aXNvcgogICAgICAgICAgICA6IHBhcnRpY2lwYW50VHlwZSA9PSAiaW52aXRlZCIgPyBHZXRTdHJpbmcoZGF0YSwgImludml0ZWRVc2VySWQiKQogICAgICAgICAgICA6ICJ1IiArIHVzZXI7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2UobWF0cml4VXNlcm5hbWUpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiQ2Fubm90IGRldGVybWluZSByZWdpc3RlciB1c2VyOiBwYXJ0aWNpcGFudFR5cGUsIHVzZXIsIGFkdmlzb3IsIG9yIGludml0ZWRVc2VySWQgbWlzc2luZyIpOwoKICAgICAgICBzdGFydFRhc2suU2V0RG9tYWluKCJtb3JwaC10b3VjaCIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRGbG93KCJyZWdpc3Rlci1tYXRyaXgtdXNlciIpOwogICAgICAgIHN0YXJ0VGFzay5TZXRTeW5jKHRydWUpOwogICAgICAgIHN0YXJ0VGFzay5TZXRCb2R5KG5ldyB7IG1hdHJpeFVzZXJuYW1lIH0pOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UoKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
419
408
  }
420
409
  },
421
410
  {
@@ -24,7 +24,7 @@
24
24
  "extensions": [],
25
25
  "sharedTransitions": [
26
26
  {
27
- "key": "cancel",
27
+ "key": "cancel-transfer",
28
28
  "target": "cancelled",
29
29
  "triggerType": 0,
30
30
  "versionStrategy": "Minor",
@@ -472,23 +472,12 @@
472
472
  "task": {
473
473
  "domain": "morph-touch",
474
474
  "flow": "sys-tasks",
475
- "key": "register-for-chat",
475
+ "key": "start-register-matrix-user",
476
476
  "version": "1.0.0"
477
477
  },
478
478
  "mapping": {
479
479
  "location": "./src/RegisterForTransferChatMapping.csx",
480
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIEJCVC5Xb3JrZmxvdy5TY3JpcHRpbmc7CnVzaW5nIEJCVC5Xb3JrZmxvdy5EZWZpbml0aW9uczsKCi8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIHJlZ2lzdGVyLWZvci1jaGF0IGluIHJlemVydmF0aW9uLXRyYW5zZmVyIGZsb3cuCi8vLyBSZWdpc3RlcnMgdGhlIHVzZXIgbG9va2VkIHVwIGZyb20gcGVybWFuZW50Q2hhdFJvb21zIGJ5IGNoYXRSb29tS2V5IG9uIFN5bmFwc2UuCi8vLyBFcnJvckJvdW5kYXJ5IG9uIHRoZSB0YXNrIGlnbm9yZXMgTV9VU0VSX0lOX1VTRSBhbmQgb3RoZXIgZXJyb3JzIHNvIGxvZ2luIHByb2NlZWRzLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgUmVnaXN0ZXJGb3JUcmFuc2ZlckNoYXRNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIGFzeW5jIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBodHRwVGFzayA9IHRhc2sgYXMgSHR0cFRhc2s7CiAgICAgICAgaWYgKGh0dHBUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYW4gSHR0cFRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIGlmIChkYXRhID09IG51bGwpCiAgICAgICAgICAgIHJldHVybiBuZXcgU2NyaXB0UmVzcG9uc2UoKTsKCiAgICAgICAgc3RyaW5nIHVzZXIgPSBudWxsOwogICAgICAgIHZhciBwZXJtYW5lbnRSb29tUGxhbiA9IGRhdGEucGVybWFuZW50Um9vbVBsYW47CiAgICAgICAgaWYgKHBlcm1hbmVudFJvb21QbGFuICE9IG51bGwpCiAgICAgICAgewogICAgICAgICAgICBpbnQgcHJvY2Vzc2VkSW5kZXggPSAwOwogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkoZGF0YSwgInBlcm1hbmVudFByb2Nlc3NlZEluZGV4IikpCiAgICAgICAgICAgICAgICBpbnQuVHJ5UGFyc2UoZGF0YS5wZXJtYW5lbnRQcm9jZXNzZWRJbmRleD8uVG9TdHJpbmcoKSA/PyAiMCIsIG91dCBwcm9jZXNzZWRJbmRleCk7CgogICAgICAgICAgICB2YXIgaXRlbXMgPSBwZXJtYW5lbnRSb29tUGxhbiBhcyBJRW51bWVyYWJsZTxvYmplY3Q+OwogICAgICAgICAgICBpZiAoaXRlbXMgIT0gbnVsbCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIGl0ZW1zTGlzdCA9IGl0ZW1zLlRvTGlzdCgpOwogICAgICAgICAgICAgICAgaWYgKHByb2Nlc3NlZEluZGV4IDwgaXRlbXNMaXN0LkNvdW50KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGR5bmFtaWMgY3VycmVudEl0ZW0gPSBpdGVtc0xpc3RbcHJvY2Vzc2VkSW5kZXhdOwogICAgICAgICAgICAgICAgICAgIHZhciBjaGF0Um9vbUtleSA9IGN1cnJlbnRJdGVtPy5jaGF0Um9vbUtleT8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGNoYXRSb29tS2V5KSkKICAgICAgICAgICAgICAgICAgICAgICAgdXNlciA9IExvb2t1cFVzZXIoZGF0YSwgY2hhdFJvb21LZXkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZSh1c2VyKSkKICAgICAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwoKICAgICAgICB2YXIgc2VjcmV0TmFtZSA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIik7CiAgICAgICAgaWYgKHN0cmluZy5Jc051bGxPcldoaXRlU3BhY2Uoc2VjcmV0TmFtZSkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJEQVBSX1NFQ1JFVF9TVE9SRV9OQU1FIGNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIG1hdHJpeEJhc2VVcmwgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIk1hdHJpeEJhc2VVcmwiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShtYXRyaXhCYXNlVXJsKSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIk1hdHJpeEJhc2VVcmwgc2VjcmV0IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBzeW5hcHNlUGFzc3dvcmQgPSBhd2FpdCBHZXRTZWNyZXRBc3luYyhzZWNyZXROYW1lLCAid29ya2Zsb3ctc2VjcmV0IiwgIlN5bmFwc2VQYXNzd29yZCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHN5bmFwc2VQYXNzd29yZCkpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJTeW5hcHNlUGFzc3dvcmQgc2VjcmV0IGlzIHJlcXVpcmVkIik7CgogICAgICAgIHZhciBmdWxsVXJsID0gbWF0cml4QmFzZVVybC5UcmltRW5kKCcvJykgKyAiL19tYXRyaXgvY2xpZW50L3YzL3JlZ2lzdGVyIjsKICAgICAgICBodHRwVGFzay5TZXRVcmwoZnVsbFVybCk7CgogICAgICAgIGh0dHBUYXNrLlNldEhlYWRlcnMobmV3IERpY3Rpb25hcnk8c3RyaW5nLCBzdHJpbmc+CiAgICAgICAgewogICAgICAgICAgICBbIkNvbnRlbnQtVHlwZSJdID0gImFwcGxpY2F0aW9uL2pzb24iLAogICAgICAgICAgICBbIkFjY2VwdCJdID0gImFwcGxpY2F0aW9uL2pzb24iCiAgICAgICAgfSk7CgogICAgICAgIGh0dHBUYXNrLlNldEJvZHkobmV3CiAgICAgICAgewogICAgICAgICAgICBhdXRoID0gbmV3IHsgdHlwZSA9ICJtLmxvZ2luLmR1bW15IiB9LAogICAgICAgICAgICB1c2VybmFtZSA9IHVzZXIsCiAgICAgICAgICAgIHBhc3N3b3JkID0gc3luYXBzZVBhc3N3b3JkCiAgICAgICAgfSk7CiAgICAgICAgcmV0dXJuIG5ldyBTY3JpcHRSZXNwb25zZSgpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBMb29rdXBVc2VyKGR5bmFtaWMgZGF0YSwgc3RyaW5nIGNoYXRSb29tS2V5KQogICAgewogICAgICAgIGlmICghSGFzUHJvcGVydHkoZGF0YSwgInBlcm1hbmVudENoYXRSb29tcyIpIHx8IGRhdGEucGVybWFuZW50Q2hhdFJvb21zID09IG51bGwpCiAgICAgICAgICAgIHJldHVybiBudWxsOwoKICAgICAgICBmb3JlYWNoICh2YXIgcm9vbSBpbiBkYXRhLnBlcm1hbmVudENoYXRSb29tcykKICAgICAgICB7CiAgICAgICAgICAgIHZhciBrZXkgPSBHZXRTdHJpbmcocm9vbSwgImNoYXRSb29tS2V5Iik7CiAgICAgICAgICAgIGlmIChzdHJpbmcuRXF1YWxzKGtleSwgY2hhdFJvb21LZXksIFN0cmluZ0NvbXBhcmlzb24uT3JkaW5hbElnbm9yZUNhc2UpKQogICAgICAgICAgICAgICAgcmV0dXJuIEdldFN0cmluZyhyb29tLCAidXNlciIpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKT8uVHJpbSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
481
- },
482
- "errorBoundary": {
483
- "onError": [
484
- {
485
- "action": 3,
486
- "errorCodes": [
487
- "*"
488
- ],
489
- "priority": 1
490
- }
491
- ]
480
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5UaHJlYWRpbmcuVGFza3M7CnVzaW5nIEJCVC5Xb3JrZmxvdy5TY3JpcHRpbmc7CnVzaW5nIEJCVC5Xb3JrZmxvdy5EZWZpbml0aW9uczsKCi8vLyA8c3VtbWFyeT4KLy8vIE1hcHBpbmcgZm9yIHN0YXJ0LXJlZ2lzdGVyLW1hdHJpeC11c2VyIFN0YXJ0VGFzayAoVHlwZSAxMSkgaW4gcmV6ZXJ2YXRpb24tdHJhbnNmZXIgZmxvdy4KLy8vIFN0YXJ0cyByZWdpc3Rlci1tYXRyaXgtdXNlciBmbG93IHdpdGggbWF0cml4VXNlcm5hbWUgbG9va2VkIHVwIGZyb20gcGVybWFuZW50Q2hhdFJvb21zIGJ5IGNoYXRSb29tS2V5LgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgUmVnaXN0ZXJGb3JUcmFuc2ZlckNoYXRNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzdGFydFRhc2sgPSB0YXNrIGFzIFN0YXJ0VGFzazsKICAgICAgICBpZiAoc3RhcnRUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBTdGFydFRhc2siKTsKCiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIGlmIChkYXRhID09IG51bGwpCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwoKICAgICAgICBzdHJpbmcgdXNlciA9IG51bGw7CiAgICAgICAgdmFyIHBlcm1hbmVudFJvb21QbGFuID0gZGF0YS5wZXJtYW5lbnRSb29tUGxhbjsKICAgICAgICBpZiAocGVybWFuZW50Um9vbVBsYW4gIT0gbnVsbCkKICAgICAgICB7CiAgICAgICAgICAgIGludCBwcm9jZXNzZWRJbmRleCA9IDA7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShkYXRhLCAicGVybWFuZW50UHJvY2Vzc2VkSW5kZXgiKSkKICAgICAgICAgICAgICAgIGludC5UcnlQYXJzZShkYXRhLnBlcm1hbmVudFByb2Nlc3NlZEluZGV4Py5Ub1N0cmluZygpID8/ICIwIiwgb3V0IHByb2Nlc3NlZEluZGV4KTsKCiAgICAgICAgICAgIHZhciBpdGVtcyA9IHBlcm1hbmVudFJvb21QbGFuIGFzIElFbnVtZXJhYmxlPG9iamVjdD47CiAgICAgICAgICAgIGlmIChpdGVtcyAhPSBudWxsKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgaXRlbXNMaXN0ID0gaXRlbXMuVG9MaXN0KCk7CiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzc2VkSW5kZXggPCBpdGVtc0xpc3QuQ291bnQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZHluYW1pYyBjdXJyZW50SXRlbSA9IGl0ZW1zTGlzdFtwcm9jZXNzZWRJbmRleF07CiAgICAgICAgICAgICAgICAgICAgdmFyIGNoYXRSb29tS2V5ID0gY3VycmVudEl0ZW0/LmNoYXRSb29tS2V5Py5Ub1N0cmluZygpOwogICAgICAgICAgICAgICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoY2hhdFJvb21LZXkpKQogICAgICAgICAgICAgICAgICAgICAgICB1c2VyID0gTG9va3VwVXNlcihkYXRhLCBjaGF0Um9vbUtleSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHVzZXIpKQogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKCiAgICAgICAgc3RhcnRUYXNrLlNldERvbWFpbigibW9ycGgtdG91Y2giKTsKICAgICAgICBzdGFydFRhc2suU2V0RmxvdygicmVnaXN0ZXItbWF0cml4LXVzZXIiKTsKICAgICAgICBzdGFydFRhc2suU2V0U3luYyh0cnVlKTsKICAgICAgICBzdGFydFRhc2suU2V0Qm9keShuZXcgeyBtYXRyaXhVc2VybmFtZSA9IHVzZXIgfSk7CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBMb29rdXBVc2VyKGR5bmFtaWMgZGF0YSwgc3RyaW5nIGNoYXRSb29tS2V5KQogICAgewogICAgICAgIGlmICghSGFzUHJvcGVydHkoZGF0YSwgInBlcm1hbmVudENoYXRSb29tcyIpIHx8IGRhdGEucGVybWFuZW50Q2hhdFJvb21zID09IG51bGwpCiAgICAgICAgICAgIHJldHVybiBudWxsOwoKICAgICAgICBmb3JlYWNoICh2YXIgcm9vbSBpbiBkYXRhLnBlcm1hbmVudENoYXRSb29tcykKICAgICAgICB7CiAgICAgICAgICAgIHZhciBrZXkgPSBHZXRTdHJpbmcocm9vbSwgImNoYXRSb29tS2V5Iik7CiAgICAgICAgICAgIGlmIChzdHJpbmcuRXF1YWxzKGtleSwgY2hhdFJvb21LZXksIFN0cmluZ0NvbXBhcmlzb24uT3JkaW5hbElnbm9yZUNhc2UpKQogICAgICAgICAgICAgICAgcmV0dXJuIEdldFN0cmluZyhyb29tLCAidXNlciIpOwogICAgICAgIH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKT8uVHJpbSgpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
492
481
  }
493
482
  },
494
483
  {
@@ -460,7 +460,7 @@
460
460
  ],
461
461
  "rule": {
462
462
  "location": "./src/AlwaysTrueRule.csx",
463
- "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIFJ1bGUgdGhhdCBhbHdheXMgcmV0dXJucyB0cnVlLiBVc2VkIGZvciBhdXRvLXRyYW5zaXRpb25zIHRoYXQgc2hvdWxkIGFsd2F5cyBmaXJlLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgQWx3YXlzVHJ1ZVJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwogICAgfQp9Cg=="
463
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCnB1YmxpYyBjbGFzcyBBbHdheXNUcnVlUnVsZSA6IFNjcmlwdEJhc2UsIElDb25kaXRpb25NYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPGJvb2w+IEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQodHJ1ZSk7CiAgICB9Cn0K"
464
464
  }
465
465
  }
466
466
  ]
@@ -1,9 +1,6 @@
1
1
  using System.Threading.Tasks;
2
2
  using BBT.Workflow.Scripting;
3
3
 
4
- /// <summary>
5
- /// Rule that always returns true. Used for auto-transitions that should always fire.
6
- /// </summary>
7
4
  public class AlwaysTrueRule : ScriptBase, IConditionMapping
8
5
  {
9
6
  public Task<bool> Handler(ScriptContext context)
@@ -106,13 +106,10 @@ public class CheckExistingPermanentChatRoomMapping : ScriptBase, IMapping
106
106
  if (responseData == null) return null;
107
107
  try
108
108
  {
109
- // Direct rooms
110
- if (HasProperty(responseData, "rooms") && responseData.rooms != null)
111
- return responseData.rooms;
112
- if (HasProperty(responseData, "data") && responseData.data != null && HasProperty(responseData.data, "rooms"))
113
- return responseData.data.rooms;
114
- if (HasProperty(responseData, "Data") && responseData.Data != null && HasProperty(responseData.Data, "rooms"))
115
- return responseData.Data.rooms;
109
+ // responseData.getChatRooms.rooms
110
+ var directChatRooms = GetValue(responseData, "getChatRooms");
111
+ if (directChatRooms != null && HasProperty(directChatRooms, "rooms") && directChatRooms.rooms != null)
112
+ return directChatRooms.rooms;
116
113
 
117
114
  // Wrapped: checkExistingData.items[].getChatRooms.rooms (runtime task result shape)
118
115
  var checkExisting = GetValue(responseData, "checkExistingData") ?? GetValue(responseData, "data");
@@ -1,55 +1,33 @@
1
1
  using System;
2
- using System.Collections.Generic;
3
2
  using System.Threading.Tasks;
4
3
  using BBT.Workflow.Scripting;
5
4
  using BBT.Workflow.Definitions;
6
5
 
7
6
  /// <summary>
8
- /// Mapping for register-for-chat in chat-room workflow.
9
- /// Registers data.user on Synapse via POST /_matrix/client/v3/register.
10
- /// ErrorBoundary on the task ignores M_USER_IN_USE and other errors so login proceeds.
7
+ /// Mapping for start-register-matrix-user StartTask (Type 11) in chat-room workflow.
8
+ /// Starts register-matrix-user flow with matrixUsername = "u" + data.user.
11
9
  /// </summary>
12
10
  public class RegisterForChatRoomMapping : ScriptBase, IMapping
13
11
  {
14
- public async Task<ScriptResponse> InputHandler(WorkflowTask task, ScriptContext context)
12
+ public Task<ScriptResponse> InputHandler(WorkflowTask task, ScriptContext context)
15
13
  {
16
- var httpTask = task as HttpTask;
17
- if (httpTask == null)
18
- throw new InvalidOperationException("Task must be an HttpTask");
19
-
20
- var secretName = GetConfigValue("DAPR_SECRET_STORE_NAME");
21
- if (string.IsNullOrWhiteSpace(secretName))
22
- throw new InvalidOperationException("DAPR_SECRET_STORE_NAME configuration is required");
23
-
24
- var matrixBaseUrl = await GetSecretAsync(secretName, "workflow-secret", "MatrixBaseUrl");
25
- if (string.IsNullOrWhiteSpace(matrixBaseUrl))
26
- throw new InvalidOperationException("MatrixBaseUrl secret is required");
27
-
28
- var synapsePassword = await GetSecretAsync(secretName, "workflow-secret", "SynapsePassword");
29
- if (string.IsNullOrWhiteSpace(synapsePassword))
30
- throw new InvalidOperationException("SynapsePassword secret is required");
14
+ var startTask = task as StartTask;
15
+ if (startTask == null)
16
+ throw new InvalidOperationException("Task must be a StartTask");
31
17
 
32
18
  var data = context.Instance?.Data;
33
- var registerUsername = GetString(data, "user");
34
- if (string.IsNullOrWhiteSpace(registerUsername))
19
+ var user = GetString(data, "user");
20
+ if (string.IsNullOrWhiteSpace(user))
35
21
  throw new InvalidOperationException("Cannot determine register user: data.user is missing");
36
22
 
37
- var fullUrl = matrixBaseUrl.TrimEnd('/') + "/_matrix/client/v3/register";
38
- httpTask.SetUrl(fullUrl);
23
+ var matrixUsername = "u" + user;
39
24
 
40
- httpTask.SetHeaders(new Dictionary<string, string>
41
- {
42
- ["Content-Type"] = "application/json",
43
- ["Accept"] = "application/json"
44
- });
25
+ startTask.SetDomain("morph-touch");
26
+ startTask.SetFlow("register-matrix-user");
27
+ startTask.SetSync(true);
28
+ startTask.SetBody(new { matrixUsername });
45
29
 
46
- httpTask.SetBody(new
47
- {
48
- auth = new { type = "m.login.dummy" },
49
- username = "u" + registerUsername,
50
- password = synapsePassword
51
- });
52
- return new ScriptResponse();
30
+ return Task.FromResult(new ScriptResponse());
53
31
  }
54
32
 
55
33
  public Task<ScriptResponse> OutputHandler(ScriptContext context)
@@ -1,21 +1,19 @@
1
1
  using System;
2
- using System.Collections.Generic;
3
2
  using System.Threading.Tasks;
4
3
  using BBT.Workflow.Scripting;
5
4
  using BBT.Workflow.Definitions;
6
5
 
7
6
  /// <summary>
8
- /// Mapping for register-for-chat before join-user-to-room.
9
- /// Registers the joining user (pendingJoinUserId / newAdvisorId / advisorId) on Synapse.
10
- /// ErrorBoundary on the task ignores M_USER_IN_USE and other errors so login proceeds.
7
+ /// Mapping for start-register-matrix-user StartTask (Type 11) before join-user-to-room.
8
+ /// Starts register-matrix-user flow with matrixUsername from pendingJoinUserId / newAdvisorId / advisorId.
11
9
  /// </summary>
12
10
  public class RegisterForJoinUserToRoomMapping : ScriptBase, IMapping
13
11
  {
14
- public async Task<ScriptResponse> InputHandler(WorkflowTask task, ScriptContext context)
12
+ public Task<ScriptResponse> InputHandler(WorkflowTask task, ScriptContext context)
15
13
  {
16
- var httpTask = task as HttpTask;
17
- if (httpTask == null)
18
- throw new InvalidOperationException("Task must be an HttpTask");
14
+ var startTask = task as StartTask;
15
+ if (startTask == null)
16
+ throw new InvalidOperationException("Task must be a StartTask");
19
17
 
20
18
  var data = context.Instance?.Data;
21
19
 
@@ -26,43 +24,21 @@ public class RegisterForJoinUserToRoomMapping : ScriptBase, IMapping
26
24
  joinUser = GetString(data, "advisorId");
27
25
 
28
26
  if (string.IsNullOrWhiteSpace(joinUser))
29
- return new ScriptResponse();
27
+ return Task.FromResult(new ScriptResponse());
30
28
 
31
- var registerUsername = joinUser.Trim();
32
- if (registerUsername.StartsWith("@"))
29
+ var matrixUsername = joinUser.Trim();
30
+ if (matrixUsername.StartsWith("@"))
33
31
  {
34
- var colonIdx = registerUsername.IndexOf(':');
35
- registerUsername = colonIdx > 0 ? registerUsername.Substring(1, colonIdx - 1) : registerUsername.Substring(1);
32
+ var colonIdx = matrixUsername.IndexOf(':');
33
+ matrixUsername = colonIdx > 0 ? matrixUsername.Substring(1, colonIdx - 1) : matrixUsername.Substring(1);
36
34
  }
37
35
 
38
- var secretName = GetConfigValue("DAPR_SECRET_STORE_NAME");
39
- if (string.IsNullOrWhiteSpace(secretName))
40
- throw new InvalidOperationException("DAPR_SECRET_STORE_NAME configuration is required");
36
+ startTask.SetDomain("morph-touch");
37
+ startTask.SetFlow("register-matrix-user");
38
+ startTask.SetSync(true);
39
+ startTask.SetBody(new { matrixUsername });
41
40
 
42
- var matrixBaseUrl = await GetSecretAsync(secretName, "workflow-secret", "MatrixBaseUrl");
43
- if (string.IsNullOrWhiteSpace(matrixBaseUrl))
44
- throw new InvalidOperationException("MatrixBaseUrl secret is required");
45
-
46
- var synapsePassword = await GetSecretAsync(secretName, "workflow-secret", "SynapsePassword");
47
- if (string.IsNullOrWhiteSpace(synapsePassword))
48
- throw new InvalidOperationException("SynapsePassword secret is required");
49
-
50
- var fullUrl = matrixBaseUrl.TrimEnd('/') + "/_matrix/client/v3/register";
51
- httpTask.SetUrl(fullUrl);
52
-
53
- httpTask.SetHeaders(new Dictionary<string, string>
54
- {
55
- ["Content-Type"] = "application/json",
56
- ["Accept"] = "application/json"
57
- });
58
-
59
- httpTask.SetBody(new
60
- {
61
- auth = new { type = "m.login.dummy" },
62
- username = registerUsername,
63
- password = synapsePassword
64
- });
65
- return new ScriptResponse();
41
+ return Task.FromResult(new ScriptResponse());
66
42
  }
67
43
 
68
44
  public Task<ScriptResponse> OutputHandler(ScriptContext context)
@@ -1,61 +1,37 @@
1
1
  using System;
2
- using System.Collections.Generic;
3
2
  using System.Threading.Tasks;
4
3
  using BBT.Workflow.Scripting;
5
4
  using BBT.Workflow.Definitions;
6
5
 
7
6
  /// <summary>
8
- /// Mapping for register-for-chat in rezervation-start flow.
9
- /// Registers the user based on participantType (advisor/invited/customer) on Synapse.
10
- /// ErrorBoundary on the task ignores M_USER_IN_USE and other errors so login proceeds.
7
+ /// Mapping for start-register-matrix-user StartTask (Type 11) in rezervation-start flow.
8
+ /// Starts register-matrix-user flow with matrixUsername based on participantType (advisor/invited/customer).
11
9
  /// </summary>
12
10
  public class RegisterForRandevuStartChatMapping : ScriptBase, IMapping
13
11
  {
14
- public async Task<ScriptResponse> InputHandler(WorkflowTask task, ScriptContext context)
12
+ public Task<ScriptResponse> InputHandler(WorkflowTask task, ScriptContext context)
15
13
  {
16
- var httpTask = task as HttpTask;
17
- if (httpTask == null)
18
- throw new InvalidOperationException("Task must be an HttpTask");
19
-
20
- var secretName = GetConfigValue("DAPR_SECRET_STORE_NAME");
21
- if (string.IsNullOrWhiteSpace(secretName))
22
- throw new InvalidOperationException("DAPR_SECRET_STORE_NAME configuration is required");
23
-
24
- var matrixBaseUrl = await GetSecretAsync(secretName, "workflow-secret", "MatrixBaseUrl");
25
- if (string.IsNullOrWhiteSpace(matrixBaseUrl))
26
- throw new InvalidOperationException("MatrixBaseUrl secret is required");
27
-
28
- var synapsePassword = await GetSecretAsync(secretName, "workflow-secret", "SynapsePassword");
29
- if (string.IsNullOrWhiteSpace(synapsePassword))
30
- throw new InvalidOperationException("SynapsePassword secret is required");
14
+ var startTask = task as StartTask;
15
+ if (startTask == null)
16
+ throw new InvalidOperationException("Task must be a StartTask");
31
17
 
32
18
  var data = context.Instance?.Data;
33
19
  var participantType = GetString(data, "participantType");
34
20
  var user = GetString(data, "user");
35
21
  var advisor = GetString(data, "advisor");
36
22
 
37
- var registerUsername = participantType == "advisor" ? advisor
23
+ var matrixUsername = participantType == "advisor" ? advisor
38
24
  : participantType == "invited" ? GetString(data, "invitedUserId")
39
- : "u"+user;
40
- if (string.IsNullOrWhiteSpace(registerUsername))
25
+ : "u" + user;
26
+ if (string.IsNullOrWhiteSpace(matrixUsername))
41
27
  throw new InvalidOperationException("Cannot determine register user: participantType, user, advisor, or invitedUserId missing");
42
28
 
43
- var fullUrl = matrixBaseUrl.TrimEnd('/') + "/_matrix/client/v3/register";
44
- httpTask.SetUrl(fullUrl);
29
+ startTask.SetDomain("morph-touch");
30
+ startTask.SetFlow("register-matrix-user");
31
+ startTask.SetSync(true);
32
+ startTask.SetBody(new { matrixUsername });
45
33
 
46
- httpTask.SetHeaders(new Dictionary<string, string>
47
- {
48
- ["Content-Type"] = "application/json",
49
- ["Accept"] = "application/json"
50
- });
51
-
52
- httpTask.SetBody(new
53
- {
54
- auth = new { type = "m.login.dummy" },
55
- username = registerUsername,
56
- password = synapsePassword
57
- });
58
- return new ScriptResponse();
34
+ return Task.FromResult(new ScriptResponse());
59
35
  }
60
36
 
61
37
  public Task<ScriptResponse> OutputHandler(ScriptContext context)
@@ -6,21 +6,20 @@ using BBT.Workflow.Scripting;
6
6
  using BBT.Workflow.Definitions;
7
7
 
8
8
  /// <summary>
9
- /// Mapping for register-for-chat in rezervation-transfer flow.
10
- /// Registers the user looked up from permanentChatRooms by chatRoomKey on Synapse.
11
- /// ErrorBoundary on the task ignores M_USER_IN_USE and other errors so login proceeds.
9
+ /// Mapping for start-register-matrix-user StartTask (Type 11) in rezervation-transfer flow.
10
+ /// Starts register-matrix-user flow with matrixUsername looked up from permanentChatRooms by chatRoomKey.
12
11
  /// </summary>
13
12
  public class RegisterForTransferChatMapping : ScriptBase, IMapping
14
13
  {
15
- public async Task<ScriptResponse> InputHandler(WorkflowTask task, ScriptContext context)
14
+ public Task<ScriptResponse> InputHandler(WorkflowTask task, ScriptContext context)
16
15
  {
17
- var httpTask = task as HttpTask;
18
- if (httpTask == null)
19
- throw new InvalidOperationException("Task must be an HttpTask");
16
+ var startTask = task as StartTask;
17
+ if (startTask == null)
18
+ throw new InvalidOperationException("Task must be a StartTask");
20
19
 
21
20
  var data = context.Instance?.Data;
22
21
  if (data == null)
23
- return new ScriptResponse();
22
+ return Task.FromResult(new ScriptResponse());
24
23
 
25
24
  string user = null;
26
25
  var permanentRoomPlan = data.permanentRoomPlan;
@@ -45,36 +44,14 @@ public class RegisterForTransferChatMapping : ScriptBase, IMapping
45
44
  }
46
45
 
47
46
  if (string.IsNullOrWhiteSpace(user))
48
- return new ScriptResponse();
47
+ return Task.FromResult(new ScriptResponse());
49
48
 
50
- var secretName = GetConfigValue("DAPR_SECRET_STORE_NAME");
51
- if (string.IsNullOrWhiteSpace(secretName))
52
- throw new InvalidOperationException("DAPR_SECRET_STORE_NAME configuration is required");
49
+ startTask.SetDomain("morph-touch");
50
+ startTask.SetFlow("register-matrix-user");
51
+ startTask.SetSync(true);
52
+ startTask.SetBody(new { matrixUsername = user });
53
53
 
54
- var matrixBaseUrl = await GetSecretAsync(secretName, "workflow-secret", "MatrixBaseUrl");
55
- if (string.IsNullOrWhiteSpace(matrixBaseUrl))
56
- throw new InvalidOperationException("MatrixBaseUrl secret is required");
57
-
58
- var synapsePassword = await GetSecretAsync(secretName, "workflow-secret", "SynapsePassword");
59
- if (string.IsNullOrWhiteSpace(synapsePassword))
60
- throw new InvalidOperationException("SynapsePassword secret is required");
61
-
62
- var fullUrl = matrixBaseUrl.TrimEnd('/') + "/_matrix/client/v3/register";
63
- httpTask.SetUrl(fullUrl);
64
-
65
- httpTask.SetHeaders(new Dictionary<string, string>
66
- {
67
- ["Content-Type"] = "application/json",
68
- ["Accept"] = "application/json"
69
- });
70
-
71
- httpTask.SetBody(new
72
- {
73
- auth = new { type = "m.login.dummy" },
74
- username = user,
75
- password = synapsePassword
76
- });
77
- return new ScriptResponse();
54
+ return Task.FromResult(new ScriptResponse());
78
55
  }
79
56
 
80
57
  public Task<ScriptResponse> OutputHandler(ScriptContext context)
@@ -0,0 +1,73 @@
1
+ using System;
2
+ using System.Collections.Generic;
3
+ using System.Threading.Tasks;
4
+ using BBT.Workflow.Scripting;
5
+ using BBT.Workflow.Definitions;
6
+
7
+ /// <summary>
8
+ /// Generic mapping for register-for-chat inside the register-matrix-user flow.
9
+ /// Reads matrixUsername from instance data and registers on Synapse via POST /_matrix/client/v3/register.
10
+ /// </summary>
11
+ public class RegisterMatrixUserMapping : ScriptBase, IMapping
12
+ {
13
+ public async Task<ScriptResponse> InputHandler(WorkflowTask task, ScriptContext context)
14
+ {
15
+ var httpTask = task as HttpTask;
16
+ if (httpTask == null)
17
+ throw new InvalidOperationException("Task must be an HttpTask");
18
+
19
+ var data = context.Instance?.Data;
20
+ var matrixUsername = GetString(data, "matrixUsername");
21
+ if (string.IsNullOrWhiteSpace(matrixUsername))
22
+ return new ScriptResponse();
23
+
24
+ var secretName = GetConfigValue("DAPR_SECRET_STORE_NAME");
25
+ if (string.IsNullOrWhiteSpace(secretName))
26
+ throw new InvalidOperationException("DAPR_SECRET_STORE_NAME configuration is required");
27
+
28
+ var matrixBaseUrl = await GetSecretAsync(secretName, "workflow-secret", "MatrixBaseUrl");
29
+ if (string.IsNullOrWhiteSpace(matrixBaseUrl))
30
+ throw new InvalidOperationException("MatrixBaseUrl secret is required");
31
+
32
+ var synapsePassword = await GetSecretAsync(secretName, "workflow-secret", "SynapsePassword");
33
+ if (string.IsNullOrWhiteSpace(synapsePassword))
34
+ throw new InvalidOperationException("SynapsePassword secret is required");
35
+
36
+ var fullUrl = matrixBaseUrl.TrimEnd('/') + "/_matrix/client/v3/register";
37
+ httpTask.SetUrl(fullUrl);
38
+
39
+ httpTask.SetHeaders(new Dictionary<string, string>
40
+ {
41
+ ["Content-Type"] = "application/json",
42
+ ["Accept"] = "application/json"
43
+ });
44
+
45
+ httpTask.SetBody(new
46
+ {
47
+ auth = new { type = "m.login.dummy" },
48
+ username = matrixUsername,
49
+ password = synapsePassword
50
+ });
51
+ return new ScriptResponse();
52
+ }
53
+
54
+ public Task<ScriptResponse> OutputHandler(ScriptContext context)
55
+ {
56
+ return Task.FromResult(new ScriptResponse());
57
+ }
58
+
59
+ private string GetString(dynamic obj, string name)
60
+ {
61
+ if (obj == null) return null;
62
+ try
63
+ {
64
+ if (HasProperty(obj, name))
65
+ {
66
+ var v = GetPropertyValue(obj, name);
67
+ return v?.ToString();
68
+ }
69
+ }
70
+ catch { }
71
+ return null;
72
+ }
73
+ }
@@ -49,7 +49,7 @@
49
49
  },
50
50
  "mapping": {
51
51
  "location": "./src/CheckExistingPermanentChatRoomMapping.csx",
52
- "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgY2hlY2stZXhpc3RpbmctcGVybWFuZW50LWNoYXQtcm9vbSBEYXByU2VydmljZVRhc2sgKFR5cGUgMykuCi8vLyBDYWxscyBnZXQtY2hhdC1yb29tcyBmbG93IGZ1bmN0aW9uIHdpdGggdXNlciBhbmQgcm9vbVR5cGU9cGVybWFuZW50IGZyb20gSW5zdGFuY2VEYXRhLgovLy8gT3V0cHV0OiBoYXNFeGlzdGluZ1Blcm1hbmVudFJvb20gKGJvb2wpLCBleGlzdGluZ1Jvb21BZHZpc29yTWF0Y2hlcyAoYm9vbCksIGV4aXN0aW5nQ2hhdFJvb21JbnN0YW5jZUtleSAoc3RyaW5nKS4KLy8vIC0gaGFzRXhpc3RpbmdQZXJtYW5lbnRSb29tOiB0cnVlIG9ubHkgaWYgdXNlciBoYXMgYSBwZXJtYW5lbnQgcm9vbSB3aXRoIHRoZSBzYW1lIGFkdmlzb3JUeXBlIChlLmcuIFBNIHJlcXVlc3Qgb25seSBjb3VudHMgUE0gcm9vbXM7IElBIHJlcXVlc3Qgb25seSBjb3VudHMgSUEgcm9vbXMpLgovLy8gLSBleGlzdGluZ1Jvb21BZHZpc29yTWF0Y2hlczogdHJ1ZSBpZiB0aGF0IHJvb20ncyBhZHZpc29ySWQgYWxzbyBtYXRjaGVzOyBmYWxzZSBvdGhlcndpc2UuCi8vLyAtIGV4aXN0aW5nQ2hhdFJvb21JbnN0YW5jZUtleToga2V5IG9mIG1hdGNoaW5nIHJvb20sIG9yIGZpcnN0IHJvb20gd2l0aCBzYW1lIGFkdmlzb3JUeXBlIHdoZW4gbm8gbWF0Y2ggKGZvciB0cmFuc2ZlcikuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDaGVja0V4aXN0aW5nUGVybWFuZW50Q2hhdFJvb21NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzZXJ2aWNlVGFzayA9IHRhc2sgYXMgRGFwclNlcnZpY2VUYXNrOwogICAgICAgIGlmIChzZXJ2aWNlVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgRGFwclNlcnZpY2VUYXNrIik7CgogICAgICAgIHZhciBhcHBJZCA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX0FQUF9JRCIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoYXBwSWQpKQogICAgICAgICAgICBzZXJ2aWNlVGFzay5TZXRBcHBJZChhcHBJZCk7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgdXNlciA9IEdldFN0cmluZyhkYXRhLCAidXNlciIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHVzZXIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigidXNlciBpcyByZXF1aXJlZCBpbiBpbnN0YW5jZSBkYXRhIik7CgogICAgICAgIHZhciBxdWVyeVBhcmFtcyA9IG5ldyBMaXN0PHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgICJ1c2VyPSIgKyBVcmkuRXNjYXBlRGF0YVN0cmluZyh1c2VyLlRyaW0oKSksCiAgICAgICAgICAgICJyb29tVHlwZT1wZXJtYW5lbnQiLAogICAgICAgICAgICAic3RhdGU9YWN0aXZhdGVkIiwKICAgICAgICAgICAgInBhZ2VTaXplPTIwIgogICAgICAgIH07CiAgICAgICAgc2VydmljZVRhc2suU2V0UXVlcnlTdHJpbmcoc3RyaW5nLkpvaW4oIiYiLCBxdWVyeVBhcmFtcykpOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gY29udGV4dC5Cb2R5OwogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgYWR2aXNvcklkID0gR2V0U3RyaW5nKGRhdGEsICJhZHZpc29ySWQiKTsKICAgICAgICB2YXIgYWR2aXNvclR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgImFkdmlzb3JUeXBlIik7CgogICAgICAgIGJvb2wgaGFzRXhpc3RpbmdQZXJtYW5lbnRSb29tID0gZmFsc2U7CiAgICAgICAgYm9vbCBleGlzdGluZ1Jvb21BZHZpc29yTWF0Y2hlcyA9IGZhbHNlOwogICAgICAgIHN0cmluZyBleGlzdGluZ0NoYXRSb29tSW5zdGFuY2VLZXkgPSBudWxsOwogICAgICAgIHN0cmluZyBmaXJzdFJvb21XaXRoU2FtZUFkdmlzb3JUeXBlS2V5ID0gbnVsbDsKCiAgICAgICAgaWYgKHJlc3BvbnNlPy5pc1N1Y2Nlc3MgPT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIHZhciByZXNwb25zZURhdGEgPSByZXNwb25zZT8uZGF0YSA/PyByZXNwb25zZT8uRGF0YSA/PyByZXNwb25zZTsKICAgICAgICAgICAgdmFyIHJvb21zID0gR2V0Um9vbXNMaXN0KHJlc3BvbnNlRGF0YSk7CiAgICAgICAgICAgIGlmIChyb29tcyAhPSBudWxsKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICh2YXIgcm9vbSBpbiByb29tcykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcm9vbUFkdmlzb3JUeXBlID0gR2V0U3RyaW5nKHJvb20sICJhZHZpc29yVHlwZSIpOwogICAgICAgICAgICAgICAgICAgIGlmICghc3RyaW5nLkVxdWFscyhyb29tQWR2aXNvclR5cGU/LlRyaW0oKSwgYWR2aXNvclR5cGU/LlRyaW0oKSwgU3RyaW5nQ29tcGFyaXNvbi5PcmRpbmFsSWdub3JlQ2FzZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgICAgICB2YXIgcm9vbUtleSA9IEdldFN0cmluZyhyb29tLCAiaW5zdGFuY2VLZXkiKSA/PyBHZXRTdHJpbmcocm9vbSwgImtleSIpOwogICAgICAgICAgICAgICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHJvb21LZXkpKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0Um9vbVdpdGhTYW1lQWR2aXNvclR5cGVLZXkgPT0gbnVsbCkKICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RSb29tV2l0aFNhbWVBZHZpc29yVHlwZUtleSA9IHJvb21LZXk7CgogICAgICAgICAgICAgICAgICAgIGhhc0V4aXN0aW5nUGVybWFuZW50Um9vbSA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgIHZhciByb29tQWR2aXNvcklkID0gR2V0U3RyaW5nKHJvb20sICJhZHZpc29ySWQiKTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nLkVxdWFscyhyb29tQWR2aXNvcklkPy5UcmltKCksIGFkdmlzb3JJZD8uVHJpbSgpLCBTdHJpbmdDb21wYXJpc29uLk9yZGluYWxJZ25vcmVDYXNlKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nUm9vbUFkdmlzb3JNYXRjaGVzID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmdDaGF0Um9vbUluc3RhbmNlS2V5ID0gcm9vbUtleTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChoYXNFeGlzdGluZ1Blcm1hbmVudFJvb20gJiYgZXhpc3RpbmdDaGF0Um9vbUluc3RhbmNlS2V5ID09IG51bGwpCiAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmdDaGF0Um9vbUluc3RhbmNlS2V5ID0gZmlyc3RSb29tV2l0aFNhbWVBZHZpc29yVHlwZUtleTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICB7CiAgICAgICAgICAgIERhdGEgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaGFzRXhpc3RpbmdQZXJtYW5lbnRSb29tID0gaGFzRXhpc3RpbmdQZXJtYW5lbnRSb29tLAogICAgICAgICAgICAgICAgZXhpc3RpbmdSb29tQWR2aXNvck1hdGNoZXMgPSBleGlzdGluZ1Jvb21BZHZpc29yTWF0Y2hlcywKICAgICAgICAgICAgICAgIGV4aXN0aW5nQ2hhdFJvb21JbnN0YW5jZUtleSA9IGV4aXN0aW5nQ2hhdFJvb21JbnN0YW5jZUtleQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBTeXN0ZW0uQ29sbGVjdGlvbnMuSUVudW1lcmFibGUgR2V0Um9vbXNMaXN0KGR5bmFtaWMgcmVzcG9uc2VEYXRhKQogICAgewogICAgICAgIGlmIChyZXNwb25zZURhdGEgPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICAvLyBEaXJlY3Qgcm9vbXMKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KHJlc3BvbnNlRGF0YSwgInJvb21zIikgJiYgcmVzcG9uc2VEYXRhLnJvb21zICE9IG51bGwpCiAgICAgICAgICAgICAgICByZXR1cm4gcmVzcG9uc2VEYXRhLnJvb21zOwogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkocmVzcG9uc2VEYXRhLCAiZGF0YSIpICYmIHJlc3BvbnNlRGF0YS5kYXRhICE9IG51bGwgJiYgSGFzUHJvcGVydHkocmVzcG9uc2VEYXRhLmRhdGEsICJyb29tcyIpKQogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlRGF0YS5kYXRhLnJvb21zOwogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkocmVzcG9uc2VEYXRhLCAiRGF0YSIpICYmIHJlc3BvbnNlRGF0YS5EYXRhICE9IG51bGwgJiYgSGFzUHJvcGVydHkocmVzcG9uc2VEYXRhLkRhdGEsICJyb29tcyIpKQogICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlRGF0YS5EYXRhLnJvb21zOwoKICAgICAgICAgICAgLy8gV3JhcHBlZDogY2hlY2tFeGlzdGluZ0RhdGEuaXRlbXNbXS5nZXRDaGF0Um9vbXMucm9vbXMgKHJ1bnRpbWUgdGFzayByZXN1bHQgc2hhcGUpCiAgICAgICAgICAgIHZhciBjaGVja0V4aXN0aW5nID0gR2V0VmFsdWUocmVzcG9uc2VEYXRhLCAiY2hlY2tFeGlzdGluZ0RhdGEiKSA/PyBHZXRWYWx1ZShyZXNwb25zZURhdGEsICJkYXRhIik7CiAgICAgICAgICAgIHZhciByb290ID0gY2hlY2tFeGlzdGluZyA/PyByZXNwb25zZURhdGE7CiAgICAgICAgICAgIGlmIChyb290ICE9IG51bGwgJiYgSGFzUHJvcGVydHkocm9vdCwgIml0ZW1zIikgJiYgcm9vdC5pdGVtcyAhPSBudWxsKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgaXRlbXMgPSByb290Lml0ZW1zIGFzIFN5c3RlbS5Db2xsZWN0aW9ucy5JRW51bWVyYWJsZTsKICAgICAgICAgICAgICAgIGlmIChpdGVtcyAhPSBudWxsKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIGl0ZW1zKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0gPT0gbnVsbCkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBnZXRDaGF0Um9vbXMgPSBHZXRWYWx1ZShpdGVtLCAiZ2V0Q2hhdFJvb21zIik7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRDaGF0Um9vbXMgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShnZXRDaGF0Um9vbXMsICJyb29tcyIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcm9vbXMgPSBHZXRWYWx1ZShnZXRDaGF0Um9vbXMsICJyb29tcyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJvb21zIGlzIFN5c3RlbS5Db2xsZWN0aW9ucy5JRW51bWVyYWJsZSBlbiAmJiBlbiAhPSBudWxsKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbjsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBwcml2YXRlIG9iamVjdCBHZXRWYWx1ZShkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICAgICAgcmV0dXJuIEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk/LlRyaW0oKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo="
52
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgY2hlY2stZXhpc3RpbmctcGVybWFuZW50LWNoYXQtcm9vbSBEYXByU2VydmljZVRhc2sgKFR5cGUgMykuCi8vLyBDYWxscyBnZXQtY2hhdC1yb29tcyBmbG93IGZ1bmN0aW9uIHdpdGggdXNlciBhbmQgcm9vbVR5cGU9cGVybWFuZW50IGZyb20gSW5zdGFuY2VEYXRhLgovLy8gT3V0cHV0OiBoYXNFeGlzdGluZ1Blcm1hbmVudFJvb20gKGJvb2wpLCBleGlzdGluZ1Jvb21BZHZpc29yTWF0Y2hlcyAoYm9vbCksIGV4aXN0aW5nQ2hhdFJvb21JbnN0YW5jZUtleSAoc3RyaW5nKS4KLy8vIC0gaGFzRXhpc3RpbmdQZXJtYW5lbnRSb29tOiB0cnVlIG9ubHkgaWYgdXNlciBoYXMgYSBwZXJtYW5lbnQgcm9vbSB3aXRoIHRoZSBzYW1lIGFkdmlzb3JUeXBlIChlLmcuIFBNIHJlcXVlc3Qgb25seSBjb3VudHMgUE0gcm9vbXM7IElBIHJlcXVlc3Qgb25seSBjb3VudHMgSUEgcm9vbXMpLgovLy8gLSBleGlzdGluZ1Jvb21BZHZpc29yTWF0Y2hlczogdHJ1ZSBpZiB0aGF0IHJvb20ncyBhZHZpc29ySWQgYWxzbyBtYXRjaGVzOyBmYWxzZSBvdGhlcndpc2UuCi8vLyAtIGV4aXN0aW5nQ2hhdFJvb21JbnN0YW5jZUtleToga2V5IG9mIG1hdGNoaW5nIHJvb20sIG9yIGZpcnN0IHJvb20gd2l0aCBzYW1lIGFkdmlzb3JUeXBlIHdoZW4gbm8gbWF0Y2ggKGZvciB0cmFuc2ZlcikuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDaGVja0V4aXN0aW5nUGVybWFuZW50Q2hhdFJvb21NYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzZXJ2aWNlVGFzayA9IHRhc2sgYXMgRGFwclNlcnZpY2VUYXNrOwogICAgICAgIGlmIChzZXJ2aWNlVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgRGFwclNlcnZpY2VUYXNrIik7CgogICAgICAgIHZhciBhcHBJZCA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX0FQUF9JRCIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoYXBwSWQpKQogICAgICAgICAgICBzZXJ2aWNlVGFzay5TZXRBcHBJZChhcHBJZCk7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICBpZiAoZGF0YSA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiSW5zdGFuY2UgZGF0YSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgdXNlciA9IEdldFN0cmluZyhkYXRhLCAidXNlciIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHVzZXIpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigidXNlciBpcyByZXF1aXJlZCBpbiBpbnN0YW5jZSBkYXRhIik7CgogICAgICAgIHZhciBxdWVyeVBhcmFtcyA9IG5ldyBMaXN0PHN0cmluZz4KICAgICAgICB7CiAgICAgICAgICAgICJ1c2VyPSIgKyBVcmkuRXNjYXBlRGF0YVN0cmluZyh1c2VyLlRyaW0oKSksCiAgICAgICAgICAgICJyb29tVHlwZT1wZXJtYW5lbnQiLAogICAgICAgICAgICAic3RhdGU9YWN0aXZhdGVkIiwKICAgICAgICAgICAgInBhZ2VTaXplPTIwIgogICAgICAgIH07CiAgICAgICAgc2VydmljZVRhc2suU2V0UXVlcnlTdHJpbmcoc3RyaW5nLkpvaW4oIiYiLCBxdWVyeVBhcmFtcykpOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gT3V0cHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHJlc3BvbnNlID0gY29udGV4dC5Cb2R5OwogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgYWR2aXNvcklkID0gR2V0U3RyaW5nKGRhdGEsICJhZHZpc29ySWQiKTsKICAgICAgICB2YXIgYWR2aXNvclR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgImFkdmlzb3JUeXBlIik7CgogICAgICAgIGJvb2wgaGFzRXhpc3RpbmdQZXJtYW5lbnRSb29tID0gZmFsc2U7CiAgICAgICAgYm9vbCBleGlzdGluZ1Jvb21BZHZpc29yTWF0Y2hlcyA9IGZhbHNlOwogICAgICAgIHN0cmluZyBleGlzdGluZ0NoYXRSb29tSW5zdGFuY2VLZXkgPSBudWxsOwogICAgICAgIHN0cmluZyBmaXJzdFJvb21XaXRoU2FtZUFkdmlzb3JUeXBlS2V5ID0gbnVsbDsKCiAgICAgICAgaWYgKHJlc3BvbnNlPy5pc1N1Y2Nlc3MgPT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIHZhciByZXNwb25zZURhdGEgPSByZXNwb25zZT8uZGF0YSA/PyByZXNwb25zZT8uRGF0YSA/PyByZXNwb25zZTsKICAgICAgICAgICAgdmFyIHJvb21zID0gR2V0Um9vbXNMaXN0KHJlc3BvbnNlRGF0YSk7CiAgICAgICAgICAgIGlmIChyb29tcyAhPSBudWxsKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmb3JlYWNoICh2YXIgcm9vbSBpbiByb29tcykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB2YXIgcm9vbUFkdmlzb3JUeXBlID0gR2V0U3RyaW5nKHJvb20sICJhZHZpc29yVHlwZSIpOwogICAgICAgICAgICAgICAgICAgIGlmICghc3RyaW5nLkVxdWFscyhyb29tQWR2aXNvclR5cGU/LlRyaW0oKSwgYWR2aXNvclR5cGU/LlRyaW0oKSwgU3RyaW5nQ29tcGFyaXNvbi5PcmRpbmFsSWdub3JlQ2FzZSkpCiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAgICAgICB2YXIgcm9vbUtleSA9IEdldFN0cmluZyhyb29tLCAiaW5zdGFuY2VLZXkiKSA/PyBHZXRTdHJpbmcocm9vbSwgImtleSIpOwogICAgICAgICAgICAgICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHJvb21LZXkpKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0Um9vbVdpdGhTYW1lQWR2aXNvclR5cGVLZXkgPT0gbnVsbCkKICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RSb29tV2l0aFNhbWVBZHZpc29yVHlwZUtleSA9IHJvb21LZXk7CgogICAgICAgICAgICAgICAgICAgIGhhc0V4aXN0aW5nUGVybWFuZW50Um9vbSA9IHRydWU7CgogICAgICAgICAgICAgICAgICAgIHZhciByb29tQWR2aXNvcklkID0gR2V0U3RyaW5nKHJvb20sICJhZHZpc29ySWQiKTsKICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nLkVxdWFscyhyb29tQWR2aXNvcklkPy5UcmltKCksIGFkdmlzb3JJZD8uVHJpbSgpLCBTdHJpbmdDb21wYXJpc29uLk9yZGluYWxJZ25vcmVDYXNlKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIGV4aXN0aW5nUm9vbUFkdmlzb3JNYXRjaGVzID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmdDaGF0Um9vbUluc3RhbmNlS2V5ID0gcm9vbUtleTsKICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmIChoYXNFeGlzdGluZ1Blcm1hbmVudFJvb20gJiYgZXhpc3RpbmdDaGF0Um9vbUluc3RhbmNlS2V5ID09IG51bGwpCiAgICAgICAgICAgICAgICAgICAgZXhpc3RpbmdDaGF0Um9vbUluc3RhbmNlS2V5ID0gZmlyc3RSb29tV2l0aFNhbWVBZHZpc29yVHlwZUtleTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICB7CiAgICAgICAgICAgIERhdGEgPSBuZXcKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaGFzRXhpc3RpbmdQZXJtYW5lbnRSb29tID0gaGFzRXhpc3RpbmdQZXJtYW5lbnRSb29tLAogICAgICAgICAgICAgICAgZXhpc3RpbmdSb29tQWR2aXNvck1hdGNoZXMgPSBleGlzdGluZ1Jvb21BZHZpc29yTWF0Y2hlcywKICAgICAgICAgICAgICAgIGV4aXN0aW5nQ2hhdFJvb21JbnN0YW5jZUtleSA9IGV4aXN0aW5nQ2hhdFJvb21JbnN0YW5jZUtleQogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9CgogICAgcHJpdmF0ZSBTeXN0ZW0uQ29sbGVjdGlvbnMuSUVudW1lcmFibGUgR2V0Um9vbXNMaXN0KGR5bmFtaWMgcmVzcG9uc2VEYXRhKQogICAgewogICAgICAgIGlmIChyZXNwb25zZURhdGEgPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICAvLyByZXNwb25zZURhdGEuZ2V0Q2hhdFJvb21zLnJvb21zCiAgICAgICAgICAgIHZhciBkaXJlY3RDaGF0Um9vbXMgPSBHZXRWYWx1ZShyZXNwb25zZURhdGEsICJnZXRDaGF0Um9vbXMiKTsKICAgICAgICAgICAgaWYgKGRpcmVjdENoYXRSb29tcyAhPSBudWxsICYmIEhhc1Byb3BlcnR5KGRpcmVjdENoYXRSb29tcywgInJvb21zIikgJiYgZGlyZWN0Q2hhdFJvb21zLnJvb21zICE9IG51bGwpCiAgICAgICAgICAgICAgICByZXR1cm4gZGlyZWN0Q2hhdFJvb21zLnJvb21zOwoKICAgICAgICAgICAgLy8gV3JhcHBlZDogY2hlY2tFeGlzdGluZ0RhdGEuaXRlbXNbXS5nZXRDaGF0Um9vbXMucm9vbXMgKHJ1bnRpbWUgdGFzayByZXN1bHQgc2hhcGUpCiAgICAgICAgICAgIHZhciBjaGVja0V4aXN0aW5nID0gR2V0VmFsdWUocmVzcG9uc2VEYXRhLCAiY2hlY2tFeGlzdGluZ0RhdGEiKSA/PyBHZXRWYWx1ZShyZXNwb25zZURhdGEsICJkYXRhIik7CiAgICAgICAgICAgIHZhciByb290ID0gY2hlY2tFeGlzdGluZyA/PyByZXNwb25zZURhdGE7CiAgICAgICAgICAgIGlmIChyb290ICE9IG51bGwgJiYgSGFzUHJvcGVydHkocm9vdCwgIml0ZW1zIikgJiYgcm9vdC5pdGVtcyAhPSBudWxsKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgaXRlbXMgPSByb290Lml0ZW1zIGFzIFN5c3RlbS5Db2xsZWN0aW9ucy5JRW51bWVyYWJsZTsKICAgICAgICAgICAgICAgIGlmIChpdGVtcyAhPSBudWxsKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIGl0ZW1zKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0gPT0gbnVsbCkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBnZXRDaGF0Um9vbXMgPSBHZXRWYWx1ZShpdGVtLCAiZ2V0Q2hhdFJvb21zIik7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnZXRDaGF0Um9vbXMgIT0gbnVsbCAmJiBIYXNQcm9wZXJ0eShnZXRDaGF0Um9vbXMsICJyb29tcyIpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcm9vbXMgPSBHZXRWYWx1ZShnZXRDaGF0Um9vbXMsICJyb29tcyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJvb21zIGlzIFN5c3RlbS5Db2xsZWN0aW9ucy5JRW51bWVyYWJsZSBlbiAmJiBlbiAhPSBudWxsKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBlbjsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBwcml2YXRlIG9iamVjdCBHZXRWYWx1ZShkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICAgICAgcmV0dXJuIEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSBzdHJpbmcgR2V0U3RyaW5nKGR5bmFtaWMgb2JqLCBzdHJpbmcgbmFtZSkKICAgIHsKICAgICAgICBpZiAob2JqID09IG51bGwpIHJldHVybiBudWxsOwogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgICAgaWYgKEhhc1Byb3BlcnR5KG9iaiwgbmFtZSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZhciB2ID0gR2V0UHJvcGVydHlWYWx1ZShvYmosIG5hbWUpOwogICAgICAgICAgICAgICAgcmV0dXJuIHY/LlRvU3RyaW5nKCk/LlRyaW0oKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KfQo="
53
53
  }
54
54
  }
55
55
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burgan-tech/morph-touch-runtime",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "description": "morph-touch - Runtime Package for engine deployment",
5
5
  "main": "index.js",
6
6
  "type": "module",
package/vnext.config.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.8",
2
+ "version": "0.0.9",
3
3
  "description": "morph-touch Domain Definition Configuration",
4
4
  "domain": "morph-touch",
5
5
  "runtimeVersion": "0.0.41",