@sava-info-systems/api-maker-with-extensions 2.3.0 → 3.0.0

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 (242) hide show
  1. package/.dockerignore +5 -1
  2. package/Dockerfile +1 -35
  3. package/Dockerfile.base +22 -0
  4. package/Dockerfile.extended-base +44 -0
  5. package/dist/1025.5c34b11ab88519fd.js +1 -0
  6. package/dist/1097.3c5b2b4587cefa6e.js +1 -0
  7. package/dist/115.8d10b2b963e7d632.js +1 -0
  8. package/dist/148.f8f560a5f818328e.js +1 -0
  9. package/dist/1558.576af7585833e289.js +1 -0
  10. package/dist/1678.14f917ee37080d63.js +1 -0
  11. package/dist/1754.fc6d6e9f6c1e96d5.js +1 -0
  12. package/dist/1928.9c9375dd036b025a.js +1 -0
  13. package/dist/1957.b718aa368330b524.js +1 -0
  14. package/dist/2140.bb097d69bcb6a1e5.js +1 -0
  15. package/dist/2295.aa3514c8d1238cb2.js +1 -0
  16. package/dist/238.553f30dbe5124419.js +1 -0
  17. package/dist/2473.260a6b26a70eaa8d.js +1 -0
  18. package/dist/2579.b02fe6a8ba3a2e71.js +1 -0
  19. package/dist/2714.b41d14f7378785df.js +1 -0
  20. package/dist/2735.4046cae4c68ac75f.js +1 -0
  21. package/dist/292.bb85e0ea91dcc118.js +1 -0
  22. package/dist/3139.5dd9289cc24b4100.js +1 -0
  23. package/dist/3450.588aafa515b19133.js +1 -0
  24. package/dist/3664.ed1232e3c70195fc.js +1 -0
  25. package/dist/3752.d4e0a280a37c1426.js +1 -0
  26. package/dist/3rdpartylicenses.txt +1 -1
  27. package/dist/4110.b9ebfd9a7382c450.js +1 -0
  28. package/dist/4186.2fd0537d5bc6d882.js +1 -0
  29. package/dist/4211.b6b9f495b100e985.js +1 -0
  30. package/dist/4575.1fee055d10b57afc.js +1 -0
  31. package/dist/4842.ccf765ed3e9753a7.js +1 -0
  32. package/dist/485.7870367c9475fed8.js +1 -0
  33. package/dist/{4895.a54759704d1994b1.js → 4895.fa7b24d66157c531.js} +1 -1
  34. package/dist/5334.e0a2450fc295f659.js +1 -0
  35. package/dist/5421.2c2c0fbf926792db.js +1 -0
  36. package/dist/5434.0997994b319a866a.js +1 -0
  37. package/dist/5679.e362a3e10cb1b953.js +1 -0
  38. package/dist/5761.6c20b09245ac31ef.js +1 -0
  39. package/dist/5765.8d761aef1708e8a1.js +1 -0
  40. package/dist/6236.969b45cad747277c.js +1 -0
  41. package/dist/6393.1b7b097f17d75290.js +1 -0
  42. package/dist/6401.f18e3c98d6deaa22.js +1 -0
  43. package/dist/6650.05ea40acd68697c3.js +1 -0
  44. package/dist/7368.85d940d08fdca6e2.js +1 -0
  45. package/dist/7436.4a62f7ef13cffb21.js +1 -0
  46. package/dist/7470.d24359dc7a3ef75a.js +1 -0
  47. package/dist/7649.8e5ff8a951b474e0.js +1 -0
  48. package/dist/7975.d3d7064d527ac017.js +1 -0
  49. package/dist/7977.85b17bdb465e9a90.js +1 -0
  50. package/dist/7987.c1637bec96a9cc03.js +1 -0
  51. package/dist/8125.8390bc1b477ec6b9.js +1 -0
  52. package/dist/8266.0bf85311cf40ddff.js +1 -0
  53. package/dist/8296.fe54c3787977fad3.js +1 -0
  54. package/dist/885.7e1ec0f82adbdd6f.js +1 -0
  55. package/dist/891.fee03277c7f1c29d.js +1 -0
  56. package/dist/{913.4580b4ce4307a40f.js → 913.e49eb351997bc25c.js} +1 -1
  57. package/dist/9243.eaa2c312b42fc4b3.js +1 -0
  58. package/dist/9575.8404e98d640fd9f9.js +1 -0
  59. package/dist/9939.537c5e355804804b.js +1 -0
  60. package/dist/assets/images/icons/api-group-light.svg +11 -0
  61. package/dist/assets/images/icons/api-group.svg +5 -5
  62. package/dist/assets/images/icons/api-maker-deployment-light.svg +5 -0
  63. package/dist/assets/images/icons/api-maker-deployment.svg +3 -3
  64. package/dist/assets/images/icons/api-user-light.svg +12 -0
  65. package/dist/assets/images/icons/api-user.svg +2 -2
  66. package/dist/assets/images/icons/comparator-light.svg +61 -0
  67. package/dist/assets/images/icons/comparator.svg +2 -2
  68. package/dist/assets/images/icons/custom-light.svg +6 -0
  69. package/dist/assets/images/icons/custom.svg +5 -5
  70. package/dist/assets/images/icons/database-light.svg +29 -0
  71. package/dist/assets/images/icons/database.svg +6 -6
  72. package/dist/assets/images/icons/db-m-light.svg +10 -0
  73. package/dist/assets/images/icons/db-m.svg +4 -4
  74. package/dist/assets/images/icons/db-token-generator-light.svg +4 -0
  75. package/dist/assets/images/icons/db-token-generator.svg +4 -0
  76. package/dist/assets/images/icons/dev-light.svg +13 -0
  77. package/dist/assets/images/icons/dev.svg +4 -4
  78. package/dist/assets/images/icons/diagram-light.svg +28 -0
  79. package/dist/assets/images/icons/diagram.svg +9 -9
  80. package/dist/assets/images/icons/event-light.svg +16 -0
  81. package/dist/assets/images/icons/event.svg +4 -4
  82. package/dist/assets/images/icons/film-movies-icon.svg +3 -3
  83. package/dist/assets/images/icons/finder-light.svg +14 -0
  84. package/dist/assets/images/icons/finder.svg +3 -3
  85. package/dist/assets/images/icons/i18n-light.svg +11 -0
  86. package/dist/assets/images/icons/i18n.svg +6 -6
  87. package/dist/assets/images/icons/increment-light.svg +5 -0
  88. package/dist/assets/images/icons/increment.svg +2 -2
  89. package/dist/assets/images/icons/license-light.svg +6 -0
  90. package/dist/assets/images/icons/license.svg +4 -4
  91. package/dist/assets/images/icons/log-light.svg +17 -0
  92. package/dist/assets/images/icons/log-profile-light.svg +23 -0
  93. package/dist/assets/images/icons/log-profile.svg +7 -7
  94. package/dist/assets/images/icons/log.svg +6 -6
  95. package/dist/assets/images/icons/masters.svg +3 -3
  96. package/dist/assets/images/icons/native-process-logs-light.svg +13 -0
  97. package/dist/assets/images/icons/native-process-logs.svg +6 -6
  98. package/dist/assets/images/icons/nodes-light.svg +5 -0
  99. package/dist/assets/images/icons/nodes.svg +2 -2
  100. package/dist/assets/images/icons/notes-light.svg +16 -0
  101. package/dist/assets/images/icons/notes.svg +2 -2
  102. package/dist/assets/images/icons/process_initializers-light.svg +20 -0
  103. package/dist/assets/images/icons/process_initializers.svg +7 -7
  104. package/dist/assets/images/icons/rsa_encryption-light.svg +6 -0
  105. package/dist/assets/images/icons/rsa_encryption.svg +2 -2
  106. package/dist/assets/images/icons/sandbox-light.svg +11 -0
  107. package/dist/assets/images/icons/sandbox.svg +2 -2
  108. package/dist/assets/images/icons/scanning-period-light.svg +13 -0
  109. package/dist/assets/images/icons/scanning-period.svg +4 -4
  110. package/dist/assets/images/icons/schedulers-light.svg +8 -0
  111. package/dist/assets/images/icons/schedulers.svg +5 -5
  112. package/dist/assets/images/icons/secret-light.svg +15 -0
  113. package/dist/assets/images/icons/secret.svg +2 -2
  114. package/dist/assets/images/icons/swagger-logo-light.svg +9 -0
  115. package/dist/assets/images/icons/swagger-logo.svg +2 -2
  116. package/dist/assets/images/icons/systems-light.svg +8 -0
  117. package/dist/assets/images/icons/systems.svg +3 -3
  118. package/dist/assets/images/icons/testing-light.svg +12 -0
  119. package/dist/assets/images/icons/testing.svg +6 -6
  120. package/dist/assets/images/icons/third-party-light.svg +19 -0
  121. package/dist/assets/images/icons/third-party.svg +4 -4
  122. package/dist/assets/images/icons/typescript-light.svg +12 -0
  123. package/dist/assets/images/icons/typescript.svg +2 -2
  124. package/dist/assets/images/icons/ui-maker-light.svg +23 -0
  125. package/dist/assets/images/icons/ui-maker.svg +10 -10
  126. package/dist/assets/images/icons/utility-light.svg +19 -0
  127. package/dist/assets/images/icons/utility.svg +2 -2
  128. package/dist/assets/images/icons/vulnerability-light.svg +20 -0
  129. package/dist/assets/images/icons/vulnerability.svg +5 -5
  130. package/dist/assets/images/icons/web-light.svg +16 -0
  131. package/dist/assets/images/icons/web.svg +3 -3
  132. package/dist/assets/images/logo/api_maker_logo_dark.svg +29 -0
  133. package/dist/assets/images/logo/api_maker_logo_full_white.svg +29 -0
  134. package/dist/assets/images/logo/api_maker_logo_light.svg +22 -0
  135. package/dist/assets/images/logo/apple-touch-icon.png +0 -0
  136. package/dist/assets/images/logo/favicon-192x192.png +0 -0
  137. package/dist/assets/images/logo/favicon-32x32.png +0 -0
  138. package/dist/assets/images/logo/favicon-512x512.png +0 -0
  139. package/dist/assets/images/logo/logo_docs-light.svg +15 -0
  140. package/dist/assets/images/logo/logo_docs.svg +3 -3
  141. package/dist/assets/images/logo/logo_store-light.svg +17 -0
  142. package/dist/assets/images/logo/logo_store.svg +3 -3
  143. package/dist/assets/images/logo/store_logo-dark.svg +11 -0
  144. package/dist/assets/images/logo/store_logo-light.svg +11 -0
  145. package/dist/assets/images/logo/store_logo.svg +2 -2
  146. package/dist/assets/primeng-theme/primeng-theme-overrides.scss +1426 -31
  147. package/dist/assets/public/diagram-viewer/index.html +59 -20
  148. package/dist/assets/public/diagram-viewer/index.js +1 -1
  149. package/dist/assets/public/monaco-editor/index.html +105 -9
  150. package/dist/assets/public/monaco-editor/index.js +1 -1
  151. package/dist/assets/public/table-viewer/index.html +124 -38
  152. package/dist/assets/schema-types/InterfaceProps.ts +71 -13
  153. package/dist/assets/schema-types/store-types.ts +2 -0
  154. package/dist/assets/schema-types/types.ts +65 -17
  155. package/dist/assets/styles/bootstrap-overrides.scss +170 -7
  156. package/dist/assets/styles/colors-dark.scss +320 -33
  157. package/dist/assets/styles/colors-light.scss +453 -9
  158. package/dist/assets/styles/out/styles.css.map +1 -1
  159. package/dist/assets/styles/styles.scss +213 -24
  160. package/dist/assets/styles/variables.scss +2 -2
  161. package/dist/bootstrap-overrides.css +1 -0
  162. package/dist/colors-dark.css +1 -0
  163. package/dist/colors-light.css +1 -0
  164. package/dist/{common.912ad7a22e5de63a.js → common.86c514055f788290.js} +1 -1
  165. package/dist/index.html +111 -27
  166. package/dist/main.0ac98a72f1b9c1dd.js +1 -0
  167. package/dist/runtime.0e9fc303007ced09.js +1 -0
  168. package/dist/styles-global.css +1 -0
  169. package/dist/{styles.242217e145c3f7ab.css → styles.c1032bc4f4d7829b.css} +1 -1
  170. package/main.js +1 -1
  171. package/package-sandbox.json +1 -1
  172. package/package.json +9 -9
  173. package/pnpm-workspace.yaml +15 -0
  174. package/sandbox.js +1 -1
  175. package/src/assets/schema-types/store-types.ts +2 -0
  176. package/src/assets/schema-types/types.ts +65 -17
  177. package/src/schema-types/store-types.js +2 -0
  178. package/src/schema-types/types.js +1 -0
  179. package/src/tools/.github/copilot-instructions.md +17 -9
  180. package/src/tools/local-client.js +1 -1
  181. package/dist/1025.a0db9347453600d0.js +0 -1
  182. package/dist/1097.d0d6fd13031aa1f0.js +0 -1
  183. package/dist/148.1dc7d9e0cfe45510.js +0 -1
  184. package/dist/1558.0aae3e5c538d3815.js +0 -1
  185. package/dist/1678.ed1e4a269e0f42bc.js +0 -1
  186. package/dist/1754.691f142aa1eabe28.js +0 -1
  187. package/dist/1928.2b376f7cf66ed038.js +0 -1
  188. package/dist/1957.ab7fda21d9978597.js +0 -1
  189. package/dist/2140.1ce150285aebe3cc.js +0 -1
  190. package/dist/2295.4fa1d4b5ff482f3a.js +0 -1
  191. package/dist/238.891233aa670bdd2b.js +0 -1
  192. package/dist/2473.4b2bb1ad5b1cc99d.js +0 -1
  193. package/dist/2579.6558b67b2d98f116.js +0 -1
  194. package/dist/2714.0d6939336a02dd0a.js +0 -1
  195. package/dist/2735.86437a8639a0c1bb.js +0 -1
  196. package/dist/292.f6482cd1a572ba4b.js +0 -1
  197. package/dist/3139.0921102d181c220d.js +0 -1
  198. package/dist/3450.9b5cfc83039b02b5.js +0 -1
  199. package/dist/3664.4a1dd7f16f8b57fb.js +0 -1
  200. package/dist/4110.d108e786ecbdfd1b.js +0 -1
  201. package/dist/4186.ac3e8af0efeeac14.js +0 -1
  202. package/dist/4211.1bfe72ce0b7b2f76.js +0 -1
  203. package/dist/443.7e3946651373e09a.js +0 -1
  204. package/dist/4575.169008cbbbae66bb.js +0 -1
  205. package/dist/4842.e7649d81606ad80d.js +0 -1
  206. package/dist/485.b546656b466cb8a4.js +0 -1
  207. package/dist/5334.72c1c6d89fdf136e.js +0 -1
  208. package/dist/5421.2067001c10533303.js +0 -1
  209. package/dist/5679.4e22239895c7f520.js +0 -1
  210. package/dist/5761.331ca41ab64cca92.js +0 -1
  211. package/dist/5765.2b640be5d177d794.js +0 -1
  212. package/dist/6236.6c0fc469f0c96549.js +0 -1
  213. package/dist/6393.173ecdfc3b022973.js +0 -1
  214. package/dist/6401.374823002788afe7.js +0 -1
  215. package/dist/6650.1d18ee25901d68be.js +0 -1
  216. package/dist/7368.9ebf62d518f8ad7a.js +0 -1
  217. package/dist/7436.640bf5fe48814cbe.js +0 -1
  218. package/dist/7470.b1ce7eedb9cedb2d.js +0 -1
  219. package/dist/7649.ab4744cfe713eec0.js +0 -1
  220. package/dist/7975.578a00ebd1160a1e.js +0 -1
  221. package/dist/7977.afeded970bac8b66.js +0 -1
  222. package/dist/7987.5958ad5b81873058.js +0 -1
  223. package/dist/8125.b2f908096882ed45.js +0 -1
  224. package/dist/8266.aca59a0a04590ab1.js +0 -1
  225. package/dist/8296.a387c28f5702c5e8.js +0 -1
  226. package/dist/885.be44d92efca1aaf6.js +0 -1
  227. package/dist/891.5e08c81e5200413e.js +0 -1
  228. package/dist/9243.08630ad94e1fddba.js +0 -1
  229. package/dist/9575.30ac91b65602c0ca.js +0 -1
  230. package/dist/9939.a3389cc6764e3cbc.js +0 -1
  231. package/dist/assets/images/logo/API Maker Logo 2021 black.svg +0 -47
  232. package/dist/assets/images/logo/API Maker Logo 2021.svg +0 -49
  233. package/dist/assets/images/logo/logo.svg +0 -41
  234. package/dist/assets/styles/out/bootstrap-overrides.css +0 -2
  235. package/dist/assets/styles/out/colors-dark.css +0 -2
  236. package/dist/assets/styles/out/colors-light.css +0 -2
  237. package/dist/assets/styles/out/monaco-editor-overrides.css +0 -2
  238. package/dist/assets/styles/out/styles.css +0 -2
  239. package/dist/assets/styles/out/variables.css +0 -2
  240. package/dist/favicon.ico +0 -0
  241. package/dist/main.2046fb4b0dd1b8e0.js +0 -1
  242. package/dist/runtime.a86d5cd27767506e.js +0 -1
