@burgan-tech/morph-touch-runtime 0.0.2

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.
Files changed (244) hide show
  1. package/LICENSE +21 -0
  2. package/burgan-tech-morph-touch-runtime-0.0.2.tgz +0 -0
  3. package/package.json +21 -0
  4. package/touch/Extensions/.gitkeep +0 -0
  5. package/touch/Functions/.gitkeep +0 -0
  6. package/touch/Functions/check-livekit-room-access.1.0.0.json +28 -0
  7. package/touch/Functions/check-livekit-room-access.http +44 -0
  8. package/touch/Functions/get-absence-entry.1.0.0.json +28 -0
  9. package/touch/Functions/get-advisor-stats.1.0.0.json +27 -0
  10. package/touch/Functions/get-available-slots.1.0.0.json +30 -0
  11. package/touch/Functions/get-available-slots.http +29 -0
  12. package/touch/Functions/get-chat-rooms.1.0.0.json +28 -0
  13. package/touch/Functions/get-chat-rooms.http +62 -0
  14. package/touch/Functions/get-customer-info.1.0.0.json +27 -0
  15. package/touch/Functions/get-matrix-sync.1.0.0.json +28 -0
  16. package/touch/Functions/get-rezervations.1.0.0.json +26 -0
  17. package/touch/Functions/get-rezervations.http +59 -0
  18. package/touch/Functions/get-room-messages.1.0.0.json +29 -0
  19. package/touch/Functions/get-room-messages.http +45 -0
  20. package/touch/Functions/rezervation-transfer.http +118 -0
  21. package/touch/Functions/send-room-message.1.0.0.json +29 -0
  22. package/touch/Functions/src/CheckLivekitRoomAccessMapping.csx +238 -0
  23. package/touch/Functions/src/GetAbsenceEntryMapping.csx +225 -0
  24. package/touch/Functions/src/GetAdvisorStatsMapping.csx +190 -0
  25. package/touch/Functions/src/GetAvailableSlotsMapping.csx +468 -0
  26. package/touch/Functions/src/GetChatRoomsMapping.csx +202 -0
  27. package/touch/Functions/src/GetCustomerInfoMapping.csx +140 -0
  28. package/touch/Functions/src/GetMatrixSyncMapping.csx +197 -0
  29. package/touch/Functions/src/GetRezervationsMapping.csx +162 -0
  30. package/touch/Functions/src/GetRoomMessagesMapping.csx +165 -0
  31. package/touch/Functions/src/SendCancelNotificationMapping.csx +63 -0
  32. package/touch/Functions/src/SendRoomMessageMapping.csx +131 -0
  33. package/touch/Schemas/.gitkeep +0 -0
  34. package/touch/Schemas/absence-entry.1.0.0.json +232 -0
  35. package/touch/Schemas/advisor-chat-rooms.1.0.0.json +62 -0
  36. package/touch/Schemas/chat-room.1.0.0.json +110 -0
  37. package/touch/Schemas/notification-sender.1.0.0.json +159 -0
  38. package/touch/Schemas/portfolio-manager.1.0.0.json +63 -0
  39. package/touch/Schemas/rezervation.1.0.0.json +102 -0
  40. package/touch/Tasks/.gitkeep +0 -0
  41. package/touch/Tasks/cancel-absence-entry-for-rezervation.1.0.0.json +21 -0
  42. package/touch/Tasks/check-already-completed-chat-room.1.0.0.json +24 -0
  43. package/touch/Tasks/check-duplicate-portfolio-manager.1.0.0.json +23 -0
  44. package/touch/Tasks/check-duplicate-rezervation.1.0.0.json +23 -0
  45. package/touch/Tasks/check-existing-permanent-chat-room.1.0.0.json +21 -0
  46. package/touch/Tasks/check-randevu-time.1.0.0.json +17 -0
  47. package/touch/Tasks/create-permanent-chat-room.1.0.0.json +28 -0
  48. package/touch/Tasks/determine-transfer-type.1.0.0.json +16 -0
  49. package/touch/Tasks/enrich-rezervations-for-transfer.1.0.0.json +23 -0
  50. package/touch/Tasks/execute-permanent-chatroom-update.1.0.0.json +21 -0
  51. package/touch/Tasks/execute-rez-chatroom-transfer.1.0.0.json +21 -0
  52. package/touch/Tasks/execute-rezervation-transfer.1.0.0.json +19 -0
  53. package/touch/Tasks/fetch-absence-entries-for-transfer.1.0.0.json +23 -0
  54. package/touch/Tasks/fetch-advisors-for-transfer.1.0.0.json +23 -0
  55. package/touch/Tasks/fetch-permanent-chatrooms-for-transfer.1.0.0.json +23 -0
  56. package/touch/Tasks/fetch-rez-chatrooms-for-transfer.1.0.0.json +23 -0
  57. package/touch/Tasks/fetch-rezervations-for-transfer.1.0.0.json +22 -0
  58. package/touch/Tasks/get-absence-entry-task.1.0.0.json +23 -0
  59. package/touch/Tasks/get-available-slots-http.1.0.0.json +27 -0
  60. package/touch/Tasks/get-available-slots.1.0.0.json +24 -0
  61. package/touch/Tasks/get-chat-room-data-for-rezervation.1.0.0.json +23 -0
  62. package/touch/Tasks/get-chat-token.1.0.0.json +27 -0
  63. package/touch/Tasks/get-matrix-room-messages.1.0.0.json +25 -0
  64. package/touch/Tasks/get-matrix-sync.1.0.0.json +25 -0
  65. package/touch/Tasks/get-rezervation-data-task.1.0.0.json +22 -0
  66. package/touch/Tasks/get-rezervation-state-task.1.0.0.json +22 -0
  67. package/touch/Tasks/get-rezervations-task.1.0.0.json +21 -0
  68. package/touch/Tasks/get-user-info-for-rezervation.1.0.0.json +24 -0
  69. package/touch/Tasks/get-video-call-url.1.0.0.json +17 -0
  70. package/touch/Tasks/invite-user-to-rezervation-room.1.0.0.json +27 -0
  71. package/touch/Tasks/join-chat-room-for-rezervation.1.0.0.json +28 -0
  72. package/touch/Tasks/join-matrix-room.1.0.0.json +27 -0
  73. package/touch/Tasks/join-user-to-room.1.0.0.json +27 -0
  74. package/touch/Tasks/merge-invited-user.1.0.0.json +17 -0
  75. package/touch/Tasks/merge-rezervation-update.1.0.0.json +16 -0
  76. package/touch/Tasks/merge-target-advisor-for-transfer.1.0.0.json +17 -0
  77. package/touch/Tasks/merge-update-body-for-randevu-update.1.0.0.json +16 -0
  78. package/touch/Tasks/merge-video-call-urls.1.0.0.json +17 -0
  79. package/touch/Tasks/query-chat-room-instances.1.0.0.json +23 -0
  80. package/touch/Tasks/remove-member-from-room.1.0.0.json +28 -0
  81. package/touch/Tasks/send-matrix-room-message.1.0.0.json +26 -0
  82. package/touch/Tasks/send-push-notification.1.0.0.json +26 -0
  83. package/touch/Tasks/send-sms-notification.1.0.0.json +26 -0
  84. package/touch/Tasks/set-chat-room-status-active.1.0.0.json +16 -0
  85. package/touch/Tasks/set-chat-room-status-deactive.1.0.0.json +16 -0
  86. package/touch/Tasks/set-previous-advisor.1.0.0.json +16 -0
  87. package/touch/Tasks/set-user-from-headers-for-rezervation.1.0.0.json +17 -0
  88. package/touch/Tasks/start-absence-entry-for-rezervation.1.0.0.json +21 -0
  89. package/touch/Tasks/start-chat-room-for-rezervation.1.0.0.json +20 -0
  90. package/touch/Tasks/start-notification-sender.1.0.0.json +20 -0
  91. package/touch/Tasks/start-permanent-chat-room.1.0.0.json +21 -0
  92. package/touch/Tasks/start-transfer-from-absence-entry.1.0.0.json +19 -0
  93. package/touch/Tasks/start-video-call.1.0.0.json +22 -0
  94. package/touch/Tasks/trigger-chat-room-deactivate.1.0.0.json +21 -0
  95. package/touch/Tasks/trigger-chat-room-transfer.1.0.0.json +21 -0
  96. package/touch/Tasks/trigger-chat-room-update.1.0.0.json +20 -0
  97. package/touch/Tasks/trigger-rezervation-add-invited-participant.1.0.0.json +20 -0
  98. package/touch/Tasks/trigger-rezervation-apply-update.1.0.0.json +20 -0
  99. package/touch/Tasks/trigger-rezervation-to-in-meet.1.0.0.json +20 -0
  100. package/touch/Tasks/trigger-rezervation-video-call-update.1.0.0.json +21 -0
  101. package/touch/Tasks/validate-date-for-rezervation.1.0.0.json +18 -0
  102. package/touch/Tasks/validate-slot-for-rezervation.1.0.0.json +24 -0
  103. package/touch/Tasks/validate-transfer-availability.1.0.0.json +23 -0
  104. package/touch/Views/.gitkeep +0 -0
  105. package/touch/Workflows/.gitkeep +0 -0
  106. package/touch/Workflows/absence-entry.http +458 -0
  107. package/touch/Workflows/absence-entry.json +179 -0
  108. package/touch/Workflows/add-participant-to-rezervation.http +47 -0
  109. package/touch/Workflows/add-participant-to-rezervation.json +340 -0
  110. package/touch/Workflows/chat-room.http +207 -0
  111. package/touch/Workflows/chat-room.json +452 -0
  112. package/touch/Workflows/investment-advisor.json +367 -0
  113. package/touch/Workflows/notification-sender.http +299 -0
  114. package/touch/Workflows/notification-sender.json +262 -0
  115. package/touch/Workflows/portfolio-manager.json +367 -0
  116. package/touch/Workflows/randevu-update.http +87 -0
  117. package/touch/Workflows/rezervation-start.json +467 -0
  118. package/touch/Workflows/rezervation-transfer.json +512 -0
  119. package/touch/Workflows/rezervation-update.http +87 -0
  120. package/touch/Workflows/rezervation-update.json +485 -0
  121. package/touch/Workflows/rezervation.http +214 -0
  122. package/touch/Workflows/rezervation.json +726 -0
  123. package/touch/Workflows/src/AllChatRoomsSuccessRule.csx +65 -0
  124. package/touch/Workflows/src/AlwaysTrueRule.csx +13 -0
  125. package/touch/Workflows/src/AnyChatRoomFailedRule.csx +64 -0
  126. package/touch/Workflows/src/AutoProcessRule.csx +38 -0
  127. package/touch/Workflows/src/BuildRezChatRoomPlanMapping.csx +160 -0
  128. package/touch/Workflows/src/CanStartRezervationTimerMapping.csx +48 -0
  129. package/touch/Workflows/src/CanStartTransferMapping.csx +14 -0
  130. package/touch/Workflows/src/CancelAbsenceEntryForRezervationMapping.csx +48 -0
  131. package/touch/Workflows/src/CancelAbsenceForRandevuUpdateMapping.csx +62 -0
  132. package/touch/Workflows/src/ChatRoomCreatedFailedRule.csx +54 -0
  133. package/touch/Workflows/src/ChatRoomCreatedSuccessRule.csx +54 -0
  134. package/touch/Workflows/src/ChatRoomRemoveMapping.csx +104 -0
  135. package/touch/Workflows/src/ChatRoomTransferInviteMapping.csx +109 -0
  136. package/touch/Workflows/src/ChatRoomTransferRemoveMapping.csx +71 -0
  137. package/touch/Workflows/src/ChatRoomUpdateMapping.csx +107 -0
  138. package/touch/Workflows/src/CheckAlreadyCompletedChatRoomMapping.csx +100 -0
  139. package/touch/Workflows/src/CheckDuplicatePortfolioManagerMapping.csx +119 -0
  140. package/touch/Workflows/src/CheckDuplicateRezervationMapping.csx +150 -0
  141. package/touch/Workflows/src/CheckExistingPermanentChatRoomMapping.csx +169 -0
  142. package/touch/Workflows/src/CheckRandevuTimeMapping.csx +67 -0
  143. package/touch/Workflows/src/CheckRezervationStateActiveOrInMeetRule.csx +14 -0
  144. package/touch/Workflows/src/CreateAbsenceEntryForRezervationMapping.csx +111 -0
  145. package/touch/Workflows/src/CreateAbsenceForRandevuUpdateMapping.csx +108 -0
  146. package/touch/Workflows/src/CreateChatRoomForRezervationMapping.csx +122 -0
  147. package/touch/Workflows/src/CreatePermanentChatRoomMapping.csx +140 -0
  148. package/touch/Workflows/src/CustomerControlToEndRule.csx +14 -0
  149. package/touch/Workflows/src/DetermineTransferTypeMapping.csx +92 -0
  150. package/touch/Workflows/src/EnrichRezervationsForTransferMapping.csx +495 -0
  151. package/touch/Workflows/src/ExecutePermanentChatRoomUpdateMapping.csx +124 -0
  152. package/touch/Workflows/src/ExecuteRezChatRoomTransferMapping.csx +95 -0
  153. package/touch/Workflows/src/ExecuteTransferMapping.csx +152 -0
  154. package/touch/Workflows/src/FetchAbsenceEntriesForTransferMapping.csx +116 -0
  155. package/touch/Workflows/src/FetchAdvisorsForTransferMapping.csx +145 -0
  156. package/touch/Workflows/src/FetchPermanentChatRoomsMapping.csx +128 -0
  157. package/touch/Workflows/src/FetchRezervationsForTransferMapping.csx +124 -0
  158. package/touch/Workflows/src/GetChatRoomDataForRezervationMapping.csx +100 -0
  159. package/touch/Workflows/src/GetChatTokenMapping.csx +85 -0
  160. package/touch/Workflows/src/GetRezervationDataForAddParticipantMapping.csx +105 -0
  161. package/touch/Workflows/src/GetRezervationDataForRandevuUpdateMapping.csx +110 -0
  162. package/touch/Workflows/src/GetRezervationDataMapping.csx +111 -0
  163. package/touch/Workflows/src/GetRezervationStateForRandevuUpdateMapping.csx +80 -0
  164. package/touch/Workflows/src/GetRezervationStateMapping.csx +92 -0
  165. package/touch/Workflows/src/GetUserInfoForRezervationMapping.csx +63 -0
  166. package/touch/Workflows/src/GetVideoCallUrlMapping.csx +62 -0
  167. package/touch/Workflows/src/HasChangedAdvisorRule.csx +28 -0
  168. package/touch/Workflows/src/HasChatIntegrationRule.csx +41 -0
  169. package/touch/Workflows/src/HasExistingPermanentRoomRule.csx +28 -0
  170. package/touch/Workflows/src/InviteAdvisorForRandevuUpdateMapping.csx +86 -0
  171. package/touch/Workflows/src/InviteNewAdvisorToRezervationRoomMapping.csx +78 -0
  172. package/touch/Workflows/src/InviteNewParticipantToRandevuRoomMapping.csx +88 -0
  173. package/touch/Workflows/src/InvitedUserMergeMapping.csx +77 -0
  174. package/touch/Workflows/src/InvitedUserNotAllowedRule.csx +71 -0
  175. package/touch/Workflows/src/InvitedUserNotInMeetRule.csx +19 -0
  176. package/touch/Workflows/src/IsNotfSentRule.csx +36 -0
  177. package/touch/Workflows/src/JoinChatRoomForAddParticipantMapping.csx +118 -0
  178. package/touch/Workflows/src/JoinChatRoomForRandevuStartMapping.csx +119 -0
  179. package/touch/Workflows/src/JoinChatRoomForRezervationMapping.csx +118 -0
  180. package/touch/Workflows/src/JoinMatrixRoomMapping.csx +100 -0
  181. package/touch/Workflows/src/JoinUserToRoomMapping.csx +118 -0
  182. package/touch/Workflows/src/LoginForAddParticipantChatMapping.csx +102 -0
  183. package/touch/Workflows/src/LoginForRandevuStartChatMapping.csx +96 -0
  184. package/touch/Workflows/src/MergeRezervationUpdateMapping.csx +82 -0
  185. package/touch/Workflows/src/MergeTargetAdvisorForTransferMapping.csx +79 -0
  186. package/touch/Workflows/src/MergeUpdateBodyForRandevuUpdateMapping.csx +91 -0
  187. package/touch/Workflows/src/NoExistingPermanentRoomRule.csx +23 -0
  188. package/touch/Workflows/src/NotificationCompleteAlwaysRule.csx +14 -0
  189. package/touch/Workflows/src/NotificationCompleteFromPendingRule.csx +41 -0
  190. package/touch/Workflows/src/NotificationCompleteFromSmsRule.csx +36 -0
  191. package/touch/Workflows/src/NotificationPushFromPendingRule.csx +42 -0
  192. package/touch/Workflows/src/NotificationPushFromSmsRule.csx +36 -0
  193. package/touch/Workflows/src/NotificationSmsPendingRule.csx +32 -0
  194. package/touch/Workflows/src/PermanentDoneRule.csx +44 -0
  195. package/touch/Workflows/src/PermanentProcessNextRule.csx +44 -0
  196. package/touch/Workflows/src/RezChatRoomProcessNextRule.csx +44 -0
  197. package/touch/Workflows/src/RezChatRoomsDoneRule.csx +44 -0
  198. package/touch/Workflows/src/SendPushNotificationMapping.csx +146 -0
  199. package/touch/Workflows/src/SendSmsNotificationMapping.csx +138 -0
  200. package/touch/Workflows/src/SetChatRoomStatusActiveMapping.csx +22 -0
  201. package/touch/Workflows/src/SetChatRoomStatusDeactiveMapping.csx +22 -0
  202. package/touch/Workflows/src/SetPreviousAdvisorMapping.csx +28 -0
  203. package/touch/Workflows/src/SetUserFromHeadersForRezervationMapping.csx +24 -0
  204. package/touch/Workflows/src/SlotAvailableRule.csx +33 -0
  205. package/touch/Workflows/src/SlotUnavailableRule.csx +33 -0
  206. package/touch/Workflows/src/StartChatRoomForRezervationMapping.csx +100 -0
  207. package/touch/Workflows/src/StartGetChatTokenForRezervationMapping.csx +71 -0
  208. package/touch/Workflows/src/StartNotificationForAdvisorMapping.csx +117 -0
  209. package/touch/Workflows/src/StartNotificationForRezervationFromUserInfoMapping.csx +128 -0
  210. package/touch/Workflows/src/StartNotificationForUserMapping.csx +117 -0
  211. package/touch/Workflows/src/StartPermanentChatRoomMapping.csx +92 -0
  212. package/touch/Workflows/src/StartTransferFromAbsenceEntryMapping.csx +94 -0
  213. package/touch/Workflows/src/StartVideoCallCustomerSubFlowMapping.csx +37 -0
  214. package/touch/Workflows/src/StartVideoCallForInvitedParticipantMapping.csx +54 -0
  215. package/touch/Workflows/src/StartVideoCallForRandevuStartMapping.csx +70 -0
  216. package/touch/Workflows/src/StartVideoCallStaffSubFlowMapping.csx +37 -0
  217. package/touch/Workflows/src/StateActiveForUpdateRule.csx +14 -0
  218. package/touch/Workflows/src/StateActiveRule.csx +14 -0
  219. package/touch/Workflows/src/StateInMeetRule.csx +14 -0
  220. package/touch/Workflows/src/StateNotActiveForUpdateRule.csx +14 -0
  221. package/touch/Workflows/src/StateNotActiveOrInMeetRule.csx +14 -0
  222. package/touch/Workflows/src/StatusCustomerEnterRule.csx +25 -0
  223. package/touch/Workflows/src/StatusStaffEnterRule.csx +25 -0
  224. package/touch/Workflows/src/SyncWorkingHoursRule.csx +46 -0
  225. package/touch/Workflows/src/TokenSuccessRule.csx +24 -0
  226. package/touch/Workflows/src/TransferAllDoneRule.csx +50 -0
  227. package/touch/Workflows/src/TransferHasInvalidRule.csx +34 -0
  228. package/touch/Workflows/src/TransferProcessNextRule.csx +50 -0
  229. package/touch/Workflows/src/TriggerChatRoomDeactivateMapping.csx +77 -0
  230. package/touch/Workflows/src/TriggerChatRoomTransferMapping.csx +93 -0
  231. package/touch/Workflows/src/TriggerChatRoomUpdateMapping.csx +99 -0
  232. package/touch/Workflows/src/TriggerRezervationAddInvitedParticipantMapping.csx +77 -0
  233. package/touch/Workflows/src/TriggerRezervationApplyUpdateMapping.csx +66 -0
  234. package/touch/Workflows/src/TriggerRezervationToInMeetMapping.csx +69 -0
  235. package/touch/Workflows/src/TriggerRezervationVideoCallUpdateMapping.csx +67 -0
  236. package/touch/Workflows/src/ValidateDateForRezervationMapping.csx +60 -0
  237. package/touch/Workflows/src/ValidateSlotForRandevuUpdateMapping.csx +211 -0
  238. package/touch/Workflows/src/ValidateSlotForRezervationMapping.csx +246 -0
  239. package/touch/Workflows/src/ValidateTransferMapping.csx +243 -0
  240. package/touch/Workflows/src/VideoCallUrlUpdateMergeMapping.csx +141 -0
  241. package/touch/Workflows/start-chat.json +217 -0
  242. package/touch/Workflows/start-video-call.http +93 -0
  243. package/touch/Workflows/start-video-call.json +206 -0
  244. package/vnext.config.json +58 -0