@@ -69,6 +69,7 @@ export enum ESupportedAPIParamType {
69
69
  aws_authorization = 'aws_authorization',
70
70
  google_authorization = 'google_authorization',
71
71
  azure_authorization = 'azure_authorization',
72
+ custom_authorization = 'custom_authorization',
72
73
 
73
74
  i18n = 'i18n',
74
75
  boolean = 'boolean',
@@ -102,6 +103,7 @@ export enum EHeader {
102
103
  AUTHORIZATION_AWS = 'x-aws-authorization', // used tor EAuthTokenType
103
104
  AUTHORIZATION_GOOGLE = 'x-google-authorization', // used tor EAuthTokenType
104
105
  AUTHORIZATION_AZURE = 'x-azure-authorization', // used tor EAuthTokenType
106
+ AUTHORIZATION_CUSTOM = 'x-custom-authorization', // used tor EAuthTokenType
105
107
  RUN_IN_SANDBOX = 'x-am-run-in-sandbox',
106
108
 
107
109
  ORIGIN = 'origin',
@@ -66,6 +66,8 @@ export interface ISandboxReqAuthObj {
66
66
  authAMUser?: any;
67
67
  /** API Maker database user authentication token. */
68
68
  authAMDB?: any;
69
+ /** Custom authorization provided by user */
70
+ authCustom?: any;
69
71
 
70
72
  /** Google authentication token. */
71
73
  authGoogle?: any;
@@ -202,6 +204,11 @@ export interface IAuthInfoObjects {
202
204
  /** Groups/roles assigned to the API Maker database user. */
203
205
  authAMDBGroups?: any[]; // IGroup[]
204
206
 
207
+ /** Custom authorization token information */
208
+ authCustomInfo?: any;
209
+ /** Groups/roles assigned to the API Maker database user. */
210
+ authCustomGroups?: any[]; // IGroup[]
211
+
205
212
  /** Google authentication token information. */
206
213
  authGoogleInfo?: IAuthTokenGoogle;
207
214
  /** Groups/roles assigned to the Google authenticated user. */
@@ -788,7 +795,7 @@ export interface ISecretType {
788
795
  common?: ISecretTypeCommon; // it is general purpose secret key section.
789
796
  }
790
797
 
791
- export interface ISecretTypeCommon extends Pick<IAuthTokenInfoCommon, 'authTokenInfo'> {
798
+ export interface ISecretTypeCommon extends Pick<IAuthTokenInfoCommon, 'authProviders'> {
792
799
  hashingAlgorithm?: 'SHA256'; // change in IPropertyHashing also
793
800
  nonce?: string; // if it is available, it will be used for hashing, if not available secret will be used for hashing
794
801
 
@@ -811,8 +818,9 @@ export interface ISecretTypeCommon extends Pick<IAuthTokenInfoCommon, 'authToken
811
818
 
812
819
  export interface IAuthTokenInfo {
813
820
  authTokenType?: EAuthTokenType;
814
- authTokenAM?: IAuthTokenAM | IRefreshTokenAM;
815
- authTokenAMDB?: IAuthTokenAMDB | IRefreshTokenAM;
821
+ authTokenAM?: IAuthTokenAM;
822
+ authTokenAMDB?: IAuthTokenAMDBRequest;
823
+ authTokenCustom?: IAuthTokenAMDBRequest;
816
824
 
817
825
  authTokenAWS?: IAuthTokenAWS;
818
826
  authTokenAzureAD?: IAuthTokenAzureAD;
@@ -832,14 +840,18 @@ export interface IAuthTokenAM {
832
840
  expiresInSeconds?: number;
833
841
  }
834
842
 
835
- export interface IRefreshTokenAM {
836
- refresh_token: string;
837
- }
843
+ // export interface IRefreshTokenAM {
844
+ // name?: string;
845
+ // refresh_token: string;
846
+ // }
838
847
 
839
848
  /**
840
849
  * API Maker database user authentication configuration.
841
850
  */
842
- export interface IAuthTokenAMDB extends Partial<IAuthTokenAM> {
851
+ export interface IAuthTokenAMDB {
852
+ /** Name of DB authorization token generator. It will be used in get-token api with username & pass to generate token. */
853
+ name?: string;
854
+
843
855
  /** Database instance name. */
844
856
  instance?: string;
845
857
  /** Database name. */
@@ -860,9 +872,9 @@ export interface IAuthTokenAMDB extends Partial<IAuthTokenAM> {
860
872
  passwordChangedAtColumn?: string;
861
873
 
862
874
  /**
863
- * Column containing comma-separated group assignments.
864
- * Use "*" to grant access to all API user groups.
865
- * DB users can access APIs if they belong to at least one of the required groups.
875
+ * column name which holds values of, comma separated groups assigned to this db user.
876
+ * "*" = means all groups of api user.
877
+ * DB user can hit API if he/she has access in any of these groups.
866
878
  */
867
879
  groupsColumn?: string;
868
880
  /**
@@ -877,12 +889,19 @@ export interface IAuthTokenAMDB extends Partial<IAuthTokenAM> {
877
889
  sortUsersForTesting?: any;
878
890
  /** Fields to select from user records. */
879
891
  select?: any;
892
+ /** Token expiration time in seconds. */
893
+ expiresInSeconds?: number;
894
+ /** If true, code will be executed on native process otherwise executed on sandbox. */
895
+ runOnNativeProcess?: boolean;
896
+ }
880
897
 
881
- /**
882
- * Stringified request JSON data.
883
- * Internal field populated by the system.
884
- */
885
- __amDBRequestData?: string;
898
+ export interface IAuthTokenAMDBRequest {
899
+ /** Name of token generator */
900
+ name?: string;
901
+ /** Username. */
902
+ u: string;
903
+ /** Password. */
904
+ p: string;
886
905
  }
887
906
 
888
907
  /**
@@ -1332,6 +1351,22 @@ export interface IArrayOperation {
1332
1351
  upsert?: boolean;
1333
1352
  }
1334
1353
 
1354
+ /**
1355
+ * Request structure for token generation API calls.
1356
+ */
1357
+ export interface IGetTokenRequest {
1358
+ /** Name of token generator */
1359
+ name?: string;
1360
+ /** Username. */
1361
+ u: string;
1362
+ /** Password. */
1363
+ p: string;
1364
+ /** Refresh token for obtaining a new access token without re-authenticating. */
1365
+ refresh_token?: string;
1366
+ /** Token expiration time in seconds. Used to get only AM user token. */
1367
+ expiresInSeconds?: number;
1368
+ }
1369
+
1335
1370
  /**
1336
1371
  * Response structure for token generation API calls.
1337
1372
  */
@@ -1349,10 +1384,14 @@ export interface IGetTokenResponse {
1349
1384
 
1350
1385
  export interface IAuthTokenInfoCommon {
1351
1386
  apiAccessType?: EAPIAccessType; // api level setting
1352
- authTokenInfo?: IAuthTokenInfo[] | string; // string will point to secret path.
1387
+
1388
+ /** Provide names of token generators */
1389
+ authProviders?: string[];
1353
1390
  }
1354
1391
 
1355
1392
  export interface IInstanceApiSettingsTypes extends IAuthTokenInfoCommon {
1393
+ /** Folder name of this item in git. It has to be unique, and it can contain [a-zA-Z0-9_ -] characters only. */
1394
+ name?: string;
1356
1395
  enableCaching?: boolean; // collection level setting
1357
1396
  acceptOnlyEncryptedData?: boolean; // database & collection & api level setting
1358
1397
  }
@@ -1415,6 +1454,13 @@ export interface ICustomApiSettingsTypes extends IAuthTokenInfoCommon {
1415
1454
  */
1416
1455
  runOnNativeProcess?: boolean;
1417
1456
 
1457
+ /**
1458
+ * Maximum time (in seconds) the system will allow this custom API to complete its operation.
1459
+ * Converted to milliseconds and sent as the 'x-am-sandbox-timeout' header.
1460
+ * @default 10
1461
+ */
1462
+ customApiTimeoutInSeconds?: number;
1463
+
1418
1464
  /**
1419
1465
  * List of all possible error messages this API can return.
1420
1466
  * Used for API documentation and client-side error handling.
@@ -1612,6 +1658,8 @@ export enum EAuthTokenType {
1612
1658
  AM = 'AM',
1613
1659
  /** Database-backed user authentication. */
1614
1660
  AM_DB = 'AM_DB',
1661
+ /** Write your own logic to generate token and validate token */
1662
+ CUSTOM_TOKEN_GENERATOR = 'CUSTOM_TOKEN_GENERATOR',
1615
1663
  /** Google OAuth authentication. */
1616
1664
  GOOGLE = 'GOOGLE',
1617
1665
  /** AWS Cognito authentication. */
@@ -1829,7 +1877,7 @@ export interface IAMGlobalSysSystem {
1829
1877
  getSecret(): any; // we can call it without any param also, in store and in tp it will return object of that part.
1830
1878
  callExternalApi<T>(data: ICallApiFromBackend | ICallApiFromBackend[] | ICallApiFromBackendProcess | ICallApiFromBackendProcess[] | (ICallApiFromBackend | ICallApiFromBackendProcess)[]): Promise<ICallExternalApiResp<T>>;
1831
1879
  callExternalApi(data: ICallApiFromBackend | ICallApiFromBackend[] | ICallApiFromBackendProcess | ICallApiFromBackendProcess[] | (ICallApiFromBackend | ICallApiFromBackendProcess)[]): Promise<ICallExternalApiResp<any>>;
1832
- getToken(data: IAuthTokenInfo | IAuthTokenInfo[]): any;
1880
+ getToken(data: IGetTokenRequest | IGetTokenRequest[]): any;
1833
1881
  executeQuery(query: IExecuteQuery): any;
1834
1882
  /**
1835
1883
  * It should be used SQL based databases only.
@@ -72,6 +72,7 @@ var ESupportedAPIParamType = /*#__PURE__*/ function(ESupportedAPIParamType) {
72
72
  ESupportedAPIParamType["aws_authorization"] = "aws_authorization";
73
73
  ESupportedAPIParamType["google_authorization"] = "google_authorization";
74
74
  ESupportedAPIParamType["azure_authorization"] = "azure_authorization";
75
+ ESupportedAPIParamType["custom_authorization"] = "custom_authorization";
75
76
  ESupportedAPIParamType["i18n"] = "i18n";
76
77
  ESupportedAPIParamType["boolean"] = "boolean";
77
78
  ESupportedAPIParamType["dropdown"] = "dropdown";
@@ -98,6 +99,7 @@ var EHeader = /*#__PURE__*/ function(EHeader) {
98
99
  EHeader["AUTHORIZATION_AWS"] = "x-aws-authorization";
99
100
  EHeader["AUTHORIZATION_GOOGLE"] = "x-google-authorization";
100
101
  EHeader["AUTHORIZATION_AZURE"] = "x-azure-authorization";
102
+ EHeader["AUTHORIZATION_CUSTOM"] = "x-custom-authorization";
101
103
  EHeader["RUN_IN_SANDBOX"] = "x-am-run-in-sandbox";
102
104
  EHeader["ORIGIN"] = "origin";
103
105
  EHeader["AUTHORIZATION"] = "authorization";
@@ -431,6 +431,7 @@ var ESwaggerParamInType = /*#__PURE__*/ function(ESwaggerParamInType) {
431
431
  var EAuthTokenType = /*#__PURE__*/ function(EAuthTokenType) {
432
432
  /** API Maker native user authentication. */ EAuthTokenType["AM"] = "AM";
433
433
  /** Database-backed user authentication. */ EAuthTokenType["AM_DB"] = "AM_DB";
434
+ /** Write your own logic to generate token and validate token */ EAuthTokenType["CUSTOM_TOKEN_GENERATOR"] = "CUSTOM_TOKEN_GENERATOR";
434
435
  /** Google OAuth authentication. */ EAuthTokenType["GOOGLE"] = "GOOGLE";
435
436
  /** AWS Cognito authentication. */ EAuthTokenType["AWS"] = "AWS";
436
437
  /** Azure Active Directory authentication. */ EAuthTokenType["AZURE"] = "AZURE";
@@ -17,7 +17,8 @@ This is a repository for [API Maker](https://api-maker.com) — a custom backend
17
17
  - "-1" version will always be there and file name will be "Original.ts" in that. Do not create any extra versions until users asks for that.
18
18
  - If you want to understand more about types & parameters & about framework, you can refer "am-types/types.ts"
19
19
  - Never make database calls inside loop. "g.sys.*" or any other method from "g" object should not be used in loop until it is extremely necessary. Create array of id and query db and get all required data and create map and use it in the loop instead of database call.
20
- - To extract information from file name follow this. " -- " = is level/type separator. " - " = is / separator.
20
+ - Do not extract information from the folder name of an entity. Folder name is the "name" property of the entity (or its "guid" when it has no name), it is just a label. Read the ".yaml" file inside the folder to know which instance, database, collection or api the entity belongs to.
21
+ - To extract information from file name follow this. " - " = is / separator.
21
22
 
22
23
  ---
23
24
 
@@ -55,17 +56,24 @@ This is a repository for [API Maker](https://api-maker.com) — a custom backend
55
56
 
56
57
  ## Folder Naming Conventions
57
58
 
58
- Names encode relationships using ` -- ` (space-dash-dash-space) as separator:
59
+ For the entities below the folder name is the "name" property of the entity, and the "guid" property when the entity has no name. The folder name does not encode instance / database / collection / api. Those values are properties inside the ".yaml" file of that folder, always read them from there.
60
+
61
+ | Entity | Folder name | Example |
62
+ |---|---|---|
63
+ | Schema | `{name}` or `{guid}` | `mongod_test_defaul` |
64
+ | Collection hook | `{name}` or `{guid}` | `mongod_test_defaul` |
65
+ | Database hook | `{name}` or `{guid}` | `mongod_test` |
66
+ | Instance API hook | `{name}` or `{guid}` | `mongod_test_defaul_GEN_GE` |
67
+ | Instance API setting | `{name}` or `{guid}` | `mongod_test_defaul_GEN_GE` |
68
+ | WebSocket event | `{name}` or `{guid}` | `mongod_test_defaul_Get_al` |
69
+
70
+ "name" is unique per user, so two entities of same type never share a folder.
71
+
72
+ Entities below still compose their folder name from their own properties:
59
73
 
60
74
  | Entity | Pattern | Example |
61
75
  |---|---|---|
62
- | Schema | `{instance} -- {database} -- {collection}` | `mongodb -- test -- default` |
63
- | Collection hook | `{instance} -- {database} -- {collection}` | `mongodb -- test -- default` |
64
- | Database hook | `{instance} -- {database}` | `mongodb -- test` |
65
- | Instance API hook | `{instance} -- {database} -- {collection} -- {apiId}` | `mongodb -- test -- default -- GEN_GET_ALL` |
66
- | Instance API setting | `{instance} -- {database} -- {collection} -- {apiId}` | `mongodb -- test -- default -- GEN_GET_ALL` |
67
76
  | Third party API bundle | `{bundle-name} -- {version}` | `aws-s3-bucket -- 1.0.0` |
68
- | WebSocket event | `{Category} -- {identifier}` | `Custom APIs -- Hello World` |
69
77
  | Utility class | `{bundle} - {scope} - {version} - {ns} -- {ClassName}` | `utils - -- GeneralUtils` |
70
78
 
71
79
  ---
@@ -1170,7 +1178,7 @@ let customApi: T.ICustomApiSettingsTypes = {
1170
1178
 
1171
1179
  // Optional: override which auth tokens are checked
1172
1180
  // Empty array = only AM authorization required (overrides default secret's authTokenInfo)
1173
- // authTokenInfo: <T.IAuthTokenInfo[]>[],
1181
+ // authProviders: ['name_of_token_generator'],
1174
1182
 
1175
1183
  resetCacheOnModificationOf: [
1176
1184
  'DB: instance_name:database_name:collection_name', // reset when this collection changes
@@ -1 +1 @@
1
- function a0_0x35ed(){const _0x4c2266=['DB_MIGRATIONS','getSeconds','sep','Instance\x20API\x20settings','I18Ns','UNREGISTER','join','fsIsFileContentSame','unhandledRejection','PUT','am_groups','npm','readFile','PROCESS_INITIALIZERS','orangeStart','DB\x20master\x20utils','API\x20users','ProcessInitializers','SIGTERM','INSTANCE_API_SETTINGS','startWatch','getChangedFolder','Error\x20closing\x20watcher\x20before\x20full\x20sync','watch','SYSTEM_API_SETTINGS','package-lock.json','post-hooks','beforeExit','system-api-hooks','am_tp_installed_apis','Instance\x20hooks','Process\x20initializers','debounce','PUT_REPLACE','--no-save','error','Groups','mkdir','5330073lgjMKr','am_tp_api_settings','am_log_profiles','eventData','LC_FOLDER_CHANGED_ON_LOCAL_SYSTEM','send','am_test_cases','UIMakerStyles','COLLECTION_HOOKS','padStart','syncToken','instance-hooks','UNKNOWN','bind','✓\x20Receive\x20:\x20[','sendToServer','set','AmTestCases','slice','✅\x20Local\x20client\x20started...','invalidOnEvents','skipFileWritingForLocal','type','LC_SEND_ALL_DATA','Instance\x20API\x20hooks','statSync','projectDirectory',']\x20:\x20[','Database\x20hooks','fsReadDir','buildUnixPathMap','toString','checkForNodeVersion','split','addProcessHooks','shutdownAndExit','WebSocketEvents','getMinutes','eventType','watch\x20handler\x20error','config','path','response','getCategoryOfPath','onerror','base64','16832547juMMEp','change','UTILITY_CLASSES','parse','pre-hooks','then','readDirCustom','chokidar','\x1b[0m','✅\x20Connected\x20to\x20server\x20via\x20WS','Third\x20party\x20APIs','am-types','DB\x20masters',']\x20:\x20','chokidar@4.0.3','web-socket-events','listeners','mkdirSync','am_ui_maker_styles','undefined','REGISTER','syncAllDataWithServer','fsMkDir','LC_DATA_MODIFIED_IN_DATABASE','am_instance_hooks','SystemApiSettings','DBMasters','LOG_PROFILES','custom-apis','→\x20Skip\x20(unchanged)\x20:\x20[','content','1535000hBabeT','INSTANCE_HOOKS','CONNECTED','Utility\x20classes','SCHEDULERS','TEST_CASES','am_database_hooks','posix','colorEnd','relative','readdir','promises','TOKEN_VALIDATION','WEB_SOCKET_EVENT','processReceivedEvent','normalizeEOLToLFBase64','nodeModulesInstalled','✅\x20Dependencies\x20installed','events','serializeFolderWithBinary','am_system_api_settings','version','am_instance_api_settings','DELETE','filter','Node.js\x2022+\x20is\x20required.\x20Current\x20version:\x20','schemas','fsExistsSync','CustomApis','normalizeEOLBase64','db-interfaces.d.ts','Admin\x20user','skipWatchInputs','onmessage','\x27\x20exited\x20with\x20code\x20','INSTANCES','adminUserPath','log','resolve','Events','CollectionHooks','child_process','sendDeletedEventToServerInternal','dirname','from','exports','1994754rXUelt','ui-maker-utils','./local-client.config','versions','am_ui_maker_utils','process-initializers','min','ApiUsers','EVENTS_WS','SystemApiHooks','InstanceHooks','Log\x20profiles','am_custom_apis','ADMIN_USER','DB_MASTERS','collection-hooks','install','UI_MAKER_STYLES','addDir','ui-maker-styles','all','isDirectory','Error\x20during\x20shutdown','Collection\x20hooks','Schemas','charCodeAt','CUSTOM_APIS','am_web_socket_events','exit','instance-api-hooks','close','errors','removeEmptyDirsSync','repo','?authTokenInfo=ws-local-client-sync&authorization=','API_USERS','am_process_initializers','Error\x20while\x20connecting\x20to\x20WS\x20server.','SYSTEM_APIS','am_tp_api_versions','15HOlTuv','onclose','\x20Please\x20provide\x20settings\x20in\x20:\x20','POST','localClientPath','third-party-apis','WebSocket\x20events','shuttingDown','.js','start','am_database_migrations','getChangedFolderForDeleted','readdirSync','LogProfiles','am_utility_classes','add','src','db-migrations','System\x20API\x20hooks','normalizePath','12489792xtiMSi','performFullSync','writeMemfsJsonToDisk','unlink','Watcher\x20error:','replace','watcher','2sJwgkW','⏳\x20Dependencies\x20installation\x20process\x20started','I18NS','length','THIRD_PARTY_APIS','SYSTEM_API_HOOKS','InstanceApiHooks','rmdirSync','Instances','sendDeletedEventToServerDebounce','⏳\x20node_modules\x20installation\x20process\x20started','✓\x20Send\x20:\x20[','name','connected','Schedulers','printNotes','fsWriteFile','Custom\x20APIs','validOnEvents','tsconfig.json','unlinkDir','987623aXrHUT','executeNpmRun','apis','stringify','utf8','UI\x20maker\x20styles','data','getCurrentTime','am_events','isBuffer','AmEvents','installRequiredPackages','push','appRoot','i18ns','entries','UIMakerUtils','warn','normalize','connectToServerViaWS','SIGTERM\x20received\x20—\x20shutting\x20down','types','--force','LOCAL_CLIENT_SYNC_EVENTS','fsRemoveFile','message','tests','startsWith','writeFile','database-hooks','\x20Current\x20Dir\x20:\x20','am_collection_hooks','LC_DATA_REQ_RES','\x1b[38;2;255;165;0m','fullSyncCounter','uncaughtException','onopen','Connection\x20closed.','Database\x20migrations','3671264NBzWby','fsReadFile','Test\x20cases','printNotesToProvideLocalClient','am_schemas'];a0_0x35ed=function(){return _0x4c2266;};return a0_0x35ed();}function a0_0xf7a7(_0x24ba66,_0x170bd5){_0x24ba66=_0x24ba66-0x135;const _0x35ed74=a0_0x35ed();let _0xf7a799=_0x35ed74[_0x24ba66];return _0xf7a799;}(function(_0x4168c7,_0x46a2de){const _0x425c3a=a0_0xf7a7,_0x4fd86f=_0x4168c7();while(!![]){try{const _0x4b4f2b=parseInt(_0x425c3a(0x24f))/0x1+-parseInt(_0x425c3a(0x23a))/0x2*(parseInt(_0x425c3a(0x17c))/0x3)+-parseInt(_0x425c3a(0x1c9))/0x4*(parseInt(_0x425c3a(0x21f))/0x5)+-parseInt(_0x425c3a(0x1f7))/0x6+parseInt(_0x425c3a(0x233))/0x7+-parseInt(_0x425c3a(0x151))/0x8+parseInt(_0x425c3a(0x1aa))/0x9;if(_0x4b4f2b===_0x46a2de)break;else _0x4fd86f['push'](_0x4fd86f['shift']());}catch(_0x279a38){_0x4fd86f['push'](_0x4fd86f['shift']());}}}(a0_0x35ed,0xe14e6),((()=>{'use strict';var _0x132fa9={0x3(_0x4ec714){const _0x12d65f=a0_0xf7a7;_0x4ec714[_0x12d65f(0x1f6)]=require(_0x12d65f(0x1a5));},0xe7(_0x305038){const _0x36f14e=a0_0xf7a7;_0x305038[_0x36f14e(0x1f6)]=require(_0x36f14e(0x1b1));},0x13d(_0xc1ee2d){const _0x1be561=a0_0xf7a7;_0xc1ee2d[_0x1be561(0x1f6)]=require(_0x1be561(0x1f2));},0x380(_0x5a183f){_0x5a183f['exports']=require('fs');}},_0x21b106={};function _0x53aad7(_0x5f377f){const _0x5235ee=a0_0xf7a7;var _0x52637c=_0x21b106[_0x5f377f];if(void 0x0!==_0x52637c)return _0x52637c[_0x5235ee(0x1f6)];var _0xcece8f=_0x21b106[_0x5f377f]={'exports':{}};return _0x132fa9[_0x5f377f](_0xcece8f,_0xcece8f['exports'],_0x53aad7),_0xcece8f[_0x5235ee(0x1f6)];}((()=>{const _0x4ff6b7=a0_0xf7a7,_0x36b45d=_0x53aad7(0x380),_0x3b8d74=_0x53aad7(0x3),_0x5a977c=_0x53aad7(0x13d);var _0xf8c7a0,_0x5956d9,_0x5e34fd,_0x5b7b95,_0x50bff7,_0x4edbd2;new class{constructor(){const _0x5b89f6=a0_0xf7a7;this['EL']=!0x1,this[_0x5b89f6(0x137)]=_0x3b8d74[_0x5b89f6(0x1ef)](''),this[_0x5b89f6(0x196)]='',this['C']={'localClientPath':_0x5b89f6(0x1f9),'src':_0x5b89f6(0x22f),'repo':_0x5b89f6(0x218),'types':_0x5b89f6(0x13f),'amTypes':_0x5b89f6(0x1b5),'versions':_0x5b89f6(0x1fa),'apis':_0x5b89f6(0x251),'listeners':_0x5b89f6(0x1ba),'postHooks':_0x5b89f6(0x170),'preHooks':_0x5b89f6(0x1ae),'dbInterfacesFile':_0x5b89f6(0x1e7),'UtilityClassesReadF':_0x5b89f6(0x1cc),'CustomApiReadF':_0x5b89f6(0x24b),'SchedulersReadF':_0x5b89f6(0x248),'WebSocketEventsReadF':_0x5b89f6(0x225),'SchemaReadF':_0x5b89f6(0x20f),'DBMigrationsReadF':_0x5b89f6(0x150),'ProcessInitializersReadF':'Process\x20initializers','ProcessI18NReadF':_0x5b89f6(0x138),'DBMastersReadF':_0x5b89f6(0x1b6),'DBMasterStylesReadF':_0x5b89f6(0x254),'DBMasterUtilsReadF':_0x5b89f6(0x165),'TestCasesReadF':_0x5b89f6(0x153),'ThirdPartyApiReadF':_0x5b89f6(0x1b4),'EventsReadF':'Events','InstanceApiHooksReadF':_0x5b89f6(0x194),'SystemApiHooksReadF':_0x5b89f6(0x231),'CollectionHooksReadF':_0x5b89f6(0x20e),'DatabaseHooksReadF':_0x5b89f6(0x198),'InstanceHooksReadF':'Instance\x20hooks','CustomApisWriteF':_0x5b89f6(0x1c6),'SchedulersWriteF':'schedulers','WebSocketEventsWriteF':_0x5b89f6(0x1b9),'SchemaWriteF':_0x5b89f6(0x1e3),'DBMigrationsWriteF':_0x5b89f6(0x230),'ProcessInitializersWriteF':_0x5b89f6(0x1fc),'ProcessI18NWriteF':_0x5b89f6(0x138),'DBMastersWriteF':'ui-maker-pages','DBMasterStylesWriteF':_0x5b89f6(0x20a),'DBMasterUtilsWriteF':_0x5b89f6(0x1f8),'TestCasesWriteF':_0x5b89f6(0x144),'ThirdPartyApiWriteF':_0x5b89f6(0x224),'EventsWriteF':_0x5b89f6(0x1db),'InstanceApiHooksWriteF':_0x5b89f6(0x214),'SystemApiHooksWriteF':_0x5b89f6(0x172),'CollectionHooksWriteF':_0x5b89f6(0x206),'DatabaseHooksWriteF':_0x5b89f6(0x147),'InstanceHooksWriteF':_0x5b89f6(0x187)},this[_0x5b89f6(0x1e9)]=!0x1,this[_0x5b89f6(0x191)]={},this[_0x5b89f6(0x1d9)]=!0x1,this[_0x5b89f6(0x164)]=_0x5b89f6(0x14b),this['cyanStart']='\x1b[36m',this[_0x5b89f6(0x1d1)]=_0x5b89f6(0x1b2),this['fullSyncCounter']=0x0,this[_0x5b89f6(0x243)]=this[_0x5b89f6(0x176)](this[_0x5b89f6(0x1f3)]);}async[_0x4ff6b7(0x228)](){const _0x3de51b=_0x4ff6b7;this['addProcessHooks'](),this['checkForNodeVersion'](),this[_0x3de51b(0x1e4)](this['C'][_0x3de51b(0x223)]+'.js')||(this[_0x3de51b(0x154)](),this[_0x3de51b(0x19f)](0x1)['then']()),this['config']=require(this['C'][_0x3de51b(0x223)])(),await this[_0x3de51b(0x249)](),this[_0x3de51b(0x217)](_0x3b8d74[_0x3de51b(0x15c)](this[_0x3de51b(0x137)],this['C'][_0x3de51b(0x22f)])),await this['connectToServerViaWS']();}[_0x4ff6b7(0x19c)](){const _0x3f542b=_0x4ff6b7,_0x32ea6c=process[_0x3f542b(0x1de)];parseInt(_0x32ea6c[_0x3f542b(0x19d)]('.')[0x0]['replace']('v',''),0xa)<0x16&&(console['error'](this[_0x3f542b(0x164)]+_0x3f542b(0x1e2)+_0x32ea6c+this[_0x3f542b(0x1d1)]),this[_0x3f542b(0x19f)](0x1)['then']());}async[_0x4ff6b7(0x249)](){const _0x379f8f=_0x4ff6b7;console[_0x379f8f(0x1ee)](this[_0x379f8f(0x164)]),console[_0x379f8f(0x1ee)]('——————————————————————————————————————\x20Note\x20——————————————————————————————————————'),console[_0x379f8f(0x1ee)]('\x20The\x20local\x20client\x20will\x20pull\x20the\x20latest\x20changes\x20from\x20the\x20server\x20and\x20keep\x20them\x20synchronized\x20between\x20the\x20IDE\x20and\x20the\x20server.'),console[_0x379f8f(0x1ee)](_0x379f8f(0x148)+this[_0x379f8f(0x137)]),console[_0x379f8f(0x1ee)]('——————————————————————————————————————————————————————————————————————————————————'),console[_0x379f8f(0x1ee)](this[_0x379f8f(0x1d1)]),console[_0x379f8f(0x1ee)]('');}['printNotesToProvideLocalClient'](){const _0x10f497=_0x4ff6b7;console[_0x10f497(0x1ee)](_0x10f497(0x14b)),console[_0x10f497(0x1ee)](_0x10f497(0x221)+this['C'][_0x10f497(0x223)]+_0x10f497(0x227)),console['log']('\x1b[0m'),console['log']('');}async[_0x4ff6b7(0x135)](){const _0x1441d8=_0x4ff6b7;console[_0x1441d8(0x1ee)](_0x1441d8(0x23b));try{_0x36b45d['unlinkSync'](_0x3b8d74['join'](this[_0x1441d8(0x137)],_0x1441d8(0x16f)));}catch(_0x59037b){}await this[_0x1441d8(0x250)]('npm',[_0x1441d8(0x207),_0x1441d8(0x178),_0x1441d8(0x1b8)]),this[_0x1441d8(0x1d9)]=!0x0,console[_0x1441d8(0x1ee)](_0x1441d8(0x1da));}async[_0x4ff6b7(0x250)](_0x357628,_0x1ed3bc){return new Promise((_0x254d9b,_0x44d231)=>{const _0x89ee8d=a0_0xf7a7,_0xd43818=(0x0,_0x5a977c['spawn'])(_0x357628,_0x1ed3bc,{'shell':!0x0,'cwd':this['appRoot']});_0xd43818['on'](_0x89ee8d(0x215),_0x20b5b0=>{const _0x6e2937=_0x89ee8d;if(0x0===_0x20b5b0)setTimeout(_0x254d9b,0x3e8);else{const _0x37f453='\x27'+_0x357628+'\x20'+_0x1ed3bc['join']('\x20')+_0x6e2937(0x1eb)+_0x20b5b0+'.';_0x44d231(new Error(_0x37f453));}}),_0xd43818['on'](_0x89ee8d(0x179),_0x26f429=>{const _0x1daeb7=_0x89ee8d;console[_0x1daeb7(0x179)]('Failed\x20to\x20start\x20the\x20npm\x20process:\x20'+_0x26f429[_0x1daeb7(0x143)]),_0x44d231(_0x26f429);});});}async[_0x4ff6b7(0x16a)](){const _0x42b2f0=_0x4ff6b7;this['nodeModulesInstalled']||await this[_0x42b2f0(0x135)]();const _0x46cd55=await Promise[_0x42b2f0(0x1ef)]()[_0x42b2f0(0x1af)](()=>_0x53aad7(0xe7)),_0x444b73=_0x3b8d74[_0x42b2f0(0x15c)](this[_0x42b2f0(0x137)]),_0x18e321=_0x3b8d74[_0x42b2f0(0x15c)](this[_0x42b2f0(0x137)],this['C'][_0x42b2f0(0x22f)]),_0x2d7728=_0xc237c8=>{const _0xde2ca8=_0x42b2f0,_0x122e93=_0x3b8d74['relative'](_0x444b73,_0xc237c8);return!(_0x122e93&&!_0x122e93[_0xde2ca8(0x145)]('.')&&!_0x122e93['endsWith']('~')&&_0x122e93['startsWith'](this['C']['src']));},_0x18a28d=_0x46cd55[_0x42b2f0(0x16d)](_0x18e321,{'persistent':!0x0,'ignoreInitial':!0x0,'depth':0x1/0x0,'awaitWriteFinish':{'stabilityThreshold':0xc8,'pollInterval':0x64}}),_0x12528e=async(_0x36c120,_0x322c63)=>{const _0x12c72e=_0x42b2f0;try{if(this[_0x12c72e(0x1e9)])return;const _0x3fcb1e=_0x3b8d74[_0x12c72e(0x1d2)](_0x444b73,_0x322c63);if(!_0x322c63||_0x2d7728(_0x322c63))return;console[_0x12c72e(0x1ee)](_0x12c72e(0x245)+this[_0x12c72e(0x256)]()+_0x12c72e(0x197)+_0x36c120+_0x12c72e(0x1b7)+_0x3fcb1e);const _0x13be33=this['getCategoryOfPath'](_0x3fcb1e);if(!_0x13be33)return;const _0x198b0b=this[_0x12c72e(0x16b)](_0x13be33,_0x3fcb1e);if(!_0x198b0b)return;let _0x14ee8f,_0x3b816c=!0x1;if(this['fsExistsSync'](_0x198b0b)){if(this[_0x12c72e(0x1e4)](_0x3b8d74[_0x12c72e(0x15c)](_0x444b73,_0x3fcb1e))){const _0x518d0b=_0x3b8d74['join'](_0x3b8d74[_0x12c72e(0x158)]+this['C'][_0x12c72e(0x218)],_0x198b0b);_0x14ee8f=await this['serializeFolderWithBinary'](_0x198b0b,_0x518d0b),this[_0x12c72e(0x18b)]({'objType':_0x5956d9[_0x12c72e(0x14a)],'localClientWSReqRes':{'eventType':_0x5e34fd[_0x12c72e(0x180)],'folderChangedOnLocalSystem':_0x14ee8f,'category':_0x13be33,'shouldReplaceAllItemsOfCategory':_0x3b816c}});}else this[_0x12c72e(0x1bf)]();}else{const _0x4b9d8d=this[_0x12c72e(0x22a)](_0x13be33,_0x3fcb1e),_0x4be92a=_0x3b8d74[_0x12c72e(0x15c)](_0x3b8d74[_0x12c72e(0x158)]+this['C']['repo'],_0x4b9d8d);_0x14ee8f=await this[_0x12c72e(0x1dc)](_0x4b9d8d,_0x4be92a),_0x3b816c=!0x0,this['sendDeletedEventToServerDebounce'](_0x14ee8f,_0x13be33,_0x3b816c);}}catch(_0x2028f9){console[_0x12c72e(0x179)](_0x12c72e(0x1a3),_0x2028f9);}};_0x18a28d['on'](_0x42b2f0(0x22e),_0x4a498c=>_0x12528e(_0x42b2f0(0x22e),_0x4a498c))['on'](_0x42b2f0(0x1ab),_0x9a0d11=>_0x12528e('change',_0x9a0d11))['on'](_0x42b2f0(0x236),_0x44b712=>_0x12528e(_0x42b2f0(0x236),_0x44b712))['on'](_0x42b2f0(0x209),_0x481f5d=>_0x12528e('addDir',_0x481f5d))['on']('unlinkDir',_0x29c39f=>_0x12528e(_0x42b2f0(0x24e),_0x29c39f))['on'](_0x42b2f0(0x179),_0x1b9160=>console['error'](_0x42b2f0(0x237),_0x1b9160)),this[_0x42b2f0(0x239)]=_0x18a28d,0x1===this[_0x42b2f0(0x14c)]&&console[_0x42b2f0(0x1ee)](_0x42b2f0(0x18f));}[_0x4ff6b7(0x256)](){const _0x430430=_0x4ff6b7,_0x5baaf7=new Date();return String(_0x5baaf7['getHours']())['padStart'](0x2,'0')+':'+String(_0x5baaf7[_0x430430(0x1a1)]())[_0x430430(0x185)](0x2,'0')+':'+String(_0x5baaf7[_0x430430(0x157)]())[_0x430430(0x185)](0x2,'0');}[_0x4ff6b7(0x1f3)](_0x4fc542,_0x364812,_0x200e50){const _0x5649e0=_0x4ff6b7;this['sendToServer']({'objType':_0x5956d9[_0x5649e0(0x14a)],'localClientWSReqRes':{'eventType':_0x5e34fd[_0x5649e0(0x180)],'folderChangedOnLocalSystem':_0x4fc542,'category':_0x364812,'shouldReplaceAllItemsOfCategory':_0x200e50}});}[_0x4ff6b7(0x176)](_0x3fa6db){let _0x1bbd96=null;return function(..._0x2fa30a){clearTimeout(_0x1bbd96),_0x1bbd96=setTimeout(()=>{_0x3fa6db['apply'](this,_0x2fa30a);},0x1f4);};}[_0x4ff6b7(0x1a7)](_0x15178f){const _0x5c71f5=_0x4ff6b7,_0xaaf9ec=_0x3b8d74['join'](this['C'][_0x5c71f5(0x22f)]);if(!_0x15178f['startsWith'](_0xaaf9ec))return;const _0x1f694d=_0x15178f[_0x5c71f5(0x19d)](_0x3b8d74[_0x5c71f5(0x158)])[_0x5c71f5(0x1e1)](_0x23a563=>!!_0x23a563)[0x1];for(const _0x370913 in _0x4edbd2)if(_0x4edbd2[_0x370913]===_0x1f694d)return _0x1f694d;}[_0x4ff6b7(0x16b)](_0x5a31a8,_0x53f5cb){const _0x5c533a=_0x4ff6b7,_0x400ab0=_0x53f5cb['split'](_0x3b8d74[_0x5c533a(0x158)]);let _0x186c72='';return _0x186c72=_0x5a31a8===_0x4edbd2[_0x5c533a(0x23e)]?_0x400ab0['slice'](0x0,0x5)[_0x5c533a(0x15c)](_0x3b8d74[_0x5c533a(0x158)]):_0x5a31a8===_0x4edbd2[_0x5c533a(0x204)]?_0x186c72=_0x400ab0[_0x5c533a(0x18e)](0x0,0x2)[_0x5c533a(0x15c)](_0x3b8d74[_0x5c533a(0x158)]):_0x400ab0[_0x5c533a(0x18e)](0x0,0x3)[_0x5c533a(0x15c)](_0x3b8d74[_0x5c533a(0x158)]),_0x186c72;}['getChangedFolderForDeleted'](_0x3185be,_0x32aa61){const _0xe81d53=_0x4ff6b7;return _0x32aa61[_0xe81d53(0x19d)](_0x3b8d74[_0xe81d53(0x158)])['slice'](0x0,0x3)[_0xe81d53(0x15c)](_0x3b8d74[_0xe81d53(0x158)]);}async[_0x4ff6b7(0x1dc)](_0x4ad4a3,_0x45abea){const _0x50462f={},_0x50147e=this;return await async function _0x255a64(_0x2d767b){const _0x5e0dca=a0_0xf7a7,_0x45e8b0=await _0x50147e[_0x5e0dca(0x1b0)](_0x2d767b,{'withFileTypes':!0x0});for(const _0xfcff0e of _0x45e8b0){const _0x58ffd6=_0x3b8d74[_0x5e0dca(0x15c)](_0x2d767b,_0xfcff0e[_0x5e0dca(0x246)]),_0x526d3e=_0x3b8d74[_0x5e0dca(0x13c)](_0x58ffd6);if(_0xfcff0e['isDirectory']())await _0x255a64(_0x526d3e);else{const _0x593496=_0x36b45d['readFileSync'](_0x526d3e),_0x496bf5=_0x3b8d74[_0x5e0dca(0x1d2)](_0x4ad4a3,_0x526d3e),_0x20165e=_0x3b8d74[_0x5e0dca(0x15c)](_0x45abea,_0x496bf5)[_0x5e0dca(0x19d)](_0x3b8d74[_0x5e0dca(0x158)])[_0x5e0dca(0x15c)](_0x3b8d74[_0x5e0dca(0x1d0)][_0x5e0dca(0x158)]);_0x50462f[_0x20165e]={'encoding':_0x5e0dca(0x1a9),'content':_0x593496[_0x5e0dca(0x19b)](_0x5e0dca(0x1a9))};}}}(_0x4ad4a3),_0x50462f;}[_0x4ff6b7(0x18b)](_0x47d75e){const _0x37cf1e=_0x4ff6b7;try{this['ws'][_0x37cf1e(0x181)](JSON[_0x37cf1e(0x252)](_0x47d75e));}catch(_0x58ce71){console['log'](_0x58ce71);}}async[_0x4ff6b7(0x13d)](){const _0x1b4bb4=_0x4ff6b7;console['log']('⏳\x20Connecting\x20to\x20server...');const _0x475af7=this[_0x1b4bb4(0x1a4)][_0x1b4bb4(0x186)],_0x2cfc79=this[_0x1b4bb4(0x1a4)][_0x1b4bb4(0x1ed)],_0x4e8778=this[_0x1b4bb4(0x1a4)]['webSocketURL'];this['ws']=new WebSocket(_0x4e8778+_0x1b4bb4(0x219)+_0x475af7+'&user-path='+_0x2cfc79);const _0x113b8f=[],_0x50a051=()=>{const _0x4747b9=_0x1b4bb4;this['sendToServer']({'objType':_0x5956d9[_0x4747b9(0x1be)],'onEvents':[{'eventType':_0x4747b9(0x141)}]});};function _0x44da05(_0x25dbe2){const _0xd770eb=_0x1b4bb4;_0x25dbe2[_0xd770eb(0x14e)]=null,_0x25dbe2[_0xd770eb(0x1ea)]=null,_0x25dbe2['onerror']=null,_0x25dbe2[_0xd770eb(0x220)]=null,_0x25dbe2[_0xd770eb(0x215)]();}this['ws'][_0x1b4bb4(0x1ea)]=async _0x5e5d12=>{const _0x41b2e7=_0x1b4bb4,_0x2b7c06=JSON[_0x41b2e7(0x1ad)](_0x5e5d12['data']);if(_0x2b7c06[_0x41b2e7(0x192)]===_0x5956d9['CONNECTED']&&_0x2b7c06[_0x41b2e7(0x1a6)][_0x41b2e7(0x247)])_0x50a051();else{if(_0x2b7c06[_0x41b2e7(0x192)]===_0x5956d9[_0x41b2e7(0x1be)]){if(_0x2b7c06?.['response']?.[_0x41b2e7(0x24c)]?.[_0x41b2e7(0x23d)]){for(const _0x3e2d67 of _0x2b7c06[_0x41b2e7(0x1a6)][_0x41b2e7(0x24c)])_0x113b8f[_0x41b2e7(0x136)](_0x3e2d67);console[_0x41b2e7(0x1ee)](_0x41b2e7(0x1b3)),this[_0x41b2e7(0x239)]||await this['startWatch'](),this['syncAllDataWithServer']();}else{const _0x5990d7=_0x2b7c06[_0x41b2e7(0x1a6)]?.[_0x41b2e7(0x190)]?.[0x0]?.[_0x41b2e7(0x216)]?.[0x0]?.[_0x41b2e7(0x143)]||_0x41b2e7(0x21c);console[_0x41b2e7(0x1ee)]('❌\x20'+_0x5990d7),await this[_0x41b2e7(0x19f)](0x1);}}else await this[_0x41b2e7(0x1d7)](_0x2b7c06);}},this['ws'][_0x1b4bb4(0x220)]=_0x505771=>{const _0x4c7a88=_0x1b4bb4;console[_0x4c7a88(0x1ee)](_0x4c7a88(0x14f)),_0x44da05(this['ws']),setTimeout(this[_0x4c7a88(0x13d)][_0x4c7a88(0x189)](this),0xbb8);},this['ws'][_0x1b4bb4(0x1a8)]=()=>{const _0x1dceb2=_0x1b4bb4;_0x44da05(this['ws']),setTimeout(this['connectToServerViaWS'][_0x1dceb2(0x189)](this),0xbb8);};}[_0x4ff6b7(0x1bf)](){const _0x5cbd21=_0x4ff6b7;this[_0x5cbd21(0x18b)]({'objType':_0x5956d9[_0x5cbd21(0x14a)],'localClientWSReqRes':{'eventType':_0x5e34fd[_0x5cbd21(0x193)]}});}async[_0x4ff6b7(0x1d7)](_0x19fdd3){const _0x24302c=_0x4ff6b7;if(this['EL']&&_0x19fdd3[_0x24302c(0x1a6)][_0x24302c(0x1a2)]!==_0x5e34fd[_0x24302c(0x193)]&&console[_0x24302c(0x1ee)](_0x19fdd3),_0x19fdd3[_0x24302c(0x192)]===_0x5956d9['LC_DATA_REQ_RES']){if(_0x19fdd3['errors']?.['length'])return void console['error'](_0x19fdd3[_0x24302c(0x216)]);if(_0x19fdd3['response'][_0x24302c(0x1a2)]===_0x5e34fd[_0x24302c(0x193)]){console['log']('✅\x20Full\x20Sync\x20:\x20['+this[_0x24302c(0x256)]()+']'),this[_0x24302c(0x14c)]++;try{this['watcher']&&(await this['watcher']['close'](),this[_0x24302c(0x239)]=null);}catch(_0x3c80e0){console[_0x24302c(0x13b)](_0x24302c(0x16c),_0x3c80e0);}await this['performFullSync'](_0x19fdd3);try{await this[_0x24302c(0x16a)]();}catch(_0x3b8f69){console[_0x24302c(0x179)]('Failed\x20to\x20restart\x20watcher\x20after\x20full\x20sync',_0x3b8f69);}}else{if(_0x19fdd3[_0x24302c(0x1a6)][_0x24302c(0x1a2)]===_0x5e34fd[_0x24302c(0x1c1)]){const _0x580a3f=_0x19fdd3[_0x24302c(0x1a6)][_0x24302c(0x17f)];await this['writeMemfsJsonToDisk'](_0x580a3f[_0x24302c(0x255)],this['appRoot']);}}!0x1===this['nodeModulesInstalled']&&(console['log'](_0x24302c(0x244)),await this[_0x24302c(0x250)](_0x24302c(0x161),[_0x24302c(0x207),_0x24302c(0x140)]),console['log']('✅\x20node_modules\x20installed'),this['nodeModulesInstalled']=!0x0);}}async[_0x4ff6b7(0x234)](_0x298368){const _0x2dbc95=_0x4ff6b7,_0x1a3d48=await this[_0x2dbc95(0x19a)](_0x3b8d74[_0x2dbc95(0x15c)](this[_0x2dbc95(0x137)],this['C'][_0x2dbc95(0x22f)])),_0x37fc08=_0x298368['response'][_0x2dbc95(0x17f)],_0x468e3f='/'+this['C'][_0x2dbc95(0x218)],_0x3c0774=this[_0x2dbc95(0x137)][_0x2dbc95(0x19d)](_0x3b8d74['sep'])[_0x2dbc95(0x15c)]('/');for(const [_0x37c157,_0x320369]of _0x1a3d48){const _0x190cd2=_0x37c157[_0x2dbc95(0x238)](_0x3c0774,_0x468e3f);if(!_0x37fc08[_0x190cd2]){const _0x2f09f0=_0x190cd2[_0x2dbc95(0x238)]('/'+this['C'][_0x2dbc95(0x218)],''),_0x241c28=_0x3b8d74[_0x2dbc95(0x15c)](this['appRoot'],_0x2f09f0[_0x2dbc95(0x238)](/^\//,''));await this[_0x2dbc95(0x142)](_0x241c28),this['EL']&&console[_0x2dbc95(0x1ee)]('✓\x20Remove\x20:\x20['+this[_0x2dbc95(0x256)]()+_0x2dbc95(0x1b7)+_0x241c28[_0x2dbc95(0x238)](this['appRoot'],''));}}await this[_0x2dbc95(0x235)](_0x37fc08,this[_0x2dbc95(0x137)]),this[_0x2dbc95(0x217)](_0x3b8d74[_0x2dbc95(0x15c)](this['appRoot'],this['C'][_0x2dbc95(0x22f)]));}async[_0x4ff6b7(0x235)](_0x174ff2,_0x40cb63){const _0x1cee5e=_0x4ff6b7;this[_0x1cee5e(0x1e9)]=!0x0;let _0x101cf0=[];const _0x4cd158=async()=>{const _0x54b8bd=_0x1cee5e;_0x101cf0[_0x54b8bd(0x23d)]>0x0&&(await Promise[_0x54b8bd(0x20b)](_0x101cf0),_0x101cf0=[]);};for(const [_0x260e4b,_0x34d849]of Object[_0x1cee5e(0x139)](_0x174ff2)){if(!_0x260e4b['startsWith']('/'+this['C'][_0x1cee5e(0x218)]+'/'+this['C']['src'])&&!_0x260e4b['endsWith'](_0x1cee5e(0x24d)))continue;const _0x1bd687=_0x34d849,_0x28369a=_0x260e4b[_0x1cee5e(0x238)]('/'+this['C']['repo'],'');if(this[_0x1cee5e(0x191)][_0x28369a])continue;const _0x5ed8f0=_0x3b8d74[_0x1cee5e(0x15c)](_0x40cb63,_0x28369a[_0x1cee5e(0x238)](/^\//,'')),_0x3cecf5=_0x3b8d74[_0x1cee5e(0x1f4)](_0x5ed8f0),_0x11addd=async()=>{const _0x258318=_0x1cee5e;if(await this[_0x258318(0x1c0)](_0x3cecf5,{'recursive':!0x0}),!await this[_0x258318(0x15d)](_0x40cb63,_0x5ed8f0,_0x1bd687['content'])){const _0x58a6fe=this[_0x258318(0x1e6)](_0x1bd687[_0x258318(0x1c8)]);await this['fsWriteFile'](_0x5ed8f0,_0x58a6fe,{'encoding':_0x258318(0x1a9)}),this['EL']&&console[_0x258318(0x1ee)](_0x258318(0x18a)+this[_0x258318(0x256)]()+']\x20:\x20'+_0x5ed8f0[_0x258318(0x238)](_0x40cb63,''));}};_0x101cf0['push'](_0x11addd()),_0x101cf0['length']>=0x3e8&&await _0x4cd158();}await _0x4cd158(),setTimeout(()=>{this['skipWatchInputs']=!0x1;},0x3e8);}[_0x4ff6b7(0x217)](_0x1aa09b){const _0x4c305b=_0x4ff6b7,_0x13ca8f=this[_0x4c305b(0x232)](_0x1aa09b);if(!this['fsExistsSync'](_0x13ca8f))return!0x1;const _0x54da14=_0x36b45d[_0x4c305b(0x22b)](_0x13ca8f);let _0x5df547=!0x0;for(const _0x9e6b0f of _0x54da14){const _0x5d8d15=_0x3b8d74[_0x4c305b(0x15c)](_0x13ca8f,_0x9e6b0f);_0x36b45d['statSync'](_0x5d8d15)[_0x4c305b(0x20c)]()&&this[_0x4c305b(0x217)](_0x5d8d15)||(_0x5df547=!0x1);}return!!_0x5df547&&(_0x36b45d[_0x4c305b(0x241)](_0x13ca8f),!0x0);}async['readDirCustom'](_0x10e864,_0x2add66){const _0x1e962c=_0x4ff6b7;return this['fsExistsSync'](_0x10e864)&&_0x36b45d[_0x1e962c(0x195)](_0x10e864)[_0x1e962c(0x20c)]()?await this['fsReadDir'](_0x10e864,_0x2add66):[];}[_0x4ff6b7(0x232)](_0x53eaa6){const _0x38f793=_0x4ff6b7;return _0x3b8d74[_0x38f793(0x13c)](_0x53eaa6);}[_0x4ff6b7(0x1e6)](_0x2406fa){const _0x5dd6ff=_0x4ff6b7,_0x155608=atob(_0x2406fa);for(let _0x2ff6f1=0x0;_0x2ff6f1<Math[_0x5dd6ff(0x1fd)](_0x155608['length'],0x1f40);_0x2ff6f1++)if(0x0===_0x155608[_0x5dd6ff(0x210)](_0x2ff6f1))return _0x2406fa;const _0xd7ec9d='\x5c'===_0x3b8d74[_0x5dd6ff(0x158)]?'\x0d\x0a':'\x0a';return btoa(_0x155608['replace'](/\r\n/g,'\x0a')[_0x5dd6ff(0x238)](/\r/g,'\x0a')['replace'](/\n/g,_0xd7ec9d));}['normalizeEOLToLFBase64'](_0x1458c0){const _0x58d721=_0x4ff6b7,_0x5a9836=atob(_0x1458c0);for(let _0x150a09=0x0;_0x150a09<Math[_0x58d721(0x1fd)](_0x5a9836['length'],0x1f40);_0x150a09++)if(0x0===_0x5a9836[_0x58d721(0x210)](_0x150a09))return _0x1458c0;return btoa(_0x5a9836[_0x58d721(0x238)](/\r\n/g,'\x0a')[_0x58d721(0x238)](/\r/g,'\x0a'));}[_0x4ff6b7(0x1e4)](_0x3b67ee){const _0x27cea4=_0x4ff6b7,_0x516185=_0x3b8d74[_0x27cea4(0x13c)](_0x3b67ee);return _0x36b45d['existsSync'](_0x516185);}async[_0x4ff6b7(0x199)](_0x3c7f32,_0x597274){const _0x2b858d=_0x4ff6b7,_0x5987e9=_0x3b8d74[_0x2b858d(0x13c)](_0x3c7f32);return await _0x36b45d['promises'][_0x2b858d(0x1d3)](_0x5987e9,_0x597274);}async[_0x4ff6b7(0x1c0)](_0x53b89f,_0x15dd31){const _0x4a6a3c=_0x4ff6b7,_0x3d9a2a=_0x3b8d74[_0x4a6a3c(0x13c)](_0x53b89f);return await _0x36b45d['promises'][_0x4a6a3c(0x17b)](_0x3d9a2a,_0x15dd31);}['fsMkDirSync'](_0x8f9d8d,_0x3cbc7a){const _0x1011f0=_0x4ff6b7,_0x1502a7=_0x3b8d74[_0x1011f0(0x13c)](_0x8f9d8d);return _0x36b45d[_0x1011f0(0x1bb)](_0x1502a7,_0x3cbc7a);}async[_0x4ff6b7(0x152)](_0x55a869,_0x2b6bce){const _0x46648c=_0x4ff6b7,_0x45ad69=_0x3b8d74[_0x46648c(0x13c)](_0x55a869);return await _0x36b45d['promises'][_0x46648c(0x162)](_0x45ad69,_0x2b6bce);}async[_0x4ff6b7(0x24a)](_0x446256,_0x56b704,_0x1b9a3b){const _0x167f8d=_0x4ff6b7,_0x5742fa=_0x3b8d74[_0x167f8d(0x13c)](_0x446256);return await _0x36b45d[_0x167f8d(0x1d4)][_0x167f8d(0x146)](_0x5742fa,_0x56b704,_0x1b9a3b);}async[_0x4ff6b7(0x142)](_0x1a0d38){const _0x34f7e3=_0x4ff6b7,_0xebb082=_0x3b8d74['normalize'](_0x1a0d38);return await _0x36b45d[_0x34f7e3(0x1d4)][_0x34f7e3(0x236)](_0xebb082);}async[_0x4ff6b7(0x15d)](_0x1da13d,_0x43320d,_0xeba99b){const _0x5d4524=_0x4ff6b7;if(!this[_0x5d4524(0x1e4)](_0x43320d))return!0x1;try{const _0x117aab=await this[_0x5d4524(0x152)](_0x43320d);let _0x29cdf4;return _0x29cdf4=_0x5d4524(0x1bd)!=typeof Buffer&&Buffer[_0x5d4524(0x258)](_0x117aab)?_0x117aab[_0x5d4524(0x19b)](_0x5d4524(0x1a9)):Buffer[_0x5d4524(0x1f5)](_0x117aab,_0x5d4524(0x253))['toString']('base64'),this[_0x5d4524(0x1d8)](_0x29cdf4)===this[_0x5d4524(0x1d8)](_0xeba99b)&&(this['EL']&&console[_0x5d4524(0x1ee)](_0x5d4524(0x1c7)+this['getCurrentTime']()+_0x5d4524(0x1b7)+_0x43320d[_0x5d4524(0x238)](_0x1da13d,'')),!0x0);}catch(_0x2e00fc){return!0x1;}}async['fsLink'](_0x2245bd,_0x422095){const _0x5ea033=_0x4ff6b7,_0x311ad1=_0x3b8d74[_0x5ea033(0x13c)](_0x2245bd),_0xdf0d1e=_0x3b8d74['normalize'](_0x422095);try{return await _0x36b45d[_0x5ea033(0x1d4)]['link'](_0x311ad1,_0xdf0d1e);}catch(_0x3fa597){console['warn'](_0x3fa597);}}async[_0x4ff6b7(0x19a)](_0x339030){const _0x5a960e=_0x4ff6b7,_0x118107=new Map(),_0x1b498a=_0x3b8d74[_0x5a960e(0x1ef)](_0x339030),_0x39e622=async _0x14650d=>{const _0x54d3da=_0x5a960e;let _0x1648bd=[];try{_0x1648bd=await _0x36b45d['promises'][_0x54d3da(0x1d3)](_0x14650d,{'withFileTypes':!0x0});}catch(_0x257907){return;}for(const _0x4f664f of _0x1648bd){const _0x1cdf2f=_0x3b8d74[_0x54d3da(0x15c)](_0x14650d,_0x4f664f[_0x54d3da(0x246)]);if(_0x4f664f[_0x54d3da(0x20c)]())await _0x39e622(_0x1cdf2f);else{const _0x570ff3=_0x1cdf2f[_0x54d3da(0x19d)](_0x3b8d74[_0x54d3da(0x158)])['join']('/');_0x118107[_0x54d3da(0x18c)](_0x570ff3,!0x0);}}};return await _0x39e622(_0x1b498a),_0x118107;}async[_0x4ff6b7(0x19f)](_0x538a61=0x0){const _0x2ce03a=_0x4ff6b7;if(!this[_0x2ce03a(0x226)]){this[_0x2ce03a(0x226)]=!0x0;try{this['watcher']&&await this[_0x2ce03a(0x239)][_0x2ce03a(0x215)]();}catch(_0x471eba){console[_0x2ce03a(0x179)](_0x2ce03a(0x20d),_0x471eba);}finally{setTimeout(()=>process[_0x2ce03a(0x213)](_0x538a61),0xc8);}}}[_0x4ff6b7(0x19e)](){const _0x3b1b49=_0x4ff6b7;process['on']('SIGINT',()=>{const _0x4769d=a0_0xf7a7;console[_0x4769d(0x1ee)]('SIGINT\x20received\x20—\x20shutting\x20down'),this[_0x4769d(0x19f)](0x0);}),process['on'](_0x3b1b49(0x168),()=>{const _0x1fcb98=_0x3b1b49;console['log'](_0x1fcb98(0x13e)),this[_0x1fcb98(0x19f)](0x0);}),process['on'](_0x3b1b49(0x171),_0x254911=>{const _0x4b3c49=_0x3b1b49;console[_0x4b3c49(0x1ee)]('beforeExit',_0x254911);}),process['on']('exit',_0x4aa53c=>{const _0x2f6f7e=_0x3b1b49;console['log'](_0x2f6f7e(0x213),_0x4aa53c);}),process['on'](_0x3b1b49(0x14d),_0x56f63b=>{const _0x51cd3f=_0x3b1b49;console[_0x51cd3f(0x179)](_0x51cd3f(0x14d),_0x56f63b),this[_0x51cd3f(0x19f)](0x1);}),process['on'](_0x3b1b49(0x15e),_0x2e71e0=>{const _0x5a5ade=_0x3b1b49;console[_0x5a5ade(0x179)](_0x5a5ade(0x15e),_0x2e71e0),this[_0x5a5ade(0x19f)](0x1);});}}()[_0x4ff6b7(0x228)]()['then'](),function(_0xa1415a){const _0x8e2902=_0x4ff6b7;_0xa1415a[_0x8e2902(0x1ec)]=_0x8e2902(0x1ec),_0xa1415a[_0x8e2902(0x23e)]='THIRD_PARTY_APIS',_0xa1415a[_0x8e2902(0x211)]='CUSTOM_APIS',_0xa1415a[_0x8e2902(0x21d)]=_0x8e2902(0x21d),_0xa1415a[_0x8e2902(0x1d6)]=_0x8e2902(0x1d6);}(_0xf8c7a0||(_0xf8c7a0={})),function(_0x27d5ad){const _0x2c9fa6=_0x4ff6b7;_0x27d5ad[_0x2c9fa6(0x1be)]=_0x2c9fa6(0x1be),_0x27d5ad[_0x2c9fa6(0x15b)]=_0x2c9fa6(0x15b),_0x27d5ad[_0x2c9fa6(0x1cb)]=_0x2c9fa6(0x1cb),_0x27d5ad['UNKNOWN']=_0x2c9fa6(0x188),_0x27d5ad[_0x2c9fa6(0x1d5)]=_0x2c9fa6(0x1d5),_0x27d5ad['NOTIFICATION']='NOTIFICATION',_0x27d5ad['LC_DATA_REQ_RES']=_0x2c9fa6(0x14a);}(_0x5956d9||(_0x5956d9={})),function(_0x186d9f){const _0x3d4bad=_0x4ff6b7;_0x186d9f[_0x3d4bad(0x193)]=_0x3d4bad(0x193),_0x186d9f[_0x3d4bad(0x1c1)]=_0x3d4bad(0x1c1),_0x186d9f[_0x3d4bad(0x180)]='LC_FOLDER_CHANGED_ON_LOCAL_SYSTEM';}(_0x5e34fd||(_0x5e34fd={})),function(_0x325f09){const _0x43acea=_0x4ff6b7;_0x325f09['POST']=_0x43acea(0x222),_0x325f09[_0x43acea(0x15f)]=_0x43acea(0x15f),_0x325f09['PUT_REPLACE']=_0x43acea(0x177),_0x325f09[_0x43acea(0x1e0)]='DELETE',_0x325f09['DELETE_ALL']='DELETE_ALL';}(_0x5b7b95||(_0x5b7b95={})),function(_0x2dc392){const _0x242b2b=_0x4ff6b7;_0x2dc392[_0x242b2b(0x259)]=_0x242b2b(0x257),_0x2dc392[_0x242b2b(0x1a0)]=_0x242b2b(0x212),_0x2dc392[_0x242b2b(0x1c4)]='am_db_masters',_0x2dc392[_0x242b2b(0x1e5)]=_0x242b2b(0x203),_0x2dc392['InstanceApiSettings']=_0x242b2b(0x1df),_0x2dc392[_0x242b2b(0x240)]='am_instance_api_hooks',_0x2dc392[_0x242b2b(0x201)]=_0x242b2b(0x1c2),_0x2dc392['DatabaseHooks']=_0x242b2b(0x1cf),_0x2dc392[_0x242b2b(0x1f1)]=_0x242b2b(0x149),_0x2dc392[_0x242b2b(0x248)]='am_schedulers',_0x2dc392[_0x242b2b(0x20f)]=_0x242b2b(0x155),_0x2dc392[_0x242b2b(0x15a)]='am_i18ns',_0x2dc392[_0x242b2b(0x1c3)]=_0x242b2b(0x1dd),_0x2dc392[_0x242b2b(0x200)]='am_system_api_hooks',_0x2dc392[_0x242b2b(0x17d)]=_0x242b2b(0x17d),_0x2dc392[_0x242b2b(0x173)]=_0x242b2b(0x173),_0x2dc392[_0x242b2b(0x21e)]=_0x242b2b(0x21e),_0x2dc392['UtilityClasses']=_0x242b2b(0x22d),_0x2dc392['DatabasesMigrations']=_0x242b2b(0x229),_0x2dc392[_0x242b2b(0x167)]=_0x242b2b(0x21b),_0x2dc392[_0x242b2b(0x13a)]=_0x242b2b(0x1fb),_0x2dc392[_0x242b2b(0x183)]=_0x242b2b(0x1bc),_0x2dc392[_0x242b2b(0x18d)]=_0x242b2b(0x182),_0x2dc392[_0x242b2b(0x17a)]=_0x242b2b(0x160),_0x2dc392[_0x242b2b(0x1fe)]='am_api_users',_0x2dc392[_0x242b2b(0x242)]='am_instances',_0x2dc392[_0x242b2b(0x22c)]=_0x242b2b(0x17e);}(_0x50bff7||(_0x50bff7={})),function(_0x118dc9){const _0x4af976=_0x4ff6b7;_0x118dc9['ADMIN_USER']=_0x4af976(0x1e8),_0x118dc9[_0x4af976(0x211)]=_0x4af976(0x24b),_0x118dc9[_0x4af976(0x156)]='Database\x20migrations',_0x118dc9[_0x4af976(0x163)]=_0x4af976(0x175),_0x118dc9['EVENTS']=_0x4af976(0x1f0),_0x118dc9[_0x4af976(0x23c)]=_0x4af976(0x138),_0x118dc9['INSTANCE_API_HOOKS']=_0x4af976(0x194),_0x118dc9[_0x4af976(0x1ca)]=_0x4af976(0x174),_0x118dc9['DATABASE_HOOKS']='Database\x20hooks',_0x118dc9[_0x4af976(0x184)]=_0x4af976(0x20e),_0x118dc9[_0x4af976(0x169)]=_0x4af976(0x159),_0x118dc9[_0x4af976(0x1cd)]=_0x4af976(0x248),_0x118dc9['SCHEMAS']='Schemas',_0x118dc9[_0x4af976(0x23f)]='System\x20API\x20hooks',_0x118dc9[_0x4af976(0x16e)]='System\x20API\x20settings',_0x118dc9[_0x4af976(0x1ce)]=_0x4af976(0x153),_0x118dc9[_0x4af976(0x23e)]=_0x4af976(0x1b4),_0x118dc9['THIRD_PARTY_API_SETTINGS']='Third\x20party\x20API\x20settings',_0x118dc9[_0x4af976(0x1ac)]=_0x4af976(0x1cc),_0x118dc9[_0x4af976(0x1ff)]='WebSocket\x20events',_0x118dc9[_0x4af976(0x205)]=_0x4af976(0x1b6),_0x118dc9['UI_MAKER_UTILITY_CLASS']=_0x4af976(0x165),_0x118dc9[_0x4af976(0x208)]='UI\x20maker\x20styles',_0x118dc9['GROUPS']=_0x4af976(0x17a),_0x118dc9[_0x4af976(0x21a)]=_0x4af976(0x166),_0x118dc9['INSTANCES']=_0x4af976(0x242),_0x118dc9[_0x4af976(0x1c5)]=_0x4af976(0x202);}(_0x4edbd2||(_0x4edbd2={}));})());})()));
1
+ function a0_0x1844(){const _0x4ca4ec=['promises','appRoot','493320KfLClo','Events','Database\x20hooks','INSTANCE_HOOKS','POST','am_token_generators','readdir','watch','onclose','split','db-migrations','3zwHNhk','?authTokenInfo=ws-local-client-sync&authorization=','85820qekUCs','--no-save','fullSyncCounter','types','I18NS','exports','fsMkDirSync','ui-maker-utils','join','localClientPath','endsWith','Error\x20closing\x20watcher\x20before\x20full\x20sync','SIGTERM','tests','Process\x20initializers','uncaughtException','sendDeletedEventToServerInternal','warn','getCurrentTime','repo','Failed\x20to\x20restart\x20watcher\x20after\x20full\x20sync','printNotes','UNKNOWN','SIGTERM\x20received\x20—\x20shutting\x20down','orangeStart','dirname','CustomApis','fsRemoveFile','processReceivedEvent','toString','DB\x20master\x20utils','eventType','\x1b[0m','⏳\x20node_modules\x20installation\x20process\x20started','am_utility_classes','chokidar','\x1b[38;2;255;165;0m','set','am_instance_api_settings','normalize','am_tp_installed_apis','type','Log\x20profiles','fsMkDir','SIGINT\x20received\x20—\x20shutting\x20down','startWatch','skipFileWritingForLocal','normalizeEOLToLFBase64','fsIsFileContentSame','TOKEN_VALIDATION','SYSTEM_APIS','invalidOnEvents','system-api-hooks','COLLECTION_HOOKS','removeEmptyDirsSync','resolve','fsExistsSync','✅\x20Connected\x20to\x20server\x20via\x20WS','ui-maker-pages','THIRD_PARTY_APIS','shuttingDown','Failed\x20to\x20start\x20the\x20npm\x20process:\x20','am_groups','exit','normalizePath','printNotesToProvideLocalClient','am_ui_maker_styles','getChangedFolderForDeleted','Schedulers','am_api_users','send','db-token-generators','isDirectory','startsWith','installRequiredPackages','TokenGenerators','am_collection_hooks','UI\x20maker\x20styles','LC_DATA_MODIFIED_IN_DATABASE','✅\x20node_modules\x20installed','758526rKVGoO','&user-path=','Groups','instance-hooks','debounce','Third\x20party\x20APIs','77LHYWBt','unlinkDir','change','base64','PUT','am_test_cases','then','colorEnd','PUT_REPLACE','min','filter','ADMIN_USER','push','am_i18ns','connected','src','charCodeAt','post-hooks','am_database_migrations','CONNECTED','Error\x20during\x20shutdown','data','undefined','fsLink','REGISTER','Instances','DATABASE_HOOKS','am_database_hooks','collection-hooks','parse','SCHEDULERS','am_system_api_settings','link','log','path','INSTANCES','AUTH_PROVIDERS','beforeExit','watcher','Instance\x20API\x20hooks','response','5oOAefZ','child_process','System\x20API\x20hooks','I18Ns','length','message','database-hooks','web-socket-events','Third\x20party\x20API\x20settings','Custom\x20APIs','bind','process-initializers','from','CollectionHooks','UI_MAKER_UTILITY_CLASS','DB_MASTERS','UtilityClasses','readFile','start','schedulers','unlink','add','rmdirSync','onmessage','SIGINT','THIRD_PARTY_API_SETTINGS','SYSTEM_API_HOOKS','posix','am_events','WebSocket\x20events','version',']\x20:\x20[','Utility\x20classes','syncAllDataWithServer','getChangedFolder','90672WluEnv','connectToServerViaWS','slice','getMinutes','LC_FOLDER_CHANGED_ON_LOCAL_SYSTEM','eventData','ProcessInitializers','Admin\x20user','nodeModulesInstalled','entries','cyanStart','sendToServer','buildUnixPathMap','db-interfaces.d.ts','fsReadDir','am_tp_api_versions','API\x20users','getHours','Watcher\x20error:','i18ns','AmEvents','fsReadFile','projectDirectory','performFullSync','\x27\x20exited\x20with\x20code\x20','versions','SystemApiSettings','addDir','statSync','schemas','pre-hooks','55DgdOfx','errors','--force','✅\x20Full\x20Sync\x20:\x20[','⏳\x20Dependencies\x20installation\x20process\x20started','am-types','✅\x20Dependencies\x20installed','am_tp_api_settings','1322264iQRLRH','DB\x20masters','am_schedulers','✅\x20Local\x20client\x20started...','serializeFolderWithBinary','1066884eqsXep','GROUPS','InstanceApiHooks','utf8','\x20Please\x20provide\x20settings\x20in\x20:\x20','am_instance_api_hooks','PROCESS_INITIALIZERS','18bWicdc','readdirSync','WEB_SOCKET_EVENT','normalizeEOLBase64','watch\x20handler\x20error','LOCAL_CLIENT_SYNC_EVENTS','replace','am_ui_maker_utils','events','third-party-apis','✓\x20Send\x20:\x20[','spawn','getSeconds','package-lock.json','AmTestCases','content','sep','am_system_api_hooks','fsWriteFile','executeNpmRun','Instance\x20API\x20settings','padStart','shutdownAndExit','LC_SEND_ALL_DATA','NOTIFICATION','onerror','SYSTEM_API_SETTINGS','EVENTS_WS','error','writeFile','Schemas','UIMakerUtils','writeMemfsJsonToDisk','✓\x20Remove\x20:\x20[','checkForNodeVersion','——————————————————————————————————————————————————————————————————————————————————','syncToken',']\x20:\x20','validOnEvents','.js','DB_MIGRATIONS','name','skipWatchInputs','config','\x20Current\x20Dir\x20:\x20','am_custom_apis','am_process_initializers','⏳\x20Connecting\x20to\x20server...','am_instances','InstanceApiSettings','DBMasters','custom-apis','\x1b[36m','System\x20API\x20settings','Instance\x20hooks','3021910gaPtoT','am_schemas','am_db_masters','Collection\x20hooks','install','addProcessHooks','apis','close','UI_MAKER_STYLES','InstanceHooks','LC_DATA_REQ_RES','EVENTS','relative','DELETE_ALL','CUSTOM_APIS','✓\x20Receive\x20:\x20[','sendDeletedEventToServerDebounce','DatabaseHooks'];a0_0x1844=function(){return _0x4ca4ec;};return a0_0x1844();}function a0_0x23a0(_0x3ddddc,_0x22a1de){_0x3ddddc=_0x3ddddc-0x121;const _0x18446d=a0_0x1844();let _0x23a0a1=_0x18446d[_0x3ddddc];return _0x23a0a1;}(function(_0x26bbc7,_0x5a8785){const _0x3d6f46=a0_0x23a0,_0x3b20db=_0x26bbc7();while(!![]){try{const _0x1df7a9=parseInt(_0x3d6f46(0x123))/0x1+parseInt(_0x3d6f46(0x130))/0x2+parseInt(_0x3d6f46(0x12e))/0x3*(-parseInt(_0x3d6f46(0x1f9))/0x4)+parseInt(_0x3d6f46(0x1af))/0x5*(-parseInt(_0x3d6f46(0x180))/0x6)+parseInt(_0x3d6f46(0x186))/0x7*(parseInt(_0x3d6f46(0x1d2))/0x8)+parseInt(_0x3d6f46(0x205))/0x9*(parseInt(_0x3d6f46(0x23c))/0xa)+parseInt(_0x3d6f46(0x1f1))/0xb*(-parseInt(_0x3d6f46(0x1fe))/0xc);if(_0x1df7a9===_0x5a8785)break;else _0x3b20db['push'](_0x3b20db['shift']());}catch(_0x1efb35){_0x3b20db['push'](_0x3b20db['shift']());}}}(a0_0x1844,0x58cf4),((()=>{'use strict';var _0x58fb7a={0xe7(_0xfc5f09){const _0x28b997=a0_0x23a0;_0xfc5f09[_0x28b997(0x135)]=require(_0x28b997(0x153));},0x13d(_0x30be4b){const _0x10e85c=a0_0x23a0;_0x30be4b['exports']=require(_0x10e85c(0x1b0));},0x380(_0x1aaa73){const _0x58ff3b=a0_0x23a0;_0x1aaa73[_0x58ff3b(0x135)]=require('fs');},0x3a0(_0x341584){const _0x3b1bee=a0_0x23a0;_0x341584[_0x3b1bee(0x135)]=require(_0x3b1bee(0x1a8));}},_0x17a1d0={};function _0x5a155f(_0x1901ec){const _0xb86d79=a0_0x23a0;var _0x5a8d09=_0x17a1d0[_0x1901ec];if(void 0x0!==_0x5a8d09)return _0x5a8d09[_0xb86d79(0x135)];var _0x3b6e46=_0x17a1d0[_0x1901ec]={'exports':{}};return _0x58fb7a[_0x1901ec](_0x3b6e46,_0x3b6e46[_0xb86d79(0x135)],_0x5a155f),_0x3b6e46[_0xb86d79(0x135)];}((()=>{const _0x3a2e97=a0_0x23a0,_0x2475bb=_0x5a155f(0x380),_0x4798a0=_0x5a155f(0x3a0),_0x5a13d1=_0x5a155f(0x13d);var _0x336c97,_0x58ad8a,_0x34d8d3,_0x58b45a,_0x3433de,_0x223a13;new class{constructor(){const _0x4c268d=a0_0x23a0;this['EL']=!0x1,this[_0x4c268d(0x122)]=_0x4798a0[_0x4c268d(0x167)](''),this[_0x4c268d(0x1e8)]='',this['C']={'localClientPath':'./local-client.config','src':_0x4c268d(0x195),'repo':'repo','types':_0x4c268d(0x133),'amTypes':_0x4c268d(0x1f6),'versions':_0x4c268d(0x1eb),'apis':_0x4c268d(0x242),'listeners':'listeners','postHooks':_0x4c268d(0x197),'preHooks':_0x4c268d(0x1f0),'dbInterfacesFile':_0x4c268d(0x1df),'UtilityClassesReadF':_0x4c268d(0x1cf),'CustomApiReadF':_0x4c268d(0x1b8),'DBTokenGeneratorReadF':'DB\x20token\x20generators','SchedulersReadF':_0x4c268d(0x174),'WebSocketEventsReadF':_0x4c268d(0x1cc),'SchemaReadF':_0x4c268d(0x223),'DBMigrationsReadF':'Database\x20migrations','ProcessInitializersReadF':_0x4c268d(0x13e),'ProcessI18NReadF':_0x4c268d(0x1e5),'DBMastersReadF':_0x4c268d(0x1fa),'DBMasterStylesReadF':_0x4c268d(0x17d),'DBMasterUtilsReadF':_0x4c268d(0x14e),'TestCasesReadF':'Test\x20cases','ThirdPartyApiReadF':_0x4c268d(0x185),'EventsReadF':_0x4c268d(0x124),'InstanceApiHooksReadF':_0x4c268d(0x1ad),'SystemApiHooksReadF':_0x4c268d(0x1b1),'CollectionHooksReadF':_0x4c268d(0x23f),'DatabaseHooksReadF':'Database\x20hooks','InstanceHooksReadF':'Instance\x20hooks','CustomApisWriteF':_0x4c268d(0x238),'DBTokenGeneratorsWriteF':_0x4c268d(0x177),'SchedulersWriteF':_0x4c268d(0x1c2),'WebSocketEventsWriteF':_0x4c268d(0x1b6),'SchemaWriteF':_0x4c268d(0x1ef),'DBMigrationsWriteF':_0x4c268d(0x12d),'ProcessInitializersWriteF':_0x4c268d(0x1ba),'ProcessI18NWriteF':_0x4c268d(0x1e5),'DBMastersWriteF':_0x4c268d(0x16a),'DBMasterStylesWriteF':'ui-maker-styles','DBMasterUtilsWriteF':_0x4c268d(0x137),'TestCasesWriteF':_0x4c268d(0x13d),'ThirdPartyApiWriteF':_0x4c268d(0x20e),'EventsWriteF':_0x4c268d(0x20d),'InstanceApiHooksWriteF':'instance-api-hooks','SystemApiHooksWriteF':_0x4c268d(0x164),'CollectionHooksWriteF':_0x4c268d(0x1a2),'DatabaseHooksWriteF':_0x4c268d(0x1b5),'InstanceHooksWriteF':_0x4c268d(0x183)},this['skipWatchInputs']=!0x1,this[_0x4c268d(0x15e)]={},this['nodeModulesInstalled']=!0x1,this[_0x4c268d(0x148)]=_0x4c268d(0x154),this[_0x4c268d(0x1dc)]=_0x4c268d(0x239),this[_0x4c268d(0x18d)]='\x1b[0m',this[_0x4c268d(0x132)]=0x0,this[_0x4c268d(0x24c)]=this[_0x4c268d(0x184)](this[_0x4c268d(0x140)]);}async[_0x3a2e97(0x1c1)](){const _0x305c97=_0x3a2e97;this[_0x305c97(0x241)](),this[_0x305c97(0x227)](),this[_0x305c97(0x168)](this['C'][_0x305c97(0x139)]+_0x305c97(0x22c))||(this[_0x305c97(0x171)](),this[_0x305c97(0x21b)](0x1)[_0x305c97(0x18c)]()),this['config']=require(this['C']['localClientPath'])(),await this[_0x305c97(0x145)](),this[_0x305c97(0x166)](_0x4798a0[_0x305c97(0x138)](this[_0x305c97(0x122)],this['C']['src'])),await this[_0x305c97(0x1d3)]();}['checkForNodeVersion'](){const _0x5470d8=_0x3a2e97,_0x510a61=process[_0x5470d8(0x1cd)];parseInt(_0x510a61['split']('.')[0x0][_0x5470d8(0x20b)]('v',''),0xa)<0x16&&(console[_0x5470d8(0x221)](this[_0x5470d8(0x148)]+'Node.js\x2022+\x20is\x20required.\x20Current\x20version:\x20'+_0x510a61+this['colorEnd']),this[_0x5470d8(0x21b)](0x1)[_0x5470d8(0x18c)]());}async[_0x3a2e97(0x145)](){const _0x567baa=_0x3a2e97;console[_0x567baa(0x1a7)](this[_0x567baa(0x148)]),console['log']('——————————————————————————————————————\x20Note\x20——————————————————————————————————————'),console['log']('\x20The\x20local\x20client\x20will\x20pull\x20the\x20latest\x20changes\x20from\x20the\x20server\x20and\x20keep\x20them\x20synchronized\x20between\x20the\x20IDE\x20and\x20the\x20server.'),console[_0x567baa(0x1a7)](_0x567baa(0x231)+this[_0x567baa(0x122)]),console[_0x567baa(0x1a7)](_0x567baa(0x228)),console['log'](this[_0x567baa(0x18d)]),console[_0x567baa(0x1a7)]('');}[_0x3a2e97(0x171)](){const _0x58bcd9=_0x3a2e97;console[_0x58bcd9(0x1a7)](_0x58bcd9(0x154)),console[_0x58bcd9(0x1a7)](_0x58bcd9(0x202)+this['C']['localClientPath']+_0x58bcd9(0x22c)),console[_0x58bcd9(0x1a7)](_0x58bcd9(0x150)),console[_0x58bcd9(0x1a7)]('');}async[_0x3a2e97(0x17a)](){const _0x408e7b=_0x3a2e97;console['log'](_0x408e7b(0x1f5));try{_0x2475bb['unlinkSync'](_0x4798a0['join'](this[_0x408e7b(0x122)],_0x408e7b(0x212)));}catch(_0x508bf4){}await this[_0x408e7b(0x218)]('npm',[_0x408e7b(0x240),_0x408e7b(0x131),'chokidar@4.0.3']),this[_0x408e7b(0x1da)]=!0x0,console['log'](_0x408e7b(0x1f7));}async[_0x3a2e97(0x218)](_0x62b296,_0x107b90){return new Promise((_0x42113b,_0x1e3b8c)=>{const _0x210456=a0_0x23a0,_0x584b97=(0x0,_0x5a13d1[_0x210456(0x210)])(_0x62b296,_0x107b90,{'shell':!0x0,'cwd':this[_0x210456(0x122)]});_0x584b97['on'](_0x210456(0x243),_0x559931=>{const _0x5dc2b0=_0x210456;if(0x0===_0x559931)setTimeout(_0x42113b,0x3e8);else{const _0x253382='\x27'+_0x62b296+'\x20'+_0x107b90[_0x5dc2b0(0x138)]('\x20')+_0x5dc2b0(0x1ea)+_0x559931+'.';_0x1e3b8c(new Error(_0x253382));}}),_0x584b97['on'](_0x210456(0x221),_0x3d9455=>{const _0x5494b3=_0x210456;console[_0x5494b3(0x221)](_0x5494b3(0x16d)+_0x3d9455['message']),_0x1e3b8c(_0x3d9455);});});}async[_0x3a2e97(0x15d)](){const _0x430cff=_0x3a2e97;this[_0x430cff(0x1da)]||await this[_0x430cff(0x17a)]();const _0x3d90d4=await Promise[_0x430cff(0x167)]()[_0x430cff(0x18c)](()=>_0x5a155f(0xe7)),_0x411ff7=_0x4798a0['join'](this['appRoot']),_0x4327f1=_0x4798a0[_0x430cff(0x138)](this[_0x430cff(0x122)],this['C'][_0x430cff(0x195)]),_0x232911=_0xe013bd=>{const _0x3cb0ee=_0x430cff,_0x883de8=_0x4798a0[_0x3cb0ee(0x248)](_0x411ff7,_0xe013bd);return!(_0x883de8&&!_0x883de8[_0x3cb0ee(0x179)]('.')&&!_0x883de8[_0x3cb0ee(0x13a)]('~')&&_0x883de8[_0x3cb0ee(0x179)](this['C'][_0x3cb0ee(0x195)]));},_0x3865fe=_0x3d90d4[_0x430cff(0x12a)](_0x4327f1,{'persistent':!0x0,'ignoreInitial':!0x0,'depth':0x1/0x0,'awaitWriteFinish':{'stabilityThreshold':0xc8,'pollInterval':0x64}}),_0x11f2b5=async(_0x3ad018,_0x5d5186)=>{const _0x32438b=_0x430cff;try{if(this[_0x32438b(0x22f)])return;const _0x3d050c=_0x4798a0[_0x32438b(0x248)](_0x411ff7,_0x5d5186);if(!_0x5d5186||_0x232911(_0x5d5186))return;console[_0x32438b(0x1a7)](_0x32438b(0x20f)+this[_0x32438b(0x142)]()+_0x32438b(0x1ce)+_0x3ad018+']\x20:\x20'+_0x3d050c);const _0x1b83ee=this['getCategoryOfPath'](_0x3d050c);if(!_0x1b83ee)return;const _0x143418=this[_0x32438b(0x1d1)](_0x1b83ee,_0x3d050c);if(!_0x143418)return;let _0x1b8eef,_0xc5cc0d=!0x1;if(this[_0x32438b(0x168)](_0x143418)){if(this['fsExistsSync'](_0x4798a0['join'](_0x411ff7,_0x3d050c))){const _0x1488c5=_0x4798a0[_0x32438b(0x138)](_0x4798a0[_0x32438b(0x215)]+this['C']['repo'],_0x143418);_0x1b8eef=await this[_0x32438b(0x1fd)](_0x143418,_0x1488c5),this[_0x32438b(0x1dd)]({'objType':_0x58ad8a[_0x32438b(0x246)],'localClientWSReqRes':{'eventType':_0x34d8d3[_0x32438b(0x1d6)],'folderChangedOnLocalSystem':_0x1b8eef,'category':_0x1b83ee,'shouldReplaceAllItemsOfCategory':_0xc5cc0d}});}else this[_0x32438b(0x1d0)]();}else{const _0x23dfa4=this[_0x32438b(0x173)](_0x1b83ee,_0x3d050c),_0x58bf0a=_0x4798a0['join'](_0x4798a0[_0x32438b(0x215)]+this['C'][_0x32438b(0x143)],_0x23dfa4);_0x1b8eef=await this[_0x32438b(0x1fd)](_0x23dfa4,_0x58bf0a),_0xc5cc0d=!0x0,this[_0x32438b(0x24c)](_0x1b8eef,_0x1b83ee,_0xc5cc0d);}}catch(_0x57cccc){console[_0x32438b(0x221)](_0x32438b(0x209),_0x57cccc);}};_0x3865fe['on'](_0x430cff(0x1c4),_0x271748=>_0x11f2b5(_0x430cff(0x1c4),_0x271748))['on'](_0x430cff(0x188),_0x19596f=>_0x11f2b5(_0x430cff(0x188),_0x19596f))['on'](_0x430cff(0x1c3),_0x539a97=>_0x11f2b5('unlink',_0x539a97))['on'](_0x430cff(0x1ed),_0x1131c6=>_0x11f2b5('addDir',_0x1131c6))['on'](_0x430cff(0x187),_0x579889=>_0x11f2b5(_0x430cff(0x187),_0x579889))['on'](_0x430cff(0x221),_0x141b82=>console[_0x430cff(0x221)](_0x430cff(0x1e4),_0x141b82)),this[_0x430cff(0x1ac)]=_0x3865fe,0x1===this['fullSyncCounter']&&console['log'](_0x430cff(0x1fc));}['getCurrentTime'](){const _0x2460c8=_0x3a2e97,_0x56ebb4=new Date();return String(_0x56ebb4[_0x2460c8(0x1e3)]())[_0x2460c8(0x21a)](0x2,'0')+':'+String(_0x56ebb4[_0x2460c8(0x1d5)]())[_0x2460c8(0x21a)](0x2,'0')+':'+String(_0x56ebb4[_0x2460c8(0x211)]())[_0x2460c8(0x21a)](0x2,'0');}[_0x3a2e97(0x140)](_0x252a8f,_0x213f9a,_0x5abf47){const _0x1cdcaa=_0x3a2e97;this['sendToServer']({'objType':_0x58ad8a[_0x1cdcaa(0x246)],'localClientWSReqRes':{'eventType':_0x34d8d3[_0x1cdcaa(0x1d6)],'folderChangedOnLocalSystem':_0x252a8f,'category':_0x213f9a,'shouldReplaceAllItemsOfCategory':_0x5abf47}});}[_0x3a2e97(0x184)](_0x2de8ed){let _0x234a64=null;return function(..._0x1b262c){clearTimeout(_0x234a64),_0x234a64=setTimeout(()=>{_0x2de8ed['apply'](this,_0x1b262c);},0x1f4);};}['getCategoryOfPath'](_0x3ffc58){const _0x5d1ff4=_0x3a2e97,_0x46a997=_0x4798a0[_0x5d1ff4(0x138)](this['C'][_0x5d1ff4(0x195)]);if(!_0x3ffc58['startsWith'](_0x46a997))return;const _0x33d89f=_0x3ffc58[_0x5d1ff4(0x12c)](_0x4798a0[_0x5d1ff4(0x215)])[_0x5d1ff4(0x190)](_0x4dd477=>!!_0x4dd477)[0x1];for(const _0x160271 in _0x223a13)if(_0x223a13[_0x160271]===_0x33d89f)return _0x33d89f;}[_0x3a2e97(0x1d1)](_0x526e6c,_0x3c318d){const _0x2f61fe=_0x3a2e97,_0x29aa72=_0x3c318d[_0x2f61fe(0x12c)](_0x4798a0[_0x2f61fe(0x215)]);let _0x1c754a='';return _0x1c754a=_0x526e6c===_0x223a13[_0x2f61fe(0x16b)]?_0x29aa72[_0x2f61fe(0x1d4)](0x0,0x5)[_0x2f61fe(0x138)](_0x4798a0[_0x2f61fe(0x215)]):_0x526e6c===_0x223a13[_0x2f61fe(0x191)]?_0x1c754a=_0x29aa72['slice'](0x0,0x2)[_0x2f61fe(0x138)](_0x4798a0[_0x2f61fe(0x215)]):_0x29aa72[_0x2f61fe(0x1d4)](0x0,0x3)[_0x2f61fe(0x138)](_0x4798a0[_0x2f61fe(0x215)]),_0x1c754a;}[_0x3a2e97(0x173)](_0x88d9be,_0x3840bb){const _0x1e47f2=_0x3a2e97;return _0x3840bb[_0x1e47f2(0x12c)](_0x4798a0[_0x1e47f2(0x215)])[_0x1e47f2(0x1d4)](0x0,0x3)[_0x1e47f2(0x138)](_0x4798a0[_0x1e47f2(0x215)]);}async[_0x3a2e97(0x1fd)](_0x170cda,_0x2657a5){const _0x313049={},_0x2483a9=this;return await async function _0x66b4e5(_0x46266e){const _0x65283a=a0_0x23a0,_0x24fdf6=await _0x2483a9['readDirCustom'](_0x46266e,{'withFileTypes':!0x0});for(const _0x28ff9a of _0x24fdf6){const _0x5a909f=_0x4798a0[_0x65283a(0x138)](_0x46266e,_0x28ff9a[_0x65283a(0x22e)]),_0x165b14=_0x4798a0[_0x65283a(0x157)](_0x5a909f);if(_0x28ff9a[_0x65283a(0x178)]())await _0x66b4e5(_0x165b14);else{const _0x2d17ae=_0x2475bb['readFileSync'](_0x165b14),_0x1c47f8=_0x4798a0['relative'](_0x170cda,_0x165b14),_0x93e31a=_0x4798a0[_0x65283a(0x138)](_0x2657a5,_0x1c47f8)['split'](_0x4798a0['sep'])['join'](_0x4798a0[_0x65283a(0x1ca)][_0x65283a(0x215)]);_0x313049[_0x93e31a]={'encoding':_0x65283a(0x189),'content':_0x2d17ae[_0x65283a(0x14d)]('base64')};}}}(_0x170cda),_0x313049;}[_0x3a2e97(0x1dd)](_0x37ce93){const _0x8c490b=_0x3a2e97;try{this['ws'][_0x8c490b(0x176)](JSON['stringify'](_0x37ce93));}catch(_0x9abcae){console[_0x8c490b(0x1a7)](_0x9abcae);}}async[_0x3a2e97(0x1d3)](){const _0x24ecf3=_0x3a2e97;console['log'](_0x24ecf3(0x234));const _0x3d4207=this[_0x24ecf3(0x230)][_0x24ecf3(0x229)],_0x5e19c1=this[_0x24ecf3(0x230)]['adminUserPath'],_0x25cb8f=this['config']['webSocketURL'];this['ws']=new WebSocket(_0x25cb8f+_0x24ecf3(0x12f)+_0x3d4207+_0x24ecf3(0x181)+_0x5e19c1);const _0xe08de=[],_0x4ce38f=()=>{const _0x5179b3=_0x24ecf3;this['sendToServer']({'objType':_0x58ad8a['REGISTER'],'onEvents':[{'eventType':_0x5179b3(0x20a)}]});};function _0x1042e1(_0x4a1edc){const _0x21202b=_0x24ecf3;_0x4a1edc['onopen']=null,_0x4a1edc[_0x21202b(0x1c6)]=null,_0x4a1edc[_0x21202b(0x21e)]=null,_0x4a1edc['onclose']=null,_0x4a1edc['close']();}this['ws'][_0x24ecf3(0x1c6)]=async _0x54c5e3=>{const _0x1a682e=_0x24ecf3,_0x473d7d=JSON[_0x1a682e(0x1a3)](_0x54c5e3[_0x1a682e(0x19b)]);if(_0x473d7d[_0x1a682e(0x159)]===_0x58ad8a[_0x1a682e(0x199)]&&_0x473d7d[_0x1a682e(0x1ae)][_0x1a682e(0x194)])_0x4ce38f();else{if(_0x473d7d[_0x1a682e(0x159)]===_0x58ad8a['REGISTER']){if(_0x473d7d?.[_0x1a682e(0x1ae)]?.[_0x1a682e(0x22b)]?.[_0x1a682e(0x1b3)]){for(const _0x4e8deb of _0x473d7d[_0x1a682e(0x1ae)][_0x1a682e(0x22b)])_0xe08de[_0x1a682e(0x192)](_0x4e8deb);console[_0x1a682e(0x1a7)](_0x1a682e(0x169)),this['watcher']||await this['startWatch'](),this[_0x1a682e(0x1d0)]();}else{const _0x3a6a4=_0x473d7d[_0x1a682e(0x1ae)]?.[_0x1a682e(0x163)]?.[0x0]?.[_0x1a682e(0x1f2)]?.[0x0]?.[_0x1a682e(0x1b4)]||'Error\x20while\x20connecting\x20to\x20WS\x20server.';console['log']('❌\x20'+_0x3a6a4),await this['shutdownAndExit'](0x1);}}else await this[_0x1a682e(0x14c)](_0x473d7d);}},this['ws'][_0x24ecf3(0x12b)]=_0x3a31dc=>{const _0x2b3f90=_0x24ecf3;console[_0x2b3f90(0x1a7)]('Connection\x20closed.'),_0x1042e1(this['ws']),setTimeout(this['connectToServerViaWS'][_0x2b3f90(0x1b9)](this),0xbb8);},this['ws']['onerror']=()=>{const _0x3039a1=_0x24ecf3;_0x1042e1(this['ws']),setTimeout(this['connectToServerViaWS'][_0x3039a1(0x1b9)](this),0xbb8);};}[_0x3a2e97(0x1d0)](){const _0x324d76=_0x3a2e97;this[_0x324d76(0x1dd)]({'objType':_0x58ad8a[_0x324d76(0x246)],'localClientWSReqRes':{'eventType':_0x34d8d3[_0x324d76(0x21c)]}});}async[_0x3a2e97(0x14c)](_0x1fe9d9){const _0x1538f8=_0x3a2e97;if(this['EL']&&_0x1fe9d9['response'][_0x1538f8(0x14f)]!==_0x34d8d3[_0x1538f8(0x21c)]&&console[_0x1538f8(0x1a7)](_0x1fe9d9),_0x1fe9d9[_0x1538f8(0x159)]===_0x58ad8a[_0x1538f8(0x246)]){if(_0x1fe9d9[_0x1538f8(0x1f2)]?.[_0x1538f8(0x1b3)])return void console[_0x1538f8(0x221)](_0x1fe9d9[_0x1538f8(0x1f2)]);if(_0x1fe9d9[_0x1538f8(0x1ae)]['eventType']===_0x34d8d3[_0x1538f8(0x21c)]){console[_0x1538f8(0x1a7)](_0x1538f8(0x1f4)+this[_0x1538f8(0x142)]()+']'),this[_0x1538f8(0x132)]++;try{this[_0x1538f8(0x1ac)]&&(await this[_0x1538f8(0x1ac)][_0x1538f8(0x243)](),this[_0x1538f8(0x1ac)]=null);}catch(_0x2d140e){console[_0x1538f8(0x141)](_0x1538f8(0x13b),_0x2d140e);}await this[_0x1538f8(0x1e9)](_0x1fe9d9);try{await this[_0x1538f8(0x15d)]();}catch(_0x480302){console[_0x1538f8(0x221)](_0x1538f8(0x144),_0x480302);}}else{if(_0x1fe9d9[_0x1538f8(0x1ae)][_0x1538f8(0x14f)]===_0x34d8d3[_0x1538f8(0x17e)]){const _0x34bf50=_0x1fe9d9[_0x1538f8(0x1ae)][_0x1538f8(0x1d7)];await this[_0x1538f8(0x225)](_0x34bf50['data'],this[_0x1538f8(0x122)]);}}!0x1===this[_0x1538f8(0x1da)]&&(console[_0x1538f8(0x1a7)](_0x1538f8(0x151)),await this[_0x1538f8(0x218)]('npm',['install',_0x1538f8(0x1f3)]),console[_0x1538f8(0x1a7)](_0x1538f8(0x17f)),this['nodeModulesInstalled']=!0x0);}}async[_0x3a2e97(0x1e9)](_0x288917){const _0x47b4a7=_0x3a2e97,_0x1dae9b=await this[_0x47b4a7(0x1de)](_0x4798a0[_0x47b4a7(0x138)](this[_0x47b4a7(0x122)],this['C']['src'])),_0x561145=_0x288917[_0x47b4a7(0x1ae)][_0x47b4a7(0x1d7)],_0x192487='/'+this['C'][_0x47b4a7(0x143)],_0x4cdf4d=this[_0x47b4a7(0x122)][_0x47b4a7(0x12c)](_0x4798a0[_0x47b4a7(0x215)])[_0x47b4a7(0x138)]('/');for(const [_0x13481e,_0x23d128]of _0x1dae9b){const _0xfa8650=_0x13481e[_0x47b4a7(0x20b)](_0x4cdf4d,_0x192487);if(!_0x561145[_0xfa8650]){const _0x39123a=_0xfa8650[_0x47b4a7(0x20b)]('/'+this['C'][_0x47b4a7(0x143)],''),_0x3a1bfd=_0x4798a0[_0x47b4a7(0x138)](this[_0x47b4a7(0x122)],_0x39123a['replace'](/^\//,''));await this[_0x47b4a7(0x14b)](_0x3a1bfd),this['EL']&&console[_0x47b4a7(0x1a7)](_0x47b4a7(0x226)+this['getCurrentTime']()+']\x20:\x20'+_0x3a1bfd['replace'](this[_0x47b4a7(0x122)],''));}}await this[_0x47b4a7(0x225)](_0x561145,this[_0x47b4a7(0x122)]),this['removeEmptyDirsSync'](_0x4798a0['join'](this[_0x47b4a7(0x122)],this['C'][_0x47b4a7(0x195)]));}async[_0x3a2e97(0x225)](_0x228809,_0x5a54af){const _0x370bf4=_0x3a2e97;this['skipWatchInputs']=!0x0;let _0x2d2423=[];const _0x493184=async()=>{_0x2d2423['length']>0x0&&(await Promise['all'](_0x2d2423),_0x2d2423=[]);};for(const [_0x20d8da,_0x429417]of Object[_0x370bf4(0x1db)](_0x228809)){if(!_0x20d8da[_0x370bf4(0x179)]('/'+this['C']['repo']+'/'+this['C'][_0x370bf4(0x195)])&&!_0x20d8da[_0x370bf4(0x13a)]('tsconfig.json'))continue;const _0x5ecd56=_0x429417,_0x59721f=_0x20d8da[_0x370bf4(0x20b)]('/'+this['C'][_0x370bf4(0x143)],'');if(this[_0x370bf4(0x15e)][_0x59721f])continue;const _0x254c25=_0x4798a0[_0x370bf4(0x138)](_0x5a54af,_0x59721f[_0x370bf4(0x20b)](/^\//,'')),_0x5826e8=_0x4798a0[_0x370bf4(0x149)](_0x254c25),_0xf01067=async()=>{const _0x260cb9=_0x370bf4;if(await this['fsMkDir'](_0x5826e8,{'recursive':!0x0}),!await this[_0x260cb9(0x160)](_0x5a54af,_0x254c25,_0x5ecd56[_0x260cb9(0x214)])){const _0x325a8e=this[_0x260cb9(0x208)](_0x5ecd56[_0x260cb9(0x214)]);await this[_0x260cb9(0x217)](_0x254c25,_0x325a8e,{'encoding':'base64'}),this['EL']&&console[_0x260cb9(0x1a7)](_0x260cb9(0x24b)+this[_0x260cb9(0x142)]()+_0x260cb9(0x22a)+_0x254c25['replace'](_0x5a54af,''));}};_0x2d2423[_0x370bf4(0x192)](_0xf01067()),_0x2d2423[_0x370bf4(0x1b3)]>=0x3e8&&await _0x493184();}await _0x493184(),setTimeout(()=>{const _0x5ec2e5=_0x370bf4;this[_0x5ec2e5(0x22f)]=!0x1;},0x3e8);}[_0x3a2e97(0x166)](_0x246dde){const _0x18b5e7=_0x3a2e97,_0x5c5e88=this['normalizePath'](_0x246dde);if(!this[_0x18b5e7(0x168)](_0x5c5e88))return!0x1;const _0x5368a0=_0x2475bb[_0x18b5e7(0x206)](_0x5c5e88);let _0xd2a5c6=!0x0;for(const _0x20d106 of _0x5368a0){const _0x38c5d5=_0x4798a0[_0x18b5e7(0x138)](_0x5c5e88,_0x20d106);_0x2475bb[_0x18b5e7(0x1ee)](_0x38c5d5)[_0x18b5e7(0x178)]()&&this['removeEmptyDirsSync'](_0x38c5d5)||(_0xd2a5c6=!0x1);}return!!_0xd2a5c6&&(_0x2475bb[_0x18b5e7(0x1c5)](_0x5c5e88),!0x0);}async['readDirCustom'](_0x4376e9,_0x4e1654){const _0x1e90a0=_0x3a2e97;return this[_0x1e90a0(0x168)](_0x4376e9)&&_0x2475bb[_0x1e90a0(0x1ee)](_0x4376e9)[_0x1e90a0(0x178)]()?await this[_0x1e90a0(0x1e0)](_0x4376e9,_0x4e1654):[];}[_0x3a2e97(0x170)](_0x4b6e90){const _0x1f3d4c=_0x3a2e97;return _0x4798a0[_0x1f3d4c(0x157)](_0x4b6e90);}[_0x3a2e97(0x208)](_0x26f71b){const _0x1bf95a=_0x3a2e97,_0xb955b0=atob(_0x26f71b);for(let _0x29a7cb=0x0;_0x29a7cb<Math[_0x1bf95a(0x18f)](_0xb955b0[_0x1bf95a(0x1b3)],0x1f40);_0x29a7cb++)if(0x0===_0xb955b0['charCodeAt'](_0x29a7cb))return _0x26f71b;const _0x2ae8cd='\x5c'===_0x4798a0[_0x1bf95a(0x215)]?'\x0d\x0a':'\x0a';return btoa(_0xb955b0[_0x1bf95a(0x20b)](/\r\n/g,'\x0a')[_0x1bf95a(0x20b)](/\r/g,'\x0a')[_0x1bf95a(0x20b)](/\n/g,_0x2ae8cd));}[_0x3a2e97(0x15f)](_0x2010cd){const _0x453289=_0x3a2e97,_0x4bb6ed=atob(_0x2010cd);for(let _0x57d281=0x0;_0x57d281<Math[_0x453289(0x18f)](_0x4bb6ed[_0x453289(0x1b3)],0x1f40);_0x57d281++)if(0x0===_0x4bb6ed[_0x453289(0x196)](_0x57d281))return _0x2010cd;return btoa(_0x4bb6ed[_0x453289(0x20b)](/\r\n/g,'\x0a')['replace'](/\r/g,'\x0a'));}[_0x3a2e97(0x168)](_0x5fc7ce){const _0x3ff893=_0x4798a0['normalize'](_0x5fc7ce);return _0x2475bb['existsSync'](_0x3ff893);}async['fsReadDir'](_0x11803d,_0x1b25f6){const _0x443216=_0x3a2e97,_0x5971e1=_0x4798a0[_0x443216(0x157)](_0x11803d);return await _0x2475bb['promises'][_0x443216(0x129)](_0x5971e1,_0x1b25f6);}async[_0x3a2e97(0x15b)](_0x104e07,_0x2eb26d){const _0x1fb9ad=_0x3a2e97,_0x296bad=_0x4798a0['normalize'](_0x104e07);return await _0x2475bb[_0x1fb9ad(0x121)]['mkdir'](_0x296bad,_0x2eb26d);}[_0x3a2e97(0x136)](_0x106325,_0x372700){const _0x3aeeb3=_0x3a2e97,_0x426c54=_0x4798a0[_0x3aeeb3(0x157)](_0x106325);return _0x2475bb['mkdirSync'](_0x426c54,_0x372700);}async[_0x3a2e97(0x1e7)](_0x5b6055,_0x229e8c){const _0x182c9a=_0x3a2e97,_0x38e691=_0x4798a0['normalize'](_0x5b6055);return await _0x2475bb[_0x182c9a(0x121)][_0x182c9a(0x1c0)](_0x38e691,_0x229e8c);}async['fsWriteFile'](_0x7ca706,_0x1cd23f,_0x43e7d4){const _0x59e6f3=_0x3a2e97,_0x268838=_0x4798a0[_0x59e6f3(0x157)](_0x7ca706);return await _0x2475bb[_0x59e6f3(0x121)][_0x59e6f3(0x222)](_0x268838,_0x1cd23f,_0x43e7d4);}async[_0x3a2e97(0x14b)](_0xc405aa){const _0x55290d=_0x3a2e97,_0x574d4a=_0x4798a0[_0x55290d(0x157)](_0xc405aa);return await _0x2475bb['promises'][_0x55290d(0x1c3)](_0x574d4a);}async['fsIsFileContentSame'](_0x2bdbc8,_0x437ba3,_0x384d21){const _0x51142f=_0x3a2e97;if(!this[_0x51142f(0x168)](_0x437ba3))return!0x1;try{const _0x5bc1d4=await this[_0x51142f(0x1e7)](_0x437ba3);let _0x487713;return _0x487713=_0x51142f(0x19c)!=typeof Buffer&&Buffer['isBuffer'](_0x5bc1d4)?_0x5bc1d4[_0x51142f(0x14d)]('base64'):Buffer[_0x51142f(0x1bb)](_0x5bc1d4,_0x51142f(0x201))[_0x51142f(0x14d)](_0x51142f(0x189)),this['normalizeEOLToLFBase64'](_0x487713)===this['normalizeEOLToLFBase64'](_0x384d21)&&(this['EL']&&console['log']('→\x20Skip\x20(unchanged)\x20:\x20['+this['getCurrentTime']()+_0x51142f(0x22a)+_0x437ba3[_0x51142f(0x20b)](_0x2bdbc8,'')),!0x0);}catch(_0x29a0b9){return!0x1;}}async[_0x3a2e97(0x19d)](_0x205943,_0x138567){const _0x45707b=_0x3a2e97,_0xb9198c=_0x4798a0[_0x45707b(0x157)](_0x205943),_0x1c2e05=_0x4798a0[_0x45707b(0x157)](_0x138567);try{return await _0x2475bb[_0x45707b(0x121)][_0x45707b(0x1a6)](_0xb9198c,_0x1c2e05);}catch(_0x2a5543){console[_0x45707b(0x141)](_0x2a5543);}}async[_0x3a2e97(0x1de)](_0x4db2f5){const _0x5cb88a=new Map(),_0x22aca9=_0x4798a0['resolve'](_0x4db2f5),_0x97bf4c=async _0x47ec21=>{const _0x30e1f4=a0_0x23a0;let _0x1401f1=[];try{_0x1401f1=await _0x2475bb['promises'][_0x30e1f4(0x129)](_0x47ec21,{'withFileTypes':!0x0});}catch(_0x5c07f6){return;}for(const _0x341c52 of _0x1401f1){const _0x213a5e=_0x4798a0[_0x30e1f4(0x138)](_0x47ec21,_0x341c52[_0x30e1f4(0x22e)]);if(_0x341c52[_0x30e1f4(0x178)]())await _0x97bf4c(_0x213a5e);else{const _0x50cbf0=_0x213a5e[_0x30e1f4(0x12c)](_0x4798a0['sep'])[_0x30e1f4(0x138)]('/');_0x5cb88a[_0x30e1f4(0x155)](_0x50cbf0,!0x0);}}};return await _0x97bf4c(_0x22aca9),_0x5cb88a;}async['shutdownAndExit'](_0x350e56=0x0){const _0x153066=_0x3a2e97;if(!this[_0x153066(0x16c)]){this['shuttingDown']=!0x0;try{this[_0x153066(0x1ac)]&&await this[_0x153066(0x1ac)][_0x153066(0x243)]();}catch(_0x4daca4){console['error'](_0x153066(0x19a),_0x4daca4);}finally{setTimeout(()=>process['exit'](_0x350e56),0xc8);}}}[_0x3a2e97(0x241)](){const _0x28e835=_0x3a2e97;process['on'](_0x28e835(0x1c7),()=>{const _0x4244b0=_0x28e835;console[_0x4244b0(0x1a7)](_0x4244b0(0x15c)),this['shutdownAndExit'](0x0);}),process['on'](_0x28e835(0x13c),()=>{const _0x3aafb0=_0x28e835;console[_0x3aafb0(0x1a7)](_0x3aafb0(0x147)),this[_0x3aafb0(0x21b)](0x0);}),process['on'](_0x28e835(0x1ab),_0x50395d=>{const _0x3e8e1f=_0x28e835;console[_0x3e8e1f(0x1a7)](_0x3e8e1f(0x1ab),_0x50395d);}),process['on'](_0x28e835(0x16f),_0x3f1299=>{const _0x2cb16e=_0x28e835;console[_0x2cb16e(0x1a7)](_0x2cb16e(0x16f),_0x3f1299);}),process['on'](_0x28e835(0x13f),_0x30b62c=>{const _0x1fd1ea=_0x28e835;console[_0x1fd1ea(0x221)](_0x1fd1ea(0x13f),_0x30b62c),this[_0x1fd1ea(0x21b)](0x1);}),process['on']('unhandledRejection',_0x59a902=>{const _0x218b70=_0x28e835;console[_0x218b70(0x221)]('unhandledRejection',_0x59a902),this['shutdownAndExit'](0x1);});}}()[_0x3a2e97(0x1c1)]()[_0x3a2e97(0x18c)](),function(_0x25b1cc){const _0x4932ac=_0x3a2e97;_0x25b1cc[_0x4932ac(0x1a9)]=_0x4932ac(0x1a9),_0x25b1cc[_0x4932ac(0x16b)]=_0x4932ac(0x16b),_0x25b1cc['CUSTOM_APIS']=_0x4932ac(0x24a),_0x25b1cc[_0x4932ac(0x162)]=_0x4932ac(0x162),_0x25b1cc[_0x4932ac(0x207)]=_0x4932ac(0x207);}(_0x336c97||(_0x336c97={})),function(_0x12cd02){const _0x8256f6=_0x3a2e97;_0x12cd02[_0x8256f6(0x19e)]=_0x8256f6(0x19e),_0x12cd02['UNREGISTER']='UNREGISTER',_0x12cd02[_0x8256f6(0x199)]=_0x8256f6(0x199),_0x12cd02['UNKNOWN']=_0x8256f6(0x146),_0x12cd02[_0x8256f6(0x161)]='TOKEN_VALIDATION',_0x12cd02[_0x8256f6(0x21d)]='NOTIFICATION',_0x12cd02['LC_DATA_REQ_RES']=_0x8256f6(0x246);}(_0x58ad8a||(_0x58ad8a={})),function(_0x5daf78){const _0x517678=_0x3a2e97;_0x5daf78[_0x517678(0x21c)]='LC_SEND_ALL_DATA',_0x5daf78[_0x517678(0x17e)]=_0x517678(0x17e),_0x5daf78[_0x517678(0x1d6)]=_0x517678(0x1d6);}(_0x34d8d3||(_0x34d8d3={})),function(_0x56d886){const _0x50145c=_0x3a2e97;_0x56d886[_0x50145c(0x127)]=_0x50145c(0x127),_0x56d886[_0x50145c(0x18a)]=_0x50145c(0x18a),_0x56d886[_0x50145c(0x18e)]=_0x50145c(0x18e),_0x56d886['DELETE']='DELETE',_0x56d886['DELETE_ALL']=_0x50145c(0x249);}(_0x58b45a||(_0x58b45a={})),function(_0x38fc36){const _0x4e3db5=_0x3a2e97;_0x38fc36[_0x4e3db5(0x1e6)]=_0x4e3db5(0x1cb),_0x38fc36['WebSocketEvents']='am_web_socket_events',_0x38fc36[_0x4e3db5(0x237)]=_0x4e3db5(0x23e),_0x38fc36[_0x4e3db5(0x14a)]=_0x4e3db5(0x232),_0x38fc36[_0x4e3db5(0x17b)]=_0x4e3db5(0x128),_0x38fc36[_0x4e3db5(0x236)]=_0x4e3db5(0x156),_0x38fc36[_0x4e3db5(0x200)]=_0x4e3db5(0x203),_0x38fc36[_0x4e3db5(0x245)]='am_instance_hooks',_0x38fc36[_0x4e3db5(0x24d)]=_0x4e3db5(0x1a1),_0x38fc36[_0x4e3db5(0x1bc)]=_0x4e3db5(0x17c),_0x38fc36[_0x4e3db5(0x174)]=_0x4e3db5(0x1fb),_0x38fc36[_0x4e3db5(0x223)]=_0x4e3db5(0x23d),_0x38fc36[_0x4e3db5(0x1b2)]=_0x4e3db5(0x193),_0x38fc36[_0x4e3db5(0x1ec)]=_0x4e3db5(0x1a5),_0x38fc36['SystemApiHooks']=_0x4e3db5(0x216),_0x38fc36[_0x4e3db5(0x1f8)]='am_tp_api_settings',_0x38fc36[_0x4e3db5(0x158)]='am_tp_installed_apis',_0x38fc36[_0x4e3db5(0x1e1)]=_0x4e3db5(0x1e1),_0x38fc36[_0x4e3db5(0x1bf)]=_0x4e3db5(0x152),_0x38fc36['DatabasesMigrations']=_0x4e3db5(0x198),_0x38fc36[_0x4e3db5(0x1d8)]=_0x4e3db5(0x233),_0x38fc36[_0x4e3db5(0x224)]=_0x4e3db5(0x20c),_0x38fc36['UIMakerStyles']=_0x4e3db5(0x172),_0x38fc36[_0x4e3db5(0x213)]=_0x4e3db5(0x18b),_0x38fc36[_0x4e3db5(0x182)]=_0x4e3db5(0x16e),_0x38fc36['ApiUsers']=_0x4e3db5(0x175),_0x38fc36['Instances']=_0x4e3db5(0x235),_0x38fc36['LogProfiles']='am_log_profiles';}(_0x3433de||(_0x3433de={})),function(_0x1e013b){const _0xfaf1c6=_0x3a2e97;_0x1e013b['ADMIN_USER']=_0xfaf1c6(0x1d9),_0x1e013b['CUSTOM_APIS']=_0xfaf1c6(0x1b8),_0x1e013b[_0xfaf1c6(0x1aa)]='Auth\x20Providers',_0x1e013b[_0xfaf1c6(0x22d)]='Database\x20migrations',_0x1e013b[_0xfaf1c6(0x204)]=_0xfaf1c6(0x13e),_0x1e013b[_0xfaf1c6(0x247)]=_0xfaf1c6(0x124),_0x1e013b[_0xfaf1c6(0x134)]='i18ns',_0x1e013b['INSTANCE_API_HOOKS']=_0xfaf1c6(0x1ad),_0x1e013b[_0xfaf1c6(0x126)]=_0xfaf1c6(0x23b),_0x1e013b[_0xfaf1c6(0x1a0)]=_0xfaf1c6(0x125),_0x1e013b[_0xfaf1c6(0x165)]=_0xfaf1c6(0x23f),_0x1e013b['INSTANCE_API_SETTINGS']=_0xfaf1c6(0x219),_0x1e013b[_0xfaf1c6(0x1a4)]=_0xfaf1c6(0x174),_0x1e013b['SCHEMAS']=_0xfaf1c6(0x223),_0x1e013b[_0xfaf1c6(0x1c9)]=_0xfaf1c6(0x1b1),_0x1e013b[_0xfaf1c6(0x21f)]=_0xfaf1c6(0x23a),_0x1e013b['TEST_CASES']='Test\x20cases',_0x1e013b[_0xfaf1c6(0x16b)]='Third\x20party\x20APIs',_0x1e013b[_0xfaf1c6(0x1c8)]=_0xfaf1c6(0x1b7),_0x1e013b['UTILITY_CLASSES']=_0xfaf1c6(0x1cf),_0x1e013b[_0xfaf1c6(0x220)]=_0xfaf1c6(0x1cc),_0x1e013b[_0xfaf1c6(0x1be)]=_0xfaf1c6(0x1fa),_0x1e013b[_0xfaf1c6(0x1bd)]=_0xfaf1c6(0x14e),_0x1e013b[_0xfaf1c6(0x244)]='UI\x20maker\x20styles',_0x1e013b[_0xfaf1c6(0x1ff)]=_0xfaf1c6(0x182),_0x1e013b['API_USERS']=_0xfaf1c6(0x1e2),_0x1e013b[_0xfaf1c6(0x1a9)]=_0xfaf1c6(0x19f),_0x1e013b['LOG_PROFILES']=_0xfaf1c6(0x15a);}(_0x223a13||(_0x223a13={}));})());})()));
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkapi_maker_fe=self.webpackChunkapi_maker_fe||[]).push([[1025],{54061:(_e,k,c)=>{c.d(k,{T:()=>K});var S=c(15861),e=c(90328),P=c(17850),A=c(6990),E=c(56212),O=c(51162),n=c(94946),I=c(60095),w=c(77240),Z=c(10262),W=c(99961),G=c(27414),i=c(95852),Y=c(53429),Q=c(92189),J=c(24977),V=c(12559),H=c(67629),U=c(81429),q=c(96814),N=c(85219),j=c(97680),D=c(53965);function R(f,y){if(1&f){const s=n.EpF();n.TgZ(0,"div",2)(1,"span",3),n._uU(2,"Database"),n.qZA(),n.TgZ(3,"p-dropdown",9),n.NdJ("onChange",function(p){n.CHM(s);const r=n.oxw(2);return r.tab.database=p.value,n.KtG(r.loadCollections(!0))}),n.qZA()()}if(2&f){const s=n.oxw(2);n.xp6(3),n.Q6J("options",s.tab.allDatabases)("ngModel",s.tab.database)("filter",!0)}}function X(f,y){if(1&f){const s=n.EpF();n.TgZ(0,"div",2)(1,"span",3),n._uU(2,"Collections"),n.qZA(),n.TgZ(3,"p-dropdown",4),n.NdJ("onChange",function(p){n.CHM(s);const r=n.oxw(2);return r.tab.collection=p.value,n.KtG(r.loadInstanceAPIs(!0))}),n.qZA()()}if(2&f){const s=n.oxw(2);n.xp6(3),n.Q6J("options",s.tab.allCollections)("ngModel",s.tab.collection)("filter",!0)}}function z(f,y){if(1&f){const s=n.EpF();n.TgZ(0,"div",1)(1,"div",2)(2,"span",3),n._uU(3,"Instances"),n.qZA(),n.TgZ(4,"p-dropdown",4),n.NdJ("onChange",function(p){n.CHM(s);const r=n.oxw();return r.tab.instance=p.value,n.KtG(r.loadDatabases(!0))}),n.qZA()(),n.YNc(5,R,4,3,"div",8),n.YNc(6,X,4,3,"div",8),n.qZA()}if(2&f){const s=n.oxw();n.xp6(4),n.Q6J("options",s.tab.allInstances)("ngModel",s.tab.instance)("filter",!0),n.xp6(1),n.Q6J("ngIf",s.tab.apiCategory.id===s.EAPICategory.INSTANCES),n.xp6(1),n.Q6J("ngIf",s.tab.apiCategory.id===s.EAPICategory.INSTANCES)}}function ee(f,y){if(1&f){const s=n.EpF();n.TgZ(0,"div",2)(1,"span",3),n._uU(2,"API Versions"),n.qZA(),n.TgZ(3,"p-dropdown",10),n.NdJ("onChange",function(p){n.CHM(s);const r=n.oxw(2);return r.tab.tpStoreApiVersion=p.value,n.KtG(r.loadThirdPartyAPIs(!0))}),n.qZA()()}if(2&f){const s=n.oxw(2);n.xp6(3),n.Q6J("options",s.tab.allStoreApiVersions)("ngModel",s.tab.tpStoreApiVersion)("filter",!0)}}function L(f,y){if(1&f){const s=n.EpF();n.TgZ(0,"div",1)(1,"div",2)(2,"span",3),n._uU(3,"API Bundle"),n.qZA(),n.TgZ(4,"p-dropdown",4),n.NdJ("onChange",function(p){n.CHM(s);const r=n.oxw();return r.tab.tpApiBundle=p.value,n.KtG(r.loadStoreApiVersions(!0))}),n.qZA()(),n.YNc(5,ee,4,3,"div",8),n.qZA()}if(2&f){const s=n.oxw();n.xp6(4),n.Q6J("options",s.tab.allApiBundles)("ngModel",s.tab.tpApiBundle)("filter",!0),n.xp6(1),n.Q6J("ngIf",s.tab.apiCategory.id===s.EAPICategory.THIRD_PARTY_APIS)}}function F(f,y){if(1&f&&(n.TgZ(0,"span",18),n._uU(1),n.qZA()),2&f){const s=n.oxw(2).$implicit;n.xp6(1),n.hij(" - ",s.category.toLowerCase(),"")}}function te(f,y){if(1&f&&(n.TgZ(0,"span",19),n._uU(1),n.qZA()),2&f){const s=n.oxw(2).$implicit;n.xp6(1),n.hij(" - ",s.category.toLowerCase(),"")}}function ne(f,y){if(1&f&&(n.TgZ(0,"div")(1,"span"),n._uU(2),n.qZA(),n.YNc(3,F,2,1,"span",16),n.YNc(4,te,2,1,"span",17),n.qZA()),2&f){const s=n.oxw().$implicit;n.xp6(2),n.Oqu(s.name),n.xp6(1),n.Q6J("ngIf","SCHEMA"===s.category),n.xp6(1),n.Q6J("ngIf","GEN"===s.category)}}function ae(f,y){1&f&&n.YNc(0,ne,5,3,"div",15),2&f&&n.Q6J("ngIf",y.$implicit)}function oe(f,y){if(1&f&&(n.TgZ(0,"span",18),n._uU(1),n.qZA()),2&f){const s=n.oxw(2).$implicit;n.xp6(1),n.hij(" - ",s.category.toLowerCase(),"")}}function se(f,y){if(1&f&&(n.TgZ(0,"span",19),n._uU(1),n.qZA()),2&f){const s=n.oxw(2).$implicit;n.xp6(1),n.hij(" - ",s.category.toLowerCase(),"")}}function ie(f,y){if(1&f&&(n.TgZ(0,"div")(1,"span"),n._uU(2),n.qZA(),n.YNc(3,oe,2,1,"span",16),n.YNc(4,se,2,1,"span",17),n.qZA()),2&f){const s=n.oxw().$implicit;n.xp6(2),n.Oqu(s.name),n.xp6(1),n.Q6J("ngIf","SCHEMA"===s.category),n.xp6(1),n.Q6J("ngIf","GEN"===s.category)}}function re(f,y){1&f&&n.YNc(0,ie,5,3,"div",15),2&f&&n.Q6J("ngIf",y.$implicit)}function ce(f,y){if(1&f){const s=n.EpF();n.TgZ(0,"div",11)(1,"div",1)(2,"div",12)(3,"span",3),n._uU(4,"APIs"),n.qZA(),n.TgZ(5,"p-dropdown",4),n.NdJ("onChange",function(p){n.CHM(s);const r=n.oxw();return n.KtG(r.tab.api=p.value)}),n.YNc(6,ae,1,1,"ng-template",13),n.YNc(7,re,1,1,"ng-template",14),n.qZA()()()()}if(2&f){const s=n.oxw();n.xp6(5),n.Q6J("options",s.tab.apiList)("ngModel",s.tab.api)("filter",!0)}}function B(f,y){1&f&&n._UZ(0,"p-progressSpinner",20)}let K=(()=>{class f{fb;generalS;webSocketEventsS;ns;constantsS;authCS;instanceS;navigationCS;tpStoreApiVersionS;tpInstalledApisS;functionS;dataProviderS;cd;EFormMode=e.D;form;subscriptions=[];tab={};apiCategories;loading={dropdown:!0};EAPICategory=P.R;tpAPIVersionMap={};apiCategoriesMap={};dbIdMap={};colIdMap={};tpLibraryMap={};tpPIMap={};constructor(s,t,p,r,d,C,l,g,v,T,h,_,b){this.fb=s,this.generalS=t,this.webSocketEventsS=p,this.ns=r,this.constantsS=d,this.authCS=C,this.instanceS=l,this.navigationCS=g,this.tpStoreApiVersionS=v,this.tpInstalledApisS=T,this.functionS=h,this.dataProviderS=_,this.cd=b}ngOnInit(){this.loadApiCategories().then()}loadApiCategories(){var s=this;return(0,S.Z)(function*(){const t=s.dataProviderS.getApiCategoriesForWebSocketAndGroup();s.apiCategories=t.filter(r=>r.id!==P.R.SCHEDULERS&&r.id!==P.R.EVENTS),s.apiCategoriesMap=A.keyBy(s.apiCategories,O.GR.id);const p=s.navigationCS.getQueryParam(E.p.at_category);p&&s.tab&&(s.tab.apiCategory=A.find(s.apiCategories,{id:p})),s.tab.apiCategory||(s.tab.apiCategory=s.apiCategories[0]),yield s.apiCategoryChangedEvent(!1),yield s.categorySelected(!1),s.cd.detectChanges()})()}apiCategoryChangedEvent(s){var t=this;return(0,S.Z)(function*(){t.loading.dropdown=!0,t.resetDependentObjects("INSTANCE"),yield t.categorySelected(s),t.tab.apiCategory.id===P.R.INSTANCES?yield t.loadInstances(s):t.tab.apiCategory.id===P.R.THIRD_PARTY_APIS?yield t.loadLibraries(s):t.tab.apiCategory.id===P.R.CUSTOM_APIS?yield t.loadCustomAPIs(s):t.tab.apiCategory.id===P.R.SYSTEM_APIS&&(yield t.loadSystemAPIs(s)),t.loading.dropdown=!1})()}loadInstances(s){var t=this;return(0,S.Z)(function*(){t.resetDependentObjects("INSTANCE"),yield t.categorySelected(s),t.loading.dropdown=!0;try{const r={find:{user:t.authCS.getUserId(),active:!0},select:{name:1,active:1,user:1},sort:{name:1}};t.tab.allInstances=(yield t.instanceS.query(r).toPromise()).data||[]}catch(r){t.ns.showErrorMessageFromErrorObject(r),t.tab.allInstances=[]}const p=t.navigationCS.getQueryParam(E.p.at_instance);p&&(t.tab.instance=A.find(t.tab.allInstances,{name:p})),!t.tab.instance&&t.tab.allInstances.length&&(t.tab.instance=t.tab.allInstances[0]),yield t.loadDatabases(s),t.loading.dropdown=!1,t.cd.detectChanges()})()}loadDatabases(s){var t=this;return(0,S.Z)(function*(){if(t.loading.dropdown=!0,t.resetDependentObjects("DATABASE"),yield t.setInstanceInURL(s),!t.tab.instance)return t.tab.allDatabases=[],t.tab.allCollections=[],void(t.tab.apiList=[]);try{t.tab.allDatabases=((yield t.instanceS.getDatabases([t.tab.instance],null).toPromise()).data||[])[0]||[],t.dbIdMap=A.keyBy(t.tab.allDatabases,O.N7.db)}catch(r){t.ns.showErrorMessageFromErrorObject(r),t.tab.allDatabases=[]}const p=t.navigationCS.getQueryParam(E.p.at_database);p&&(t.tab.database=A.find(t.tab.allDatabases,{db:p})),!t.tab.database&&t.tab.allDatabases.length&&(t.tab.database=t.tab.allDatabases[0]),yield t.loadCollections(s),t.loading.dropdown=!1})()}loadCollections(s){var t=this;return(0,S.Z)(function*(){if(t.loading.dropdown=!0,t.resetDependentObjects("COLLECTION"),yield t.setDatabaseInURL(s),!t.tab.instance||!t.tab.database)return t.tab.allCollections=[],void(t.tab.apiList=[]);try{t.tab.allCollections=((yield t.instanceS.getCollections([t.tab.database],null).toPromise()).data||[])[0]||[],t.colIdMap=A.keyBy(t.tab.allCollections,O.GR.name)}catch(r){t.ns.showErrorMessageFromErrorObject(r),t.tab.allCollections=[]}const p=t.navigationCS.getQueryParam(E.p.at_collection);t.tab.collection=p?A.find(t.tab.allCollections,{name:p}):t.tab.allCollections[0],yield t.loadInstanceAPIs(s),t.loading.dropdown=!1,t.cd.detectChanges()})()}loadInstanceAPIs(s){var t=this;return(0,S.Z)(function*(){if(t.loading.dropdown=!0,yield t.setCollectionInURL(s),!t.tab.instance||!t.tab.database||!t.tab.collection)return t.tab.apiList=[],void(t.loading.dropdown=!1);try{const r=t.tab.collection;r.removeStreamApisInResponse=!0,t.tab.apiList=(yield t.instanceS.instanceAPIList([r],void 0)).data||[]}catch(r){t.ns.showErrorMessageFromErrorObject(r),t.tab.apiList=[]}const p=t.navigationCS.getQueryParam(E.p.at_api);yield t.apiCommon(p)})()}loadLibraries(s){var t=this;return(0,S.Z)(function*(){t.resetDependentObjects("LIBRARY"),t.loading.dropdown=!0,t.tab.allApiBundles=yield t.tpStoreApiVersionS.getAllAPIBundles(),t.tpLibraryMap=A.keyBy(t.tab.allApiBundles,"value");const p=t.navigationCS.getQueryParam(E.p.at_bundleName);p&&(t.tab.tpApiBundle=A.find(t.tab.allApiBundles,{value:p})),!t.tab.tpApiBundle&&t.tab.allApiBundles.length&&(t.tab.tpApiBundle=t.tab.allApiBundles[0]),yield t.loadStoreApiVersions(s),t.loading.dropdown=!1,t.cd.detectChanges()})()}loadStoreApiVersions(s){var t=this;return(0,S.Z)(function*(){if(t.loading.dropdown=!0,t.resetDependentObjects("API_VERSION"),yield t.setLibraryInURL(s),!t.tab.tpApiBundle)return t.tab.allStoreApiVersions=[],void(t.tab.apiList=[]);t.tab.allStoreApiVersions=yield t.tpStoreApiVersionS.getAllStoreApiVersions([t.tab.tpApiBundle.value]);const p=t.navigationCS.getQueryParam(E.p.at_bundleName),r=t.navigationCS.getQueryParam(E.p.at_apiVersion);r&&(t.tab.tpStoreApiVersion=A.find(t.tab.allStoreApiVersions,{apiBundleName:p,storeApiVersion:r})),!t.tab.tpStoreApiVersion&&t.tab.allStoreApiVersions.length&&(t.tab.tpStoreApiVersion=t.tab.allStoreApiVersions[0]),yield t.loadThirdPartyAPIs(s),t.loading.dropdown=!1,t.cd.detectChanges()})()}loadThirdPartyAPIs(s){var t=this;return(0,S.Z)(function*(){if(t.loading.dropdown=!0,yield t.setTPApiVersionInURL(s),!t.tab.tpApiBundle||!t.tab.tpStoreApiVersion)return void(t.tab.apiList=[]);t.tab.apiList=(yield t.tpInstalledApisS.getThirdPartyAPIListArray([t.tab.tpStoreApiVersion]).toPromise()).data,t.tpPIMap=A.keyBy(t.tab.apiList,O.iH._id);const p=t.navigationCS.getQueryParam(E.p.at_api);yield t.apiCommon(p)})()}loadCustomAPIs(s){var t=this;return(0,S.Z)(function*(){t.loading.dropdown=!0;const p=yield t.functionS.getFunctionsAsAPI().toPromise();p.success&&p.data&&p.data.length&&(t.tab.apiList=p.data||[]);const r=t.navigationCS.getQueryParam(E.p.at_api);yield t.apiCommon(r)})()}loadSystemAPIs(s){var t=this;return(0,S.Z)(function*(){t.loading.dropdown=!0;const p=yield t.instanceS.systemAPIList().toPromise();p?.data?.length&&(t.tab.apiList=p.data||[]);const r=t.navigationCS.getQueryParam(E.p.at_api);yield t.apiCommon(r)})()}apiCommon(s){var t=this;return(0,S.Z)(function*(){t.loading.dropdown=!0,s?(t.tab.api=A.find(t.tab.apiList,{id:s}),t.tab.api||(t.tab.api=A.find(t.tab.apiList,{name:s}))):t.tab.api=t.tab.apiList[0],yield t.setApiInURL(),t.loading.dropdown=!1})()}categorySelected(s){var t=this;return(0,S.Z)(function*(){t.tab.apiCategory&&(yield t.navigationCS.setQueryParam(E.p.at_category,t.tab.apiCategory.id),s&&(yield t.generalS.resetUrlParams([E.p.at_instance,E.p.at_database,E.p.at_collection,E.p.at_bundleName,E.p.at_apiVersion,E.p.at_api])))})()}resetDependentObjects(s){"INSTANCE"===s?(this.tab.allInstances=this.tab.allDatabases=this.tab.allCollections=this.tab.apiList=[],this.tab.instance=this.tab.database=this.tab.collection=this.tab.api=void 0):"DATABASE"===s?(this.tab.allDatabases=this.tab.allCollections=this.tab.apiList=[],this.tab.database=this.tab.collection=this.tab.api=void 0):"COLLECTION"===s?(this.tab.allCollections=this.tab.apiList=[],this.tab.collection=this.tab.api=void 0):"LIBRARY"===s?(this.tab.allApiBundles=this.tab.allStoreApiVersions=this.tab.apiList=[],this.tab.tpApiBundle=this.tab.api=this.tab.tpStoreApiVersion=void 0):"API_VERSION"===s&&(this.tab.allStoreApiVersions=this.tab.apiList=[],this.tab.tpStoreApiVersion=this.tab.api=void 0)}setInstanceInURL(s){var t=this;return(0,S.Z)(function*(){t.tab.instance&&t.tab.instance._id&&(yield t.navigationCS.setQueryParam(E.p.at_instance,t.tab.instance._id),s&&(yield t.generalS.resetUrlParams([E.p.at_database,E.p.at_collection,E.p.at_api])))})()}setDatabaseInURL(s){var t=this;return(0,S.Z)(function*(){t.tab.database&&t.tab.database._id&&(yield t.navigationCS.setQueryParam(E.p.at_database,t.tab.database._id),s&&(yield t.generalS.resetUrlParams([E.p.at_collection,E.p.at_api])))})()}setCollectionInURL(s){var t=this;return(0,S.Z)(function*(){t.tab.collection&&t.tab.collection._id&&(yield t.navigationCS.setQueryParam(E.p.at_collection,t.tab.collection._id),s&&(yield t.generalS.resetUrlParams([E.p.at_api])))})()}setLibraryInURL(s){var t=this;return(0,S.Z)(function*(){t.tab.tpApiBundle&&t.tab.tpApiBundle.value&&(yield t.navigationCS.setQueryParam(E.p.at_bundleName,t.tab.tpApiBundle.value),s&&(yield t.generalS.resetUrlParams([E.p.at_apiVersion,E.p.at_api])))})()}setTPApiVersionInURL(s){var t=this;return(0,S.Z)(function*(){t.tab.tpStoreApiVersion&&t.tab.tpStoreApiVersion._id&&(yield t.navigationCS.setQueryParam(E.p.at_apiVersion,t.tab.tpStoreApiVersion._id),s&&(yield t.generalS.resetUrlParams([E.p.at_api])))})()}setApiInURL(){var s=this;return(0,S.Z)(function*(){s.tab?.api?.id&&(yield s.navigationCS.setQueryParam(E.p.at_api,s.tab.api.id))})()}ngOnDestroy(){this.generalS.unsubscribe(this.subscriptions)}static \u0275fac=function(t){return new(t||f)(n.Y36(I.qu),n.Y36(w.b),n.Y36(Z.a),n.Y36(W.W),n.Y36(G.L),n.Y36(i.D),n.Y36(Y.E),n.Y36(Q.S),n.Y36(J.f),n.Y36(V.d),n.Y36(H.d),n.Y36(U.B),n.Y36(n.sBO))};static \u0275cmp=n.Xpm({type:f,selectors:[["app-web-socket-events-form-second"]],decls:13,vars:7,consts:[[1,"container","mt-3"],[1,"row"],[1,"col-4"],[1,"small"],["optionLabel","name","filterBy","name","appendTo","body","styleClass","w-100 p-input-filled",3,"options","ngModel","filter","onChange"],["class","row",4,"ngIf"],["class","container mt-3 mb-3",4,"ngIf"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s",4,"ngIf"],["class","col-4",4,"ngIf"],["optionLabel","db","filterBy","db","appendTo","body","styleClass","w-100 p-input-filled",3,"options","ngModel","filter","onChange"],["optionLabel","displayText","filterBy","displayText","appendTo","body","styleClass","w-100 p-input-filled",3,"options","ngModel","filter","onChange"],[1,"container","mt-3","mb-3"],[1,"col-8"],["pTemplate","item"],["pTemplate","selectedItem"],[4,"ngIf"],["class","small text-success italic",4,"ngIf"],["class","small text-info italic",4,"ngIf"],[1,"small","text-success","italic"],[1,"small","text-info","italic"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s"]],template:function(t,p){1&t&&(n.TgZ(0,"div")(1,"div",0)(2,"div",1)(3,"div",2)(4,"span",3),n._uU(5,"API Category"),n.qZA(),n.TgZ(6,"p-dropdown",4),n.NdJ("onChange",function(d){return p.tab.apiCategory=d.value,p.apiCategoryChangedEvent(!0)}),n.qZA()()()(),n.TgZ(7,"div",0),n.YNc(8,z,7,5,"div",5),n.qZA(),n.TgZ(9,"div",0),n.YNc(10,L,6,4,"div",5),n.qZA(),n.YNc(11,ce,8,3,"div",6),n.YNc(12,B,1,0,"p-progressSpinner",7),n.qZA()),2&t&&(n.xp6(6),n.Q6J("options",p.apiCategories)("ngModel",p.tab.apiCategory)("filter",!0),n.xp6(2),n.Q6J("ngIf",p.tab.apiCategory.id===p.EAPICategory.INSTANCES),n.xp6(2),n.Q6J("ngIf",p.tab.apiCategory.id===p.EAPICategory.THIRD_PARTY_APIS),n.xp6(1),n.Q6J("ngIf",p.tab.apiCategory.id!==p.EAPICategory.WEB_SOCKET_EVENT),n.xp6(1),n.Q6J("ngIf",p.loading.dropdown))},dependencies:[I.JJ,I.On,q.O5,N.jx,j.G,D.Lt],encapsulation:2})}return f})()},72726:(_e,k,c)=>{c.d(k,{x:()=>h});var S=c(15861),e=c(94946),P=c(33157),A=c(90328),o=c(6990),O=c(45085),n=c(56212),I=c(51162),w=c(96925),Z=c(77240),W=c(99961),G=c(10262),i=c(95852),Y=c(27414),Q=c(32915),J=c(25405),V=c(67629),H=c(92189),U=c(85219),q=c(77664),N=c(60095),j=c(96814),D=c(95431),R=c(97680),X=c(33259),z=c(38057),ee=c(58980);const L=["webSocketEventsManFormC"];function F(_,b){if(1&_){const a=e.EpF();e.TgZ(0,"span",17),e.NdJ("click",function(){e.CHM(a);const u=e.oxw(2);return e.KtG(u.navigateToTreeView())}),e._UZ(1,"i",18),e.qZA()}}function te(_,b){if(1&_){const a=e.EpF();e.TgZ(0,"span",19),e.NdJ("click",function(){e.CHM(a);const u=e.oxw(2);return e.KtG(u.edit())}),e._UZ(1,"i",20),e.qZA()}}function ne(_,b){if(1&_){const a=e.EpF();e.TgZ(0,"span",21),e.NdJ("click",function(){e.CHM(a);const u=e.oxw(2);return e.KtG(u.removePermanentDialog())}),e._UZ(1,"i",22),e.qZA()}}function ae(_,b){if(1&_){const a=e.EpF();e.TgZ(0,"span")(1,"span",12),e.NdJ("click",function(){e.CHM(a);const u=e.oxw();return e.KtG(u.add())}),e._UZ(2,"i",13),e.qZA(),e.YNc(3,F,2,0,"span",14),e.YNc(4,te,2,0,"span",15),e.YNc(5,ne,2,0,"span",16),e.qZA()}if(2&_){const a=e.oxw();e.xp6(3),e.Q6J("ngIf",a.rows.length),e.xp6(1),e.Q6J("ngIf",a.selectedRows.length),e.xp6(1),e.Q6J("ngIf",a.selectedRows.length)}}function oe(_,b){if(1&_){const a=e.EpF();e.TgZ(0,"span",23)(1,"p-checkbox",24),e.NdJ("ngModelChange",function(u){e.CHM(a);const M=e.oxw();return e.KtG(M.eventCenterS.group.apisRegex.allWebSocketEvents=u)}),e.qZA()()}if(2&_){const a=e.oxw();e.xp6(1),e.Q6J("ngModel",a.eventCenterS.group.apisRegex.allWebSocketEvents)("binary",!0)}}function se(_,b){if(1&_){const a=e.EpF();e.TgZ(0,"span",23)(1,"p-checkbox",24),e.NdJ("ngModelChange",function(u){e.CHM(a);const M=e.oxw();return e.KtG(M.eventCenterS.filterInLog.apisRegex.allWebSocketEvents=u)}),e.qZA()()}if(2&_){const a=e.oxw();e.xp6(1),e.Q6J("ngModel",a.eventCenterS.filterInLog.apisRegex.allWebSocketEvents)("binary",!0)}}function ie(_,b){if(1&_&&(e.TgZ(0,"div")(1,"div",25),e._uU(2),e.qZA()()),2&_){const a=e.oxw();e.xp6(2),e.Oqu(a.constantsS.group.allWebSocketEventsPermitted)}}function re(_,b){1&_&&(e.TgZ(0,"th",35),e._UZ(1,"p-tableHeaderCheckbox"),e.qZA())}function ce(_,b){1&_&&e._UZ(0,"th",36)}function B(_,b){1&_&&e._UZ(0,"th",37)}function K(_,b){if(1&_&&(e.TgZ(0,"tr"),e.YNc(1,re,2,0,"th",31),e.YNc(2,ce,1,0,"th",32),e.TgZ(3,"th",33),e._uU(4,"API Category"),e.qZA(),e.TgZ(5,"th"),e._uU(6,"Name"),e.qZA(),e.YNc(7,B,1,0,"th",34),e.qZA()),2&_){const a=e.oxw(2);e.xp6(1),e.Q6J("ngIf",a.showCheckbox),e.xp6(1),e.Q6J("ngIf",!a.isDependentOnGroup&&!a.isLPM&&!a.isFilterLogTable),e.xp6(5),e.Q6J("ngIf",a.isLPM)}}function f(_,b){if(1&_&&(e.TgZ(0,"td"),e._UZ(1,"p-tableCheckbox",40),e.qZA()),2&_){const a=e.oxw().$implicit;e.xp6(1),e.Q6J("value",a)("pSelectableRow",a)}}function y(_,b){if(1&_&&(e.TgZ(0,"td",41)(1,"span"),e._uU(2),e.qZA()()),2&_){const a=e.oxw().rowIndex;e.xp6(2),e.Oqu(a+1)}}function s(_,b){if(1&_&&(e.TgZ(0,"div")(1,"span"),e._uU(2),e.qZA(),e.TgZ(3,"span"),e._uU(4," \u2192 "),e.qZA(),e.TgZ(5,"span"),e._uU(6),e.qZA(),e.TgZ(7,"span"),e._uU(8," \u2192 "),e.qZA(),e.TgZ(9,"span"),e._uU(10),e.qZA(),e.TgZ(11,"span"),e._uU(12," \u2192 "),e.qZA(),e.TgZ(13,"span"),e._uU(14),e.qZA()()),2&_){const a=e.oxw().$implicit;e.xp6(2),e.Oqu(a.instanceNameUI),e.xp6(4),e.Oqu(a.databaseName),e.xp6(4),e.Oqu(a.collectionName),e.xp6(4),e.Oqu(a.apiNameUI)}}function t(_,b){if(1&_&&(e.TgZ(0,"div")(1,"span"),e._uU(2),e.qZA(),e.TgZ(3,"span"),e._uU(4," \u2192 "),e.qZA(),e.TgZ(5,"span"),e._uU(6),e.qZA(),e.TgZ(7,"span"),e._uU(8," \u2192 "),e.qZA(),e.TgZ(9,"span"),e._uU(10),e.qZA()()),2&_){const a=e.oxw().$implicit;e.xp6(2),e.Oqu(a.apiBundleNameUI),e.xp6(4),e.Oqu(a.storeApiVersionUI),e.xp6(4),e.Oqu(a.apiNameUI)}}function p(_,b){if(1&_&&(e.TgZ(0,"div")(1,"span"),e._uU(2),e.qZA()()),2&_){const a=e.oxw().$implicit;e.xp6(2),e.Oqu(a.apiNameUI)}}function r(_,b){if(1&_&&(e.TgZ(0,"div")(1,"span"),e._uU(2),e.qZA()()),2&_){const a=e.oxw().$implicit;e.xp6(2),e.Oqu(a.apiNameUI)}}function d(_,b){if(1&_&&(e.TgZ(0,"div")(1,"span"),e._uU(2),e.qZA()()),2&_){const a=e.oxw().$implicit;e.xp6(2),e.Oqu(a.apiNameUI)}}function C(_,b){if(1&_){const a=e.EpF();e.TgZ(0,"div")(1,"label",42)(2,"p-checkbox",43),e.NdJ("ngModelChange",function(){e.CHM(a);const u=e.oxw(2).$implicit,M=e.oxw(2);return e.KtG(M.checkedChangeGridItem(u))})("ngModelChange",function(u){e.CHM(a);const M=e.oxw(2).$implicit;return e.KtG(M.saveResponseInLog=u)}),e.qZA()()()}if(2&_){const a=e.oxw(2).$implicit;e.xp6(2),e.Q6J("ngModel",a.saveResponseInLog)("binary",!0)}}function l(_,b){if(1&_&&(e.TgZ(0,"td"),e.YNc(1,C,3,2,"div",6),e.qZA()),2&_){const a=e.oxw().$implicit,m=e.oxw(2);e.xp6(1),e.Q6J("ngIf",m.selectedRows.indexOf(a)>=0)}}function g(_,b){if(1&_&&(e.TgZ(0,"tr",38),e.YNc(1,f,2,2,"td",6),e.YNc(2,y,3,1,"td",39),e.TgZ(3,"td"),e._uU(4),e.qZA(),e.TgZ(5,"td"),e.YNc(6,s,15,4,"div",6),e.YNc(7,t,11,3,"div",6),e.YNc(8,p,3,1,"div",6),e.YNc(9,r,3,1,"div",6),e.YNc(10,d,3,1,"div",6),e.qZA(),e.YNc(11,l,2,1,"td",6),e.qZA()),2&_){const a=b.$implicit,m=e.oxw(2);e.Q6J("pSelectableRow",a),e.xp6(1),e.Q6J("ngIf",m.showCheckbox),e.xp6(1),e.Q6J("ngIf",!m.isDependentOnGroup&&!m.isLPM&&!m.isFilterLogTable),e.xp6(2),e.Oqu(a.categoryUI),e.xp6(2),e.Q6J("ngIf",a.apiCategory===m.EAPICategory.INSTANCES),e.xp6(1),e.Q6J("ngIf",a.apiCategory===m.EAPICategory.THIRD_PARTY_APIS),e.xp6(1),e.Q6J("ngIf",a.apiCategory===m.EAPICategory.SYSTEM_APIS),e.xp6(1),e.Q6J("ngIf",a.apiCategory===m.EAPICategory.CUSTOM_APIS),e.xp6(1),e.Q6J("ngIf",a.apiCategory===m.EAPICategory.WEB_SOCKET_EVENT),e.xp6(1),e.Q6J("ngIf",m.isLPM)}}function v(_,b){1&_&&e._UZ(0,"p-progressSpinner",44)}function T(_,b){if(1&_){const a=e.EpF();e.TgZ(0,"div",26)(1,"p-table",27),e.NdJ("selectionChange",function(u){e.CHM(a);const M=e.oxw();return e.KtG(M.selectedRows=u)})("selectionChange",function(){e.CHM(a);const u=e.oxw();return e.KtG(u.webSocketEventSelected())})("dblclick",function(){e.CHM(a);const u=e.oxw();return e.KtG(u.dblClickWebSocketEvent())}),e.YNc(2,K,8,3,"ng-template",28),e.YNc(3,g,12,10,"ng-template",29),e.qZA(),e.YNc(4,v,1,0,"p-progressSpinner",30),e.qZA()}if(2&_){const a=e.oxw();e.xp6(1),e.Q6J("selectionMode","multiple")("metaKeySelection",a.metaKeySelection)("selection",a.selectedRows)("dataKey",a.gridKey)("scrollable",!0)("value",a.rows),e.xp6(3),e.Q6J("ngIf",a.loading.grid)}}let h=(()=>{class _{generalS;notificationS;webSocketEventsS;authCS;constantsS;eventCenterS;cd;eventCenterCS;functionS;navigationCS;confirmationService;router;isReadOnly=!1;showCheckbox=!1;isDependentOnGroup=!1;isLPM=!1;isFilterLogTable=!1;metaKeySelection=!0;loading={grid:!1};subscriptions=[];data={mode:A.D.ADD,eventChannel:new e.vpe,formData:void 0};rows=[];rowsMap={};rowsMapName={};showAll=!1;selectedRows=[];gridKey=I.iH._id;EAPICategory=O.R;ERequestMethod=w.Yp;webSocketEventsManFormC;constructor(a,m,u,M,x,le,de,pe,me,ge,ve,fe){this.generalS=a,this.notificationS=m,this.webSocketEventsS=u,this.authCS=M,this.constantsS=x,this.eventCenterS=le,this.cd=de,this.eventCenterCS=pe,this.functionS=me,this.navigationCS=ge,this.confirmationService=ve,this.router=fe}ngOnInit(){var a=this;this.loadGridData().then(),this.subscriptions.push(this.data.eventChannel.subscribe(m=>{(m.action===P.F.SAVED||m.action===P.F.UPDATED)&&(this.webSocketEventsManFormC.hideModal(),this.loadGridData().then())})),this.isDependentOnGroup&&this.subscriptions.push(this.eventCenterS.group.selectedGroups.subscribe(function(){var m=(0,S.Z)(function*(u){u.length&&(yield a.loadGridData())});return function(u){return m.apply(this,arguments)}}())),(this.isFilterLogTable||this.isLPM)&&this.subscriptions.push(this.eventCenterS.filterInLog.refreshGrid.subscribe(m=>{m&&this.loadGridData().then()})),this.generalS.setNewTitle("API Maker - WebSocket Events")}loadGridData(){var a=this;return(0,S.Z)(function*(){if(a.isDependentOnGroup&&0===a.eventCenterS.group.selectedGroups.value.length)return void a.resetGridAndUrl();a.loading.grid=!0;const m=yield a.webSocketEventsS.getWSEventKGrid({}).toPromise();m.success?(a.selectedRows=[],a.rows=m.data,a.rowsMap=o.keyBy(a.rows,I.iH._id),a.rowsMapName=o.keyBy(a.rows,I.of.id)):a.resetGridAndUrl();const u=a.navigationCS.getQueryParam(n.p.am_ws_event)||(a.isFilterLogTable?a.eventCenterS.filterInLog.webSocketIds.value.join(","):a.eventCenterS.group.webSocketIds.value.join(","));if(u){const M=u.split(","),x=o.intersection(o.keys(a.rowsMap),M),le=[];for(const de of x)a.rowsMap[de]&&le.push(a.rowsMap[de]);a.selectedRows=le,a.eventCenterS.webSocketEvents.selectedWebSocketEvents.next(le),a.eventCenterS.filterInLog.webSocketIds.next(x)}if(a.isDependentOnGroup&&a.eventCenterS.group.webSocketIds.value.length&&(a.selectedRows=a.generalS.getObjectsFromIdArray(a.eventCenterS.group.webSocketIds.value,a.rowsMap),a.eventCenterS.group.webSocketApis.next(a.selectedRows)),a.isLPM&&a.eventCenterS.group.selectedGroups.value[0]?.queryParams?.webSocketEventNames?.length){const M=a.eventCenterS.group.selectedGroups.value[0];for(const x of M?.queryParams?.webSocketEventNames)a.rowsMapName[x]&&(a.rowsMapName[x].saveResponseInLog=M.webSocketEventsLog?.[x]?.saveResponseInLog||!1);a.setResDataInEventCenter()}setTimeout(()=>{a.loading.grid=!1,a.cd.detectChanges()},100)})()}add(){this.data.formData=void 0,this.data.mode=A.D.ADD,this.data.eventChannel.emit({action:P.F.OPEN_FORM_IN_ADD_MODE}),this.webSocketEventsManFormC.showModal().then()}view(){this.data.formData=this.selectedRows[0],this.data.mode=A.D.VIEW,this.data.eventChannel.emit({action:P.F.OPEN_FORM_IN_VIEW_MODE}),this.webSocketEventsManFormC.showModal().then()}edit(){this.data.formData=this.selectedRows[0],this.data.mode=A.D.EDIT,this.data.eventChannel.emit({action:P.F.OPEN_FORM_IN_EDIT_MODE}),this.webSocketEventsManFormC.showModal()}removePermanentDialog(){var a=this;return(0,S.Z)(function*(){var m;a.confirmationService.confirm({message:a.constantsS.webSocketEvents.removePermanentConfirm,header:"Confirmation",icon:"pi pi-exclamation-triangle",accept:(m=(0,S.Z)(function*(){yield a.removePermanent()}),function(){return m.apply(this,arguments)})})})()}removePermanent(){var a=this;return(0,S.Z)(function*(){a.loading.grid=!0;const m=yield a.webSocketEventsS.permanentDelete(a.selectedRows[0]._id).toPromise();a.loading.grid=!1,m.success?(a.notificationS.showSuccess(a.constantsS.webSocketEvents.removePermanent),a.resetGridAndUrl(),a.loadGridData().then(),a.selectedRows=[]):a.notificationS.showErrorFromResponse(m,a.constantsS.webSocketEvents.removePermanentError)})()}resetGridAndUrl(){this.rows=[],this.selectedRows=[],this.rowsMap={},this.rowsMapName={},this.eventCenterS.webSocketEvents.selectedWebSocketEvents.next([])}dblClickWebSocketEvent(){this.selectedRows.length&&this.edit()}navigateToTreeView(){this.router.navigate(["api-info","web-socket-events","layout-tree"]).then()}resetThisUrl(){var a=this;return(0,S.Z)(function*(){a.eventCenterS.webSocketEvents.selectedWebSocketEvents.next([]),yield a.navigationCS.setQueryParam(n.p.am_ws_event,null)})()}setResDataInEventCenter(){this.isDependentOnGroup&&(this.eventCenterS.group.webSocketApis.next(this.selectedRows),this.eventCenterS.group.selectedWebSocket.next(this.selectedRows),this.eventCenterS.group.webSocketIds.next(o.map(this.selectedRows,"_id"))),this.isFilterLogTable&&this.eventCenterS.filterInLog.webSocketApis.next(this.selectedRows)}webSocketEventSelected(){var a=this;return(0,S.Z)(function*(){if(a.fillData().then(),a.selectedRows?.[0]){const m=(a.selectedRows[0]?.nameUI||"").split("/");a.generalS.setNewTitle(m[m.length-1],O.R.WEB_SOCKET_EVENT)}})()}fillData(){var a=this;return(0,S.Z)(function*(){if(!a.selectedRows.length)return yield a.navigationCS.setQueryParam(n.p.am_ws_event,""),a.eventCenterS.group.webSocketIds.next([]),a.eventCenterS.group.webSocketApis.next([]),a.eventCenterS.filterInLog.webSocketIds.next([]),void a.eventCenterS.filterInLog.webSocketApis.next([]);if(a.isDependentOnGroup||a.isFilterLogTable)a.eventCenterS.group.webSocketIds.next(o.map(a.selectedRows,"_id")),a.eventCenterS.group.webSocketApis.next(a.selectedRows),a.isFilterLogTable&&(a.eventCenterS.filterInLog.webSocketIds.next(o.map(a.selectedRows,"_id")),a.eventCenterS.filterInLog.webSocketApis.next(a.selectedRows));else{const m=(yield a.webSocketEventsS.getById(a.selectedRows[0]._id).toPromise()).data;m._id?(yield a.navigationCS.setQueryParam(n.p.am_ws_event,m._id),a.eventCenterS.webSocketEvents.selectedWebSocketEvents.next([m])):a.resetThisUrl()}})()}checkedChangeGridItem(a){var m=this;setTimeout((0,S.Z)(function*(){m.selectedRows.push(a),m.selectedRows=o.uniq(m.selectedRows);for(const u in m.rowsMap){const M=m.rowsMap[u];-1===m.selectedRows.indexOf(M)&&(M.saveResponseInLog=!1)}m.setResDataInEventCenter(),m.cd.detectChanges()}),100)}ngOnDestroy(){this.generalS.unsubscribe(this.subscriptions)}static \u0275fac=function(m){return new(m||_)(e.Y36(Z.b),e.Y36(W.W),e.Y36(G.a),e.Y36(i.D),e.Y36(Y.L),e.Y36(Q.u),e.Y36(e.sBO),e.Y36(J.M),e.Y36(V.d),e.Y36(H.S),e.Y36(U.YP),e.Y36(q.F0))};static \u0275cmp=e.Xpm({type:_,selectors:[["app-web-socket-events-grid"]],viewQuery:function(m,u){if(1&m&&e.Gf(L,5),2&m){let M;e.iGM(M=e.CRH())&&(u.webSocketEventsManFormC=M.first)}},inputs:{isReadOnly:["IsReadOnly","isReadOnly"],showCheckbox:"showCheckbox",isDependentOnGroup:["IsDependentOnGroup","isDependentOnGroup"],isLPM:"isLPM",isFilterLogTable:"isFilterLogTable",metaKeySelection:"metaKeySelection"},decls:16,vars:6,consts:[[1,"card","shadow-sm","h-100"],[1,"card-header"],["src","/assets/images/icons/web.svg","alt","WebSocket Events",1,"fa-fw","mr-1"],[1,"float-right"],["href","https://docs.apimaker.dev/v1/docs/pages/web-socket-event-page.html","target","_blank"],["src","/assets/images/logo/logo_docs.svg",1,"float-right","fa-fw","ml-3","mr-1",2,"font-size","25px"],[4,"ngIf"],["class","float-right cursor-pointer","tooltipPosition","left","pTooltip","All WebSocket Events",4,"ngIf"],[1,"card-body","p-0","h-100","overflow-hidden"],["class","h-100",4,"ngIf"],[3,"data"],["webSocketEventsManFormC",""],["pTooltip","Add New",1,"float-right","cursor-pointer","ml-3",3,"click"],[1,"fas","fa-plus","text-success","fa-fw"],["class","float-right cursor-pointer ml-3",3,"click",4,"ngIf"],["class","float-right cursor-pointer ml-3","pTooltip","Edit",3,"click",4,"ngIf"],["class","float-right cursor-pointer ml-3","pTooltip","Permanent Delete",3,"click",4,"ngIf"],[1,"float-right","cursor-pointer","ml-3",3,"click"],["pTooltip","Tree View",1,"fas","fa-sitemap","text-yellow","fa-fw","fa-rotate-270"],["pTooltip","Edit",1,"float-right","cursor-pointer","ml-3",3,"click"],[1,"fas","fa-pencil-alt","text-light","fa-fw"],["pTooltip","Permanent Delete",1,"float-right","cursor-pointer","ml-3",3,"click"],[1,"far","fa-trash-alt","fa-fw","text-danger"],["tooltipPosition","left","pTooltip","All WebSocket Events",1,"float-right","cursor-pointer"],[3,"ngModel","binary","ngModelChange"],[1,"p-2","text-center","text-success"],[1,"h-100"],["styleClass","p-datatable-striped ws-events-grid-height","scrollHeight","flex",3,"selectionMode","metaKeySelection","selection","dataKey","scrollable","value","selectionChange","dblclick"],["pTemplate","header"],["pTemplate","body"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s",4,"ngIf"],["style","width: 45px;",4,"ngIf"],["style","width: 80px;",4,"ngIf"],[2,"width","200px"],["style","width: 60px;",4,"ngIf"],[2,"width","45px"],[2,"width","80px"],[2,"width","60px"],[3,"pSelectableRow"],["class","text-center",4,"ngIf"],[3,"value","pSelectableRow"],[1,"text-center"],[1,"m-0","vertical-align-sub"],["label","Save Response In Log",3,"ngModel","binary","ngModelChange"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s"]],template:function(m,u){1&m&&(e.TgZ(0,"div",0)(1,"div",1)(2,"span"),e._UZ(3,"img",2),e._uU(4," WebSocket Events"),e.qZA(),e.TgZ(5,"div",3)(6,"a",4),e._UZ(7,"img",5),e.qZA()(),e.YNc(8,ae,6,3,"span",6),e.YNc(9,oe,2,2,"span",7),e.YNc(10,se,2,2,"span",7),e.qZA(),e.TgZ(11,"div",8),e.YNc(12,ie,3,1,"div",6),e.YNc(13,T,5,7,"div",9),e.qZA()(),e._UZ(14,"app-web-socket-events-man-form",10,11)),2&m&&(e.xp6(8),e.Q6J("ngIf",!u.isDependentOnGroup&&!u.isLPM&&!u.isFilterLogTable),e.xp6(1),e.Q6J("ngIf",u.isDependentOnGroup),e.xp6(1),e.Q6J("ngIf",u.isFilterLogTable),e.xp6(2),e.Q6J("ngIf",u.eventCenterS.group.apisRegex.allWebSocketEvents||u.eventCenterS.filterInLog.apisRegex.allWebSocketEvents),e.xp6(1),e.Q6J("ngIf",!(u.eventCenterS.group.apisRegex.allWebSocketEvents||u.eventCenterS.filterInLog.apisRegex.allWebSocketEvents)),e.xp6(1),e.Q6J("data",u.data))},dependencies:[N.JJ,N.On,j.O5,D.iA,U.jx,D.Ei,D.UA,D.Mo,R.G,X.u,z.XZ,ee.D],styles:[".custom-tab-title[_ngcontent-%COMP%]{padding:.5rem}.min-width[_ngcontent-%COMP%], .none[_ngcontent-%COMP%], .delete[_ngcontent-%COMP%], .post[_ngcontent-%COMP%], .put[_ngcontent-%COMP%], .get[_ngcontent-%COMP%]{width:45px;display:inline-block}.get[_ngcontent-%COMP%]{color:var(--accent-success)}.put[_ngcontent-%COMP%]{color:var(--brand-secondary)}.post[_ngcontent-%COMP%]{color:var(--accent-warning)}.delete[_ngcontent-%COMP%]{color:var(--accent-error)}.none[_ngcontent-%COMP%]{color:var(--accent-success--shade--three)}.width-160[_ngcontent-%COMP%]{width:160px}"]})}return _})()},58980:(_e,k,c)=>{c.d(k,{D:()=>r});var S=c(15861),e=c(60095),P=c(33157),A=c(90328),o=c(17850),E=c(6990),n=c(59361),I=c(56212),w=c(51162),Z=c(20553),W=c(3531),G=c(39989),i=c(94946),Y=c(77240),Q=c(10262),J=c(99961),V=c(27414),H=c(95852),U=c(45809),q=c(12559),N=c(53429),j=c(24977),D=c(92189),R=c(96814),X=c(32660),z=c(5860),ee=c(756),L=c(97680),F=c(14844),te=c(33259),ne=c(38057),ae=c(54061);const oe=["webSocketEventsFormSecondC"],se=["insertCodeModalC"];function ie(d,C){1&d&&(i.TgZ(0,"span"),i._UZ(1,"i",30),i._uU(2," Add WebSocket Event"),i.qZA())}function re(d,C){1&d&&(i.TgZ(0,"span"),i._UZ(1,"i",31),i._uU(2," View WebSocket Event"),i.qZA())}function ce(d,C){1&d&&(i.TgZ(0,"span"),i._UZ(1,"i",32),i._uU(2," Edit WebSocket Event"),i.qZA())}function B(d,C){1&d&&(i.TgZ(0,"div",33)(1,"div",34)(2,"span",35),i._uU(3,"Name"),i.qZA(),i._UZ(4,"input",36),i.qZA()())}function K(d,C){if(1&d){const l=i.EpF();i.TgZ(0,"div",37)(1,"app-monaco-editor",38),i.NdJ("editorGenerated",function(v){i.CHM(l);const T=i.oxw();return i.KtG(T.editorGenerated(v))}),i.qZA()()}if(2&d){const l=i.oxw();i.xp6(1),i.Q6J("isSchemaEditor",!0)("editorOptions",l.editorOptionsSchedulers)}}function f(d,C){1&d&&(i.TgZ(0,"span"),i._uU(1,"Save"),i.qZA())}function y(d,C){1&d&&(i.TgZ(0,"span"),i._uU(1,"Update"),i.qZA())}function s(d,C){if(1&d){const l=i.EpF();i.TgZ(0,"button",39),i.NdJ("click",function(){i.CHM(l);const v=i.oxw();return i.KtG(v.save())}),i._UZ(1,"i",40),i.YNc(2,f,2,0,"span",4),i.YNc(3,y,2,0,"span",4),i.qZA()}if(2&d){const l=i.oxw();i.xp6(2),i.Q6J("ngIf",l.data.mode===l.EFormMode.ADD),i.xp6(1),i.Q6J("ngIf",l.data.mode===l.EFormMode.EDIT)}}function t(d,C){1&d&&i._UZ(0,"p-progressSpinner",41)}const p=function(d){return{"text-danger font-weight-bold":d}};let r=(()=>{class d{fb;generalCS;webSocketEventsS;ns;constantsS;authCS;monacoS;tpInstalledApisS;instanceS;tpStoreApiVersionS;navigationCS;cd;data;EFormMode=A.D;form;subscriptions=[];loading={form:!1};EAPICategory=o.R;reqActiveIndex=0;tabIndexReq={Basic:0,Code:1,Intervals:2};BE_HOST_PORT=Z.N.BE_HOST_PORT;DOCS_HOST_PORT=Z.N.DOCS_HOST_PORT;shouldLoadMonacoEditor=!1;editorWSNotifications;editorOptionsSchedulers={readOnly:!1,language:"typescript",contextmenu:!0};wsFormSecondC;insertCodeModalC;constructor(l,g,v,T,h,_,b,a,m,u,M,x){this.fb=l,this.generalCS=g,this.webSocketEventsS=v,this.ns=T,this.constantsS=h,this.authCS=_,this.monacoS=b,this.tpInstalledApisS=a,this.instanceS=m,this.tpStoreApiVersionS=u,this.navigationCS=M,this.cd=x}ngOnInit(){var l=this;this.createForm(),this.subscriptions.push(this.data.eventChannel.subscribe(function(){var g=(0,S.Z)(function*(v){if(v)if(l.form.enable(),v.action===P.F.OPEN_FORM_IN_EDIT_MODE){if(!l.data.formData)return;const T=yield l.webSocketEventsS.getById(l.data.formData._id).toPromise();l.form.reset(),yield l.editModelLoadData(T.data),l.form.patchValue(T.data)}else if(v.action===P.F.OPEN_FORM_IN_VIEW_MODE){if(!l.data.formData)return;const T=yield l.webSocketEventsS.getById(l.data.formData._id).toPromise();l.form.reset(),l.form.patchValue(T.data),l.form.disable()}else if(v.action===P.F.OPEN_FORM_IN_ADD_MODE){l.form.reset();const T=yield l.instanceS.getDefaultContent(l.BE_HOST_PORT,o.R.WEB_SOCKET_EVENT_CAN_USER_CONNECT_CODE).toPromise();l.generalCS.setValueInEditor(l,"editorWSNotifications",T.data)}});return function(v){return g.apply(this,arguments)}}()))}createForm(){this.form=this.fb.group({name:[null,[e.kI.required]],runOnNativeProcess:[!1,[]]})}showInsertCodeModel(){this.generalCS.messageReceivedFor=n.H.All,this.insertCodeModalC.showModal(W.b.WebSocketFormC)}showModal(){var l=this;return(0,S.Z)(function*(){l.shouldLoadMonacoEditor=!0,$("#idWebSocketEventsForm").modal("show"),setTimeout((0,S.Z)(function*(){yield l.wsFormSecondC.loadApiCategories()}),100)})()}hideModal(){$("#idWebSocketEventsForm").modal("hide")}editModelLoadData(l){var g=this;return(0,S.Z)(function*(){if(yield g.wsFormSecondC.categorySelected(!0),g.wsFormSecondC.tab.apiCategory=g.wsFormSecondC.apiCategoriesMap[l.apiCategory],yield g.navigationCS.setQueryParam(I.p.at_category,l.apiCategory),l.apiCategory===o.R.SYSTEM_APIS)yield g.navigationCS.setQueryParam(I.p.at_api,l.systemApiName);else if(l.apiCategory===o.R.CUSTOM_APIS)yield g.navigationCS.setQueryParam(I.p.at_api,l.customApiName);else if(l.apiCategory===o.R.INSTANCES)yield g.navigationCS.setQueryParam(I.p.at_instance,l.instanceName),yield g.navigationCS.setQueryParam(I.p.at_database,l.databaseName),yield g.navigationCS.setQueryParam(I.p.at_collection,l.collectionName),yield g.navigationCS.setQueryParam(I.p.at_api,l.instanceApiName);else if(l.apiCategory===o.R.THIRD_PARTY_APIS){const v=(yield g.tpInstalledApisS.query({find:{bundleName:l.tpInstalledApiBundleName,apiVersion:l.tpInstalledApiVersion,name:l.tpInstalledApiName,user:l.user,active:!0},limit:1}).toPromise())?.data?.[0];if(v){const T=(yield g.tpStoreApiVersionS.query({find:{apiBundleName:v.bundleName,storeApiVersion:v.apiVersion,user:v.user,active:!0},limit:1}).toPromise()).data?.[0];yield g.navigationCS.setQueryParam(I.p.at_bundleName,v.bundleName),yield g.navigationCS.setQueryParam(I.p.at_apiVersion,T.storeApiVersion),yield g.navigationCS.setQueryParam(I.p.at_api,v.name)}}g.generalCS.setValueInEditor(g,"editorWSNotifications",l.canUserConnectViaWSCode||"")})()}save(){var l=this;return(0,S.Z)(function*(){try{l.loading.form=!0;const g=l.form.getRawValue();let v;g.user=l.authCS.getUserId(),g.apiCategory=l.wsFormSecondC.tab.apiCategory.id,v=l.data.formData&&l.data.formData._id?(yield l.webSocketEventsS.getById(l.data.formData._id).toPromise()).data:{};const T=E.find(v.versions||[],{isActive:!0});T&&(T.apiCodeStr=l.editorWSNotifications.getValue());const h=Object.assign({},v,g);h.user=l.authCS.getUserId(),h.canUserConnectViaWSCode=l.editorWSNotifications.getValue();for(const b of h?.versions||[])b.version=b.version.toString();if(h.apiCategory===o.R.WEB_SOCKET_EVENT&&!h.name)return l.ns.showError("Please provide websocket events name.");let _;h.apiCategory===o.R.CUSTOM_APIS&&(h.customApiName=l.wsFormSecondC.tab.api.customApiName),h.apiCategory===o.R.SYSTEM_APIS&&(h.systemApiName=l.wsFormSecondC.tab.api.systemApiId),h.apiCategory===o.R.THIRD_PARTY_APIS&&(h.tpInstalledApiBundleName=l.wsFormSecondC.tab.api.bundleName,h.tpInstalledApiVersion=l.wsFormSecondC.tab.api.apiVersion,h.tpInstalledApiName=l.wsFormSecondC.tab.api.name),h.apiCategory===o.R.INSTANCES&&(h.instanceName=l.wsFormSecondC.tab.instance.name,h.databaseName=l.wsFormSecondC.tab.database.db,h.collectionName=l.wsFormSecondC.tab.collection.name,h.instanceApiName=l.wsFormSecondC.tab.api.id),h.apiCategory!==o.R.WEB_SOCKET_EVENT&&delete h.name,l.data.mode===A.D.ADD?_=yield l.webSocketEventsS.post(h).toPromise():l.data.mode===A.D.EDIT&&(_=yield l.webSocketEventsS.put(l.data.formData._id,h,{select:w.iH._id}).toPromise()),_&&(l.ns.showSuccess(l.data.mode===A.D.ADD?l.constantsS.webSocketEvents.addSuccess:l.constantsS.webSocketEvents.editSuccess),l.data.eventChannel.emit({action:l.data.mode===A.D.ADD?P.F.SAVED:P.F.UPDATED})),l.loading.form=!1}catch(g){l.loading.form=!1,l.ns.showErrorFromResponse(g.error||g,"Unable to save websocket event.")}l.cd.detectChanges()})()}editorGenerated(l){var g=this;return(0,S.Z)(function*(){g.editorWSNotifications=l,yield g.monacoS.loadSchemaEditorSettings(g.BE_HOST_PORT,g.authCS.getUserId(),null),g.monacoS.addSaveCodeKeyBinding(l,v=>{g.form.valid&&g.save()}),g.monacoS.addInsertCodeKeyBinding(l,v=>{g.generalCS.messageReceivedFor=n.H.All,g.data.mode!==A.D.VIEW&&g.insertCodeModalC.showModal(W.b.WebSocketFormC)}),g.subscriptions.push(g.generalCS.messageReceived.subscribe(v=>{v.type&&v.type===G.g.TEXT_COPIED&&v.componentName===W.b.WebSocketFormC&&(g.monacoS.insertAtCursor(l,v.selectedText),g.insertCodeModalC.hideModal())}))})()}ngOnDestroy(){this.generalCS.unsubscribe(this.subscriptions)}ISchedulerProps=w.qH;static \u0275fac=function(g){return new(g||d)(i.Y36(e.qu),i.Y36(Y.b),i.Y36(Q.a),i.Y36(J.W),i.Y36(V.L),i.Y36(H.D),i.Y36(U.b),i.Y36(q.d),i.Y36(N.E),i.Y36(j.f),i.Y36(D.S),i.Y36(i.sBO))};static \u0275cmp=i.Xpm({type:d,selectors:[["app-web-socket-events-man-form"]],viewQuery:function(g,v){if(1&g&&(i.Gf(oe,5),i.Gf(se,5)),2&g){let T;i.iGM(T=i.CRH())&&(v.wsFormSecondC=T.first),i.iGM(T=i.CRH())&&(v.insertCodeModalC=T.first)}},inputs:{data:"data"},decls:34,vars:16,consts:[["aria-hidden","true","aria-labelledby","exampleModalLabel","id","idWebSocketEventsForm","role","dialog","data-backdrop","static","data-keyboard","false",1,"modal"],["role","document",1,"modal-dialog","modal-xl"],[1,"modal-content"],[1,"modal-header"],[4,"ngIf"],[1,"float-right"],["aria-label","Close","data-dismiss","modal","type","button",1,"close"],["aria-hidden","true"],[1,"fas","fa-window-close"],["pTooltip","Insert Code","sava-no-dbl-click","",1,"cursor-pointer","mr-1",2,"font-size","1.4em",3,"click"],[1,"fas","fa-info-circle","text-info","fa-fw"],[1,"modal-body","overflow-auto"],[1,"w-100",3,"activeIndex","activeIndexChange"],["header","Basic Info"],[1,"container","pt-3",3,"formGroup"],["webSocketEventsFormSecondC",""],["class","form-group row m-0",4,"ngIf"],[1,"form-group","row"],[1,"col-12"],[1,"align-middle","mb-0","ml-3"],["formControlName","runOnNativeProcess","pTooltip","Code will run on actual process and not in sandbox, so be careful with code. You can not use sandbox packages in this mode. You can use all Node.js packages + some packages on which API Maker is dependent on. You can use features of global variable 'g'.","label","Run Code On Native Process",3,"ngClass","binary"],["header","Code"],["class","overflow-hidden mb-3","style","height: calc(100vh - 270px);",4,"ngIf"],[1,"modal-footer"],["data-dismiss","modal","type","button",1,"btn","btn-sm","btn-secondary"],[1,"fas","fa-times","text-danger","fa-fw"],["class","btn btn-primary btn-sm","sava-no-dbl-click","","type","button",3,"click",4,"ngIf"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s",4,"ngIf"],[3,"frameId","modalId","docsHostPort"],["insertCodeModalC",""],[1,"fas","fa-plus","text-success","fa-fw","mr-1"],[1,"far","fa-eye","text-info","fa-fw","mr-1"],[1,"fas","fa-pencil-alt","text-light","fa-fw","mr-1"],[1,"form-group","row","m-0"],[1,"col-4"],[1,"small"],["formControlName","name","name","name","spellcheck","false","type","text","placeholder","level1/level2/name",1,"form-control","form-control-sm"],[1,"overflow-hidden","mb-3",2,"height","calc(100vh - 270px)"],[3,"isSchemaEditor","editorOptions","editorGenerated"],["sava-no-dbl-click","","type","button",1,"btn","btn-primary","btn-sm",3,"click"],[1,"fas","fa-save","text-success","fa-fw","mr-1"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s"]],template:function(g,v){if(1&g&&(i.TgZ(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),i.YNc(4,ie,3,0,"span",4),i.YNc(5,re,3,0,"span",4),i.YNc(6,ce,3,0,"span",4),i.TgZ(7,"div",5)(8,"button",6)(9,"span",7),i._UZ(10,"i",8),i.qZA()(),i.TgZ(11,"span",9),i.NdJ("click",function(){return v.showInsertCodeModel()}),i._UZ(12,"i",10),i.qZA()()(),i.TgZ(13,"div",11)(14,"p-tabView",12),i.NdJ("activeIndexChange",function(h){return v.reqActiveIndex=h}),i.TgZ(15,"p-tabPanel",13)(16,"form",14),i._UZ(17,"app-web-socket-events-form-second",null,15),i.YNc(19,B,5,0,"div",16),i.TgZ(20,"div",17)(21,"div",18)(22,"label",19),i._UZ(23,"p-checkbox",20),i.qZA()()()()(),i.TgZ(24,"p-tabPanel",21),i.YNc(25,K,2,2,"div",22),i.qZA()()(),i.TgZ(26,"div",23)(27,"button",24),i._UZ(28,"i",25),i._uU(29," Close"),i.qZA(),i.YNc(30,s,4,2,"button",26),i.qZA(),i.YNc(31,t,1,0,"p-progressSpinner",27),i.qZA()()(),i._UZ(32,"app-insert-code-modal",28,29)),2&g){const T=i.MAs(18);i.xp6(4),i.Q6J("ngIf",v.data.mode===v.EFormMode.ADD),i.xp6(1),i.Q6J("ngIf",v.data.mode===v.EFormMode.VIEW),i.xp6(1),i.Q6J("ngIf",v.data.mode===v.EFormMode.EDIT),i.xp6(8),i.Q6J("activeIndex",v.reqActiveIndex),i.xp6(2),i.Q6J("formGroup",v.form),i.xp6(3),i.Q6J("ngIf",T.tab.apiCategory.id===v.EAPICategory.WEB_SOCKET_EVENT),i.xp6(4),i.Q6J("ngClass",i.VKq(14,p,!0===v.form.get(v.ISchedulerProps.runOnNativeProcess).value))("binary",!0),i.xp6(2),i.Q6J("ngIf",v.shouldLoadMonacoEditor),i.xp6(5),i.Q6J("ngIf",v.data.mode!==v.EFormMode.VIEW),i.xp6(1),i.Q6J("ngIf",v.loading.form),i.xp6(1),i.Q6J("frameId","idInsertCodeWebSocketFrame")("modalId","idInsertCodeWebSocketModal")("docsHostPort",v.DOCS_HOST_PORT)}},dependencies:[e._Y,e.Fj,e.JJ,e.JL,e.sg,e.u,R.mk,R.O5,X.y,z.P,ee.O,L.G,F.xf,F.x4,te.u,ne.XZ,ae.T],encapsulation:2})}return d})()},81025:(_e,k,c)=>{c.r(k),c.d(k,{WebSocketEventsM:()=>s});var S=c(77664),e=c(17017),P=c(63726),o=(c(54061),c(94946)),E=c(72726);let O=(()=>{class t{constructor(){}ngOnInit(){}static \u0275fac=function(d){return new(d||t)};static \u0275cmp=o.Xpm({type:t,selectors:[["app-web-socket-events-layout-grid"]],decls:2,vars:1,consts:[[1,"pt-1","pl-1","pr-1"],[3,"showCheckbox"]],template:function(d,C){1&d&&(o.TgZ(0,"div",0),o._UZ(1,"app-web-socket-events-grid",1),o.qZA()),2&d&&(o.xp6(1),o.Q6J("showCheckbox",!1))},dependencies:[E.x],encapsulation:2})}return t})();var n=c(15861),I=c(33157),w=c(90328),Z=c(45085),W=c(56212),G=c(51162),i=c(96925),Y=c(77240),Q=c(99961),J=c(10262),V=c(95852),H=c(27414),U=c(32915),q=c(25405),N=c(67629),j=c(92189),D=c(85219),R=c(96814),X=c(91396),z=c(97680),ee=c(33259),L=c(58980);const F=["webSocketEventsManFormC"];function te(t,p){if(1&t){const r=o.EpF();o.TgZ(0,"span",19),o.NdJ("click",function(){o.CHM(r);const C=o.oxw();return o.KtG(C.edit())}),o._UZ(1,"i",20),o.qZA()}}function ne(t,p){if(1&t){const r=o.EpF();o.TgZ(0,"span",21),o.NdJ("click",function(){o.CHM(r);const C=o.oxw();return o.KtG(C.removePermanentDialog())}),o._UZ(1,"i",22),o.qZA()}}function ae(t,p){if(1&t&&(o.TgZ(0,"div")(1,"div",23),o._uU(2),o.qZA()()),2&t){const r=o.oxw();o.xp6(2),o.Oqu(r.constantsS.group.allWebSocketEventsPermitted)}}function oe(t,p){if(1&t&&(o.TgZ(0,"div"),o._uU(1),o.qZA()),2&t){const r=o.oxw().$implicit;o.xp6(1),o.Oqu(r.label)}}const se=function(t,p,r,d){return{get:t,put:p,post:r,delete:d}};function ie(t,p){if(1&t&&(o.TgZ(0,"div")(1,"span",25),o._uU(2),o.qZA(),o.TgZ(3,"span"),o._uU(4),o.qZA()()),2&t){const r=o.oxw().$implicit,d=o.oxw();o.xp6(1),o.Q6J("ngClass",o.l5B(3,se,r.data.requestMethod===d.ERequestMethod.GET,r.data.requestMethod===d.ERequestMethod.PUT,r.data.requestMethod===d.ERequestMethod.POST,r.data.requestMethod===d.ERequestMethod.DELETE)),o.xp6(1),o.Oqu(r.data.requestMethod),o.xp6(2),o.Oqu(r.data.name||r.label)}}function re(t,p){if(1&t){const r=o.EpF();o.TgZ(0,"div",24),o.NdJ("click",function(){const l=o.CHM(r).$implicit,g=o.oxw();return l.children&&(l.isExpanded=!0),o.KtG(g.selectedRows=[l._id])}),o.YNc(1,oe,2,1,"div",12),o.YNc(2,ie,5,8,"div",12),o.qZA()}if(2&t){const r=p.$implicit,d=o.oxw();o.xp6(1),o.Q6J("ngIf",(null==r.children?null:r.children.length)||(null==r||null==r.data?null:r.data.apiCategory)!==d.EAPICategory.CUSTOM_APIS),o.xp6(1),o.Q6J("ngIf",!(null!=r.children&&r.children.length)&&(null==r||null==r.data?null:r.data.apiCategory)===d.EAPICategory.CUSTOM_APIS)}}function ce(t,p){1&t&&o._UZ(0,"p-progressSpinner",26)}let B=(()=>{class t{generalS;notificationS;webSocketEventsS;authCS;constantsS;eventCenterS;cd;eventCenterCS;functionS;navigationCS;confirmationService;router;isReadOnly=!1;loading={grid:!1};subscriptions=[];data={mode:w.D.ADD,eventChannel:new o.vpe,formData:void 0};rows=[];rowsMap={};rowsMapName={};showAll=!1;selectedRows=[];gridKey=G.iH._id;EAPICategory=Z.R;ERequestMethod=i.Yp;treeNodes=[];allTreeItemsMap={};leafSelected=!1;webSocketEventsManFormC;constructor(r,d,C,l,g,v,T,h,_,b,a,m){this.generalS=r,this.notificationS=d,this.webSocketEventsS=C,this.authCS=l,this.constantsS=g,this.eventCenterS=v,this.cd=T,this.eventCenterCS=h,this.functionS=_,this.navigationCS=b,this.confirmationService=a,this.router=m}ngOnInit(){this.loadTreeData().then(),this.subscriptions.push(this.data.eventChannel.subscribe(r=>{(r.action===I.F.SAVED||r.action===I.F.UPDATED)&&(this.webSocketEventsManFormC.hideModal(),this.loadTreeData().then())})),this.generalS.setNewTitle("API Maker - WebSocket Events")}add(){this.data.formData=void 0,this.data.mode=w.D.ADD,this.data.eventChannel.emit({action:I.F.OPEN_FORM_IN_ADD_MODE}),this.webSocketEventsManFormC.showModal().then()}edit(){this.selectedRows.length&&(this.data.formData=this.selectedRows[0].data,this.data.mode=w.D.EDIT,this.data.eventChannel.emit({action:I.F.OPEN_FORM_IN_EDIT_MODE}),this.webSocketEventsManFormC.showModal().then())}removePermanentDialog(){var r=this;return(0,n.Z)(function*(){var d;r.confirmationService.confirm({message:r.constantsS.webSocketEvents.removePermanentConfirm,header:"Confirmation",icon:"pi pi-exclamation-triangle",accept:(d=(0,n.Z)(function*(){yield r.removePermanent()}),function(){return d.apply(this,arguments)})})})()}removePermanent(){var r=this;return(0,n.Z)(function*(){r.loading.grid=!0;const d=r.selectedRows[0].data,C=yield r.webSocketEventsS.permanentDelete(d._id).toPromise();r.loading.grid=!1,C.success?(r.notificationS.showSuccess(r.constantsS.webSocketEvents.removePermanent),r.resetGridAndUrl(),r.loadTreeData().then(),r.selectedRows=[]):r.notificationS.showErrorFromResponse(C,r.constantsS.webSocketEvents.removePermanentError)})()}resetGridAndUrl(){this.rows=[],this.selectedRows=[],this.rowsMap={},this.rowsMapName={},this.eventCenterS.webSocketEvents.selectedWebSocketEvents.next([])}navigateToGrid(){var r=this;return(0,n.Z)(function*(){r.router.navigate(["api-info","web-socket-events","layout-grid"]).then()})()}loadTreeData(){var r=this;return(0,n.Z)(function*(){const d=(yield r.functionS.getWSEventKTree().toPromise()).data;for(const l of d)r.generalS.convertKTreeItemToPrimeNGTreeItem(l);const C={};r.generalS.getMapOfAllItems(C,d),r.generalS.setIsExpandedStateFromOldMap(r.allTreeItemsMap,C),r.treeNodes=d,r.allTreeItemsMap=C,r.loading.grid=!1,r.cd.detectChanges()})()}resetThisUrl(){var r=this;return(0,n.Z)(function*(){r.eventCenterS.webSocketEvents.selectedWebSocketEvents.next([]),yield r.navigationCS.setQueryParam(W.p.am_ws_event,null)})()}selectedKeysChange(){var r=this;return(0,n.Z)(function*(){if(r.selectedRows.length){const d=r.selectedRows[0];d.children?.length?r.leafSelected=!1:(r.leafSelected=!0,d&&d?.label?r.generalS.setNewTitle(d.label,Z.R.WEB_SOCKET_EVENT):r.generalS.setNewTitle("API Maker - WebSocket Events"),yield r.resetThisUrl())}else r.leafSelected=!1})()}dblClickTreeEvent(){this.leafSelected&&this.selectedRows.length&&this.edit()}ngOnDestroy(){this.generalS.unsubscribe(this.subscriptions)}static \u0275fac=function(d){return new(d||t)(o.Y36(Y.b),o.Y36(Q.W),o.Y36(J.a),o.Y36(V.D),o.Y36(H.L),o.Y36(U.u),o.Y36(o.sBO),o.Y36(q.M),o.Y36(N.d),o.Y36(j.S),o.Y36(D.YP),o.Y36(S.F0))};static \u0275cmp=o.Xpm({type:t,selectors:[["app-web-socket-events-tree"]],viewQuery:function(d,C){if(1&d&&o.Gf(F,5),2&d){let l;o.iGM(l=o.CRH())&&(C.webSocketEventsManFormC=l.first)}},inputs:{isReadOnly:["IsReadOnly","isReadOnly"]},decls:22,vars:7,consts:[[1,"card","shadow-sm","h-100"],[1,"card-header"],["src","/assets/images/icons/web.svg","alt","WebSocket Events",1,"fa-fw","mr-1"],["href","https://docs.apimaker.dev/v1/docs/pages/web-socket-event-page.html","target","_blank"],["src","/assets/images/logo/logo_docs.svg",1,"float-right","fa-fw","ml-3","mr-1",2,"font-size","25px"],["pTooltip","Add New",1,"float-right","cursor-pointer","ml-3",3,"click"],[1,"fas","fa-plus","text-success","fa-fw"],[1,"float-right","cursor-pointer","ml-3",3,"click"],["pTooltip","Grid View",1,"fas","fa-table","text-yellow","fa-fw"],["class","float-right cursor-pointer ml-3","pTooltip","Edit",3,"click",4,"ngIf"],["class","float-right cursor-pointer ml-3","pTooltip","Permanent Delete",3,"click",4,"ngIf"],[1,"card-body","p-0","h-100","overflow-hidden"],[4,"ngIf"],[1,"h-100"],["scrollHeight","flex","selectionMode","multiple",1,"w-full",3,"value","selection","selectionChange","dblclick"],["pTemplate","default"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s",4,"ngIf"],[3,"data"],["webSocketEventsManFormC",""],["pTooltip","Edit",1,"float-right","cursor-pointer","ml-3",3,"click"],[1,"fas","fa-pencil-alt","text-light","fa-fw"],["pTooltip","Permanent Delete",1,"float-right","cursor-pointer","ml-3",3,"click"],[1,"far","fa-trash-alt","fa-fw","text-danger"],[1,"p-2","text-center","text-success"],[1,"w-100","prevent-text-selection","cursor-pointer",3,"click"],[1,"small","font-weight-bold","d-inline-block","mr-2",3,"ngClass"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s"]],template:function(d,C){1&d&&(o.TgZ(0,"div",0)(1,"div",1)(2,"span"),o._UZ(3,"img",2),o._uU(4," WebSocket Events"),o.qZA(),o.TgZ(5,"span")(6,"a",3),o._UZ(7,"img",4),o.qZA(),o.TgZ(8,"span",5),o.NdJ("click",function(){return C.add()}),o._UZ(9,"i",6),o.qZA(),o.TgZ(10,"span",7),o.NdJ("click",function(){return C.navigateToGrid()}),o._UZ(11,"i",8),o.qZA(),o.YNc(12,te,2,0,"span",9),o.YNc(13,ne,2,0,"span",10),o.qZA()(),o.TgZ(14,"div",11),o.YNc(15,ae,3,1,"div",12),o.TgZ(16,"div",13)(17,"p-tree",14),o.NdJ("selectionChange",function(g){return C.selectedRows=g})("dblclick",function(){return C.dblClickTreeEvent()})("selectionChange",function(){return C.selectedKeysChange()}),o.YNc(18,re,3,2,"ng-template",15),o.qZA(),o.YNc(19,ce,1,0,"p-progressSpinner",16),o.qZA()()(),o._UZ(20,"app-web-socket-events-man-form",17,18)),2&d&&(o.xp6(12),o.Q6J("ngIf",C.leafSelected),o.xp6(1),o.Q6J("ngIf",C.leafSelected),o.xp6(2),o.Q6J("ngIf",C.eventCenterS.group.apisRegex.allWebSocketEvents||C.eventCenterS.filterInLog.apisRegex.allWebSocketEvents),o.xp6(2),o.Q6J("value",C.treeNodes)("selection",C.selectedRows),o.xp6(2),o.Q6J("ngIf",C.loading.grid),o.xp6(1),o.Q6J("data",C.data))},dependencies:[R.mk,R.O5,D.jx,X.mp,z.G,ee.u,L.D],styles:[".custom-tab-title[_ngcontent-%COMP%]{padding:.5rem}.min-width[_ngcontent-%COMP%], .none[_ngcontent-%COMP%], .delete[_ngcontent-%COMP%], .post[_ngcontent-%COMP%], .put[_ngcontent-%COMP%], .get[_ngcontent-%COMP%]{width:45px;display:inline-block}.get[_ngcontent-%COMP%]{color:var(--accent-success)}.put[_ngcontent-%COMP%]{color:var(--brand-secondary)}.post[_ngcontent-%COMP%]{color:var(--accent-warning)}.delete[_ngcontent-%COMP%]{color:var(--accent-error)}.none[_ngcontent-%COMP%]{color:var(--accent-success--shade--three)}.width-160[_ngcontent-%COMP%]{width:160px}"]})}return t})();const f=[{path:"",redirectTo:"layout-tree",pathMatch:"full"},{path:"layout-tree",component:(()=>{class t{constructor(){}ngOnInit(){}static \u0275fac=function(d){return new(d||t)};static \u0275cmp=o.Xpm({type:t,selectors:[["app-web-socket-events-layout-tree"]],decls:2,vars:0,consts:[[1,"pt-1","pl-1","pr-1"]],template:function(d,C){1&d&&(o.TgZ(0,"div",0),o._UZ(1,"app-web-socket-events-tree"),o.qZA())},dependencies:[B],encapsulation:2})}return t})(),canActivate:[P.P]},{path:"layout-grid",component:O,canActivate:[P.P]}];let s=(()=>{class t{static \u0275fac=function(d){return new(d||t)};static \u0275mod=o.oAB({type:t});static \u0275inj=o.cJS({imports:[S.Bz.forChild(f),e.u]})}return t})()}}]);