@@ -0,0 +1,340 @@
1
+ {
2
+ "key": "add-participant-to-rezervation",
3
+ "flow": "sys-flows",
4
+ "domain": "touch",
5
+ "flowVersion": "1.0.0",
6
+ "version": "1.0.0",
7
+ "tags": [
8
+ "rezervation",
9
+ "participant",
10
+ "invite"
11
+ ],
12
+ "attributes": {
13
+ "type": "S",
14
+ "labels": [
15
+ {
16
+ "label": "Add New Participant to Rezervation",
17
+ "language": "en-US"
18
+ },
19
+ {
20
+ "label": "Randevuya Yeni Katılımcı Ekle",
21
+ "language": "tr-TR"
22
+ }
23
+ ],
24
+ "functions": [],
25
+ "features": [],
26
+ "extensions": [],
27
+ "sharedTransitions": [],
28
+ "startTransition": {
29
+ "key": "start",
30
+ "target": "check-rezervation-state",
31
+ "versionStrategy": "Major",
32
+ "triggerType": 0,
33
+ "labels": [
34
+ {
35
+ "label": "Start",
36
+ "language": "en-US"
37
+ },
38
+ {
39
+ "label": "Başla",
40
+ "language": "tr-TR"
41
+ }
42
+ ]
43
+ },
44
+ "states": [
45
+ {
46
+ "key": "check-rezervation-state",
47
+ "stateType": 1,
48
+ "versionStrategy": "Minor",
49
+ "labels": [
50
+ {
51
+ "label": "Check Rezervation State",
52
+ "language": "en-US"
53
+ },
54
+ {
55
+ "label": "Rezervasyon Durumunu Kontrol Et",
56
+ "language": "tr-TR"
57
+ }
58
+ ],
59
+ "onEntries": [
60
+ {
61
+ "order": 1,
62
+ "task": {
63
+ "domain": "touch",
64
+ "flow": "sys-tasks",
65
+ "key": "get-rezervation-state-task",
66
+ "version": "1.0.0"
67
+ },
68
+ "mapping": {
69
+ "location": "./src/GetRezervationStateMapping.csx",
70
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZ2V0LXJlemVydmF0aW9uLXN0YXRlLXRhc2sgRGFwclNlcnZpY2VUYXNrLgovLy8gQ2FsbHMgYXBpL3YxL3RvdWNoL3dvcmtmbG93cy9yZXplcnZhdGlvbi9pbnN0YW5jZXMve3JhbmRldnVLZXl9L2Z1bmN0aW9ucy9zdGF0ZQovLy8gU3RhdGUgcmVzcG9uc2U6IHsgInN0YXRlIjogImFjdGl2ZSIsICJzdGF0dXMiOiAiQSIsICJ0cmFuc2l0aW9ucyI6IFsuLi5dLCAuLi4gfSAtIE5PIHVzZXIsIGFkdmlzb3IsIGNoYXRJbnRlZ3JhdGlvbi4KLy8vIE91dHB1dDogc3RhdGUgb25seS4gVXNlIGdldC1yZXplcnZhdGlvbi1kYXRhLXRhc2sgZm9yIHVzZXIsIGFkdmlzb3IsIHN0YXJ0RGF0ZVRpbWUsIGNoYXRJbnRlZ3JhdGlvbi4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIEdldFJlemVydmF0aW9uU3RhdGVNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzZXJ2aWNlVGFzayA9IHRhc2sgYXMgRGFwclNlcnZpY2VUYXNrOwogICAgICAgIGlmIChzZXJ2aWNlVGFzayA9PSBudWxsKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigiVGFzayBtdXN0IGJlIGEgRGFwclNlcnZpY2VUYXNrIik7CgogICAgICAgIHZhciBhcHBJZCA9IEdldENvbmZpZ1ZhbHVlKCJEQVBSX0FQUF9JRCIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoYXBwSWQpKQogICAgICAgICAgICBzZXJ2aWNlVGFzay5TZXRBcHBJZChhcHBJZCk7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgcmFuZGV2dUtleSA9IEdldFN0cmluZyhkYXRhLCAicmFuZGV2dUtleSIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHJhbmRldnVLZXkpKQogICAgICAgICAgICB0aHJvdyBuZXcgSW52YWxpZE9wZXJhdGlvbkV4Y2VwdGlvbigicmFuZGV2dUtleSBpcyByZXF1aXJlZCIpOwoKICAgICAgICB2YXIgcGF0aCA9ICQiYXBpL3YxL3RvdWNoL3dvcmtmbG93cy9yZXplcnZhdGlvbi9pbnN0YW5jZXMve1VyaS5Fc2NhcGVEYXRhU3RyaW5nKHJhbmRldnVLZXkpfS9mdW5jdGlvbnMvc3RhdGUiOwogICAgICAgIHNlcnZpY2VUYXNrLlNldE1ldGhvZE5hbWUocGF0aCk7CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgcmVzcG9uc2UgPSBjb250ZXh0LkJvZHk7CiAgICAgICAgaWYgKHJlc3BvbnNlPy5pc1N1Y2Nlc3MgIT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEtleSA9ICJyZXplcnZhdGlvbi1ub3QtZm91bmQiLAogICAgICAgICAgICAgICAgRGF0YSA9IG5ldwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIHN0YXRlID0gKHN0cmluZyludWxsLAogICAgICAgICAgICAgICAgICAgIGVycm9yID0gcmVzcG9uc2U/LmVycm9yTWVzc2FnZT8uVG9TdHJpbmcoKSA/PyAiRmFpbGVkIHRvIGdldCByZXplcnZhdGlvbiBzdGF0ZSIsCiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlID0gIlJFWkVSVkFUSU9OX05PVF9GT1VORCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICAvLyBTdGF0ZSByZXNwb25zZTogeyAic3RhdGUiOiAiYWN0aXZlIiwgInN0YXR1cyI6ICJBIiwgInRyYW5zaXRpb25zIjogWy4uLl0sICJkYXRhIjogey4uLn0sICJ2aWV3Ijogey4uLn0gfQogICAgICAgIC8vIHN0YXRlIGlzIGF0IHJvb3QgbGV2ZWwKICAgICAgICB2YXIgcmVzcERhdGEgPSByZXNwb25zZT8uZGF0YSA/PyByZXNwb25zZT8uRGF0YTsKICAgICAgICB2YXIgc3RhdGUgPSBHZXRTdHJpbmcocmVzcERhdGEsICJzdGF0ZSIpID8/IEdldFN0cmluZyhyZXNwRGF0YSwgImN1cnJlbnRTdGF0ZSIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PgogICAgICAgIHsKICAgICAgICAgICAgeyAic3RhdGUiLCBzdGF0ZSA/PyAidW5rbm93biIgfSwKICAgICAgICAgICAgeyAicmFuZGV2dUtleSIsIEdldFN0cmluZyhkYXRhLCAicmFuZGV2dUtleSIpIH0KICAgICAgICB9OwogICAgICAgIHZhciBwYXJ0aWNpcGFudFR5cGUgPSBHZXRTdHJpbmcoZGF0YSwgInBhcnRpY2lwYW50VHlwZSIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkocGFydGljaXBhbnRUeXBlKSkKICAgICAgICAgICAgcmVzdWx0WyJwYXJ0aWNpcGFudFR5cGUiXSA9IHBhcnRpY2lwYW50VHlwZTsKICAgICAgICB2YXIgaW52aXRlZFVzZXJJZCA9IEdldFN0cmluZyhkYXRhLCAiaW52aXRlZFVzZXJJZCIpOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoaW52aXRlZFVzZXJJZCkpCiAgICAgICAgICAgIHJlc3VsdFsiaW52aXRlZFVzZXJJZCJdID0gaW52aXRlZFVzZXJJZDsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICB7CiAgICAgICAgICAgIEtleSA9ICJyZXplcnZhdGlvbi1zdGF0ZS1zdWNjZXNzIiwKICAgICAgICAgICAgRGF0YSA9IHJlc3VsdAogICAgICAgIH0pOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
71
+ }
72
+ },
73
+ {
74
+ "order": 2,
75
+ "task": {
76
+ "domain": "touch",
77
+ "flow": "sys-tasks",
78
+ "key": "get-rezervation-data-task",
79
+ "version": "1.0.0"
80
+ },
81
+ "mapping": {
82
+ "location": "./src/GetRezervationDataForAddParticipantMapping.csx",
83
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgZ2V0LXJlemVydmF0aW9uLWRhdGEtdGFzayB3aGVuIHVzZWQgaW4gYWRkLXBhcnRpY2lwYW50LXRvLXJlemVydmF0aW9uIGZsb3cuCi8vLyBTYW1lIGFzIEdldFJlemVydmF0aW9uRGF0YU1hcHBpbmcgYnV0IHByZXNlcnZlcyByYW5kZXZ1S2V5IGFuZCBuZXdVc2VySWQgZnJvbSBpbnN0YW5jZS4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIEdldFJlemVydmF0aW9uRGF0YUZvckFkZFBhcnRpY2lwYW50TWFwcGluZyA6IFNjcmlwdEJhc2UsIElNYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBJbnB1dEhhbmRsZXIoV29ya2Zsb3dUYXNrIHRhc2ssIFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc2VydmljZVRhc2sgPSB0YXNrIGFzIERhcHJTZXJ2aWNlVGFzazsKICAgICAgICBpZiAoc2VydmljZVRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhIERhcHJTZXJ2aWNlVGFzayIpOwoKICAgICAgICB2YXIgYXBwSWQgPSBHZXRDb25maWdWYWx1ZSgiREFQUl9BUFBfSUQiKTsKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KGFwcElkKSkKICAgICAgICAgICAgc2VydmljZVRhc2suU2V0QXBwSWQoYXBwSWQpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIHJhbmRldnVLZXkgPSBHZXRTdHJpbmcoZGF0YSwgInJhbmRldnVLZXkiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShyYW5kZXZ1S2V5KSkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oInJhbmRldnVLZXkgaXMgcmVxdWlyZWQiKTsKCiAgICAgICAgdmFyIHBhdGggPSAkImFwaS92MS90b3VjaC93b3JrZmxvd3MvcmV6ZXJ2YXRpb24vaW5zdGFuY2VzL3tVcmkuRXNjYXBlRGF0YVN0cmluZyhyYW5kZXZ1S2V5KX0vZnVuY3Rpb25zL2RhdGEiOwogICAgICAgIHNlcnZpY2VUYXNrLlNldE1ldGhvZE5hbWUocGF0aCk7CgogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgcmVzcG9uc2UgPSBjb250ZXh0LkJvZHk7CiAgICAgICAgaWYgKHJlc3BvbnNlPy5pc1N1Y2Nlc3MgIT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEtleSA9ICJyZXplcnZhdGlvbi1kYXRhLW5vdC1mb3VuZCIsCiAgICAgICAgICAgICAgICBEYXRhID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSByZXNwb25zZT8uZXJyb3JNZXNzYWdlPy5Ub1N0cmluZygpID8/ICJGYWlsZWQgdG8gZ2V0IHJlemVydmF0aW9uIGRhdGEiLAogICAgICAgICAgICAgICAgICAgIGVycm9yQ29kZSA9ICJSRVpFUlZBVElPTl9EQVRBX05PVF9GT1VORCIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgYXBpUmVzcG9uc2UgPSByZXNwb25zZT8uZGF0YSA/PyByZXNwb25zZT8uRGF0YSA/PyByZXNwb25zZTsKICAgICAgICB2YXIgaW5zdGFuY2VEYXRhID0gR2V0VmFsdWUoYXBpUmVzcG9uc2UsICJkYXRhIikgPz8gYXBpUmVzcG9uc2U7CgogICAgICAgIHZhciBzdGFydERhdGVUaW1lID0gR2V0U3RyaW5nKGluc3RhbmNlRGF0YSwgInN0YXJ0RGF0ZVRpbWUiKTsKICAgICAgICB2YXIgZW5kRGF0ZVRpbWUgPSBHZXRTdHJpbmcoaW5zdGFuY2VEYXRhLCAiZW5kRGF0ZVRpbWUiKTsKICAgICAgICB2YXIgdXNlciA9IEdldFZhbHVlKGluc3RhbmNlRGF0YSwgInVzZXIiKTsKICAgICAgICB2YXIgYWR2aXNvciA9IEdldFZhbHVlKGluc3RhbmNlRGF0YSwgImFkdmlzb3IiKTsKICAgICAgICB2YXIgY2hhdEludGVncmF0aW9uID0gR2V0VmFsdWUoaW5zdGFuY2VEYXRhLCAiY2hhdEludGVncmF0aW9uIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+KCk7CiAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShzdGFydERhdGVUaW1lKSkgcmVzdWx0WyJzdGFydERhdGVUaW1lIl0gPSBzdGFydERhdGVUaW1lOwogICAgICAgIGlmICghc3RyaW5nLklzTnVsbE9yRW1wdHkoZW5kRGF0ZVRpbWUpKSByZXN1bHRbImVuZERhdGVUaW1lIl0gPSBlbmREYXRlVGltZTsKICAgICAgICBpZiAodXNlciAhPSBudWxsKSByZXN1bHRbInVzZXIiXSA9IHVzZXI7CiAgICAgICAgaWYgKGFkdmlzb3IgIT0gbnVsbCkgcmVzdWx0WyJhZHZpc29yIl0gPSBhZHZpc29yOwogICAgICAgIGlmIChjaGF0SW50ZWdyYXRpb24gIT0gbnVsbCkgcmVzdWx0WyJjaGF0SW50ZWdyYXRpb24iXSA9IGNoYXRJbnRlZ3JhdGlvbjsKCiAgICAgICAgdmFyIHJhbmRldnVLZXkgPSBHZXRTdHJpbmcoZGF0YSwgInJhbmRldnVLZXkiKTsKICAgICAgICB2YXIgbmV3VXNlcklkID0gR2V0U3RyaW5nKGRhdGEsICJuZXdVc2VySWQiKTsKICAgICAgICBpZiAoIXN0cmluZy5Jc051bGxPckVtcHR5KHJhbmRldnVLZXkpKSByZXN1bHRbInJhbmRldnVLZXkiXSA9IHJhbmRldnVLZXk7CiAgICAgICAgaWYgKCFzdHJpbmcuSXNOdWxsT3JFbXB0eShuZXdVc2VySWQpKSByZXN1bHRbIm5ld1VzZXJJZCJdID0gbmV3VXNlcklkOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgIHsKICAgICAgICAgICAgS2V5ID0gInJlemVydmF0aW9uLWRhdGEtc3VjY2VzcyIsCiAgICAgICAgICAgIERhdGEgPSByZXN1bHQKICAgICAgICB9KTsKICAgIH0KCiAgICBwcml2YXRlIHN0cmluZyBHZXRTdHJpbmcoZHluYW1pYyBvYmosIHN0cmluZyBuYW1lKQogICAgewogICAgICAgIGlmIChvYmogPT0gbnVsbCkgcmV0dXJuIG51bGw7CiAgICAgICAgdHJ5CiAgICAgICAgewogICAgICAgICAgICBpZiAoSGFzUHJvcGVydHkob2JqLCBuYW1lKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHYgPSBHZXRQcm9wZXJ0eVZhbHVlKG9iaiwgbmFtZSk7CiAgICAgICAgICAgICAgICByZXR1cm4gdj8uVG9TdHJpbmcoKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCB7IH0KICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBwcml2YXRlIG9iamVjdCBHZXRWYWx1ZShkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICAgICAgcmV0dXJuIEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
84
+ }
85
+ }
86
+ ],
87
+ "transitions": [
88
+ {
89
+ "key": "to-add-participant",
90
+ "target": "add-participant",
91
+ "triggerType": 1,
92
+ "versionStrategy": "Minor",
93
+ "labels": [
94
+ {
95
+ "label": "State OK",
96
+ "language": "en-US"
97
+ },
98
+ {
99
+ "label": "Durum Uygun",
100
+ "language": "tr-TR"
101
+ }
102
+ ],
103
+ "rule": {
104
+ "location": "./src/CheckRezervationStateActiveOrInMeetRule.csx",
105
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY2hlY2stcmV6ZXJ2YXRpb24tc3RhdGU6IHN0YXRlIGluIChhY3RpdmUsIGluLW1lZXQpIC0+IGNoZWNrLXRpbWUuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDaGVja1JlemVydmF0aW9uU3RhdGVBY3RpdmVPckluTWVldFJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc3RhdGUgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhPy5zdGF0ZT8uVG9TdHJpbmcoKT8uVHJpbSgpOwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoc3RhdGUgPT0gImFjdGl2ZSIgfHwgc3RhdGUgPT0gImluLW1lZXQiKTsKICAgIH0KfQo="
106
+ }
107
+ },
108
+ {
109
+ "key": "to-state-not-valid",
110
+ "target": "state-not-valid",
111
+ "triggerType": 1,
112
+ "versionStrategy": "Minor",
113
+ "labels": [
114
+ {
115
+ "label": "State Not Valid",
116
+ "language": "en-US"
117
+ },
118
+ {
119
+ "label": "Durum Uygun Değil",
120
+ "language": "tr-TR"
121
+ }
122
+ ],
123
+ "rule": {
124
+ "location": "./src/StateNotActiveOrInMeetRule.csx",
125
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY2hlY2stcmV6ZXJ2YXRpb24tc3RhdGU6IHN0YXRlIG5vdCBpbiAoYWN0aXZlLCBpbi1tZWV0KSAtPiBtZWV0LW5vdC1hY3RpdmUuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBTdGF0ZU5vdEFjdGl2ZU9ySW5NZWV0UnVsZSA6IFNjcmlwdEJhc2UsIElDb25kaXRpb25NYXBwaW5nCnsKICAgIHB1YmxpYyBUYXNrPGJvb2w+IEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBzdGF0ZSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE/LnN0YXRlPy5Ub1N0cmluZygpPy5UcmltKCk7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChzdGF0ZSAhPSAiYWN0aXZlIiAmJiBzdGF0ZSAhPSAiaW4tbWVldCIpOwogICAgfQp9Cg=="
126
+ }
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "key": "state-not-valid",
132
+ "stateType": 3,
133
+ "versionStrategy": "Minor",
134
+ "labels": [
135
+ {
136
+ "label": "State Not Valid",
137
+ "language": "en-US"
138
+ },
139
+ {
140
+ "label": "Durum Uygun Değil",
141
+ "language": "tr-TR"
142
+ }
143
+ ]
144
+ },
145
+ {
146
+ "key": "add-participant",
147
+ "stateType": 2,
148
+ "versionStrategy": "Minor",
149
+ "labels": [
150
+ {
151
+ "label": "Add Participant",
152
+ "language": "en-US"
153
+ },
154
+ {
155
+ "label": "Katılımcı Ekle",
156
+ "language": "tr-TR"
157
+ }
158
+ ],
159
+ "onEntries": [],
160
+ "transitions": [
161
+ {
162
+ "key": "to-add-video-call",
163
+ "target": "add-video-call",
164
+ "triggerType": 1,
165
+ "versionStrategy": "Minor",
166
+ "labels": [
167
+ {
168
+ "label": "Add to Video Call",
169
+ "language": "en-US"
170
+ },
171
+ {
172
+ "label": "Video Görüşmeye Ekle",
173
+ "language": "tr-TR"
174
+ }
175
+ ],
176
+ "rule": {
177
+ "location": "./src/StateInMeetRule.csx",
178
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY2hlY2stdGltZTogc3RhdGU9aW4tbWVldCAtPiBqb2luLXJvb20uCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBTdGF0ZUluTWVldFJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICB2YXIgc3RhdGUgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhPy5zdGF0ZT8uVG9TdHJpbmcoKT8uVHJpbSgpOwogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQoc3RhdGUgPT0gImluLW1lZXQiKTsKICAgIH0KfQo="
179
+ }
180
+ },
181
+ {
182
+ "key": "to-update-invited",
183
+ "target": "update-invited",
184
+ "triggerType": 1,
185
+ "versionStrategy": "Minor",
186
+ "labels": [
187
+ {
188
+ "label": "Update Invited",
189
+ "language": "en-US"
190
+ },
191
+ {
192
+ "label": "Davetli Güncelle",
193
+ "language": "tr-TR"
194
+ }
195
+ ],
196
+ "rule": {
197
+ "location": "./src/StateActiveRule.csx",
198
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY2hlY2stdGltZTogc3RhdGU9YWN0aXZlIC0+IGNyZWF0ZS1yb29tLWFuZC10cmlnZ2VyLgovLy8gPC9zdW1tYXJ5PgpwdWJsaWMgY2xhc3MgU3RhdGVBY3RpdmVSdWxlIDogU2NyaXB0QmFzZSwgSUNvbmRpdGlvbk1hcHBpbmcKewogICAgcHVibGljIFRhc2s8Ym9vbD4gSGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHN0YXRlID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YT8uc3RhdGU/LlRvU3RyaW5nKCk/LlRyaW0oKTsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHN0YXRlID09ICJhY3RpdmUiKTsKICAgIH0KfQo="
199
+ }
200
+ }
201
+ ]
202
+ },
203
+ {
204
+ "key": "add-video-call",
205
+ "stateType": 4,
206
+ "xProfile": "SubFlow",
207
+ "versionStrategy": "Minor",
208
+ "labels": [
209
+ {
210
+ "label": "Add to Video Call",
211
+ "language": "en-US"
212
+ },
213
+ {
214
+ "label": "Video Görüşmeye Ekle",
215
+ "language": "tr-TR"
216
+ }
217
+ ],
218
+ "onEntries": [
219
+ {
220
+ "order": 1,
221
+ "task": {
222
+ "domain": "touch",
223
+ "flow": "sys-tasks",
224
+ "key": "trigger-chat-room-update",
225
+ "version": "1.0.0"
226
+ },
227
+ "mapping": {
228
+ "location": "./src/TriggerChatRoomUpdateMapping.csx",
229
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgdHJpZ2dlci1jaGF0LXJvb20tdXBkYXRlIERpcmVjdFRyaWdnZXJUYXNrLgovLy8gVHJpZ2dlcnMgdXBkYXRlIHRyYW5zaXRpb24gb24gY2hhdC1yb29tIGluc3RhbmNlIChhZGQgbWVtYmVyKS4gS2V5ID0gcmV6ZXJ2YXRpb24tY2hhdC17Tm9ybWFsaXplRm9yS2V5KHJhbmRldnVLZXkpfSwgQm9keSA9IHsgbmV3TWVtYmVySWQgfS4KLy8vIDwvc3VtbWFyeT4KcHVibGljIGNsYXNzIFRyaWdnZXJDaGF0Um9vbVVwZGF0ZU1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxTY3JpcHRSZXNwb25zZT4gSW5wdXRIYW5kbGVyKFdvcmtmbG93VGFzayB0YXNrLCBTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIHRyaWdnZXJUYXNrID0gdGFzayBhcyBEaXJlY3RUcmlnZ2VyVGFzazsKICAgICAgICBpZiAodHJpZ2dlclRhc2sgPT0gbnVsbCkKICAgICAgICAgICAgdGhyb3cgbmV3IEludmFsaWRPcGVyYXRpb25FeGNlcHRpb24oIlRhc2sgbXVzdCBiZSBhIERpcmVjdFRyaWdnZXJUYXNrIik7CgogICAgICAgIHZhciBkYXRhID0gY29udGV4dC5JbnN0YW5jZT8uRGF0YTsKICAgICAgICB2YXIgcmFuZGV2dUtleSA9IEdldFN0cmluZyhkYXRhLCAicmFuZGV2dUtleSIpOwogICAgICAgIHZhciBuZXdVc2VySWQgPSBHZXRTdHJpbmcoZGF0YSwgIm5ld1VzZXJJZCIpOwogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKHJhbmRldnVLZXkpKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgS2V5ID0gImNoYXQtcm9vbS11cGRhdGUtc2tpcHBlZCIsCiAgICAgICAgICAgICAgICBEYXRhID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgeyAidXBkYXRlVHJpZ2dlcmVkIiwgZmFsc2UgfSwKICAgICAgICAgICAgICAgICAgICB7ICJyZWFzb24iLCAibWlzc2luZy1yYW5kZXZ1S2V5IiB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShuZXdVc2VySWQpKQogICAgICAgIHsKICAgICAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgS2V5ID0gImNoYXQtcm9vbS11cGRhdGUtc2tpcHBlZCIsCiAgICAgICAgICAgICAgICBEYXRhID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgeyAidXBkYXRlVHJpZ2dlcmVkIiwgZmFsc2UgfSwKICAgICAgICAgICAgICAgICAgICB7ICJyZWFzb24iLCAibWlzc2luZy1uZXdVc2VySWQiIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICB2YXIgY2hhdFJvb21LZXkgPSAicmV6ZXJ2YXRpb24tY2hhdC0iICsgTm9ybWFsaXplRm9yS2V5KHJhbmRldnVLZXkpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldERvbWFpbigidG91Y2giKTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRGbG93KCJjaGF0LXJvb20iKTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRLZXkoY2hhdFJvb21LZXkpOwogICAgICAgIHRyaWdnZXJUYXNrLlNldFRyYW5zaXRpb25OYW1lKCJ1cGRhdGUiKTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRCb2R5KG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PgogICAgICAgIHsKICAgICAgICAgICAgeyAibmV3TWVtYmVySWQiLCBuZXdVc2VySWQuVHJpbSgpIH0KICAgICAgICB9KTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UKICAgICAgICB7CiAgICAgICAgICAgIERhdGEgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4geyB7ICJ1cGRhdGVUcmlnZ2VyZWQiLCB0cnVlIH0gfQogICAgICAgIH0pOwogICAgfQoKICAgIHB1YmxpYyBUYXNrPFNjcmlwdFJlc3BvbnNlPiBPdXRwdXRIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICBpZiAoY29udGV4dC5Cb2R5Py5pc1N1Y2Nlc3MgIT0gdHJ1ZSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIEtleSA9ICJjaGF0LXJvb20tdXBkYXRlLWZhaWxlZCIsCiAgICAgICAgICAgICAgICBEYXRhID0gbmV3CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBjb250ZXh0LkJvZHk/LmVycm9yTWVzc2FnZT8uVG9TdHJpbmcoKSA/PyAiQ2hhdCByb29tIHVwZGF0ZSBmYWlsZWQiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0KICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZSgpKTsKICAgIH0KCiAgICBwcml2YXRlIHN0YXRpYyBzdHJpbmcgTm9ybWFsaXplRm9yS2V5KHN0cmluZyB2YWx1ZSkKICAgIHsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yRW1wdHkodmFsdWUpKSByZXR1cm4gdmFsdWUgPz8gIiI7CiAgICAgICAgcmV0dXJuIHZhbHVlLlJlcGxhY2UoIjoiLCAiLSIpLlJlcGxhY2UoIiAiLCAiLSIpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpPy5UcmltKCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgY2F0Y2ggeyB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9Cn0K"
230
+ }
231
+ }
232
+ ],
233
+ "subFlow": {
234
+ "type": "S",
235
+ "process": {
236
+ "key": "start-video-call",
237
+ "domain": "touch",
238
+ "flow": "sys-flows",
239
+ "version": "1.0.0"
240
+ },
241
+ "mapping": {
242
+ "location": "./src/StartVideoCallForInvitedParticipantMapping.csx",
243
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gSVN1YkZsb3dNYXBwaW5nIGZvciBzdGFydC12aWRlby1jYWxsIHdoZW4gaW52b2tlZCBmcm9tIGFkZC1wYXJ0aWNpcGFudC10by1yZXplcnZhdGlvbiBmbG93LgovLy8gSW5wdXQ6IHJvb21OYW1lPXJhbmRldnVLZXksIHN0YXR1cz1jdXN0b21lci1lbnRlciwgdXNlcj1uZXdVc2VySWQuIEludml0ZWQgcGFydGljaXBhbnQgam9pbnMgYXMgY3VzdG9tZXIuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBTdGFydFZpZGVvQ2FsbEZvckludml0ZWRQYXJ0aWNpcGFudE1hcHBpbmcgOiBTY3JpcHRCYXNlLCBJU3ViRmxvd01hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihTY3JpcHRDb250ZXh0IGNvbnRleHQpCiAgICB7CiAgICAgICAgdmFyIGRhdGEgPSBjb250ZXh0Lkluc3RhbmNlPy5EYXRhOwogICAgICAgIHZhciByYW5kZXZ1S2V5ID0gR2V0U3RyaW5nKGRhdGEsICJyYW5kZXZ1S2V5Iik7CiAgICAgICAgdmFyIG5ld1VzZXJJZCA9IEdldFN0cmluZyhkYXRhLCAibmV3VXNlcklkIik7CiAgICAgICAgdmFyIGFkdmlzb3IgPSBkYXRhPy5hZHZpc29yID8/IChvYmplY3Qpc3RyaW5nLkVtcHR5OwoKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShyYW5kZXZ1S2V5KSB8fCBzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG5ld1VzZXJJZCkpCiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwoKICAgICAgICB2YXIgaW5wdXQgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4KICAgICAgICB7CiAgICAgICAgICAgIHsgInJvb21OYW1lIiwgcmFuZGV2dUtleSA/PyBzdHJpbmcuRW1wdHkgfSwKICAgICAgICAgICAgeyAic3RhdHVzIiwgImN1c3RvbWVyLWVudGVyIiB9LAogICAgICAgICAgICB7ICJ1c2VyIiwgbmV3VXNlcklkLlRyaW0oKSB9LAogICAgICAgICAgICB7ICJhZHZpc29yIiwgYWR2aXNvciB9CiAgICAgICAgfTsKCiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gaW5wdXQgfSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciBpbnN0YW5jZURhdGEgPSBjb250ZXh0LkJvZHk/LmRhdGEgPz8gY29udGV4dC5Cb2R5Py5hdHRyaWJ1dGVzID8/IGNvbnRleHQuQm9keT8uRGF0YSA/PyBjb250ZXh0LkJvZHk7CiAgICAgICAgcmV0dXJuIFRhc2suRnJvbVJlc3VsdChuZXcgU2NyaXB0UmVzcG9uc2UgeyBEYXRhID0gaW5zdGFuY2VEYXRhIH0pOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
244
+ }
245
+ },
246
+ "transitions": [
247
+ {
248
+ "key": "to-update-invited",
249
+ "target": "update-invited",
250
+ "triggerType": 1,
251
+ "versionStrategy": "Minor",
252
+ "labels": [
253
+ {
254
+ "label": "Update Invited",
255
+ "language": "en-US"
256
+ },
257
+ {
258
+ "label": "Davetli Güncelle",
259
+ "language": "tr-TR"
260
+ }
261
+ ],
262
+ "rule": {
263
+ "location": "./src/CustomerControlToEndRule.csx",
264
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY3VzdG9tZXItY29udHJvbCB0byBlbmQgdHJhbnNpdGlvbiBpbiByZXplcnZhdGlvbi1zdGFydCBmbG93LgovLy8gQm90aCBhZHZpc29yIGFuZCBjdXN0b21lciBjb21wbGV0ZSB0byBlbmQuIFJldHVybnMgdHJ1ZSB3aGVuIGluIGN1c3RvbWVyLWNvbnRyb2wuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDdXN0b21lckNvbnRyb2xUb0VuZFJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwogICAgfQp9Cg=="
265
+ }
266
+ }
267
+ ]
268
+ },
269
+ {
270
+ "key": "update-invited",
271
+ "stateType": 2,
272
+ "versionStrategy": "Minor",
273
+ "labels": [
274
+ {
275
+ "label": "Update Invited User",
276
+ "language": "en-US"
277
+ },
278
+ {
279
+ "label": "Davetli Kullanıcı Güncelle",
280
+ "language": "tr-TR"
281
+ }
282
+ ],
283
+ "onEntries": [
284
+ {
285
+ "order": 1,
286
+ "task": {
287
+ "domain": "touch",
288
+ "flow": "sys-tasks",
289
+ "key": "trigger-rezervation-add-invited-participant",
290
+ "version": "1.0.0"
291
+ },
292
+ "mapping": {
293
+ "location": "./src/TriggerRezervationAddInvitedParticipantMapping.csx",
294
+ "code": "dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKdXNpbmcgQkJULldvcmtmbG93LkRlZmluaXRpb25zOwoKLy8vIDxzdW1tYXJ5PgovLy8gTWFwcGluZyBmb3IgdHJpZ2dlci1yZXplcnZhdGlvbi1hZGQtaW52aXRlZC1wYXJ0aWNpcGFudCBEaXJlY3RUcmlnZ2VyVGFzay4KLy8vIFRyaWdnZXJzIGFkZC1pbnZpdGVkLXBhcnRpY2lwYW50IHRyYW5zaXRpb24gb24gcmV6ZXJ2YXRpb24gaW5zdGFuY2UuCi8vLyBLZXkgPSByYW5kZXZ1S2V5LCBCb2R5ID0geyBpbnZpdGVkVXNlcklkIH0uCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBUcmlnZ2VyUmV6ZXJ2YXRpb25BZGRJbnZpdGVkUGFydGljaXBhbnRNYXBwaW5nIDogU2NyaXB0QmFzZSwgSU1hcHBpbmcKewogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IElucHV0SGFuZGxlcihXb3JrZmxvd1Rhc2sgdGFzaywgU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHZhciB0cmlnZ2VyVGFzayA9IHRhc2sgYXMgRGlyZWN0VHJpZ2dlclRhc2s7CiAgICAgICAgaWYgKHRyaWdnZXJUYXNrID09IG51bGwpCiAgICAgICAgICAgIHRocm93IG5ldyBJbnZhbGlkT3BlcmF0aW9uRXhjZXB0aW9uKCJUYXNrIG11c3QgYmUgYSBEaXJlY3RUcmlnZ2VyVGFzayIpOwoKICAgICAgICB2YXIgZGF0YSA9IGNvbnRleHQuSW5zdGFuY2U/LkRhdGE7CiAgICAgICAgdmFyIHJhbmRldnVLZXkgPSBHZXRTdHJpbmcoZGF0YSwgInJhbmRldnVLZXkiKTsKICAgICAgICB2YXIgbmV3VXNlcklkID0gR2V0U3RyaW5nKGRhdGEsICJuZXdVc2VySWQiKTsKICAgICAgICBpZiAoc3RyaW5nLklzTnVsbE9yV2hpdGVTcGFjZShyYW5kZXZ1S2V5KSkKICAgICAgICB7CiAgICAgICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIERhdGEgPSBuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4KICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICB7ICJ1cGRhdGVUcmlnZ2VyZWQiLCBmYWxzZSB9LAogICAgICAgICAgICAgICAgICAgIHsgInJlYXNvbiIsICJtaXNzaW5nLXJhbmRldnVLZXkiIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQogICAgICAgIGlmIChzdHJpbmcuSXNOdWxsT3JXaGl0ZVNwYWNlKG5ld1VzZXJJZCkpCiAgICAgICAgewogICAgICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBEYXRhID0gbmV3IERpY3Rpb25hcnk8c3RyaW5nLCBvYmplY3Q+CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgeyAidXBkYXRlVHJpZ2dlcmVkIiwgZmFsc2UgfSwKICAgICAgICAgICAgICAgICAgICB7ICJyZWFzb24iLCAibWlzc2luZy1uZXdVc2VySWQiIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfQoKICAgICAgICB0cmlnZ2VyVGFzay5TZXREb21haW4oInRvdWNoIik7CiAgICAgICAgdHJpZ2dlclRhc2suU2V0RmxvdygicmV6ZXJ2YXRpb24iKTsKICAgICAgICB0cmlnZ2VyVGFzay5TZXRLZXkocmFuZGV2dUtleSk7CiAgICAgICAgdHJpZ2dlclRhc2suU2V0VHJhbnNpdGlvbk5hbWUoImFkZC1pbnZpdGVkLXBhcnRpY2lwYW50Iik7CiAgICAgICAgdHJpZ2dlclRhc2suU2V0Qm9keShuZXcgRGljdGlvbmFyeTxzdHJpbmcsIG9iamVjdD4geyB7ICJpbnZpdGVkVXNlcklkIiwgbmV3VXNlcklkLlRyaW0oKSB9IH0pOwoKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KG5ldyBTY3JpcHRSZXNwb25zZQogICAgICAgIHsKICAgICAgICAgICAgRGF0YSA9IG5ldyBEaWN0aW9uYXJ5PHN0cmluZywgb2JqZWN0PiB7IHsgInVwZGF0ZVRyaWdnZXJlZCIsIHRydWUgfSB9CiAgICAgICAgfSk7CiAgICB9CgogICAgcHVibGljIFRhc2s8U2NyaXB0UmVzcG9uc2U+IE91dHB1dEhhbmRsZXIoU2NyaXB0Q29udGV4dCBjb250ZXh0KQogICAgewogICAgICAgIHJldHVybiBUYXNrLkZyb21SZXN1bHQobmV3IFNjcmlwdFJlc3BvbnNlKCkpOwogICAgfQoKICAgIHByaXZhdGUgc3RyaW5nIEdldFN0cmluZyhkeW5hbWljIG9iaiwgc3RyaW5nIG5hbWUpCiAgICB7CiAgICAgICAgaWYgKG9iaiA9PSBudWxsKSByZXR1cm4gbnVsbDsKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChIYXNQcm9wZXJ0eShvYmosIG5hbWUpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB2YXIgdiA9IEdldFByb3BlcnR5VmFsdWUob2JqLCBuYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiB2Py5Ub1N0cmluZygpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNhdGNoIHsgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg=="
295
+ }
296
+ }
297
+ ],
298
+ "transitions": [
299
+ {
300
+ "key": "to-end",
301
+ "target": "end",
302
+ "triggerType": 1,
303
+ "versionStrategy": "Minor",
304
+ "labels": [
305
+ {
306
+ "label": "Complete",
307
+ "language": "en-US"
308
+ },
309
+ {
310
+ "label": "Tamamla",
311
+ "language": "tr-TR"
312
+ }
313
+ ],
314
+ "rule": {
315
+ "location": "./src/CustomerControlToEndRule.csx",
316
+ "code": "dXNpbmcgU3lzdGVtLlRocmVhZGluZy5UYXNrczsKdXNpbmcgQkJULldvcmtmbG93LlNjcmlwdGluZzsKCi8vLyA8c3VtbWFyeT4KLy8vIENvbmRpdGlvbiBmb3IgY3VzdG9tZXItY29udHJvbCB0byBlbmQgdHJhbnNpdGlvbiBpbiByZXplcnZhdGlvbi1zdGFydCBmbG93LgovLy8gQm90aCBhZHZpc29yIGFuZCBjdXN0b21lciBjb21wbGV0ZSB0byBlbmQuIFJldHVybnMgdHJ1ZSB3aGVuIGluIGN1c3RvbWVyLWNvbnRyb2wuCi8vLyA8L3N1bW1hcnk+CnB1YmxpYyBjbGFzcyBDdXN0b21lckNvbnRyb2xUb0VuZFJ1bGUgOiBTY3JpcHRCYXNlLCBJQ29uZGl0aW9uTWFwcGluZwp7CiAgICBwdWJsaWMgVGFzazxib29sPiBIYW5kbGVyKFNjcmlwdENvbnRleHQgY29udGV4dCkKICAgIHsKICAgICAgICByZXR1cm4gVGFzay5Gcm9tUmVzdWx0KHRydWUpOwogICAgfQp9Cg=="
317
+ }
318
+ }
319
+ ]
320
+ },
321
+ {
322
+ "key": "end",
323
+ "stateType": 3,
324
+ "versionStrategy": "Minor",
325
+ "labels": [
326
+ {
327
+ "label": "End",
328
+ "language": "en-US"
329
+ },
330
+ {
331
+ "label": "Bitiş",
332
+ "language": "tr-TR"
333
+ }
334
+ ]
335
+ }
336
+ ],
337
+ "subFlowType": "S",
338
+ "timeout": null
339
+ }
340
+ }
@@ -0,0 +1,207 @@
1
+ ###############################################################################
2
+ # Chat Room (Permanent) Workflow - HTTP Test File
3
+ #
4
+ # This file tests the chat-room workflow which manages a single permanent
5
+ # Matrix chat room per advisorType (PM or IA).
6
+ #
7
+ # Flow:
8
+ # start → creating-room → [auto] complete | failed
9
+ # complete: update / remove / transfer / deactivate
10
+ # deactivated: activate
11
+ #
12
+ # Authentication: APISIX handles Matrix login via X-Matrix-User header.
13
+ # No separate login step is needed.
14
+ #
15
+ # Prerequisites:
16
+ # 1. vNext Runtime running on localhost:4201
17
+ # 2. APISIX Gateway on localhost:9080 with matrix-auth plugin
18
+ # 3. Synapse Matrix server behind APISIX
19
+ ###############################################################################
20
+
21
+ @baseUrl = http://localhost:4201
22
+ @apiVersion = 1
23
+ @domain = touch
24
+ @workflow = chat-room
25
+
26
+ @user = core.user.user-001
27
+ @pmAdvisorId = touch.portfolio-manager.pm-001
28
+ @iaAdvisorId = touch.investment-advisor.ia-001
29
+
30
+ ###############################################################################
31
+ # #
32
+ # START - PORTFOLIO MANAGER (PM) ROOM #
33
+ # #
34
+ ###############################################################################
35
+
36
+ ### Start Chat Room Instance (PM)
37
+ # Creates a permanent PM chat room via /_matrix/client/v3/createRoom.
38
+ # onEntry: check duplicate, create room (X-Matrix-User header used for auth).
39
+ # Auto-transitions to complete or failed.
40
+ # @name startChatRoomPM
41
+ POST {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/start?sync=true
42
+ Content-Type: application/json
43
+ Accept-Language: tr-TR
44
+ X-Request-Id: {{$guid}}
45
+
46
+ {
47
+ "key": "{{user}}-pm",
48
+ "tags": [
49
+ "advisor",
50
+ "chat",
51
+ "matrix",
52
+ "permanent",
53
+ "PM"
54
+ ],
55
+ "attributes": {
56
+ "user": "{{user}}",
57
+ "advisorType": "PM",
58
+ "advisorId": "{{pmAdvisorId}}",
59
+ "roomType": "permanent"
60
+ }
61
+ }
62
+
63
+ ###############################################################################
64
+ # #
65
+ # START - INVESTMENT ADVISOR (IA) ROOM #
66
+ # #
67
+ ###############################################################################
68
+
69
+ ### Start Chat Room Instance (IA)
70
+ # Creates a permanent IA chat room via /_matrix/client/v3/createRoom.
71
+ # onEntry: check duplicate, create room (X-Matrix-User header used for auth).
72
+ # Auto-transitions to complete or failed.
73
+ # @name startChatRoomIA
74
+ POST {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/start?sync=true
75
+ Content-Type: application/json
76
+ Accept-Language: tr-TR
77
+ X-Request-Id: {{$guid}}
78
+
79
+ {
80
+ "key": "{{user}}-ia",
81
+ "tags": [
82
+ "advisor",
83
+ "chat",
84
+ "matrix",
85
+ "permanent",
86
+ "IA"
87
+ ],
88
+ "attributes": {
89
+ "user": "{{user}}",
90
+ "advisorType": "IA",
91
+ "advisorId": "{{iaAdvisorId}}",
92
+ "roomType": "permanent"
93
+ }
94
+ }
95
+
96
+ ###############################################################################
97
+ # #
98
+ # GET INSTANCE #
99
+ # #
100
+ ###############################################################################
101
+
102
+ @instanceId = <paste-instance-id-from-start-response>
103
+
104
+ ### Get Chat Room Instance
105
+ # Inspect state, advisorType, advisorId, chatIntegration (roomId, error, errorCode).
106
+ # @name getChatRoomInstance
107
+ GET {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/{{instanceId}}
108
+ Accept: application/json
109
+ Accept-Language: tr-TR
110
+ X-Request-Id: {{$guid}}
111
+
112
+ ###############################################################################
113
+ # #
114
+ # UPDATE - ADD MEMBER TO ROOM #
115
+ # #
116
+ ###############################################################################
117
+
118
+ ### Update (Add Member)
119
+ # Invites a new member to the permanent room via /_matrix/client/v3/rooms/{roomId}/invite.
120
+ # State: complete → complete
121
+ # @name updateChatRoom
122
+ PATCH {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/{{instanceId}}/transitions/update
123
+ Content-Type: application/json
124
+ Accept-Language: tr-TR
125
+ X-Request-Id: {{$guid}}
126
+
127
+ {
128
+ "attributes": {
129
+ "newMemberId": "touch.portfolio-manager.pm-002"
130
+ }
131
+ }
132
+
133
+ ###############################################################################
134
+ # #
135
+ # REMOVE - REMOVE MEMBER FROM ROOM #
136
+ # #
137
+ ###############################################################################
138
+
139
+ ### Remove (Remove Member)
140
+ # Kicks a member from the permanent room via /_matrix/client/v3/rooms/{roomId}/kick.
141
+ # State: complete → complete
142
+ # @name removeChatRoomMember
143
+ PATCH {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/{{instanceId}}/transitions/remove
144
+ Content-Type: application/json
145
+ Accept-Language: tr-TR
146
+ X-Request-Id: {{$guid}}
147
+
148
+ {
149
+ "attributes": {
150
+ "removeMemberId": "touch.portfolio-manager.pm-002"
151
+ }
152
+ }
153
+
154
+ ###############################################################################
155
+ # #
156
+ # TRANSFER - CHANGE ADVISOR #
157
+ # #
158
+ ###############################################################################
159
+
160
+ ### Transfer Advisor
161
+ # Kicks old advisor and invites new advisor via Matrix API.
162
+ # State: complete → complete
163
+ # @name transferChatRoomAdvisor
164
+ PATCH {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/{{instanceId}}/transitions/transfer
165
+ Content-Type: application/json
166
+ Accept-Language: tr-TR
167
+ X-Request-Id: {{$guid}}
168
+
169
+ {
170
+ "attributes": {
171
+ "newAdvisorId": "touch.portfolio-manager.pm-003"
172
+ }
173
+ }
174
+
175
+ ###############################################################################
176
+ # #
177
+ # DEACTIVATE - SET ROOM PASSIVE #
178
+ # #
179
+ ###############################################################################
180
+
181
+ ### Deactivate Room
182
+ # Sets the room to passive state. No update/remove/transfer allowed.
183
+ # State: complete → deactivated
184
+ # @name deactivateChatRoom
185
+ PATCH {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/{{instanceId}}/transitions/deactivate
186
+ Content-Type: application/json
187
+ Accept-Language: tr-TR
188
+ X-Request-Id: {{$guid}}
189
+
190
+ {}
191
+
192
+ ###############################################################################
193
+ # #
194
+ # ACTIVATE - SET ROOM ACTIVE AGAIN #
195
+ # #
196
+ ###############################################################################
197
+
198
+ ### Activate Room
199
+ # Reactivates the room. update/remove/transfer available again.
200
+ # State: deactivated → complete
201
+ # @name activateChatRoom
202
+ PATCH {{baseUrl}}/api/v{{apiVersion}}/{{domain}}/workflows/{{workflow}}/instances/{{instanceId}}/transitions/activate
203
+ Content-Type: application/json
204
+ Accept-Language: tr-TR
205
+ X-Request-Id: {{$guid}}
206
+
207
+ {}