@sava-info-systems/api-maker-with-extensions 2.0.1 → 2.1.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.
@@ -4083,6 +4083,7 @@ export enum EDBMasterConfigGridColumnVisibilityStatus {
4083
4083
  * Form field configuration for UI controls.
4084
4084
  * Defines the appearance, behavior, and validation of individual form inputs.
4085
4085
  */
4086
+ // genericConfig : start
4086
4087
  export interface IDBMasterConfigFormField {
4087
4088
  /**
4088
4089
  * Unique identifier for programmatic element access.
@@ -4166,6 +4167,7 @@ export interface IDBMasterConfigFormField {
4166
4167
  /**
4167
4168
  * Multi-line text input configuration.
4168
4169
  */
4170
+ // textAreaSettings : start
4169
4171
  textAreaSettings?: {
4170
4172
  /** Inline style object (Angular style binding format). */
4171
4173
  style?: any;
@@ -4222,6 +4224,7 @@ export interface IDBMasterConfigFormField {
4222
4224
  code: string | (($scope: IDBMasterUIPageUtilsScope) => any),
4223
4225
  }[],
4224
4226
  };
4227
+ // textAreaSettings : end
4225
4228
 
4226
4229
  // editorSettings : start
4227
4230
  editorSettings?: {
@@ -5235,6 +5238,7 @@ export interface IDBMasterConfigFormField {
5235
5238
  * Dropdown (select) control configuration.
5236
5239
  * Supports static data, database queries, and custom API calls.
5237
5240
  */
5241
+ // dropdownSettings : start
5238
5242
  dropdownSettings?: {
5239
5243
  /** Inline style object (Angular style binding format). */
5240
5244
  style?: any;
@@ -5369,6 +5373,7 @@ export interface IDBMasterConfigFormField {
5369
5373
  */
5370
5374
  apiCallOverrides?: IDBMasterAPICallOverrides;
5371
5375
  };
5376
+ // dropdownSettings : end
5372
5377
 
5373
5378
  /**
5374
5379
  * Autocomplete control configuration.
@@ -6504,6 +6509,7 @@ export interface IDBMasterConfigFormField {
6504
6509
  * Validation rules for schema properties and form fields.
6505
6510
  * Define constraints that values must satisfy before being saved.
6506
6511
  */
6512
+ // genericConfig : start
6507
6513
  export interface IPropertyValidation {
6508
6514
  /**
6509
6515
  * Field is mandatory and must have a non-null, non-empty value.
@@ -6554,6 +6560,8 @@ export interface IPropertyValidation {
6554
6560
  enum?: any[];
6555
6561
  }
6556
6562
 
6563
+ // genericConfig : end
6564
+
6557
6565
  // dropdownSettings : start
6558
6566
  export enum EDBMasterDropdownAppendTo {
6559
6567
  visible = 'visible',
@@ -6948,6 +6956,7 @@ export enum EDBMasterConfigAppendTo {
6948
6956
  * Available form control types for UI generation.
6949
6957
  * Each control type has specific settings and behavior.
6950
6958
  */
6959
+ // genericConfig : start
6951
6960
  export enum EDBMasterFormControl {
6952
6961
  /** Single-line text input. */
6953
6962
  input = 'input',
@@ -2,13 +2,13 @@
2
2
 
3
3
  ## What Is This Project?
4
4
 
5
- This is a repository for [API Maker](https://api-maker.com) — a custom backend framework. The local client syncs code between your IDE and the API Maker server in real time via WebSocket. All files under `src/__admin_username__/` are mirrored to and from the live server.
5
+ This is a repository for [API Maker](https://api-maker.com) — a custom backend framework. The local client syncs code between your IDE and the API Maker server in real time via WebSocket. All files under `src/` are mirrored to and from the live server.
6
6
 
7
7
  - `localClient.js` — Main sync process (WebSocket connection, file watcher, full-sync logic)
8
8
  - `local-client.config.js` — Runtime configuration (`webSocketURL`, `syncToken`, `adminUserPath`)
9
9
  - `am-types/types.ts` — Core TypeScript interfaces and enums used in all custom code
10
10
  - `am-types/store-types.ts` — Type definitions specific to Third Party API config files
11
- - `src/__admin_username__/` — All API Maker entities, organized by category and "__admin_username__" is dynamic and username of the admin.
11
+ - `src/` — All API Maker entities, organized by category.
12
12
 
13
13
  ## Common notes
14
14
 
@@ -21,7 +21,7 @@ This is a repository for [API Maker](https://api-maker.com) — a custom backend
21
21
 
22
22
  ---
23
23
 
24
- ## Directory Structure: `src/__admin_username__/`
24
+ ## Directory Structure: `src/`
25
25
 
26
26
  | Folder | Description |
27
27
  |---|---|
@@ -643,7 +643,7 @@ find: { "ages": { "$elemMatch": { "age": { "$gte": 30 }, "birth_year": { "$lte":
643
643
 
644
644
  ## Schema: Validations & Conversions
645
645
 
646
- -- Schema files (in `src/admin/Schemas/`) define TypeScript configuration used for validation, conversion, and type definitions.
646
+ -- Schema files (in `src/Schemas/`) define TypeScript configuration used for validation, conversion, and type definitions.
647
647
  -- Do not create empty object. You can go nested for nested properties when database type is mongodb.
648
648
  -- For mongodb type, use "_id: EType.objectId" as primary key and as a unique identifier. Do not generate any other id.
649
649
 
@@ -1 +1 @@
1
- function a0_0x121c(_0x3702cd,_0x3b5603){_0x3702cd=_0x3702cd-0x16a;const _0x550865=a0_0x5508();let _0x121cfe=_0x550865[_0x3702cd];return _0x121cfe;}function a0_0x5508(){const _0xcb844f=['join','events','base64','✅\x20Dependencies\x20installed','am_system_api_settings','\x1b[36m','System\x20API\x20settings','SYSTEM_APIS','InstanceApiHooks','syncAllDataWithServer','src','skipFileWritingForLocal','executeNpmRun','am_groups','toString','adminUserPath','WebSocket\x20events','endsWith','15291hFjcmG','LC_SEND_ALL_DATA','1211632WwNtuJ','apply','exports','./local-client.config','Watcher\x20error:','web-socket-events','\x20Please\x20provide\x20settings\x20in\x20:\x20','sep','am_ui_maker_styles',']\x20:\x20','LogProfiles','getMinutes','orangeStart','bind','content','DB_MASTERS','onmessage','✅\x20Local\x20client\x20started...','custom-apis','readFile','INSTANCES','SIGTERM','am_tp_api_versions','UtilityClasses','install','name','getChangedFolderForDeleted','SystemApiSettings','ApiUsers','onerror','getHours','UI_MAKER_UTILITY_CLASS','npm','--no-save','Node.js\x2022+\x20is\x20required.\x20Current\x20version:\x20','error','\x27\x20exited\x20with\x20code\x20','isBuffer','INSTANCE_API_HOOKS','entries','debounce','message','shutdownAndExit','✓\x20Send\x20:\x20[','fsIsFileContentSame','promises','listeners','response','1689UmubDr','installRequiredPackages','type','connectToServerViaWS','Utility\x20classes','am_custom_apis','relative','CONNECTED','watcher','fsWriteFile','——————————————————————————————————————————————————————————————————————————————————','LC_DATA_MODIFIED_IN_DATABASE','unlink','package-lock.json','existsSync','\x20The\x20local\x20client\x20will\x20pull\x20the\x20latest\x20changes\x20from\x20the\x20server\x20and\x20keep\x20them\x20synchronized\x20between\x20the\x20IDE\x20and\x20the\x20server.','fsLink','Schedulers','UIMakerUtils','am_events','sendDeletedEventToServerDebounce','log','database-hooks','am_schemas','Third\x20party\x20API\x20settings','send','getCategoryOfPath','⏳\x20node_modules\x20installation\x20process\x20started','undefined','post-hooks','am_i18ns','isDirectory','length','slice','parse','normalizePath','padStart','fsReadFile','286764VjzJOO','fsMkDir','Third\x20party\x20APIs','416490rKxcCu','then','errors','✅\x20node_modules\x20installed','\x20Current\x20Dir\x20:\x20','writeMemfsJsonToDisk','getChangedFolder','chokidar','Log\x20profiles','apis','COLLECTION_HOOKS','unhandledRejection','rmdirSync','instance-api-hooks','——————————————————————————————————————\x20Note\x20——————————————————————————————————————','checkForNodeVersion','REGISTER','addDir','connected','Groups','SIGINT\x20received\x20—\x20shutting\x20down','repo','PUT','PUT_REPLACE','1144aeOlPu','ui-maker-pages','2190YzGbSg','resolve','&user-path=','change','nodeModulesInstalled','UTILITY_CLASSES','.js','CollectionHooks','\x1b[38;2;255;165;0m','UNREGISTER','Failed\x20to\x20start\x20the\x20npm\x20process:\x20','INSTANCE_API_SETTINGS','statSync','Instance\x20hooks','Error\x20during\x20shutdown','NOTIFICATION','POST','dirname','10497224uabEjQ','ProcessInitializers','am_tp_api_settings','performFullSync','validOnEvents','Instance\x20API\x20hooks','am_instance_hooks','fullSyncCounter','DB\x20master\x20utils','eventType','removeEmptyDirsSync','Error\x20closing\x20watcher\x20before\x20full\x20sync','system-api-hooks','onclose','INSTANCE_HOOKS','I18NS','⏳\x20Dependencies\x20installation\x20process\x20started','readDirCustom','Test\x20cases','addProcessHooks','\x1b[0m','Custom\x20APIs','InstanceHooks','replace','split','Failed\x20to\x20restart\x20watcher\x20after\x20full\x20sync','ui-maker-styles','uncaughtException','✅\x20Full\x20Sync\x20:\x20[','UNKNOWN','fsExistsSync','Database\x20hooks','SIGTERM\x20received\x20—\x20shutting\x20down','UIMakerStyles','normalize','am_schedulers','Collection\x20hooks','am_db_masters','skipWatchInputs','am_api_users','Error\x20while\x20connecting\x20to\x20WS\x20server.','sendDeletedEventToServerInternal','getCurrentTime','DatabaseHooks','watch\x20handler\x20error','close','fsRemoveFile','SCHEDULERS','syncToken','fsMkDirSync','DATABASE_HOOKS','warn','UI_MAKER_STYLES','SYSTEM_API_HOOKS','LC_DATA_REQ_RES','→\x20Skip\x20(unchanged)\x20:\x20[','✅\x20Connected\x20to\x20server\x20via\x20WS','DatabasesMigrations','?authTokenInfo=ws-local-client-sync&authorization=','Events','TOKEN_VALIDATION','GROUPS','API_USERS','Process\x20initializers','am_database_hooks','start','db-interfaces.d.ts','DB_MIGRATIONS','watch','UI\x20maker\x20styles','Instances','30ZSMIvy','shuttingDown','set','versions','localClientPath','utf8','SIGINT','--force','DELETE','serializeFolderWithBinary','am_process_initializers','startsWith','EVENTS_WS','cyanStart','printNotesToProvideLocalClient','third-party-apis','am_ui_maker_utils','am_log_profiles','startWatch','eventData','posix','exit','beforeExit','colorEnd','config','tests','✓\x20Remove\x20:\x20[','schedulers','Schemas','API\x20users','SystemApiHooks','LC_FOLDER_CHANGED_ON_LOCAL_SYSTEM','TEST_CASES','Database\x20migrations','System\x20API\x20hooks','am_database_migrations','WEB_SOCKET_EVENT','am_instances','949372fTznfw','am_test_cases','tsconfig.json','5164ezSlrT','unlinkDir','am_instance_api_settings','fsReadDir','THIRD_PARTY_APIS','all','readdir','am-types','appRoot','sendToServer','version','push','DB\x20masters','LOG_PROFILES','printNotes','7AEqTKz','data','Instance\x20API\x20settings','buildUnixPathMap','WebSocketEvents','types','CUSTOM_APIS'];a0_0x5508=function(){return _0xcb844f;};return a0_0x5508();}(function(_0x20784a,_0x4c4c9f){const _0x4e3ec3=a0_0x121c,_0x34d101=_0x20784a();while(!![]){try{const _0x13a873=-parseInt(_0x4e3ec3(0x16f))/0x1+parseInt(_0x4e3ec3(0x19c))/0x2+-parseInt(_0x4e3ec3(0x1cc))/0x3*(parseInt(_0x4e3ec3(0x172))/0x4)+parseInt(_0x4e3ec3(0x1f5))/0x5*(parseInt(_0x4e3ec3(0x268))/0x6)+parseInt(_0x4e3ec3(0x181))/0x7*(-parseInt(_0x4e3ec3(0x221))/0x8)+-parseInt(_0x4e3ec3(0x19a))/0x9*(-parseInt(_0x4e3ec3(0x20f))/0xa)+parseInt(_0x4e3ec3(0x20d))/0xb*(parseInt(_0x4e3ec3(0x1f2))/0xc);if(_0x13a873===_0x4c4c9f)break;else _0x34d101['push'](_0x34d101['shift']());}catch(_0x124121){_0x34d101['push'](_0x34d101['shift']());}}}(a0_0x5508,0xd99b5),((()=>{'use strict';var _0x4deac4={0x3(_0x206def){const _0xc37213=a0_0x121c;_0x206def[_0xc37213(0x19e)]=require('path');},0xe7(_0x1e6453){const _0x1fdd04=a0_0x121c;_0x1e6453[_0x1fdd04(0x19e)]=require(_0x1fdd04(0x1fc));},0x13d(_0x2367cc){const _0x3bb71a=a0_0x121c;_0x2367cc[_0x3bb71a(0x19e)]=require('child_process');},0x380(_0xdd1b9a){const _0x22a1b1=a0_0x121c;_0xdd1b9a[_0x22a1b1(0x19e)]=require('fs');}},_0x19479b={};function _0x3337f7(_0x32309b){const _0x4e59da=a0_0x121c;var _0x458102=_0x19479b[_0x32309b];if(void 0x0!==_0x458102)return _0x458102[_0x4e59da(0x19e)];var _0x22ab71=_0x19479b[_0x32309b]={'exports':{}};return _0x4deac4[_0x32309b](_0x22ab71,_0x22ab71[_0x4e59da(0x19e)],_0x3337f7),_0x22ab71[_0x4e59da(0x19e)];}((()=>{const _0x5a623d=a0_0x121c,_0x1d8c83=_0x3337f7(0x380),_0xd22329=_0x3337f7(0x3),_0x46a06e=_0x3337f7(0x13d);var _0x5c0074,_0x5d316a,_0x12002a,_0x376763,_0x1a4f58,_0x4b2eb8;new class{constructor(){const _0x3724cc=a0_0x121c;this['EL']=!0x0,this[_0x3724cc(0x17a)]=_0xd22329[_0x3724cc(0x210)](''),this['projectDirectory']='',this['C']={'localClientPath':_0x3724cc(0x19f),'src':_0x3724cc(0x192),'repo':_0x3724cc(0x20a),'types':_0x3724cc(0x186),'amTypes':_0x3724cc(0x179),'versions':_0x3724cc(0x26b),'apis':_0x3724cc(0x1fe),'listeners':_0x3724cc(0x1ca),'postHooks':_0x3724cc(0x1e9),'preHooks':'pre-hooks','dbInterfacesFile':_0x3724cc(0x263),'UtilityClassesReadF':_0x3724cc(0x1d0),'CustomApiReadF':_0x3724cc(0x236),'SchedulersReadF':_0x3724cc(0x1dd),'WebSocketEventsReadF':_0x3724cc(0x198),'SchemaReadF':'Schemas','DBMigrationsReadF':'Database\x20migrations','ProcessInitializersReadF':_0x3724cc(0x260),'ProcessI18NReadF':'i18ns','DBMastersReadF':_0x3724cc(0x17e),'DBMasterStylesReadF':_0x3724cc(0x266),'DBMasterUtilsReadF':_0x3724cc(0x229),'TestCasesReadF':_0x3724cc(0x233),'ThirdPartyApiReadF':_0x3724cc(0x1f4),'EventsReadF':'Events','InstanceApiHooksReadF':_0x3724cc(0x226),'SystemApiHooksReadF':_0x3724cc(0x16b),'CollectionHooksReadF':'Collection\x20hooks','DatabaseHooksReadF':'Database\x20hooks','InstanceHooksReadF':_0x3724cc(0x21c),'CustomApisWriteF':_0x3724cc(0x1ae),'SchedulersWriteF':_0x3724cc(0x283),'WebSocketEventsWriteF':_0x3724cc(0x1a1),'SchemaWriteF':'schemas','DBMigrationsWriteF':'db-migrations','ProcessInitializersWriteF':'process-initializers','ProcessI18NWriteF':'i18ns','DBMastersWriteF':_0x3724cc(0x20e),'DBMasterStylesWriteF':_0x3724cc(0x23b),'DBMasterUtilsWriteF':'ui-maker-utils','TestCasesWriteF':_0x3724cc(0x281),'ThirdPartyApiWriteF':_0x3724cc(0x277),'EventsWriteF':_0x3724cc(0x189),'InstanceApiHooksWriteF':_0x3724cc(0x202),'SystemApiHooksWriteF':_0x3724cc(0x22d),'CollectionHooksWriteF':'collection-hooks','DatabaseHooksWriteF':_0x3724cc(0x1e2),'InstanceHooksWriteF':'instance-hooks'},this[_0x3724cc(0x247)]=!0x1,this[_0x3724cc(0x193)]={},this['nodeModulesInstalled']=!0x1,this[_0x3724cc(0x1a8)]=_0x3724cc(0x217),this[_0x3724cc(0x275)]=_0x3724cc(0x18d),this[_0x3724cc(0x27f)]=_0x3724cc(0x235),this['fullSyncCounter']=0x0,this[_0x3724cc(0x1e0)]=this[_0x3724cc(0x1c4)](this[_0x3724cc(0x24a)],0x1f4);}async['start'](){const _0x2c3aaf=a0_0x121c;this[_0x2c3aaf(0x234)](),this[_0x2c3aaf(0x204)](),this[_0x2c3aaf(0x23f)](this['C'][_0x2c3aaf(0x26c)]+'.js')||(this[_0x2c3aaf(0x276)](),this['shutdownAndExit'](0x1)[_0x2c3aaf(0x1f6)]()),this['config']=require(this['C'][_0x2c3aaf(0x26c)])(),await this[_0x2c3aaf(0x180)](),this[_0x2c3aaf(0x22b)](_0xd22329[_0x2c3aaf(0x188)](this[_0x2c3aaf(0x17a)],this['C'][_0x2c3aaf(0x192)])),await this['connectToServerViaWS']();}[_0x5a623d(0x204)](){const _0x1baf1c=_0x5a623d,_0x196071=process[_0x1baf1c(0x17c)];parseInt(_0x196071[_0x1baf1c(0x239)]('.')[0x0]['replace']('v',''),0xa)<0x16&&(console[_0x1baf1c(0x1bf)](this[_0x1baf1c(0x1a8)]+_0x1baf1c(0x1be)+_0x196071+this[_0x1baf1c(0x27f)]),this[_0x1baf1c(0x1c6)](0x1)[_0x1baf1c(0x1f6)]());}async[_0x5a623d(0x180)](){const _0x368670=_0x5a623d;console[_0x368670(0x1e1)](this[_0x368670(0x1a8)]),console[_0x368670(0x1e1)](_0x368670(0x203)),console[_0x368670(0x1e1)](_0x368670(0x1db)),console[_0x368670(0x1e1)](_0x368670(0x1f9)+this['appRoot']),console[_0x368670(0x1e1)](_0x368670(0x1d6)),console[_0x368670(0x1e1)](this['colorEnd']),console['log']('');}[_0x5a623d(0x276)](){const _0x21e561=_0x5a623d;console['log'](_0x21e561(0x217)),console[_0x21e561(0x1e1)](_0x21e561(0x1a2)+this['C'][_0x21e561(0x26c)]+_0x21e561(0x215)),console['log'](_0x21e561(0x235)),console[_0x21e561(0x1e1)]('');}async[_0x5a623d(0x1cd)](){const _0x32302a=_0x5a623d;console[_0x32302a(0x1e1)](_0x32302a(0x231));try{_0x1d8c83['unlinkSync'](_0xd22329[_0x32302a(0x188)](this[_0x32302a(0x17a)],_0x32302a(0x1d9)));}catch(_0x4d2349){}await this[_0x32302a(0x194)](_0x32302a(0x1bc),[_0x32302a(0x1b4),_0x32302a(0x1bd),'chokidar@4.0.3']),this['nodeModulesInstalled']=!0x0,console[_0x32302a(0x1e1)](_0x32302a(0x18b));}async[_0x5a623d(0x194)](_0x18a739,_0x32b023){return new Promise((_0x5217d6,_0x288a8d)=>{const _0x3bffe5=a0_0x121c,_0x102bde=(0x0,_0x46a06e['spawn'])(_0x18a739,_0x32b023,{'shell':!0x0,'cwd':this[_0x3bffe5(0x17a)]});_0x102bde['on'](_0x3bffe5(0x24e),_0x3d8ea1=>{const _0xf5bdd8=_0x3bffe5;if(0x0===_0x3d8ea1)setTimeout(_0x5217d6,0x3e8);else{const _0x27d71d='\x27'+_0x18a739+'\x20'+_0x32b023[_0xf5bdd8(0x188)]('\x20')+_0xf5bdd8(0x1c0)+_0x3d8ea1+'.';_0x288a8d(new Error(_0x27d71d));}}),_0x102bde['on']('error',_0x1591fb=>{const _0x47db7c=_0x3bffe5;console[_0x47db7c(0x1bf)](_0x47db7c(0x219)+_0x1591fb[_0x47db7c(0x1c5)]),_0x288a8d(_0x1591fb);});});}async[_0x5a623d(0x27a)](){const _0x416c74=_0x5a623d;this[_0x416c74(0x213)]||await this['installRequiredPackages']();const _0x99539=await Promise[_0x416c74(0x210)]()[_0x416c74(0x1f6)](()=>_0x3337f7(0xe7)),_0x4673fb=_0xd22329[_0x416c74(0x188)](this[_0x416c74(0x17a)]),_0x3cba3d=_0xd22329[_0x416c74(0x188)](this['appRoot'],this['C'][_0x416c74(0x192)]),_0x4bdfc5=_0x582b40=>{const _0x57ae45=_0x416c74,_0x3b3ca7=_0xd22329[_0x57ae45(0x1d2)](_0x4673fb,_0x582b40);return!(_0x3b3ca7&&!_0x3b3ca7['startsWith']('.')&&!_0x3b3ca7[_0x57ae45(0x199)]('~')&&_0x3b3ca7[_0x57ae45(0x273)](this['C']['src']));},_0x19919d=_0x99539[_0x416c74(0x265)](_0x3cba3d,{'persistent':!0x0,'ignoreInitial':!0x0,'depth':0x1/0x0,'awaitWriteFinish':{'stabilityThreshold':0xc8,'pollInterval':0x64}}),_0x466f6b=async(_0x379f33,_0x36ff0e)=>{const _0x5a0d0a=_0x416c74;try{if(this[_0x5a0d0a(0x247)])return;const _0x1ecb46=_0xd22329[_0x5a0d0a(0x1d2)](_0x4673fb,_0x36ff0e);if(!_0x36ff0e||_0x4bdfc5(_0x36ff0e))return;console[_0x5a0d0a(0x1e1)](_0x5a0d0a(0x1c7)+this['getCurrentTime']()+']\x20:\x20['+_0x379f33+']\x20:\x20'+_0x1ecb46);const _0x4b21a5=this[_0x5a0d0a(0x1e6)](_0x1ecb46),_0x17a4a9=this[_0x5a0d0a(0x1fb)](_0x4b21a5,_0x1ecb46);if(!_0x17a4a9)return;let _0x289df1,_0x1ff900=!0x1;if(this[_0x5a0d0a(0x23f)](_0x17a4a9)){if(this[_0x5a0d0a(0x23f)](_0xd22329[_0x5a0d0a(0x188)](_0x4673fb,_0x1ecb46))){const _0x5534e9=_0xd22329[_0x5a0d0a(0x188)](_0xd22329[_0x5a0d0a(0x1a3)]+this['C'][_0x5a0d0a(0x20a)],_0x17a4a9);_0x289df1=await this[_0x5a0d0a(0x271)](_0x17a4a9,_0x5534e9),this[_0x5a0d0a(0x17b)]({'objType':_0x5d316a[_0x5a0d0a(0x257)],'localClientWSReqRes':{'eventType':_0x12002a[_0x5a0d0a(0x287)],'folderChangedOnLocalSystem':_0x289df1,'category':_0x4b21a5,'shouldReplaceAllItemsOfCategory':_0x1ff900}});}else this[_0x5a0d0a(0x191)]();}else{const _0x35da2e=this[_0x5a0d0a(0x1b6)](_0x4b21a5,_0x1ecb46),_0x2348be=_0xd22329[_0x5a0d0a(0x188)](_0xd22329[_0x5a0d0a(0x1a3)]+this['C'][_0x5a0d0a(0x20a)],_0x35da2e);_0x289df1=await this[_0x5a0d0a(0x271)](_0x35da2e,_0x2348be),_0x1ff900=!0x0,this['sendDeletedEventToServerDebounce'](_0x289df1,_0x4b21a5,_0x1ff900);}}catch(_0x9ac692){console[_0x5a0d0a(0x1bf)](_0x5a0d0a(0x24d),_0x9ac692);}};_0x19919d['on']('add',_0x24d63b=>_0x466f6b('add',_0x24d63b))['on'](_0x416c74(0x212),_0x4be7ae=>_0x466f6b('change',_0x4be7ae))['on'](_0x416c74(0x1d8),_0x24c73c=>_0x466f6b(_0x416c74(0x1d8),_0x24c73c))['on'](_0x416c74(0x206),_0x1d6252=>_0x466f6b('addDir',_0x1d6252))['on'](_0x416c74(0x173),_0xb6c199=>_0x466f6b(_0x416c74(0x173),_0xb6c199))['on']('error',_0x217d21=>console[_0x416c74(0x1bf)](_0x416c74(0x1a0),_0x217d21)),this[_0x416c74(0x1d4)]=_0x19919d,0x1===this[_0x416c74(0x228)]&&console[_0x416c74(0x1e1)](_0x416c74(0x1ad));}[_0x5a623d(0x24b)](){const _0x27015f=_0x5a623d,_0x349add=new Date();return String(_0x349add[_0x27015f(0x1ba)]())[_0x27015f(0x1f0)](0x2,'0')+':'+String(_0x349add[_0x27015f(0x1a7)]())['padStart'](0x2,'0')+':'+String(_0x349add['getSeconds']())[_0x27015f(0x1f0)](0x2,'0');}[_0x5a623d(0x24a)](_0x49ff51,_0x588537,_0x5c8421){const _0x395b8f=_0x5a623d;this[_0x395b8f(0x17b)]({'objType':_0x5d316a['LC_DATA_REQ_RES'],'localClientWSReqRes':{'eventType':_0x12002a['LC_FOLDER_CHANGED_ON_LOCAL_SYSTEM'],'folderChangedOnLocalSystem':_0x49ff51,'category':_0x588537,'shouldReplaceAllItemsOfCategory':_0x5c8421}});}[_0x5a623d(0x1c4)](_0x87418f,_0x2960b7){let _0xc8880d=null;return function(..._0x42dce1){clearTimeout(_0xc8880d),_0xc8880d=setTimeout(()=>{const _0x38c224=a0_0x121c;_0x87418f[_0x38c224(0x19d)](this,_0x42dce1);},_0x2960b7);};}[_0x5a623d(0x1e6)](_0x2e6457){const _0x5d7685=_0x5a623d,_0x9d03eb=_0xd22329[_0x5d7685(0x188)](this['C'][_0x5d7685(0x192)],this[_0x5d7685(0x280)][_0x5d7685(0x197)]);if(!_0x2e6457[_0x5d7685(0x273)](_0x9d03eb))return;const _0x105af2=_0x2e6457['split'](_0xd22329[_0x5d7685(0x1a3)])['filter'](_0x2f5669=>!!_0x2f5669)[0x2];for(const _0x442083 in _0x4b2eb8)if(_0x4b2eb8[_0x442083]===_0x105af2)return _0x105af2;}[_0x5a623d(0x1fb)](_0x340b17,_0x5317d1){const _0x40bb8c=_0x5a623d,_0x519c0a=_0x5317d1[_0x40bb8c(0x239)](_0xd22329[_0x40bb8c(0x1a3)]);let _0x26ac3c='';return _0x26ac3c=_0x340b17===_0x4b2eb8[_0x40bb8c(0x176)]?_0x519c0a[_0x40bb8c(0x1ed)](0x0,0x6)[_0x40bb8c(0x188)](_0xd22329[_0x40bb8c(0x1a3)]):_0x519c0a['slice'](0x0,0x4)[_0x40bb8c(0x188)](_0xd22329[_0x40bb8c(0x1a3)]),_0x26ac3c;}[_0x5a623d(0x1b6)](_0x585e3d,_0x18d1ed){const _0x22a780=_0x5a623d;return _0x18d1ed[_0x22a780(0x239)](_0xd22329[_0x22a780(0x1a3)])[_0x22a780(0x1ed)](0x0,0x3)['join'](_0xd22329[_0x22a780(0x1a3)]);}async['serializeFolderWithBinary'](_0x4a5bb5,_0x1b8b3f){const _0x53039b={},_0x84c429=this;return await async function _0x59bbd0(_0x4e166a){const _0x48e27d=a0_0x121c,_0x2391fa=await _0x84c429[_0x48e27d(0x232)](_0x4e166a,{'withFileTypes':!0x0});for(const _0x12cf18 of _0x2391fa){const _0x2deeea=_0xd22329[_0x48e27d(0x188)](_0x4e166a,_0x12cf18[_0x48e27d(0x1b5)]),_0x2bea00=_0xd22329[_0x48e27d(0x243)](_0x2deeea);if(_0x12cf18['isDirectory']())await _0x59bbd0(_0x2bea00);else{const _0x512df9=_0x1d8c83['readFileSync'](_0x2bea00),_0x273031=_0xd22329[_0x48e27d(0x1d2)](_0x4a5bb5,_0x2bea00),_0x2f4e5d=_0xd22329[_0x48e27d(0x188)](_0x1b8b3f,_0x273031)[_0x48e27d(0x239)](_0xd22329['sep'])['join'](_0xd22329[_0x48e27d(0x27c)]['sep']);_0x53039b[_0x2f4e5d]={'encoding':_0x48e27d(0x18a),'content':_0x512df9[_0x48e27d(0x196)]('base64')};}}}(_0x4a5bb5),_0x53039b;}['sendToServer'](_0x18daae){const _0x31718e=_0x5a623d;try{this['ws'][_0x31718e(0x1e5)](JSON['stringify'](_0x18daae));}catch(_0x3d6b70){console['log'](_0x3d6b70);}}async[_0x5a623d(0x1cf)](){const _0x3889da=_0x5a623d;console[_0x3889da(0x1e1)]('⏳\x20Connecting\x20to\x20server...');const _0x4b902d=this[_0x3889da(0x280)][_0x3889da(0x251)],_0x2b4444=this[_0x3889da(0x280)]['adminUserPath'],_0x4cc3b5=this['config']['webSocketURL'];this['ws']=new WebSocket(_0x4cc3b5+_0x3889da(0x25b)+_0x4b902d+_0x3889da(0x211)+_0x2b4444);const _0x2f083b=[],_0xa4b29c=()=>{const _0x587dd1=_0x3889da;this[_0x587dd1(0x17b)]({'objType':_0x5d316a[_0x587dd1(0x205)],'onEvents':[{'eventType':'LOCAL_CLIENT_SYNC_EVENTS'}]});};function _0x5ada6f(_0x47022e){const _0x1427a0=_0x3889da;_0x47022e['onopen']=null,_0x47022e[_0x1427a0(0x1ac)]=null,_0x47022e[_0x1427a0(0x1b9)]=null,_0x47022e['onclose']=null,_0x47022e[_0x1427a0(0x24e)]();}this['ws'][_0x3889da(0x1ac)]=async _0x6813c=>{const _0x12d10c=_0x3889da,_0xcae00=JSON[_0x12d10c(0x1ee)](_0x6813c[_0x12d10c(0x182)]);if(_0xcae00[_0x12d10c(0x1ce)]===_0x5d316a['CONNECTED']&&_0xcae00[_0x12d10c(0x1cb)][_0x12d10c(0x207)])_0xa4b29c();else{if(_0xcae00[_0x12d10c(0x1ce)]===_0x5d316a[_0x12d10c(0x205)]){if(_0xcae00?.[_0x12d10c(0x1cb)]?.[_0x12d10c(0x225)]?.[_0x12d10c(0x1ec)]){for(const _0x5c8ff7 of _0xcae00['response'][_0x12d10c(0x225)])_0x2f083b[_0x12d10c(0x17d)](_0x5c8ff7);console[_0x12d10c(0x1e1)](_0x12d10c(0x259)),this[_0x12d10c(0x1d4)]||await this['startWatch'](),this[_0x12d10c(0x191)]();}else{const _0x2dba9d=_0xcae00['response']?.['invalidOnEvents']?.[0x0]?.['errors']?.[0x0]?.[_0x12d10c(0x1c5)]||_0x12d10c(0x249);console[_0x12d10c(0x1e1)]('❌\x20'+_0x2dba9d),await this[_0x12d10c(0x1c6)](0x1);}}else await this['processReceivedEvent'](_0xcae00);}},this['ws'][_0x3889da(0x22e)]=_0x23be71=>{const _0x4cf2e1=_0x3889da;console['log']('Connection\x20closed.'),_0x5ada6f(this['ws']),setTimeout(this['connectToServerViaWS'][_0x4cf2e1(0x1a9)](this),0xbb8);},this['ws'][_0x3889da(0x1b9)]=()=>{const _0x537a7e=_0x3889da;_0x5ada6f(this['ws']),setTimeout(this['connectToServerViaWS'][_0x537a7e(0x1a9)](this),0xbb8);};}['syncAllDataWithServer'](){const _0x5d9363=_0x5a623d;this[_0x5d9363(0x17b)]({'objType':_0x5d316a[_0x5d9363(0x257)],'localClientWSReqRes':{'eventType':_0x12002a['LC_SEND_ALL_DATA']}});}async['processReceivedEvent'](_0x500d1b){const _0x80289d=_0x5a623d;if(this['EL']&&_0x500d1b[_0x80289d(0x1cb)][_0x80289d(0x22a)]!==_0x12002a[_0x80289d(0x19b)]&&console['log'](_0x500d1b),_0x500d1b[_0x80289d(0x1ce)]===_0x5d316a[_0x80289d(0x257)]){if(_0x500d1b['errors']?.[_0x80289d(0x1ec)])return void console[_0x80289d(0x1bf)](_0x500d1b[_0x80289d(0x1f7)]);if(_0x500d1b[_0x80289d(0x1cb)][_0x80289d(0x22a)]===_0x12002a[_0x80289d(0x19b)]){console[_0x80289d(0x1e1)](_0x80289d(0x23d)+this[_0x80289d(0x24b)]()+']'),this['fullSyncCounter']++;try{this['watcher']&&(await this[_0x80289d(0x1d4)][_0x80289d(0x24e)](),this[_0x80289d(0x1d4)]=null);}catch(_0x13fb3f){console[_0x80289d(0x254)](_0x80289d(0x22c),_0x13fb3f);}await this[_0x80289d(0x224)](_0x500d1b);try{await this[_0x80289d(0x27a)]();}catch(_0x1e7109){console[_0x80289d(0x1bf)](_0x80289d(0x23a),_0x1e7109);}}else{if(_0x500d1b[_0x80289d(0x1cb)][_0x80289d(0x22a)]===_0x12002a[_0x80289d(0x1d7)]){const _0x4880d3=_0x500d1b[_0x80289d(0x1cb)][_0x80289d(0x27b)];await this[_0x80289d(0x1fa)](_0x4880d3[_0x80289d(0x182)],this[_0x80289d(0x17a)]);}}!0x1===this[_0x80289d(0x213)]&&(console[_0x80289d(0x1e1)](_0x80289d(0x1e7)),await this[_0x80289d(0x194)]('npm',[_0x80289d(0x1b4),_0x80289d(0x26f)]),console['log'](_0x80289d(0x1f8)),this[_0x80289d(0x213)]=!0x0);}}async[_0x5a623d(0x224)](_0x563352){const _0x5abc75=_0x5a623d,_0x372c8c=await this['buildUnixPathMap'](_0xd22329[_0x5abc75(0x188)](this[_0x5abc75(0x17a)],this['C']['src'])),_0x1db65c=_0x563352[_0x5abc75(0x1cb)]['eventData'],_0xbb2aa9='/'+this['C'][_0x5abc75(0x20a)];for(const [_0x4f87a3,_0x3a37bf]of _0x372c8c){const _0x8a27b0=_0x4f87a3[_0x5abc75(0x238)](this[_0x5abc75(0x17a)],_0xbb2aa9);if(!_0x1db65c[_0x8a27b0]){const _0x3124d2=_0x8a27b0[_0x5abc75(0x238)]('/'+this['C']['repo'],''),_0x12f60a=_0xd22329[_0x5abc75(0x188)](this['appRoot'],_0x3124d2[_0x5abc75(0x238)](/^\//,''));await this['fsRemoveFile'](_0x12f60a),this['EL']&&console['log'](_0x5abc75(0x282)+this['getCurrentTime']()+_0x5abc75(0x1a5)+_0x12f60a[_0x5abc75(0x238)](this[_0x5abc75(0x17a)],''));}}await this[_0x5abc75(0x1fa)](_0x1db65c,this[_0x5abc75(0x17a)]),this[_0x5abc75(0x22b)](_0xd22329[_0x5abc75(0x188)](this['appRoot'],this['C']['src']));}async['writeMemfsJsonToDisk'](_0x5b75df,_0x2382bd){const _0x5f34c6=_0x5a623d;this[_0x5f34c6(0x247)]=!0x0;let _0x2ba629=[];const _0x179e59=async()=>{const _0x177125=_0x5f34c6;_0x2ba629[_0x177125(0x1ec)]>0x0&&(await Promise[_0x177125(0x177)](_0x2ba629),_0x2ba629=[]);};for(const [_0x5beae9,_0x20dc51]of Object[_0x5f34c6(0x1c3)](_0x5b75df)){if(!_0x5beae9[_0x5f34c6(0x273)]('/'+this['C'][_0x5f34c6(0x20a)]+'/'+this['C'][_0x5f34c6(0x192)])&&!_0x5beae9['endsWith'](_0x5f34c6(0x171)))continue;const _0x1528f=_0x20dc51,_0x582bc5=_0x5beae9['replace']('/'+this['C']['repo'],'');if(this[_0x5f34c6(0x193)][_0x582bc5])continue;const _0x3c6e24=_0xd22329[_0x5f34c6(0x188)](_0x2382bd,_0x582bc5[_0x5f34c6(0x238)](/^\//,'')),_0x245523=_0xd22329[_0x5f34c6(0x220)](_0x3c6e24),_0x173aa5=async()=>{const _0x35e5e3=_0x5f34c6;await this[_0x35e5e3(0x1f3)](_0x245523,{'recursive':!0x0}),await this['fsIsFileContentSame'](_0x2382bd,_0x3c6e24,_0x1528f[_0x35e5e3(0x1aa)])||(await this[_0x35e5e3(0x1d5)](_0x3c6e24,_0x1528f[_0x35e5e3(0x1aa)],{'encoding':'base64'}),this['EL']&&console['log']('✓\x20Receive\x20:\x20['+this[_0x35e5e3(0x24b)]()+_0x35e5e3(0x1a5)+_0x3c6e24[_0x35e5e3(0x238)](_0x2382bd,'')));};_0x2ba629['push'](_0x173aa5()),_0x2ba629[_0x5f34c6(0x1ec)]>=0x3e8&&await _0x179e59();}await _0x179e59(),setTimeout(()=>{const _0x480e38=_0x5f34c6;this[_0x480e38(0x247)]=!0x1;},0x3e8);}[_0x5a623d(0x22b)](_0x41458c){const _0xc87369=_0x5a623d,_0x217068=this[_0xc87369(0x1ef)](_0x41458c);if(!this[_0xc87369(0x23f)](_0x217068))return!0x1;const _0x54f4a3=_0x1d8c83['readdirSync'](_0x217068);let _0x8b2c40=!0x0;for(const _0x551571 of _0x54f4a3){const _0x375758=_0xd22329['join'](_0x217068,_0x551571);_0x1d8c83[_0xc87369(0x21b)](_0x375758)[_0xc87369(0x1eb)]()&&this[_0xc87369(0x22b)](_0x375758)||(_0x8b2c40=!0x1);}return!!_0x8b2c40&&(_0x1d8c83[_0xc87369(0x201)](_0x217068),!0x0);}async[_0x5a623d(0x232)](_0x42e89b,_0xbf4df0){const _0x5c6291=_0x5a623d;return this[_0x5c6291(0x23f)](_0x42e89b)?await this[_0x5c6291(0x175)](_0x42e89b,_0xbf4df0):[];}['normalizePath'](_0xb66542){const _0x594356=_0x5a623d;return _0xd22329[_0x594356(0x243)](_0xb66542);}['fsExistsSync'](_0x4243e7){const _0x425a9a=_0x5a623d,_0x518655=_0xd22329[_0x425a9a(0x243)](_0x4243e7);return _0x1d8c83[_0x425a9a(0x1da)](_0x518655);}async[_0x5a623d(0x175)](_0x2b7267,_0x142a4d){const _0x530f9e=_0x5a623d,_0xaa38a3=_0xd22329[_0x530f9e(0x243)](_0x2b7267);return await _0x1d8c83[_0x530f9e(0x1c9)][_0x530f9e(0x178)](_0xaa38a3,_0x142a4d);}async[_0x5a623d(0x1f3)](_0xcd1cf8,_0x2965c3){const _0x46c406=_0x5a623d,_0x5ce974=_0xd22329[_0x46c406(0x243)](_0xcd1cf8);return await _0x1d8c83[_0x46c406(0x1c9)]['mkdir'](_0x5ce974,_0x2965c3);}[_0x5a623d(0x252)](_0x40f191,_0x23ce04){const _0x5c8503=_0xd22329['normalize'](_0x40f191);return _0x1d8c83['mkdirSync'](_0x5c8503,_0x23ce04);}async[_0x5a623d(0x1f1)](_0x32b471,_0x4e116c){const _0x79ed87=_0x5a623d,_0x1a38f5=_0xd22329[_0x79ed87(0x243)](_0x32b471);return await _0x1d8c83[_0x79ed87(0x1c9)][_0x79ed87(0x1af)](_0x1a38f5,_0x4e116c);}async[_0x5a623d(0x1d5)](_0x1dedcb,_0x183928,_0x5d2217){const _0x68e5c6=_0x5a623d,_0x248a9e=_0xd22329[_0x68e5c6(0x243)](_0x1dedcb);return await _0x1d8c83[_0x68e5c6(0x1c9)]['writeFile'](_0x248a9e,_0x183928,_0x5d2217);}async[_0x5a623d(0x24f)](_0x37b401){const _0x164e7e=_0x5a623d,_0x736964=_0xd22329['normalize'](_0x37b401);return await _0x1d8c83[_0x164e7e(0x1c9)][_0x164e7e(0x1d8)](_0x736964);}async[_0x5a623d(0x1c8)](_0x319a45,_0x2afa90,_0x5eae1f){const _0x1d5733=_0x5a623d;if(!this[_0x1d5733(0x23f)](_0x2afa90))return!0x1;try{const _0x2f2b74=await this['fsReadFile'](_0x2afa90);let _0x598d57;return _0x598d57=_0x1d5733(0x1e8)!=typeof Buffer&&Buffer[_0x1d5733(0x1c1)](_0x2f2b74)?_0x2f2b74[_0x1d5733(0x196)](_0x1d5733(0x18a)):Buffer['from'](_0x2f2b74,_0x1d5733(0x26d))[_0x1d5733(0x196)]('base64'),_0x598d57===_0x5eae1f&&(this['EL']&&console[_0x1d5733(0x1e1)](_0x1d5733(0x258)+this[_0x1d5733(0x24b)]()+_0x1d5733(0x1a5)+_0x2afa90['replace'](_0x319a45,'')),!0x0);}catch(_0x220bdc){return!0x1;}}async[_0x5a623d(0x1dc)](_0x3c0564,_0x1b2cce){const _0x5b90ca=_0x5a623d,_0x5547df=_0xd22329[_0x5b90ca(0x243)](_0x3c0564),_0x325d35=_0xd22329[_0x5b90ca(0x243)](_0x1b2cce);try{return await _0x1d8c83[_0x5b90ca(0x1c9)]['link'](_0x5547df,_0x325d35);}catch(_0x1b151f){console[_0x5b90ca(0x254)](_0x1b151f);}}async[_0x5a623d(0x184)](_0x2e2d99){const _0x5ccae9=new Map(),_0x47eb69=_0xd22329['resolve'](_0x2e2d99),_0x1f2339=async _0x1a2504=>{const _0x268793=a0_0x121c;let _0x8a3b82=[];try{_0x8a3b82=await _0x1d8c83['promises'][_0x268793(0x178)](_0x1a2504,{'withFileTypes':!0x0});}catch(_0x4a653c){return;}for(const _0x4fd343 of _0x8a3b82){const _0x365c2f=_0xd22329['join'](_0x1a2504,_0x4fd343[_0x268793(0x1b5)]);if(_0x4fd343[_0x268793(0x1eb)]())await _0x1f2339(_0x365c2f);else{const _0x2aa5da=_0x365c2f[_0x268793(0x239)](_0xd22329[_0x268793(0x1a3)])[_0x268793(0x188)]('/');_0x5ccae9[_0x268793(0x26a)](_0x2aa5da,!0x0);}}};return await _0x1f2339(_0x47eb69),_0x5ccae9;}async[_0x5a623d(0x1c6)](_0x2c5c52=0x0){const _0x5d4604=_0x5a623d;if(!this['shuttingDown']){this[_0x5d4604(0x269)]=!0x0;try{this[_0x5d4604(0x1d4)]&&await this[_0x5d4604(0x1d4)][_0x5d4604(0x24e)]();}catch(_0x4b276c){console['error'](_0x5d4604(0x21d),_0x4b276c);}finally{setTimeout(()=>process[_0x5d4604(0x27d)](_0x2c5c52),0xc8);}}}[_0x5a623d(0x234)](){const _0x294522=_0x5a623d;process['on'](_0x294522(0x26e),()=>{const _0x4a7db9=_0x294522;console[_0x4a7db9(0x1e1)](_0x4a7db9(0x209)),this[_0x4a7db9(0x1c6)](0x0);}),process['on'](_0x294522(0x1b1),()=>{const _0x5e4dce=_0x294522;console[_0x5e4dce(0x1e1)](_0x5e4dce(0x241)),this[_0x5e4dce(0x1c6)](0x0);}),process['on'](_0x294522(0x27e),_0x5d5ad8=>{const _0x57d837=_0x294522;console[_0x57d837(0x1e1)](_0x57d837(0x27e),_0x5d5ad8);}),process['on'](_0x294522(0x27d),_0x27ec35=>{const _0xa20ac1=_0x294522;console['log'](_0xa20ac1(0x27d),_0x27ec35);}),process['on'](_0x294522(0x23c),_0x36074e=>{const _0x5a3536=_0x294522;console['error'](_0x5a3536(0x23c),_0x36074e),this[_0x5a3536(0x1c6)](0x1);}),process['on']('unhandledRejection',_0x502b07=>{const _0x2e209a=_0x294522;console[_0x2e209a(0x1bf)](_0x2e209a(0x200),_0x502b07),this[_0x2e209a(0x1c6)](0x1);});}}()[_0x5a623d(0x262)]()['then'](),function(_0x7b0638){const _0x2d62fa=_0x5a623d;_0x7b0638[_0x2d62fa(0x1b0)]=_0x2d62fa(0x1b0),_0x7b0638[_0x2d62fa(0x176)]='THIRD_PARTY_APIS',_0x7b0638[_0x2d62fa(0x187)]=_0x2d62fa(0x187),_0x7b0638[_0x2d62fa(0x18f)]=_0x2d62fa(0x18f),_0x7b0638['WEB_SOCKET_EVENT']=_0x2d62fa(0x16d);}(_0x5c0074||(_0x5c0074={})),function(_0x265138){const _0x4e1774=_0x5a623d;_0x265138[_0x4e1774(0x205)]=_0x4e1774(0x205),_0x265138[_0x4e1774(0x218)]='UNREGISTER',_0x265138[_0x4e1774(0x1d3)]=_0x4e1774(0x1d3),_0x265138[_0x4e1774(0x23e)]='UNKNOWN',_0x265138['TOKEN_VALIDATION']=_0x4e1774(0x25d),_0x265138[_0x4e1774(0x21e)]=_0x4e1774(0x21e),_0x265138[_0x4e1774(0x257)]=_0x4e1774(0x257);}(_0x5d316a||(_0x5d316a={})),function(_0x324fea){const _0x5387f9=_0x5a623d;_0x324fea[_0x5387f9(0x19b)]='LC_SEND_ALL_DATA',_0x324fea[_0x5387f9(0x1d7)]=_0x5387f9(0x1d7),_0x324fea[_0x5387f9(0x287)]='LC_FOLDER_CHANGED_ON_LOCAL_SYSTEM';}(_0x12002a||(_0x12002a={})),function(_0x12b3ca){const _0x56fe02=_0x5a623d;_0x12b3ca[_0x56fe02(0x21f)]=_0x56fe02(0x21f),_0x12b3ca[_0x56fe02(0x20b)]=_0x56fe02(0x20b),_0x12b3ca[_0x56fe02(0x20c)]=_0x56fe02(0x20c),_0x12b3ca[_0x56fe02(0x270)]=_0x56fe02(0x270),_0x12b3ca['DELETE_ALL']='DELETE_ALL';}(_0x376763||(_0x376763={})),function(_0x5583ee){const _0x2bda2b=_0x5a623d;_0x5583ee['AmEvents']=_0x2bda2b(0x1df),_0x5583ee[_0x2bda2b(0x185)]='am_web_socket_events',_0x5583ee['DBMasters']=_0x2bda2b(0x246),_0x5583ee['CustomApis']=_0x2bda2b(0x1d1),_0x5583ee['InstanceApiSettings']=_0x2bda2b(0x174),_0x5583ee[_0x2bda2b(0x190)]='am_instance_api_hooks',_0x5583ee[_0x2bda2b(0x237)]=_0x2bda2b(0x227),_0x5583ee[_0x2bda2b(0x24c)]=_0x2bda2b(0x261),_0x5583ee[_0x2bda2b(0x216)]='am_collection_hooks',_0x5583ee[_0x2bda2b(0x1dd)]=_0x2bda2b(0x244),_0x5583ee[_0x2bda2b(0x284)]=_0x2bda2b(0x1e3),_0x5583ee['I18Ns']=_0x2bda2b(0x1ea),_0x5583ee[_0x2bda2b(0x1b7)]=_0x2bda2b(0x18c),_0x5583ee[_0x2bda2b(0x286)]='am_system_api_hooks',_0x5583ee[_0x2bda2b(0x223)]='am_tp_api_settings',_0x5583ee['am_tp_installed_apis']='am_tp_installed_apis',_0x5583ee[_0x2bda2b(0x1b2)]='am_tp_api_versions',_0x5583ee[_0x2bda2b(0x1b3)]='am_utility_classes',_0x5583ee[_0x2bda2b(0x25a)]=_0x2bda2b(0x16c),_0x5583ee[_0x2bda2b(0x222)]=_0x2bda2b(0x272),_0x5583ee[_0x2bda2b(0x1de)]=_0x2bda2b(0x278),_0x5583ee[_0x2bda2b(0x242)]=_0x2bda2b(0x1a4),_0x5583ee['AmTestCases']=_0x2bda2b(0x170),_0x5583ee[_0x2bda2b(0x208)]=_0x2bda2b(0x195),_0x5583ee[_0x2bda2b(0x1b8)]=_0x2bda2b(0x248),_0x5583ee['Instances']=_0x2bda2b(0x16e),_0x5583ee[_0x2bda2b(0x1a6)]=_0x2bda2b(0x279);}(_0x1a4f58||(_0x1a4f58={})),function(_0x57fdc7){const _0x6f1efd=_0x5a623d;_0x57fdc7[_0x6f1efd(0x187)]=_0x6f1efd(0x236),_0x57fdc7[_0x6f1efd(0x264)]=_0x6f1efd(0x16a),_0x57fdc7['PROCESS_INITIALIZERS']=_0x6f1efd(0x260),_0x57fdc7['EVENTS']=_0x6f1efd(0x25c),_0x57fdc7[_0x6f1efd(0x230)]='i18ns',_0x57fdc7[_0x6f1efd(0x1c2)]='Instance\x20API\x20hooks',_0x57fdc7[_0x6f1efd(0x22f)]=_0x6f1efd(0x21c),_0x57fdc7[_0x6f1efd(0x253)]=_0x6f1efd(0x240),_0x57fdc7[_0x6f1efd(0x1ff)]=_0x6f1efd(0x245),_0x57fdc7[_0x6f1efd(0x21a)]=_0x6f1efd(0x183),_0x57fdc7[_0x6f1efd(0x250)]=_0x6f1efd(0x1dd),_0x57fdc7['SCHEMAS']='Schemas',_0x57fdc7[_0x6f1efd(0x256)]=_0x6f1efd(0x16b),_0x57fdc7['SYSTEM_API_SETTINGS']=_0x6f1efd(0x18e),_0x57fdc7[_0x6f1efd(0x288)]='Test\x20cases',_0x57fdc7[_0x6f1efd(0x176)]=_0x6f1efd(0x1f4),_0x57fdc7['THIRD_PARTY_API_SETTINGS']=_0x6f1efd(0x1e4),_0x57fdc7[_0x6f1efd(0x214)]=_0x6f1efd(0x1d0),_0x57fdc7[_0x6f1efd(0x274)]='WebSocket\x20events',_0x57fdc7[_0x6f1efd(0x1ab)]='DB\x20masters',_0x57fdc7[_0x6f1efd(0x1bb)]=_0x6f1efd(0x229),_0x57fdc7[_0x6f1efd(0x255)]='UI\x20maker\x20styles',_0x57fdc7[_0x6f1efd(0x25e)]=_0x6f1efd(0x208),_0x57fdc7[_0x6f1efd(0x25f)]=_0x6f1efd(0x285),_0x57fdc7[_0x6f1efd(0x1b0)]=_0x6f1efd(0x267),_0x57fdc7[_0x6f1efd(0x17f)]=_0x6f1efd(0x1fd);}(_0x4b2eb8||(_0x4b2eb8={}));})());})()));
1
+ function a0_0x539e(_0x1be361,_0x2a10ac){_0x1be361=_0x1be361-0x7d;const _0x22f242=a0_0x22f2();let _0x539e7b=_0x22f242[_0x1be361];return _0x539e7b;}function a0_0x22f2(){const _0x5aa8f9=['86704liaTUV','TEST_CASES','✓\x20Send\x20:\x20[','SYSTEM_APIS','system-api-hooks','\x1b[0m','writeMemfsJsonToDisk','endsWith','EVENTS_WS','webSocketURL','syncToken','stringify','UIMakerStyles','am_database_migrations','DB\x20masters','Database\x20hooks','Groups','API\x20users','custom-apis','existsSync','I18Ns','fsIsFileContentSame','Test\x20cases','getMinutes','Watcher\x20error:','Collection\x20hooks','LOCAL_CLIENT_SYNC_EVENTS','✅\x20Connected\x20to\x20server\x20via\x20WS','path','link','onmessage','.js','InstanceApiSettings','startsWith','promises','bind','✅\x20node_modules\x20installed','tsconfig.json','LC_FOLDER_CHANGED_ON_LOCAL_SYSTEM','i18ns','relative','Node.js\x2022+\x20is\x20required.\x20Current\x20version:\x20','install','watcher','connected','UNREGISTER','am_collection_hooks','package-lock.json','eventType','startWatch','isDirectory','db-migrations','version','printNotesToProvideLocalClient','getCurrentTime','orangeStart','normalize','EVENTS','INSTANCE_API_HOOKS','THIRD_PARTY_API_SETTINGS','Instance\x20API\x20hooks','syncAllDataWithServer','join','POST','Log\x20profiles','am_tp_api_settings','am_database_hooks','ADMIN_USER','type','UTILITY_CLASSES','Third\x20party\x20API\x20settings','name','toString','DB_MIGRATIONS','am-types','exit','message','am_schedulers','THIRD_PARTY_APIS','push','ui-maker-utils','shutdownAndExit','slice','fsMkDir','connectToServerViaWS','am_db_masters','CUSTOM_APIS','am_process_initializers','LOG_PROFILES','base64','Process\x20initializers','PROCESS_INITIALIZERS','colorEnd','UI_MAKER_STYLES','beforeExit','UI\x20maker\x20styles','LC_DATA_MODIFIED_IN_DATABASE','getChangedFolder','PUT','eventData','min','Utility\x20classes','COLLECTION_HOOKS','utf8','fsExistsSync','Custom\x20APIs','InstanceHooks','am_events','printNotes','am_instances','processReceivedEvent','set','——————————————————————————————————————————————————————————————————————————————————','INSTANCE_API_SETTINGS','Schemas','WebSocket\x20events','performFullSync','sep','exports','am_tp_api_versions','listeners','CONNECTED','am_groups','apply','localClientPath','am_api_users','sendDeletedEventToServerInternal','DELETE_ALL','SCHEMAS','getCategoryOfPath','ApiUsers','Events','10xZBXXs','LogProfiles','database-hooks','readFileSync','Error\x20while\x20connecting\x20to\x20WS\x20server.','\x20The\x20local\x20client\x20will\x20pull\x20the\x20latest\x20changes\x20from\x20the\x20server\x20and\x20keep\x20them\x20synchronized\x20between\x20the\x20IDE\x20and\x20the\x20server.','Connection\x20closed.','projectDirectory','parse','src','statSync','skipWatchInputs','unlink','⏳\x20Dependencies\x20installation\x20process\x20started','ui-maker-styles','length','✅\x20Dependencies\x20installed','24333sVecRO','content','1iqSFKF','AmEvents','rmdirSync','DB\x20master\x20utils','DATABASE_HOOKS','System\x20API\x20hooks','response','data','\x20Please\x20provide\x20settings\x20in\x20:\x20','unlinkSync','SystemApiHooks','appRoot','✓\x20Receive\x20:\x20[','am_i18ns','am_utility_classes','--no-save','readFile','✅\x20Full\x20Sync\x20:\x20[','close','padStart','510228DACTih','dirname','adminUserPath','LC_DATA_REQ_RES','watch','versions','change','then','sendToServer','events','normalizeEOLToLFBase64','repo','DELETE','resolve','getChangedFolderForDeleted','SystemApiSettings','warn','split','\x27\x20exited\x20with\x20code\x20','onerror','collection-hooks','Instances','entries','am_ui_maker_styles','unhandledRejection','fsRemoveFile','INSTANCES','⏳\x20node_modules\x20installation\x20process\x20started','replace','Admin\x20user','readdirSync','web-socket-events','uncaughtException','debounce','UIMakerUtils',']\x20:\x20','nodeModulesInstalled','am_test_cases','installRequiredPackages','skipFileWritingForLocal','SCHEDULERS','279552pIfZgE','UNKNOWN','REGISTER','am_ui_maker_utils','db-interfaces.d.ts','buildUnixPathMap','mkdir','Error\x20closing\x20watcher\x20before\x20full\x20sync','2536809MLhWti','invalidOnEvents','unlinkDir','Schedulers','shuttingDown','post-hooks','readdir','checkForNodeVersion','fullSyncCounter','NOTIFICATION','fsReadFile','am_tp_installed_apis','fsLink','types','filter','PUT_REPLACE','I18NS','add','16WHMMEe','Database\x20migrations','readDirCustom','executeNpmRun','SYSTEM_API_SETTINGS','--force','instance-hooks','third-party-apis','addProcessHooks','validOnEvents','CustomApis','serializeFolderWithBinary','apis','config','from','npm','Instance\x20hooks','am_instance_api_hooks','am_instance_api_settings','removeEmptyDirsSync','\x1b[38;2;255;165;0m','SYSTEM_API_HOOKS','455020IVpxFy','onclose','DatabaseHooks','SIGTERM','schemas','error','log','WEB_SOCKET_EVENT','spawn','fsWriteFile','Error\x20during\x20shutdown','normalizeEOLBase64','UI_MAKER_UTILITY_CLASS','&user-path=','DB_MASTERS','charCodeAt','561169cHuVBF','WebSocketEvents','am_instance_hooks','errors','16xvJOcm','instance-api-hooks','——————————————————————————————————————\x20Note\x20——————————————————————————————————————','Failed\x20to\x20restart\x20watcher\x20after\x20full\x20sync','✓\x20Remove\x20:\x20[','chokidar','tests','LC_SEND_ALL_DATA','\x20Current\x20Dir\x20:\x20'];a0_0x22f2=function(){return _0x5aa8f9;};return a0_0x22f2();}(function(_0x25d205,_0x3639ba){const _0x29defc=a0_0x539e,_0x5e3545=_0x25d205();while(!![]){try{const _0x5060fc=-parseInt(_0x29defc(0x162))/0x1*(parseInt(_0x29defc(0xcb))/0x2)+-parseInt(_0x29defc(0x160))/0x3*(-parseInt(_0x29defc(0x98))/0x4)+parseInt(_0x29defc(0xae))/0x5+parseInt(_0x29defc(0x7e))/0x6+-parseInt(_0x29defc(0xbe))/0x7+-parseInt(_0x29defc(0xc2))/0x8*(parseInt(_0x29defc(0x176))/0x9)+parseInt(_0x29defc(0x14f))/0xa*(parseInt(_0x29defc(0x86))/0xb);if(_0x5060fc===_0x3639ba)break;else _0x5e3545['push'](_0x5e3545['shift']());}catch(_0x2a584f){_0x5e3545['push'](_0x5e3545['shift']());}}}(a0_0x22f2,0x27fac),((()=>{'use strict';var _0x5075ba={0x3(_0x2a4210){const _0x3f8ead=a0_0x539e;_0x2a4210[_0x3f8ead(0x141)]=require(_0x3f8ead(0xe7));},0xe7(_0x43a860){const _0x3fb6c5=a0_0x539e;_0x43a860[_0x3fb6c5(0x141)]=require(_0x3fb6c5(0xc7));},0x13d(_0x113b57){const _0x2285cd=a0_0x539e;_0x113b57[_0x2285cd(0x141)]=require('child_process');},0x380(_0x573128){const _0x1b70a8=a0_0x539e;_0x573128[_0x1b70a8(0x141)]=require('fs');}},_0x1c42a5={};function _0x51f0e7(_0xb3e882){const _0x5c1156=a0_0x539e;var _0x1eed7c=_0x1c42a5[_0xb3e882];if(void 0x0!==_0x1eed7c)return _0x1eed7c[_0x5c1156(0x141)];var _0x569ec3=_0x1c42a5[_0xb3e882]={'exports':{}};return _0x5075ba[_0xb3e882](_0x569ec3,_0x569ec3[_0x5c1156(0x141)],_0x51f0e7),_0x569ec3[_0x5c1156(0x141)];}((()=>{const _0x3e27c8=a0_0x539e,_0x1c0459=_0x51f0e7(0x380),_0x34db59=_0x51f0e7(0x3),_0x1c1dae=_0x51f0e7(0x13d);var _0x2f26bd,_0x414bea,_0x2a498c,_0x1ca0f5,_0x21938e,_0x1d12c6;new class{constructor(){const _0x35ec64=a0_0x539e;this['EL']=!0x1,this[_0x35ec64(0x16d)]=_0x34db59[_0x35ec64(0x183)](''),this[_0x35ec64(0x156)]='',this['C']={'localClientPath':'./local-client.config','src':_0x35ec64(0x158),'repo':_0x35ec64(0x181),'types':_0x35ec64(0x93),'amTypes':_0x35ec64(0x115),'versions':_0x35ec64(0x17b),'apis':_0x35ec64(0xa4),'listeners':_0x35ec64(0x143),'postHooks':_0x35ec64(0x8b),'preHooks':'pre-hooks','dbInterfacesFile':_0x35ec64(0x82),'UtilityClassesReadF':'Utility\x20classes','CustomApiReadF':_0x35ec64(0x134),'SchedulersReadF':'Schedulers','WebSocketEventsReadF':_0x35ec64(0x13e),'SchemaReadF':'Schemas','DBMigrationsReadF':_0x35ec64(0x99),'ProcessInitializersReadF':_0x35ec64(0x125),'ProcessI18NReadF':_0x35ec64(0xf2),'DBMastersReadF':'DB\x20masters','DBMasterStylesReadF':_0x35ec64(0x12a),'DBMasterUtilsReadF':_0x35ec64(0x165),'TestCasesReadF':'Test\x20cases','ThirdPartyApiReadF':'Third\x20party\x20APIs','EventsReadF':_0x35ec64(0x14e),'InstanceApiHooksReadF':'Instance\x20API\x20hooks','SystemApiHooksReadF':_0x35ec64(0x167),'CollectionHooksReadF':_0x35ec64(0xe4),'DatabaseHooksReadF':_0x35ec64(0xda),'InstanceHooksReadF':_0x35ec64(0xa8),'CustomApisWriteF':_0x35ec64(0xdd),'SchedulersWriteF':'schedulers','WebSocketEventsWriteF':_0x35ec64(0x195),'SchemaWriteF':_0x35ec64(0xb2),'DBMigrationsWriteF':_0x35ec64(0xfe),'ProcessInitializersWriteF':'process-initializers','ProcessI18NWriteF':_0x35ec64(0xf2),'DBMastersWriteF':'ui-maker-pages','DBMasterStylesWriteF':_0x35ec64(0x15d),'DBMasterUtilsWriteF':_0x35ec64(0x11b),'TestCasesWriteF':_0x35ec64(0xc8),'ThirdPartyApiWriteF':_0x35ec64(0x9f),'EventsWriteF':_0x35ec64(0x17f),'InstanceApiHooksWriteF':_0x35ec64(0xc3),'SystemApiHooksWriteF':_0x35ec64(0xcf),'CollectionHooksWriteF':_0x35ec64(0x18a),'DatabaseHooksWriteF':_0x35ec64(0x151),'InstanceHooksWriteF':_0x35ec64(0x9e)},this[_0x35ec64(0x15a)]=!0x1,this[_0x35ec64(0x19d)]={},this[_0x35ec64(0x19a)]=!0x1,this['orangeStart']='\x1b[38;2;255;165;0m',this['cyanStart']='\x1b[36m',this[_0x35ec64(0x127)]=_0x35ec64(0xd0),this[_0x35ec64(0x8e)]=0x0,this['sendDeletedEventToServerDebounce']=this[_0x35ec64(0x197)](this['sendDeletedEventToServerInternal'],0x1f4);}async['start'](){const _0x1dbc0f=a0_0x539e;this[_0x1dbc0f(0xa0)](),this[_0x1dbc0f(0x8d)](),this[_0x1dbc0f(0x133)](this['C'][_0x1dbc0f(0x147)]+'.js')||(this['printNotesToProvideLocalClient'](),this[_0x1dbc0f(0x11c)](0x1)[_0x1dbc0f(0x17d)]()),this[_0x1dbc0f(0xa5)]=require(this['C'][_0x1dbc0f(0x147)])(),await this[_0x1dbc0f(0x137)](),this[_0x1dbc0f(0xab)](_0x34db59['join'](this['appRoot'],this['C'][_0x1dbc0f(0x158)])),await this[_0x1dbc0f(0x11f)]();}[_0x3e27c8(0x8d)](){const _0x5e4c11=_0x3e27c8,_0x2334b1=process[_0x5e4c11(0xff)];parseInt(_0x2334b1[_0x5e4c11(0x187)]('.')[0x0][_0x5e4c11(0x192)]('v',''),0xa)<0x16&&(console[_0x5e4c11(0xb3)](this[_0x5e4c11(0x102)]+_0x5e4c11(0xf4)+_0x2334b1+this[_0x5e4c11(0x127)]),this[_0x5e4c11(0x11c)](0x1)['then']());}async['printNotes'](){const _0x57cced=_0x3e27c8;console[_0x57cced(0xb4)](this[_0x57cced(0x102)]),console[_0x57cced(0xb4)](_0x57cced(0xc4)),console[_0x57cced(0xb4)](_0x57cced(0x154)),console[_0x57cced(0xb4)](_0x57cced(0xca)+this[_0x57cced(0x16d)]),console[_0x57cced(0xb4)](_0x57cced(0x13b)),console[_0x57cced(0xb4)](this[_0x57cced(0x127)]),console[_0x57cced(0xb4)]('');}[_0x3e27c8(0x100)](){const _0x204458=_0x3e27c8;console['log'](_0x204458(0xac)),console['log'](_0x204458(0x16a)+this['C'][_0x204458(0x147)]+_0x204458(0xea)),console[_0x204458(0xb4)](_0x204458(0xd0)),console['log']('');}async['installRequiredPackages'](){const _0x193811=_0x3e27c8;console['log'](_0x193811(0x15c));try{_0x1c0459[_0x193811(0x16b)](_0x34db59[_0x193811(0x109)](this['appRoot'],_0x193811(0xfa)));}catch(_0xf37b27){}await this[_0x193811(0x9b)](_0x193811(0xa7),[_0x193811(0xf5),_0x193811(0x171),'chokidar@4.0.3']),this[_0x193811(0x19a)]=!0x0,console[_0x193811(0xb4)](_0x193811(0x15f));}async[_0x3e27c8(0x9b)](_0x37b511,_0x196d18){return new Promise((_0x64e879,_0x30559e)=>{const _0x1410c7=a0_0x539e,_0x56baec=(0x0,_0x1c1dae[_0x1410c7(0xb6)])(_0x37b511,_0x196d18,{'shell':!0x0,'cwd':this[_0x1410c7(0x16d)]});_0x56baec['on']('close',_0x247d1b=>{const _0x35f291=_0x1410c7;if(0x0===_0x247d1b)setTimeout(_0x64e879,0x3e8);else{const _0x14b364='\x27'+_0x37b511+'\x20'+_0x196d18['join']('\x20')+_0x35f291(0x188)+_0x247d1b+'.';_0x30559e(new Error(_0x14b364));}}),_0x56baec['on'](_0x1410c7(0xb3),_0x3749e2=>{console['error']('Failed\x20to\x20start\x20the\x20npm\x20process:\x20'+_0x3749e2['message']),_0x30559e(_0x3749e2);});});}async[_0x3e27c8(0xfc)](){const _0x3146ef=_0x3e27c8;this[_0x3146ef(0x19a)]||await this[_0x3146ef(0x19c)]();const _0x73d29d=await Promise['resolve']()[_0x3146ef(0x17d)](()=>_0x51f0e7(0xe7)),_0x18ed5e=_0x34db59[_0x3146ef(0x109)](this[_0x3146ef(0x16d)]),_0x3260aa=_0x34db59['join'](this[_0x3146ef(0x16d)],this['C'][_0x3146ef(0x158)]),_0x4cf08c=_0x55429f=>{const _0x39dae3=_0x3146ef,_0x250420=_0x34db59[_0x39dae3(0xf3)](_0x18ed5e,_0x55429f);return!(_0x250420&&!_0x250420[_0x39dae3(0xec)]('.')&&!_0x250420[_0x39dae3(0xd2)]('~')&&_0x250420[_0x39dae3(0xec)](this['C'][_0x39dae3(0x158)]));},_0x48f126=_0x73d29d[_0x3146ef(0x17a)](_0x3260aa,{'persistent':!0x0,'ignoreInitial':!0x0,'depth':0x1/0x0,'awaitWriteFinish':{'stabilityThreshold':0xc8,'pollInterval':0x64}}),_0x14d661=async(_0x4efee3,_0x1a12e4)=>{const _0x2aaae3=_0x3146ef;try{if(this[_0x2aaae3(0x15a)])return;const _0x132a47=_0x34db59[_0x2aaae3(0xf3)](_0x18ed5e,_0x1a12e4);if(!_0x1a12e4||_0x4cf08c(_0x1a12e4))return;console[_0x2aaae3(0xb4)](_0x2aaae3(0xcd)+this[_0x2aaae3(0x101)]()+']\x20:\x20['+_0x4efee3+_0x2aaae3(0x199)+_0x132a47);const _0x2282c4=this[_0x2aaae3(0x14c)](_0x132a47),_0x360637=this[_0x2aaae3(0x12c)](_0x2282c4,_0x132a47);if(!_0x360637)return;let _0x4b8ba0,_0x1c2170=!0x1;if(this[_0x2aaae3(0x133)](_0x360637)){if(this[_0x2aaae3(0x133)](_0x34db59[_0x2aaae3(0x109)](_0x18ed5e,_0x132a47))){const _0x4e28f7=_0x34db59[_0x2aaae3(0x109)](_0x34db59['sep']+this['C'][_0x2aaae3(0x181)],_0x360637);_0x4b8ba0=await this[_0x2aaae3(0xa3)](_0x360637,_0x4e28f7),this[_0x2aaae3(0x17e)]({'objType':_0x414bea[_0x2aaae3(0x179)],'localClientWSReqRes':{'eventType':_0x2a498c[_0x2aaae3(0xf1)],'folderChangedOnLocalSystem':_0x4b8ba0,'category':_0x2282c4,'shouldReplaceAllItemsOfCategory':_0x1c2170}});}else this[_0x2aaae3(0x108)]();}else{const _0x5d43da=this[_0x2aaae3(0x184)](_0x2282c4,_0x132a47),_0x53502d=_0x34db59[_0x2aaae3(0x109)](_0x34db59['sep']+this['C']['repo'],_0x5d43da);_0x4b8ba0=await this['serializeFolderWithBinary'](_0x5d43da,_0x53502d),_0x1c2170=!0x0,this['sendDeletedEventToServerDebounce'](_0x4b8ba0,_0x2282c4,_0x1c2170);}}catch(_0x5ca7a1){console['error']('watch\x20handler\x20error',_0x5ca7a1);}};_0x48f126['on'](_0x3146ef(0x97),_0x340fb6=>_0x14d661(_0x3146ef(0x97),_0x340fb6))['on'](_0x3146ef(0x17c),_0xb0d550=>_0x14d661(_0x3146ef(0x17c),_0xb0d550))['on'](_0x3146ef(0x15b),_0x4dd45c=>_0x14d661('unlink',_0x4dd45c))['on']('addDir',_0xcf1945=>_0x14d661('addDir',_0xcf1945))['on'](_0x3146ef(0x88),_0x90bb48=>_0x14d661(_0x3146ef(0x88),_0x90bb48))['on'](_0x3146ef(0xb3),_0x4cd3a8=>console['error'](_0x3146ef(0xe3),_0x4cd3a8)),this[_0x3146ef(0xf6)]=_0x48f126,0x1===this[_0x3146ef(0x8e)]&&console[_0x3146ef(0xb4)]('✅\x20Local\x20client\x20started...');}[_0x3e27c8(0x101)](){const _0x3b5af5=_0x3e27c8,_0x480a69=new Date();return String(_0x480a69['getHours']())['padStart'](0x2,'0')+':'+String(_0x480a69[_0x3b5af5(0xe2)]())[_0x3b5af5(0x175)](0x2,'0')+':'+String(_0x480a69['getSeconds']())[_0x3b5af5(0x175)](0x2,'0');}[_0x3e27c8(0x149)](_0x3a2b0a,_0x43ff54,_0x1ef590){const _0x168d93=_0x3e27c8;this[_0x168d93(0x17e)]({'objType':_0x414bea[_0x168d93(0x179)],'localClientWSReqRes':{'eventType':_0x2a498c['LC_FOLDER_CHANGED_ON_LOCAL_SYSTEM'],'folderChangedOnLocalSystem':_0x3a2b0a,'category':_0x43ff54,'shouldReplaceAllItemsOfCategory':_0x1ef590}});}[_0x3e27c8(0x197)](_0x44d936,_0x30efcb){let _0x175a91=null;return function(..._0x7f3a61){clearTimeout(_0x175a91),_0x175a91=setTimeout(()=>{const _0xd289f9=a0_0x539e;_0x44d936[_0xd289f9(0x146)](this,_0x7f3a61);},_0x30efcb);};}[_0x3e27c8(0x14c)](_0x553aea){const _0x348668=_0x3e27c8,_0x455415=_0x34db59[_0x348668(0x109)](this['C'][_0x348668(0x158)]);if(!_0x553aea[_0x348668(0xec)](_0x455415))return;const _0x5b5bd2=_0x553aea['split'](_0x34db59[_0x348668(0x140)])[_0x348668(0x94)](_0x3dbd9a=>!!_0x3dbd9a)[0x1];for(const _0x2750d4 in _0x1d12c6)if(_0x1d12c6[_0x2750d4]===_0x5b5bd2)return _0x5b5bd2;}[_0x3e27c8(0x12c)](_0x2fac3b,_0x4d9feb){const _0x403e5f=_0x3e27c8,_0x148951=_0x4d9feb[_0x403e5f(0x187)](_0x34db59['sep']);let _0x3346e3='';return _0x3346e3=_0x2fac3b===_0x1d12c6['THIRD_PARTY_APIS']?_0x148951[_0x403e5f(0x11d)](0x0,0x5)[_0x403e5f(0x109)](_0x34db59[_0x403e5f(0x140)]):_0x2fac3b===_0x1d12c6[_0x403e5f(0x10e)]?_0x3346e3=_0x148951['slice'](0x0,0x2)['join'](_0x34db59[_0x403e5f(0x140)]):_0x148951[_0x403e5f(0x11d)](0x0,0x3)[_0x403e5f(0x109)](_0x34db59[_0x403e5f(0x140)]),_0x3346e3;}[_0x3e27c8(0x184)](_0x3f11c9,_0x14d222){const _0x113083=_0x3e27c8;return _0x14d222[_0x113083(0x187)](_0x34db59[_0x113083(0x140)])['slice'](0x0,0x3)[_0x113083(0x109)](_0x34db59[_0x113083(0x140)]);}async[_0x3e27c8(0xa3)](_0x47b618,_0x5ede4a){const _0x185d1a={},_0x52c23f=this;return await async function _0x5916a8(_0x1ce66c){const _0x2529a2=a0_0x539e,_0x21733b=await _0x52c23f['readDirCustom'](_0x1ce66c,{'withFileTypes':!0x0});for(const _0xdaf3a4 of _0x21733b){const _0x119b55=_0x34db59[_0x2529a2(0x109)](_0x1ce66c,_0xdaf3a4[_0x2529a2(0x112)]),_0x10b81e=_0x34db59[_0x2529a2(0x103)](_0x119b55);if(_0xdaf3a4['isDirectory']())await _0x5916a8(_0x10b81e);else{const _0x441ec5=_0x1c0459[_0x2529a2(0x152)](_0x10b81e),_0xdfa845=_0x34db59[_0x2529a2(0xf3)](_0x47b618,_0x10b81e),_0xc8232c=_0x34db59[_0x2529a2(0x109)](_0x5ede4a,_0xdfa845)['split'](_0x34db59[_0x2529a2(0x140)])[_0x2529a2(0x109)](_0x34db59['posix'][_0x2529a2(0x140)]);_0x185d1a[_0xc8232c]={'encoding':_0x2529a2(0x124),'content':_0x441ec5[_0x2529a2(0x113)](_0x2529a2(0x124))};}}}(_0x47b618),_0x185d1a;}['sendToServer'](_0x3b196b){const _0x2b0f22=_0x3e27c8;try{this['ws']['send'](JSON[_0x2b0f22(0xd6)](_0x3b196b));}catch(_0xe47ae6){console['log'](_0xe47ae6);}}async[_0x3e27c8(0x11f)](){const _0x481b5e=_0x3e27c8;console[_0x481b5e(0xb4)]('⏳\x20Connecting\x20to\x20server...');const _0x15d674=this[_0x481b5e(0xa5)][_0x481b5e(0xd5)],_0x10a8e6=this['config'][_0x481b5e(0x178)],_0x4644e7=this[_0x481b5e(0xa5)][_0x481b5e(0xd4)];this['ws']=new WebSocket(_0x4644e7+'?authTokenInfo=ws-local-client-sync&authorization='+_0x15d674+_0x481b5e(0xbb)+_0x10a8e6);const _0x133974=[],_0x238733=()=>{const _0x1c9b29=_0x481b5e;this[_0x1c9b29(0x17e)]({'objType':_0x414bea[_0x1c9b29(0x80)],'onEvents':[{'eventType':_0x1c9b29(0xe5)}]});};function _0x5200b6(_0x5e2251){const _0x3e51af=_0x481b5e;_0x5e2251['onopen']=null,_0x5e2251['onmessage']=null,_0x5e2251['onerror']=null,_0x5e2251[_0x3e51af(0xaf)]=null,_0x5e2251[_0x3e51af(0x174)]();}this['ws'][_0x481b5e(0xe9)]=async _0x893d7e=>{const _0x29305a=_0x481b5e,_0x32d00b=JSON[_0x29305a(0x157)](_0x893d7e[_0x29305a(0x169)]);if(_0x32d00b[_0x29305a(0x10f)]===_0x414bea[_0x29305a(0x144)]&&_0x32d00b[_0x29305a(0x168)][_0x29305a(0xf7)])_0x238733();else{if(_0x32d00b[_0x29305a(0x10f)]===_0x414bea[_0x29305a(0x80)]){if(_0x32d00b?.[_0x29305a(0x168)]?.[_0x29305a(0xa1)]?.['length']){for(const _0x5093c1 of _0x32d00b[_0x29305a(0x168)][_0x29305a(0xa1)])_0x133974[_0x29305a(0x11a)](_0x5093c1);console[_0x29305a(0xb4)](_0x29305a(0xe6)),this[_0x29305a(0xf6)]||await this['startWatch'](),this['syncAllDataWithServer']();}else{const _0x548344=_0x32d00b[_0x29305a(0x168)]?.[_0x29305a(0x87)]?.[0x0]?.[_0x29305a(0xc1)]?.[0x0]?.[_0x29305a(0x117)]||_0x29305a(0x153);console[_0x29305a(0xb4)]('❌\x20'+_0x548344),await this[_0x29305a(0x11c)](0x1);}}else await this[_0x29305a(0x139)](_0x32d00b);}},this['ws']['onclose']=_0x11f382=>{const _0x693322=_0x481b5e;console[_0x693322(0xb4)](_0x693322(0x155)),_0x5200b6(this['ws']),setTimeout(this[_0x693322(0x11f)]['bind'](this),0xbb8);},this['ws'][_0x481b5e(0x189)]=()=>{const _0x465516=_0x481b5e;_0x5200b6(this['ws']),setTimeout(this[_0x465516(0x11f)][_0x465516(0xee)](this),0xbb8);};}[_0x3e27c8(0x108)](){const _0x4c12ef=_0x3e27c8;this[_0x4c12ef(0x17e)]({'objType':_0x414bea[_0x4c12ef(0x179)],'localClientWSReqRes':{'eventType':_0x2a498c['LC_SEND_ALL_DATA']}});}async[_0x3e27c8(0x139)](_0x157df3){const _0x1c3a4c=_0x3e27c8;if(this['EL']&&_0x157df3[_0x1c3a4c(0x168)][_0x1c3a4c(0xfb)]!==_0x2a498c[_0x1c3a4c(0xc9)]&&console[_0x1c3a4c(0xb4)](_0x157df3),_0x157df3[_0x1c3a4c(0x10f)]===_0x414bea[_0x1c3a4c(0x179)]){if(_0x157df3[_0x1c3a4c(0xc1)]?.[_0x1c3a4c(0x15e)])return void console[_0x1c3a4c(0xb3)](_0x157df3[_0x1c3a4c(0xc1)]);if(_0x157df3[_0x1c3a4c(0x168)]['eventType']===_0x2a498c['LC_SEND_ALL_DATA']){console['log'](_0x1c3a4c(0x173)+this[_0x1c3a4c(0x101)]()+']'),this[_0x1c3a4c(0x8e)]++;try{this[_0x1c3a4c(0xf6)]&&(await this[_0x1c3a4c(0xf6)][_0x1c3a4c(0x174)](),this[_0x1c3a4c(0xf6)]=null);}catch(_0x20b3c5){console['warn'](_0x1c3a4c(0x85),_0x20b3c5);}await this[_0x1c3a4c(0x13f)](_0x157df3);try{await this['startWatch']();}catch(_0x162ce2){console[_0x1c3a4c(0xb3)](_0x1c3a4c(0xc5),_0x162ce2);}}else{if(_0x157df3[_0x1c3a4c(0x168)]['eventType']===_0x2a498c[_0x1c3a4c(0x12b)]){const _0x1d1fd4=_0x157df3['response']['eventData'];await this['writeMemfsJsonToDisk'](_0x1d1fd4[_0x1c3a4c(0x169)],this[_0x1c3a4c(0x16d)]);}}!0x1===this[_0x1c3a4c(0x19a)]&&(console['log'](_0x1c3a4c(0x191)),await this[_0x1c3a4c(0x9b)](_0x1c3a4c(0xa7),[_0x1c3a4c(0xf5),_0x1c3a4c(0x9d)]),console[_0x1c3a4c(0xb4)](_0x1c3a4c(0xef)),this[_0x1c3a4c(0x19a)]=!0x0);}}async[_0x3e27c8(0x13f)](_0x5ebfa7){const _0x1cb53d=_0x3e27c8,_0x51bba6=await this[_0x1cb53d(0x83)](_0x34db59['join'](this['appRoot'],this['C'][_0x1cb53d(0x158)])),_0x3899e3=_0x5ebfa7[_0x1cb53d(0x168)][_0x1cb53d(0x12e)],_0x2ebd93='/'+this['C'][_0x1cb53d(0x181)],_0x4a1504=this['appRoot']['split'](_0x34db59['sep'])[_0x1cb53d(0x109)]('/');for(const [_0x57da3d,_0x3cdc86]of _0x51bba6){const _0x10ccb8=_0x57da3d['replace'](_0x4a1504,_0x2ebd93);if(!_0x3899e3[_0x10ccb8]){const _0x50665e=_0x10ccb8[_0x1cb53d(0x192)]('/'+this['C'][_0x1cb53d(0x181)],''),_0x4acfbe=_0x34db59['join'](this[_0x1cb53d(0x16d)],_0x50665e[_0x1cb53d(0x192)](/^\//,''));await this[_0x1cb53d(0x18f)](_0x4acfbe),this['EL']&&console[_0x1cb53d(0xb4)](_0x1cb53d(0xc6)+this[_0x1cb53d(0x101)]()+_0x1cb53d(0x199)+_0x4acfbe[_0x1cb53d(0x192)](this[_0x1cb53d(0x16d)],''));}}await this['writeMemfsJsonToDisk'](_0x3899e3,this[_0x1cb53d(0x16d)]),this['removeEmptyDirsSync'](_0x34db59[_0x1cb53d(0x109)](this['appRoot'],this['C'][_0x1cb53d(0x158)]));}async[_0x3e27c8(0xd1)](_0x2b6ae3,_0x51b9f4){const _0x2bd4de=_0x3e27c8;this[_0x2bd4de(0x15a)]=!0x0;let _0x406580=[];const _0x386ab3=async()=>{_0x406580['length']>0x0&&(await Promise['all'](_0x406580),_0x406580=[]);};for(const [_0x198933,_0x4d807b]of Object[_0x2bd4de(0x18c)](_0x2b6ae3)){if(!_0x198933[_0x2bd4de(0xec)]('/'+this['C'][_0x2bd4de(0x181)]+'/'+this['C']['src'])&&!_0x198933[_0x2bd4de(0xd2)](_0x2bd4de(0xf0)))continue;const _0x4f8531=_0x4d807b,_0x2d2553=_0x198933[_0x2bd4de(0x192)]('/'+this['C'][_0x2bd4de(0x181)],'');if(this[_0x2bd4de(0x19d)][_0x2d2553])continue;const _0x415981=_0x34db59['join'](_0x51b9f4,_0x2d2553[_0x2bd4de(0x192)](/^\//,'')),_0x24999a=_0x34db59[_0x2bd4de(0x177)](_0x415981),_0x6ab564=async()=>{const _0x1ea95e=_0x2bd4de;if(await this[_0x1ea95e(0x11e)](_0x24999a,{'recursive':!0x0}),!await this[_0x1ea95e(0xe0)](_0x51b9f4,_0x415981,_0x4f8531[_0x1ea95e(0x161)])){const _0x49175d=this['normalizeEOLBase64'](_0x4f8531[_0x1ea95e(0x161)]);await this['fsWriteFile'](_0x415981,_0x49175d,{'encoding':_0x1ea95e(0x124)}),this['EL']&&console[_0x1ea95e(0xb4)](_0x1ea95e(0x16e)+this['getCurrentTime']()+']\x20:\x20'+_0x415981['replace'](_0x51b9f4,''));}};_0x406580[_0x2bd4de(0x11a)](_0x6ab564()),_0x406580['length']>=0x3e8&&await _0x386ab3();}await _0x386ab3(),setTimeout(()=>{this['skipWatchInputs']=!0x1;},0x3e8);}['removeEmptyDirsSync'](_0x267801){const _0x478744=_0x3e27c8,_0x27d6b4=this['normalizePath'](_0x267801);if(!this[_0x478744(0x133)](_0x27d6b4))return!0x1;const _0x4f3345=_0x1c0459[_0x478744(0x194)](_0x27d6b4);let _0x4db24=!0x0;for(const _0x36d6e0 of _0x4f3345){const _0x23720e=_0x34db59['join'](_0x27d6b4,_0x36d6e0);_0x1c0459[_0x478744(0x159)](_0x23720e)[_0x478744(0xfd)]()&&this[_0x478744(0xab)](_0x23720e)||(_0x4db24=!0x1);}return!!_0x4db24&&(_0x1c0459[_0x478744(0x164)](_0x27d6b4),!0x0);}async[_0x3e27c8(0x9a)](_0x47a9a4,_0x50206d){const _0xb17d5c=_0x3e27c8;return this['fsExistsSync'](_0x47a9a4)&&_0x1c0459['statSync'](_0x47a9a4)[_0xb17d5c(0xfd)]()?await this['fsReadDir'](_0x47a9a4,_0x50206d):[];}['normalizePath'](_0x822cd2){const _0x307a0d=_0x3e27c8;return _0x34db59[_0x307a0d(0x103)](_0x822cd2);}[_0x3e27c8(0xb9)](_0x5d68d1){const _0x109ee6=_0x3e27c8,_0xb8947f=atob(_0x5d68d1);for(let _0x676111=0x0;_0x676111<Math[_0x109ee6(0x12f)](_0xb8947f['length'],0x1f40);_0x676111++)if(0x0===_0xb8947f[_0x109ee6(0xbd)](_0x676111))return _0x5d68d1;const _0x16f6b1='\x5c'===_0x34db59[_0x109ee6(0x140)]?'\x0d\x0a':'\x0a';return btoa(_0xb8947f[_0x109ee6(0x192)](/\r\n/g,'\x0a')[_0x109ee6(0x192)](/\r/g,'\x0a')[_0x109ee6(0x192)](/\n/g,_0x16f6b1));}[_0x3e27c8(0x180)](_0x47eddf){const _0x273153=_0x3e27c8,_0x424341=atob(_0x47eddf);for(let _0x153156=0x0;_0x153156<Math[_0x273153(0x12f)](_0x424341['length'],0x1f40);_0x153156++)if(0x0===_0x424341[_0x273153(0xbd)](_0x153156))return _0x47eddf;return btoa(_0x424341[_0x273153(0x192)](/\r\n/g,'\x0a')[_0x273153(0x192)](/\r/g,'\x0a'));}[_0x3e27c8(0x133)](_0x3a6e98){const _0x1a0f07=_0x3e27c8,_0x594239=_0x34db59[_0x1a0f07(0x103)](_0x3a6e98);return _0x1c0459[_0x1a0f07(0xde)](_0x594239);}async['fsReadDir'](_0x334ad7,_0x343ca4){const _0x4090d6=_0x3e27c8,_0x2cbd2a=_0x34db59[_0x4090d6(0x103)](_0x334ad7);return await _0x1c0459['promises']['readdir'](_0x2cbd2a,_0x343ca4);}async[_0x3e27c8(0x11e)](_0x50b4aa,_0x56675d){const _0x3725e6=_0x3e27c8,_0x13709a=_0x34db59[_0x3725e6(0x103)](_0x50b4aa);return await _0x1c0459[_0x3725e6(0xed)][_0x3725e6(0x84)](_0x13709a,_0x56675d);}['fsMkDirSync'](_0x3db0bc,_0x4fc42d){const _0xb86ea1=_0x3e27c8,_0x1525c1=_0x34db59[_0xb86ea1(0x103)](_0x3db0bc);return _0x1c0459['mkdirSync'](_0x1525c1,_0x4fc42d);}async[_0x3e27c8(0x90)](_0x561092,_0x1ee425){const _0x4b64f2=_0x3e27c8,_0x118b01=_0x34db59['normalize'](_0x561092);return await _0x1c0459['promises'][_0x4b64f2(0x172)](_0x118b01,_0x1ee425);}async[_0x3e27c8(0xb7)](_0x28f876,_0x494621,_0x1e1eb1){const _0x3bd055=_0x3e27c8,_0xf99f8e=_0x34db59['normalize'](_0x28f876);return await _0x1c0459[_0x3bd055(0xed)]['writeFile'](_0xf99f8e,_0x494621,_0x1e1eb1);}async[_0x3e27c8(0x18f)](_0x8f1ac2){const _0x563495=_0x3e27c8,_0x258952=_0x34db59[_0x563495(0x103)](_0x8f1ac2);return await _0x1c0459[_0x563495(0xed)][_0x563495(0x15b)](_0x258952);}async[_0x3e27c8(0xe0)](_0x4a6240,_0x1c0163,_0x48a098){const _0x436dfc=_0x3e27c8;if(!this[_0x436dfc(0x133)](_0x1c0163))return!0x1;try{const _0x17f758=await this[_0x436dfc(0x90)](_0x1c0163);let _0x7b2eb6;return _0x7b2eb6='undefined'!=typeof Buffer&&Buffer['isBuffer'](_0x17f758)?_0x17f758['toString'](_0x436dfc(0x124)):Buffer[_0x436dfc(0xa6)](_0x17f758,_0x436dfc(0x132))[_0x436dfc(0x113)]('base64'),this[_0x436dfc(0x180)](_0x7b2eb6)===this[_0x436dfc(0x180)](_0x48a098)&&(this['EL']&&console[_0x436dfc(0xb4)]('→\x20Skip\x20(unchanged)\x20:\x20['+this['getCurrentTime']()+_0x436dfc(0x199)+_0x1c0163['replace'](_0x4a6240,'')),!0x0);}catch(_0x3ef121){return!0x1;}}async[_0x3e27c8(0x92)](_0x3a7d4a,_0x200299){const _0x54097b=_0x3e27c8,_0x390d50=_0x34db59[_0x54097b(0x103)](_0x3a7d4a),_0x56f4c5=_0x34db59[_0x54097b(0x103)](_0x200299);try{return await _0x1c0459[_0x54097b(0xed)][_0x54097b(0xe8)](_0x390d50,_0x56f4c5);}catch(_0x1098bd){console[_0x54097b(0x186)](_0x1098bd);}}async['buildUnixPathMap'](_0x26b4ff){const _0x3f1823=new Map(),_0x269abd=_0x34db59['resolve'](_0x26b4ff),_0x94515b=async _0x539083=>{const _0x296d37=a0_0x539e;let _0x3c331e=[];try{_0x3c331e=await _0x1c0459['promises'][_0x296d37(0x8c)](_0x539083,{'withFileTypes':!0x0});}catch(_0x19d522){return;}for(const _0x200498 of _0x3c331e){const _0x50b07d=_0x34db59[_0x296d37(0x109)](_0x539083,_0x200498[_0x296d37(0x112)]);if(_0x200498['isDirectory']())await _0x94515b(_0x50b07d);else{const _0x19ab0a=_0x50b07d[_0x296d37(0x187)](_0x34db59[_0x296d37(0x140)])['join']('/');_0x3f1823[_0x296d37(0x13a)](_0x19ab0a,!0x0);}}};return await _0x94515b(_0x269abd),_0x3f1823;}async[_0x3e27c8(0x11c)](_0x2a9656=0x0){const _0x1996be=_0x3e27c8;if(!this[_0x1996be(0x8a)]){this[_0x1996be(0x8a)]=!0x0;try{this[_0x1996be(0xf6)]&&await this[_0x1996be(0xf6)][_0x1996be(0x174)]();}catch(_0x53648f){console[_0x1996be(0xb3)](_0x1996be(0xb8),_0x53648f);}finally{setTimeout(()=>process[_0x1996be(0x116)](_0x2a9656),0xc8);}}}[_0x3e27c8(0xa0)](){const _0xbd4137=_0x3e27c8;process['on']('SIGINT',()=>{const _0x23308d=a0_0x539e;console['log']('SIGINT\x20received\x20—\x20shutting\x20down'),this[_0x23308d(0x11c)](0x0);}),process['on'](_0xbd4137(0xb1),()=>{const _0xf642ba=_0xbd4137;console[_0xf642ba(0xb4)]('SIGTERM\x20received\x20—\x20shutting\x20down'),this[_0xf642ba(0x11c)](0x0);}),process['on'](_0xbd4137(0x129),_0x3e5975=>{const _0x4a6f96=_0xbd4137;console[_0x4a6f96(0xb4)](_0x4a6f96(0x129),_0x3e5975);}),process['on'](_0xbd4137(0x116),_0x48ec9e=>{const _0x46d40f=_0xbd4137;console[_0x46d40f(0xb4)](_0x46d40f(0x116),_0x48ec9e);}),process['on'](_0xbd4137(0x196),_0x514ad9=>{const _0x24be86=_0xbd4137;console['error'](_0x24be86(0x196),_0x514ad9),this[_0x24be86(0x11c)](0x1);}),process['on']('unhandledRejection',_0x4dce31=>{const _0x1ebeb7=_0xbd4137;console[_0x1ebeb7(0xb3)](_0x1ebeb7(0x18e),_0x4dce31),this[_0x1ebeb7(0x11c)](0x1);});}}()['start']()[_0x3e27c8(0x17d)](),function(_0x486490){const _0x4024d1=_0x3e27c8;_0x486490[_0x4024d1(0x190)]='INSTANCES',_0x486490['THIRD_PARTY_APIS']=_0x4024d1(0x119),_0x486490[_0x4024d1(0x121)]=_0x4024d1(0x121),_0x486490['SYSTEM_APIS']=_0x4024d1(0xce),_0x486490[_0x4024d1(0xb5)]='WEB_SOCKET_EVENT';}(_0x2f26bd||(_0x2f26bd={})),function(_0x3c13e8){const _0xecd76=_0x3e27c8;_0x3c13e8[_0xecd76(0x80)]=_0xecd76(0x80),_0x3c13e8[_0xecd76(0xf8)]=_0xecd76(0xf8),_0x3c13e8[_0xecd76(0x144)]=_0xecd76(0x144),_0x3c13e8['UNKNOWN']=_0xecd76(0x7f),_0x3c13e8['TOKEN_VALIDATION']='TOKEN_VALIDATION',_0x3c13e8[_0xecd76(0x8f)]='NOTIFICATION',_0x3c13e8[_0xecd76(0x179)]=_0xecd76(0x179);}(_0x414bea||(_0x414bea={})),function(_0x21ab8f){const _0x21b9fc=_0x3e27c8;_0x21ab8f['LC_SEND_ALL_DATA']=_0x21b9fc(0xc9),_0x21ab8f[_0x21b9fc(0x12b)]=_0x21b9fc(0x12b),_0x21ab8f[_0x21b9fc(0xf1)]=_0x21b9fc(0xf1);}(_0x2a498c||(_0x2a498c={})),function(_0x3d41d4){const _0x478df1=_0x3e27c8;_0x3d41d4[_0x478df1(0x10a)]=_0x478df1(0x10a),_0x3d41d4[_0x478df1(0x12d)]=_0x478df1(0x12d),_0x3d41d4[_0x478df1(0x95)]=_0x478df1(0x95),_0x3d41d4['DELETE']=_0x478df1(0x182),_0x3d41d4[_0x478df1(0x14a)]='DELETE_ALL';}(_0x1ca0f5||(_0x1ca0f5={})),function(_0x21a1eb){const _0x5ac881=_0x3e27c8;_0x21a1eb[_0x5ac881(0x163)]=_0x5ac881(0x136),_0x21a1eb[_0x5ac881(0xbf)]='am_web_socket_events',_0x21a1eb['DBMasters']=_0x5ac881(0x120),_0x21a1eb[_0x5ac881(0xa2)]='am_custom_apis',_0x21a1eb[_0x5ac881(0xeb)]=_0x5ac881(0xaa),_0x21a1eb['InstanceApiHooks']=_0x5ac881(0xa9),_0x21a1eb[_0x5ac881(0x135)]=_0x5ac881(0xc0),_0x21a1eb[_0x5ac881(0xb0)]=_0x5ac881(0x10d),_0x21a1eb['CollectionHooks']=_0x5ac881(0xf9),_0x21a1eb[_0x5ac881(0x89)]=_0x5ac881(0x118),_0x21a1eb['Schemas']='am_schemas',_0x21a1eb[_0x5ac881(0xdf)]=_0x5ac881(0x16f),_0x21a1eb[_0x5ac881(0x185)]='am_system_api_settings',_0x21a1eb[_0x5ac881(0x16c)]='am_system_api_hooks',_0x21a1eb[_0x5ac881(0x10c)]=_0x5ac881(0x10c),_0x21a1eb[_0x5ac881(0x91)]=_0x5ac881(0x91),_0x21a1eb['am_tp_api_versions']=_0x5ac881(0x142),_0x21a1eb['UtilityClasses']=_0x5ac881(0x170),_0x21a1eb['DatabasesMigrations']=_0x5ac881(0xd8),_0x21a1eb['ProcessInitializers']=_0x5ac881(0x122),_0x21a1eb[_0x5ac881(0x198)]=_0x5ac881(0x81),_0x21a1eb[_0x5ac881(0xd7)]=_0x5ac881(0x18d),_0x21a1eb['AmTestCases']=_0x5ac881(0x19b),_0x21a1eb[_0x5ac881(0xdb)]=_0x5ac881(0x145),_0x21a1eb[_0x5ac881(0x14d)]=_0x5ac881(0x148),_0x21a1eb['Instances']=_0x5ac881(0x138),_0x21a1eb[_0x5ac881(0x150)]='am_log_profiles';}(_0x21938e||(_0x21938e={})),function(_0x572137){const _0x39faa7=_0x3e27c8;_0x572137[_0x39faa7(0x10e)]=_0x39faa7(0x193),_0x572137['CUSTOM_APIS']=_0x39faa7(0x134),_0x572137[_0x39faa7(0x114)]=_0x39faa7(0x99),_0x572137[_0x39faa7(0x126)]=_0x39faa7(0x125),_0x572137[_0x39faa7(0x104)]=_0x39faa7(0x14e),_0x572137[_0x39faa7(0x96)]=_0x39faa7(0xf2),_0x572137[_0x39faa7(0x105)]=_0x39faa7(0x107),_0x572137['INSTANCE_HOOKS']=_0x39faa7(0xa8),_0x572137[_0x39faa7(0x166)]=_0x39faa7(0xda),_0x572137[_0x39faa7(0x131)]=_0x39faa7(0xe4),_0x572137[_0x39faa7(0x13c)]='Instance\x20API\x20settings',_0x572137[_0x39faa7(0x7d)]='Schedulers',_0x572137[_0x39faa7(0x14b)]=_0x39faa7(0x13d),_0x572137[_0x39faa7(0xad)]=_0x39faa7(0x167),_0x572137[_0x39faa7(0x9c)]='System\x20API\x20settings',_0x572137[_0x39faa7(0xcc)]=_0x39faa7(0xe1),_0x572137['THIRD_PARTY_APIS']='Third\x20party\x20APIs',_0x572137[_0x39faa7(0x106)]=_0x39faa7(0x111),_0x572137[_0x39faa7(0x110)]=_0x39faa7(0x130),_0x572137[_0x39faa7(0xd3)]=_0x39faa7(0x13e),_0x572137[_0x39faa7(0xbc)]=_0x39faa7(0xd9),_0x572137[_0x39faa7(0xba)]=_0x39faa7(0x165),_0x572137[_0x39faa7(0x128)]=_0x39faa7(0x12a),_0x572137['GROUPS']=_0x39faa7(0xdb),_0x572137['API_USERS']=_0x39faa7(0xdc),_0x572137[_0x39faa7(0x190)]=_0x39faa7(0x18b),_0x572137[_0x39faa7(0x123)]=_0x39faa7(0x10b);}(_0x1d12c6||(_0x1d12c6={}));})());})()));
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkapi_maker_fe=self.webpackChunkapi_maker_fe||[]).push([[4575],{24575:(H,m,i)=>{i.r(m),i.d(m,{DeploymentSettingsM:()=>Q});var h=i(77664),Z=i(17017),T=i(81490),d=i(15861),l=i(60095),s=i(20553),t=i(94946),C=i(62304),f=i(95852),U=i(19394),y=i(46178),_=i(69862);let R=(()=>{class n extends y.g{http;authCS;constructor(e,a){super(e,U.k4.ROOT_USER_SETTINGS),this.http=e,this.authCS=a}saveRootUserSettings(e){return this.http.put(s.N.BE_HOST_PORT_SITES+`${this.modelPath}/set-root-user-settings`,e).toPromise()}getRootUserSettings(){return this.http.get(s.N.BE_HOST_PORT_SITES+`${this.modelPath}/get-root-user-settings`)}verifyRootUserSettings(e){return this.http.post(s.N.BE_HOST_PORT_SITES+`${this.modelPath}/verify-root-user-settings`,e).toPromise()}static \u0275fac=function(a){return new(a||n)(t.LFG(_.eN),t.LFG(f.D))};static \u0275prov=t.Yz7({token:n,factory:n.\u0275fac,providedIn:"root"})}return n})();var D=i(77240),b=i(53429),S=i(99961),x=i(96814),A=i(32660),J=i(756),I=i(97680),L=i(33259),O=i(96218),N=i(54323);function w(n,c){1&n&&t._UZ(0,"i",52)}function P(n,c){if(1&n&&t._UZ(0,"i",53),2&n){const e=t.oxw();t.Q6J("pTooltip",null==e.validationResp?null:e.validationResp.logDatabaseConnectionMessage)}}function E(n,c){1&n&&t._UZ(0,"i",52)}function q(n,c){if(1&n&&t._UZ(0,"i",54),2&n){const e=t.oxw();t.Q6J("pTooltip",null==e.validationResp?null:e.validationResp.externalRedisSettingsJsonMessage)}}function k(n,c){if(1&n){const e=t.EpF();t.TgZ(0,"a",55),t.NdJ("click",function(){t.CHM(e);const o=t.oxw();return t.KtG(o.installAndDetectD2Lib())}),t._UZ(1,"i",56),t._uU(2," Auto Install "),t.qZA()}}function W(n,c){1&n&&t._UZ(0,"i",52)}function Y(n,c){if(1&n&&(t.TgZ(0,"span",57),t._uU(1),t.qZA()),2&n){const e=t.oxw();t.xp6(1),t.Oqu(e.validationResp.d2DiagramLibVersion)}}function M(n,c){if(1&n&&t._UZ(0,"i",53),2&n){const e=t.oxw();t.Q6J("pTooltip",null==e.validationResp?null:e.validationResp.d2DiagramLibPathMessage)}}function V(n,c){if(1&n&&(t.TgZ(0,"div",58)(1,"div",59),t._UZ(2,"div",60),t.ALo(3,"safeHtml"),t.qZA()()),2&n){const e=t.oxw();t.xp6(2),t.Q6J("innerHTML",t.lcZ(3,1,e.d2InstallError),t.oJD)}}function G(n,c){1&n&&t._UZ(0,"p-progressSpinner",61)}const j=[{path:"",component:(()=>{class n{fb;monacoS;authCS;rootUserSettings;generalS;instanceS;ns;cd;notificationS;form;formData;loading={form:!1};BE_HOST_PORT=s.N.BE_HOST_PORT;sampleConnectionString="mongodb://username:password@127.0.0.1:27017/databaseName?authSource=admin&replicaSet=rs0&directConnection=true";sampleJson='{\n "nodes": [\n {\n "port": 6390,\n "host": "127.0.0.1",\n "pass": ""\n }\n ],\n "otherRedisClusterOptions": null,\n "redisValueExpireInSeconds": 7200,\n "maxCharsResToCache": 1000000\n}';editorRedisConnectionJSON;editorOptionsRedisConnectionJSON={readOnly:!1,language:"json",contextmenu:!0};editorStartupScript;editorOptionsStartupScript={readOnly:!1,language:"bash",contextmenu:!0};d2InstallError;validationResp;constructor(e,a,o,r,p,g,u,F,B){this.fb=e,this.monacoS=a,this.authCS=o,this.rootUserSettings=r,this.generalS=p,this.instanceS=g,this.ns=u,this.cd=F,this.notificationS=B}ngOnInit(){var e=this;return(0,d.Z)(function*(){e.createForm(),yield e.loadData()})()}createForm(){this.form=this.fb.group({logDatabaseConnectionString:["",[]],externalRedisSettingsJsonString:["",[]],serverStartupScript:["",[]],universalLoginCaptcha:["",[]],logRemoveSchedulerInterval:["0 0 0 * * *",[]],passJWTOfAPIUsers:["",[]],jwtTokenExpiresInSeconds:[259200,[l.kI.min(60),l.kI.max(10368e4)]],maxLogsCount:[1e4,[]],d2DiagramLibPath:[1e4,[]]})}loadData(){var e=this;return(0,d.Z)(function*(){try{e.loading.form=!0;const a=(yield e.rootUserSettings.getRootUserSettings().toPromise()).data;if(e.form.reset(),e.form.patchValue(a),a?.logDatabaseConnectionString){const o=e.generalS.getDecryptedString(a.logDatabaseConnectionString,s.N.crypto.passCommunication);e.form.get("logDatabaseConnectionString").setValue(o)}if(a?.passJWTOfAPIUsers){const o=e.generalS.getDecryptedString(a.passJWTOfAPIUsers,s.N.crypto.passCommunication);e.form.get("passJWTOfAPIUsers").setValue(o)}if(a?.externalRedisSettingsJsonString){const o=e.generalS.getDecryptedString(a.externalRedisSettingsJsonString,s.N.crypto.passCommunication);e.editorRedisConnectionJSON.setValue(o)}if(a?.serverStartupScript&&e.editorStartupScript.setValue(a.serverStartupScript),a?.universalLoginCaptcha){const o=e.generalS.getDecryptedString(a.universalLoginCaptcha,s.N.crypto.passCommunication);e.form.get("universalLoginCaptcha").setValue(o)}e.loading.form=!1}catch(a){e.loading.form=!1,e.ns.showErrorFromResponse(a.error||a,"Unable to load data.")}})()}update(){var e=this;return(0,d.Z)(function*(){try{e.loading.form=!0,e.formData=e.form.getRawValue(),e.form.get("logDatabaseConnectionString").value&&(e.formData.logDatabaseConnectionString=e.generalS.getEncryptedString(e.form.get("logDatabaseConnectionString").value,s.N.crypto.passCommunication)),e.form.get("passJWTOfAPIUsers").value&&(e.formData.passJWTOfAPIUsers=e.generalS.getEncryptedString(e.form.get("passJWTOfAPIUsers").value,s.N.crypto.passCommunication)),e.editorRedisConnectionJSON.getValue()&&(e.formData.externalRedisSettingsJsonString=e.generalS.getEncryptedString(e.editorRedisConnectionJSON.getValue(),s.N.crypto.passCommunication)),e.editorStartupScript.getValue()&&(e.formData.serverStartupScript=e.editorStartupScript.getValue()),e.form.get("universalLoginCaptcha").value&&(e.formData.universalLoginCaptcha=e.generalS.getEncryptedString(e.form.get("universalLoginCaptcha").value,s.N.crypto.passCommunication)),yield e.verifyRootUser(e.formData),!e.validationResp.logDatabaseConnectionMessage&&!e.validationResp.externalRedisSettingsJsonMessage&&(yield e.rootUserSettings.saveRootUserSettings(e.formData),e.loading.form=!1,e.ns.showSuccess("Settings verified and saved successfully.")),e.loading.form=!1}catch(a){e.loading.form=!1,e.ns.showErrorFromResponse(a.error||a,"Unable to update.")}})()}verifyRootUser(e){var a=this;return(0,d.Z)(function*(){const o=yield a.rootUserSettings.verifyRootUserSettings(e);a.validationResp=o.data,setTimeout(()=>{a.cd.detectChanges()},1e3)})()}copyToClipboard(e){var a=this;return(0,d.Z)(function*(){"json"===e?yield navigator.clipboard.writeText(a.sampleJson):yield navigator.clipboard.writeText(a.sampleConnectionString),a.notificationS.showSuccess("Copied to clipboard.")})()}editorGenerated(e){var a=this;return(0,d.Z)(function*(){a.loading.form=!0,a.editorRedisConnectionJSON=e,yield a.monacoS.loadSchemaEditorSettings(a.BE_HOST_PORT,a.authCS.getUserId(),null),a.monacoS.addSaveCodeKeyBinding(e,o=>{a.form.valid&&a.update()}),a.loading.form=!1})()}editorGeneratedStartupScript(e){var a=this;return(0,d.Z)(function*(){a.loading.form=!0,a.editorStartupScript=e,a.monacoS.addSaveCodeKeyBinding(e,o=>{a.form.valid&&a.update()}),a.loading.form=!1})()}installAndDetectD2Lib(){var e=this;return(0,d.Z)(function*(){e.loading.form=!0;try{const o=(yield e.instanceS.installAndDetectD2Lib()).data,r=o[0].d2InstallOutput?.data?.d2LibPath;if(r)e.form.patchValue({d2DiagramLibPath:r}),e.ns.showSuccess("D2 library installed successfully.");else{const p=o[0].d2InstallOutput?.errors?.[0]?.message;e.ns.showError(p),e.d2InstallError=p}}catch(a){e.ns.showErrorFromResponse(a.error||a,"Unable to install d2 diagram library.")}e.loading.form=!1,e.cd.detectChanges()})()}generateRandomValue(e){const a=this.generalS.getRandomStringWithCapitals(5),o=this.generalS.getRandomStringWithCapitals(5),r=this.generalS.getRandomStringWithCapitals(5),p=this.generalS.getRandomStringWithCapitals(5),g=this.generalS.getRandomStringWithCapitals(5),u=this.generalS.getRandomStringWithCapitals(5);this.form.get(e).setValue(`${a}_${o}_${r}_${p}_${g}_${u}`)}static \u0275fac=function(a){return new(a||n)(t.Y36(l.qu),t.Y36(C.b),t.Y36(f.D),t.Y36(R),t.Y36(D.b),t.Y36(b.E),t.Y36(S.W),t.Y36(t.sBO),t.Y36(S.W))};static \u0275cmp=t.Xpm({type:n,selectors:[["app-dep-set-layout"]],decls:153,vars:24,consts:[[1,"pt-1","pr-1","pl-1","full-body","overflow-auto"],[1,"card","shadow-sm","h-100"],[1,"card-header"],[1,"fas","fa-cog","text-danger","fa-fw","mr-1"],[1,"card-body","p-0","overflow-hidden"],[1,"pl-3","overflow-auto","h-100"],[1,"pb-5",3,"formGroup"],[1,"form-group","row","mt-3","mb-0","ml-0","mr-0"],[1,"text-left","mb-0"],["class","fas fa-check-circle text-success pt-1 ml-2",4,"ngIf"],["class","fas fa-times-circle text-danger pt-1 ml-2 hover",3,"pTooltip",4,"ngIf"],[1,"form-group","row","ml-0","mr-0"],[1,"col-7","pl-0","pr-0"],["rows","5","formControlName","logDatabaseConnectionString","spellcheck","false","placeholder","Please provide log database connection string","pInputTextarea","",1,"form-control","form-control-sm","font-monospaced",3,"autoResize"],[1,"text-danger","small","col-12","pl-0","pr-0"],[1,"col-4","border","ml-3","pt-3"],["pTooltip","Copy to clipboard",1,"fas","fa-copy","text-warning","fa-fw","cursor-pointer","line-height-1-3","mr-2","float-right",3,"click"],[1,"form-group","row","mt-5","mb-0","ml-0","mr-0"],[1,"small","text-muted"],[1,"form-group","row","mb-3","ml-0","mr-0"],["formControlName","logRemoveSchedulerInterval","name","logRemoveSchedulerInterval","spellcheck","false","type","text","placeholder","For daily : 0 0 0 * * *",1,"form-control","form-control-sm","font-monospaced","col-7"],["formControlName","maxLogsCount","name","maxLogsCount","spellcheck","false","type","number","placeholder","10000",1,"form-control","form-control-sm","font-monospaced","col-7"],["class","fas fa-times-circle text-danger pt-1 ml-2",3,"pTooltip",4,"ngIf"],[1,"pr-0","pl-0",2,"height","277px"],[3,"isSchemaEditor","editorOptions","editorGenerated"],[1,"col-4","border","ml-3"],["title","Copy to clipboard",1,"fas","fa-copy","text-warning","fa-fw","cursor-pointer","line-height-1-3","mr-2","pt-3","float-right",3,"click"],[1,"mb-0","mt-0"],[1,"fw-bold"],[1,"json-key"],[1,"json-val"],[1,"json-num-val"],["formControlName","universalLoginCaptcha","name","universalLoginCaptcha","spellcheck","false","type","text","placeholder","Please provide universal login captcha",1,"form-control","form-control-sm","font-monospaced","col-7"],[1,"text-left","col-7","p-0","mb-0"],["href","https://docs.apimaker.dev/v1/docs/blog/install-d2.html","target","_blank",1,"float-right","small","text-warning"],[1,"fas","fa-link","fa-fw"],["class","float-right small text-info mr-3","href","javascript:",3,"click",4,"ngIf"],["class","ml-1",4,"ngIf"],["formControlName","d2DiagramLibPath","name","d2DiagramLibPath","spellcheck","false","type","text","placeholder","Please provide D2 diagram library path. ex : /usr/local/bin/d2",1,"form-control","form-control-sm","font-monospaced","col-7"],["class","row",4,"ngIf"],["href","javascript:",1,"float-right","small","text-info",3,"click"],[1,"fas","fa-random","fa-fw"],[1,"form-group","row","ml-0","mr-0","mb-0"],["maxlength","32","formControlName","passJWTOfAPIUsers","name","passJWTOfAPIUsers","spellcheck","false","type","text","placeholder","",1,"form-control","form-control-sm","font-monospaced","col-7"],[1,"row","mb-3","ml-0","mr-0"],["formControlName","jwtTokenExpiresInSeconds","name","jwtTokenExpiresInSeconds","spellcheck","false","type","number","placeholder","",1,"form-control","form-control-sm","font-monospaced","col-7"],[2,"white-space","break-spaces"],[1,"form-group","row","mb-3","ml-0","mr-0","mt-5"],[1,"float-left","ml-1","mt-3"],["sava-no-dbl-click","","type","button",1,"btn","btn-primary",3,"click"],[1,"fas","fa-save","fa-fw","mr-1"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s",4,"ngIf"],[1,"fas","fa-check-circle","text-success","pt-1","ml-2"],[1,"fas","fa-times-circle","text-danger","pt-1","ml-2","hover",3,"pTooltip"],[1,"fas","fa-times-circle","text-danger","pt-1","ml-2",3,"pTooltip"],["href","javascript:",1,"float-right","small","text-info","mr-3",3,"click"],[1,"fas","fa-cloud-download-alt","fa-fw"],[1,"ml-1"],[1,"row"],[1,"col-7"],[1,"text-right",3,"innerHTML"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s"]],template:function(a,o){1&a&&(t.TgZ(0,"div",0)(1,"div",1)(2,"div",2)(3,"span"),t._UZ(4,"i",3),t._uU(5," Settings"),t.qZA()(),t.TgZ(6,"div",4)(7,"div",5)(8,"form",6)(9,"div",7)(10,"label",8),t._uU(11,"Log Database Connection String"),t.qZA(),t.YNc(12,w,1,0,"i",9),t.YNc(13,P,1,1,"i",10),t.qZA(),t.TgZ(14,"div",11)(15,"div",12),t._UZ(16,"textarea",13),t.TgZ(17,"div",14),t._uU(18),t.qZA()(),t.TgZ(19,"div",15)(20,"p")(21,"i",16),t.NdJ("click",function(){return o.copyToClipboard()}),t.qZA()(),t.TgZ(22,"p"),t._uU(23),t.qZA()()(),t.TgZ(24,"div",17)(25,"label",8),t._uU(26,"Log Remove Scheduler Run CRON "),t.TgZ(27,"span",18),t._uU(28,"(Clean logs daily ex : 0 0 0 * * *)"),t.qZA()()(),t.TgZ(29,"div",19),t._UZ(30,"input",20),t.TgZ(31,"div",14),t._uU(32),t.qZA()(),t.TgZ(33,"div",17)(34,"label",8),t._uU(35,"Max logs save count "),t.TgZ(36,"span",18),t._uU(37,"(ex: 10000, it will keep recent 10000 logs)"),t.qZA()()(),t.TgZ(38,"div",19),t._UZ(39,"input",21),t.qZA(),t.TgZ(40,"div",17)(41,"label",8),t._uU(42,"Redis Connection JSON"),t.qZA(),t.YNc(43,E,1,0,"i",9),t.YNc(44,q,1,1,"i",22),t.qZA(),t.TgZ(45,"div",19)(46,"div",12)(47,"div",23)(48,"app-monaco-editor",24),t.NdJ("editorGenerated",function(p){return o.editorGenerated(p)}),t.qZA()(),t.TgZ(49,"div",14),t._uU(50),t.qZA()(),t.TgZ(51,"div",25)(52,"span")(53,"i",26),t.NdJ("click",function(){return o.copyToClipboard("json")}),t.qZA()(),t.TgZ(54,"pre",27)(55,"code",28),t._uU(56),t.TgZ(57,"span",29),t._uU(58,'"nodes"'),t.qZA(),t._uU(59),t.TgZ(60,"span",29),t._uU(61,'"port"'),t.qZA(),t._uU(62,": "),t.TgZ(63,"span",30),t._uU(64,"6390"),t.qZA(),t._uU(65,",\n "),t.TgZ(66,"span",29),t._uU(67,'"host"'),t.qZA(),t._uU(68,": "),t.TgZ(69,"span",30),t._uU(70,'"127.0.0.1"'),t.qZA(),t._uU(71,",\n "),t.TgZ(72,"span",29),t._uU(73,'"pass"'),t.qZA(),t._uU(74,": "),t.TgZ(75,"span",30),t._uU(76,'""'),t.qZA(),t._uU(77),t.TgZ(78,"span",29),t._uU(79,'"otherRedisClusterOptions"'),t.qZA(),t._uU(80,": "),t.TgZ(81,"span",30),t._uU(82,"null"),t.qZA(),t._uU(83,",\n "),t.TgZ(84,"span",29),t._uU(85,'"redisValueExpireInSeconds"'),t.qZA(),t._uU(86,": "),t.TgZ(87,"span",31),t._uU(88,"7200"),t.qZA(),t._uU(89,",\n "),t.TgZ(90,"span",29),t._uU(91,'"maxCharsResToCache"'),t.qZA(),t._uU(92,": "),t.TgZ(93,"span",31),t._uU(94,"1000000"),t.qZA(),t._uU(95),t.qZA(),t._uU(96,"\n"),t.qZA()()(),t.TgZ(97,"div",17)(98,"label",8),t._uU(99,"Universal Login Captcha"),t.qZA()(),t.TgZ(100,"div",19),t._UZ(101,"input",32),t.qZA(),t.TgZ(102,"div",17)(103,"label",33),t._uU(104," D2 Diagram Library Path "),t.TgZ(105,"a",34),t._UZ(106,"i",35),t._uU(107," Install Guide "),t.qZA(),t.YNc(108,k,3,0,"a",36),t.YNc(109,W,1,0,"i",9),t.YNc(110,Y,2,1,"span",37),t.YNc(111,M,1,1,"i",10),t.qZA()(),t.TgZ(112,"div",19),t._UZ(113,"input",38),t.qZA(),t.YNc(114,V,4,3,"div",39),t.TgZ(115,"div",17)(116,"label",33),t._uU(117," JWT Password "),t.TgZ(118,"span",18),t._uU(119,"(It will be used for generating JWT tokens)"),t.qZA(),t.TgZ(120,"a",40),t.NdJ("click",function(){return o.generateRandomValue("passJWTOfAPIUsers")}),t._UZ(121,"i",41),t._uU(122," Generate "),t.qZA()()(),t.TgZ(123,"div",42),t._UZ(124,"input",43),t.qZA(),t.TgZ(125,"div",44)(126,"span",18),t._uU(127,"If you change this value, all the users of your applications will be logged out."),t.qZA()(),t.TgZ(128,"div",17)(129,"label",33),t._uU(130," JWT Tokens Expires In Seconds "),t.TgZ(131,"span",18),t._uU(132,"(259200 = 3 Days | 72 Hours)"),t.qZA()()(),t.TgZ(133,"div",19),t._UZ(134,"input",45),t.qZA(),t.TgZ(135,"div",17)(136,"label",8),t._uU(137,"Server Startup Script"),t.qZA()(),t.TgZ(138,"div",19)(139,"div",12)(140,"div",23)(141,"app-monaco-editor",24),t.NdJ("editorGenerated",function(p){return o.editorGeneratedStartupScript(p)}),t.qZA()(),t._UZ(142,"div",14),t.qZA(),t.TgZ(143,"div",25)(144,"pre",46),t._uU(145,"\n\u21d2 You can write direct bash script in it.\n\u21d2 It will be executed once when process starts or 1st worker starts.\n\u21d2 All environment variables are available.\n\u21d2 Mostly used to provide NPM packages to native APIs, but we can write anything based on our business requirement.\n\n Ex:-\n npm install is-even\n"),t.qZA()()(),t.TgZ(146,"div",47)(147,"div",48)(148,"button",49),t.NdJ("click",function(){return o.update()}),t._UZ(149,"i",50),t.TgZ(150,"span"),t._uU(151,"Update"),t.qZA()()()()()()(),t.YNc(152,G,1,0,"p-progressSpinner",51),t.qZA()()),2&a&&(t.xp6(8),t.Q6J("formGroup",o.form),t.xp6(4),t.Q6J("ngIf",o.validationResp&&(null==o.formData?null:o.formData.logDatabaseConnectionString)&&!(null!=o.validationResp&&o.validationResp.logDatabaseConnectionMessage)),t.xp6(1),t.Q6J("ngIf",null==o.validationResp?null:o.validationResp.logDatabaseConnectionMessage),t.xp6(3),t.Q6J("autoResize",!0),t.xp6(2),t.Oqu(null==o.validationResp?null:o.validationResp.logDatabaseConnectionMessage),t.xp6(5),t.Oqu(o.sampleConnectionString),t.xp6(9),t.Oqu(null==o.validationResp?null:o.validationResp.logRemoveSchedulerIntervalMessage),t.xp6(11),t.Q6J("ngIf",o.validationResp&&(null==o.formData?null:o.formData.externalRedisSettingsJsonString)&&!(null!=o.validationResp&&o.validationResp.externalRedisSettingsJsonMessage)),t.xp6(1),t.Q6J("ngIf",null==o.validationResp?null:o.validationResp.externalRedisSettingsJsonMessage),t.xp6(4),t.Q6J("isSchemaEditor",!1)("editorOptions",o.editorOptionsRedisConnectionJSON),t.xp6(2),t.Oqu(null==o.validationResp?null:o.validationResp.externalRedisSettingsJsonMessage),t.xp6(6),t.hij("\n","{","\n "),t.xp6(3),t.hij(": [\n ","{","\n "),t.xp6(18),t.hij("\n ","}","\n ],\n "),t.xp6(18),t.hij("\n","}","\n"),t.xp6(13),t.Q6J("ngIf","Linux"===o.authCS.backendSettings.osType),t.xp6(1),t.Q6J("ngIf",null==o.validationResp?null:o.validationResp.d2DiagramLibVersion),t.xp6(1),t.Q6J("ngIf",null==o.validationResp?null:o.validationResp.d2DiagramLibVersion),t.xp6(1),t.Q6J("ngIf",null==o.validationResp?null:o.validationResp.d2DiagramLibPathMessage),t.xp6(3),t.Q6J("ngIf",o.d2InstallError),t.xp6(27),t.Q6J("isSchemaEditor",!1)("editorOptions",o.editorOptionsStartupScript),t.xp6(11),t.Q6J("ngIf",o.loading.form))},dependencies:[l._Y,l.Fj,l.wV,l.JJ,l.JL,l.nD,l.sg,l.u,x.O5,A.y,J.O,I.G,L.u,O.g,N.z],encapsulation:2})}return n})(),canActivate:[T.g]}];let Q=(()=>{class n{static \u0275fac=function(a){return new(a||n)};static \u0275mod=t.oAB({type:n});static \u0275inj=t.cJS({imports:[h.Bz.forChild(j),Z.u]})}return n})()}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkapi_maker_fe=self.webpackChunkapi_maker_fe||[]).push([[6393],{66393:(ae,v,r)=>{r.r(v),r.d(v,{AdminUserM:()=>te});var b=r(77664),E=r(17017),e=r(94946),m=r(15861),c=r(33157),p=r(90328),f=r(56212),M=r(6990),u=r(60921),h=r(51162),U=r(33835),C=r(77240),A=r(99961),Z=r(85219),x=r(92189),y=r(90204),P=r(32915),S=r(96814),_=r(95431),D=r(97680),N=r(33259),o=r(60095),T=r(20553),O=r(95852),R=r(32660);function Y(n,l){1&n&&(e.TgZ(0,"span"),e._UZ(1,"i",22),e._uU(2," Add User"),e.qZA())}function k(n,l){1&n&&(e.TgZ(0,"span"),e._UZ(1,"i",23),e._uU(2," View User"),e.qZA())}function J(n,l){1&n&&(e.TgZ(0,"span"),e._UZ(1,"i",24),e._uU(2," Edit User"),e.qZA())}function Q(n,l){1&n&&(e.TgZ(0,"div",10)(1,"label",11),e._uU(2,"Password"),e.qZA(),e.TgZ(3,"div",12),e._UZ(4,"input",25),e.qZA()())}function V(n,l){1&n&&(e.TgZ(0,"span"),e._uU(1,"Save User"),e.qZA())}function q(n,l){1&n&&(e.TgZ(0,"span"),e._uU(1,"Update User"),e.qZA())}function G(n,l){if(1&n){const t=e.EpF();e.TgZ(0,"button",26),e.NdJ("click",function(){e.CHM(t);const a=e.oxw();return e.KtG(a.save())}),e._UZ(1,"i",27),e.YNc(2,V,2,0,"span",4),e.YNc(3,q,2,0,"span",4),e.qZA()}if(2&n){const t=e.oxw();e.Q6J("disabled",t.form.invalid),e.xp6(2),e.Q6J("ngIf",t.data.mode===t.EFormMode.ADD),e.xp6(1),e.Q6J("ngIf",t.data.mode===t.EFormMode.EDIT)}}function W(n,l){1&n&&e._UZ(0,"p-progressSpinner",28)}let w=(()=>{class n{fb;ns;userS;generalS;constantsCS;authCS;data;loading={form:!1};EFormMode=p.D;form;subscriptions=[];constructor(t,s,a,i,d,g){this.fb=t,this.ns=s,this.userS=a,this.generalS=i,this.constantsCS=d,this.authCS=g}ngOnInit(){var t=this;this.createForm(),this.subscriptions.push(this.data.eventChannel.subscribe(function(){var s=(0,m.Z)(function*(a){if(a)if(t.form.enable(),a.action===c.F.OPEN_FORM_IN_EDIT_MODE){const i=yield t.userS.getById(t.data.formData._id).toPromise();t.form.reset(),t.form.patchValue(i.data),t.form.get("password").setValidators([]),t.form.get("password").updateValueAndValidity()}else if(a.action===c.F.OPEN_FORM_IN_VIEW_MODE){const i=yield t.userS.getById(t.data.formData._id).toPromise();t.form.reset(),t.form.patchValue(i.data),t.form.disable()}else a.action===c.F.OPEN_FORM_IN_ADD_MODE&&(t.form.reset(),t.form.get("password").setValidators([o.kI.required,o.kI.minLength(4),o.kI.maxLength(40)]),t.form.get("password").updateValueAndValidity())});return function(a){return s.apply(this,arguments)}}()))}createForm(){this.form=this.fb.group({name:[null,[o.kI.required]],email:[null,[o.kI.required,o.kI.email]],apiPath:[null,[o.kI.required,o.kI.minLength(3),o.kI.maxLength(25),o.kI.pattern("[a-z0-9]*")]],password:[null,[]]})}showModal(){$("#idAMUsersForm").modal("show")}hideModal(){$("#idAMUsersForm").modal("hide")}save(){var t=this;return(0,m.Z)(function*(){const s=t.form.getRawValue();s.user=t.authCS.getUserId(),s.userType=u.d.ADMIN;try{let a;t.loading.form=!0,t.data.mode===p.D.ADD?(s.password=t.generalS.getEncryptedString(s.password,T.N.crypto.passCommunication),a=yield t.userS.post(s).toPromise(),t.ns.showSuccess(t.constantsCS.user.addSuccess)):t.data.mode===p.D.EDIT&&(t.data.formData._id&&(s.userType=t.data.formData.userType,t.form.get("password").value?s.password=t.generalS.getEncryptedString(s.password,T.N.crypto.passCommunication):delete s.password),a=yield t.userS.put(t.data.formData._id,s,{select:h.iH._id}).toPromise(),t.ns.showSuccess(t.constantsCS.user.editSuccess)),t.data.eventChannel.emit({action:t.data.mode===p.D.ADD?c.F.SAVED:c.F.UPDATED}),t.loading.form=!1}catch(a){t.loading.form=!1,t.ns.showErrorFromResponse(a.error||a,"Unable to save user info.")}})()}ngOnDestroy(){this.generalS.unsubscribe(this.subscriptions)}static \u0275fac=function(s){return new(s||n)(e.Y36(o.qu),e.Y36(A.W),e.Y36(U.K),e.Y36(C.b),e.Y36(y.s),e.Y36(O.D))};static \u0275cmp=e.Xpm({type:n,selectors:[["app-w-admin-user-form"]],inputs:{data:"data"},decls:34,vars:7,consts:[["aria-hidden","true","aria-labelledby","exampleModalLabel","id","idAMUsersForm","role","dialog","data-backdrop","static","data-keyboard","false",1,"modal"],["role","document",1,"modal-dialog"],[1,"modal-content"],[1,"modal-header"],[4,"ngIf"],["aria-label","Close","data-dismiss","modal","type","button",1,"close"],["aria-hidden","true"],[1,"fas","fa-window-close"],[1,"modal-body","overflow-auto"],[1,"container","pt-3",3,"formGroup"],[1,"form-group","row"],[1,"col-4","col-form-label","col-form-label-sm","text-right"],[1,"col-6"],["formControlName","name","name","name","spellcheck","false","type","text","placeholder","Please provide name",1,"form-control","form-control-sm"],["formControlName","email","name","email","spellcheck","false","type","text","placeholder","Please provide email",1,"form-control","form-control-sm"],["class","form-group row",4,"ngIf"],["formControlName","apiPath","name","apiPath","spellcheck","false","type","text","placeholder","Please provide api path",1,"form-control","text-lowercase","form-control-sm"],[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,"disabled","click",4,"ngIf"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s",4,"ngIf"],[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"],["formControlName","password","name","password","spellcheck","false","type","password","placeholder","Please provide password",1,"form-control","form-control-sm"],["sava-no-dbl-click","","type","button",1,"btn","btn-primary","btn-sm",3,"disabled","click"],[1,"fas","fa-save","text-success","fa-fw","mr-1"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s"]],template:function(s,a){1&s&&(e.TgZ(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3),e.YNc(4,Y,3,0,"span",4),e.YNc(5,k,3,0,"span",4),e.YNc(6,J,3,0,"span",4),e.TgZ(7,"button",5)(8,"span",6),e._UZ(9,"i",7),e.qZA()()(),e.TgZ(10,"div",8)(11,"form",9)(12,"div",10)(13,"label",11),e._uU(14,"Name"),e.qZA(),e.TgZ(15,"div",12),e._UZ(16,"input",13),e.qZA()(),e.TgZ(17,"div",10)(18,"label",11),e._uU(19,"Email"),e.qZA(),e.TgZ(20,"div",12),e._UZ(21,"input",14),e.qZA()(),e.YNc(22,Q,5,0,"div",15),e.TgZ(23,"div",10)(24,"label",11),e._uU(25,"API Path"),e.qZA(),e.TgZ(26,"div",12),e._UZ(27,"input",16),e.qZA()()()(),e.TgZ(28,"div",17)(29,"button",18),e._UZ(30,"i",19),e._uU(31," Close"),e.qZA(),e.YNc(32,G,4,3,"button",20),e.qZA(),e.YNc(33,W,1,0,"p-progressSpinner",21),e.qZA()()()),2&s&&(e.xp6(4),e.Q6J("ngIf",a.data.mode===a.EFormMode.ADD),e.xp6(1),e.Q6J("ngIf",a.data.mode===a.EFormMode.VIEW),e.xp6(1),e.Q6J("ngIf",a.data.mode===a.EFormMode.EDIT),e.xp6(5),e.Q6J("formGroup",a.form),e.xp6(11),e.Q6J("ngIf",a.data.mode!==a.EFormMode.VIEW),e.xp6(10),e.Q6J("ngIf",a.data.mode!==a.EFormMode.VIEW),e.xp6(1),e.Q6J("ngIf",a.loading.form))},dependencies:[o._Y,o.Fj,o.JJ,o.JL,o.sg,o.u,S.O5,R.y,D.G],encapsulation:2})}return n})();const K=["adminUserFormC"];function H(n,l){if(1&n){const t=e.EpF();e.TgZ(0,"span",14),e.NdJ("click",function(){e.CHM(t);const a=e.oxw();return e.KtG(a.edit())}),e._UZ(1,"i",15),e.qZA()}}function L(n,l){if(1&n){const t=e.EpF();e.TgZ(0,"span",16),e.NdJ("click",function(){e.CHM(t);const a=e.oxw();return e.KtG(a.removePermanentDialog())}),e._UZ(1,"i",17),e.qZA()}}function B(n,l){1&n&&(e.TgZ(0,"tr")(1,"th"),e._uU(2,"Name"),e.qZA(),e.TgZ(3,"th"),e._uU(4,"Email"),e.qZA(),e.TgZ(5,"th"),e._uU(6,"API Path"),e.qZA()())}function j(n,l){if(1&n&&(e.TgZ(0,"tr",18)(1,"td"),e._uU(2),e.qZA(),e.TgZ(3,"td"),e._uU(4),e.qZA(),e.TgZ(5,"td"),e._uU(6),e.qZA()()),2&n){const t=l.$implicit;e.Q6J("pSelectableRow",t),e.xp6(2),e.Oqu(t.name),e.xp6(2),e.Oqu(t.email),e.xp6(2),e.Oqu(t.apiPath)}}function X(n,l){1&n&&e._UZ(0,"p-progressSpinner",19)}let I=(()=>{class n{userS;generalS;notificationS;confirmationService;navigationCS;constantsCS;eventCenterS;loading={grid:!1};subscriptions=[];data={mode:p.D.ADD,eventChannel:new e.vpe,formData:void 0};rows=[];rowsMap={};showAll=!1;selectedRows=[];gridKey=h.iH._id;adminUserFormC;constructor(t,s,a,i,d,g,se){this.userS=t,this.generalS=s,this.notificationS=a,this.confirmationService=i,this.navigationCS=d,this.constantsCS=g,this.eventCenterS=se}ngOnInit(){this.eventCenterS.user.selectedUsers.next([]),this.loadGridData(),this.subscriptions.push(this.data.eventChannel.subscribe(t=>{(t.action===c.F.SAVED||t.action===c.F.UPDATED)&&(this.adminUserFormC.hideModal(),this.loadGridData())}))}loadGridData(){var t=this;this.loading.grid=!0;const s={find:{active:!0,userType:{$in:[u.d.ROOT,u.d.ADMIN]}},select:{name:1,email:1,apiPath:1,active:1,userType:1},sort:{name:1}};this.showAll&&delete s.find.active,this.subscriptions.push(this.userS.query(s).subscribe(function(){var a=(0,m.Z)(function*(i){i.success&&(t.selectedRows=[],t.rows=i.data,t.rowsMap=M.keyBy(t.rows,h.iH._id));const d=t.navigationCS.getQueryParam(f.p.user);t.rowsMap[d]&&(t.eventCenterS.user.selectedUsers.next([t.rowsMap[d]]),t.selectedRows=[t.rowsMap[d]],yield t.fillData()),t.loading.grid=!1});return function(i){return a.apply(this,arguments)}}()))}add(){this.data.formData=void 0,this.data.mode=p.D.ADD,this.data.eventChannel.emit({action:c.F.OPEN_FORM_IN_ADD_MODE}),this.adminUserFormC.showModal()}view(){this.data.formData=this.selectedRows[0],this.data.mode=p.D.VIEW,this.data.eventChannel.emit({action:c.F.OPEN_FORM_IN_VIEW_MODE}),this.adminUserFormC.showModal()}edit(){this.data.formData=this.selectedRows[0],this.data.mode=p.D.EDIT,this.data.eventChannel.emit({action:c.F.OPEN_FORM_IN_EDIT_MODE}),this.adminUserFormC.showModal()}removePermanentDialog(){var t=this;return(0,m.Z)(function*(){var s;t.confirmationService.confirm({message:t.constantsCS.user.removePermanentConfirm,header:"Confirmation",icon:"pi pi-exclamation-triangle",accept:(s=(0,m.Z)(function*(){yield t.removePermanent()}),function(){return s.apply(this,arguments)})})})()}removePermanent(){var t=this;return(0,m.Z)(function*(){t.loading.grid=!0;const s=yield t.userS.permanentDelete(t.selectedRows[0]._id).toPromise();t.loading.grid=!1,s.success?(t.notificationS.showSuccess(t.constantsCS.user.removePermanent),t.resetSelectedRows(),t.loadGridData()):t.notificationS.showErrorFromResponse(s,t.constantsCS.user.removePermanentError)})()}resetSelectedRows(){this.selectedRows.length=0,this.eventCenterS.user.selectedUsers.next([])}resetDependents(){var t=this;return(0,m.Z)(function*(){t.eventCenterS.user.selectedUsers.next([]),yield t.navigationCS.setQueryParam(f.p.user,null)})()}adminUserSelected(t){var s=this;return(0,m.Z)(function*(){s.selectedRows=t,s.resetDependents(),s.fillData()})()}fillData(){var t=this;return(0,m.Z)(function*(){if(!t.selectedRows.length)return yield t.navigationCS.setQueryParam(f.p.user,""),void t.eventCenterS.user.selectedUsers.next([]);const s=(yield t.userS.getById(t.selectedRows[0]._id).toPromise()).data;s._id?(yield t.navigationCS.setQueryParam(f.p.user,s._id),t.eventCenterS.user.selectedUsers.next([s])):t.resetDependents()})()}ngOnDestroy(){this.generalS.unsubscribe(this.subscriptions)}dblClickUsers(){this.selectedRows.length&&this.edit()}static \u0275fac=function(s){return new(s||n)(e.Y36(U.K),e.Y36(C.b),e.Y36(A.W),e.Y36(Z.YP),e.Y36(x.S),e.Y36(y.s),e.Y36(P.u))};static \u0275cmp=e.Xpm({type:n,selectors:[["app-w-admin-users"]],viewQuery:function(s,a){if(1&s&&e.Gf(K,5),2&s){let i;e.iGM(i=e.CRH())&&(a.adminUserFormC=i.first)}},decls:16,vars:10,consts:[[1,"card","shadow-sm","h-100"],[1,"card-header"],[1,"fas","fa-users","text-info","fa-fw","mr-1"],["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","pTooltip","Edit",3,"click",4,"ngIf"],["class","float-right cursor-pointer ml-3","pTooltip","Make Inactive",3,"click",4,"ngIf"],[1,"card-body","p-0","h-100","overflow-hidden"],["styleClass","p-datatable-striped","scrollHeight","calc(100vh - 94px)",3,"selectionMode","metaKeySelection","selection","dataKey","scrollable","value","selectionChange","dblclick"],["pTemplate","header"],["pTemplate","body"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s",4,"ngIf"],[3,"data"],["adminUserFormC",""],["pTooltip","Edit",1,"float-right","cursor-pointer","ml-3",3,"click"],[1,"fas","fa-pencil-alt","text-light","fa-fw"],["pTooltip","Make Inactive",1,"float-right","cursor-pointer","ml-3",3,"click"],[1,"far","fa-trash-alt","fa-fw","text-danger"],[3,"pSelectableRow"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s"]],template:function(s,a){1&s&&(e.TgZ(0,"div",0)(1,"div",1)(2,"span"),e._UZ(3,"i",2),e._uU(4," Users"),e.qZA(),e.TgZ(5,"span",3),e.NdJ("click",function(){return a.add()}),e._UZ(6,"i",4),e.qZA(),e.YNc(7,H,2,0,"span",5),e.YNc(8,L,2,0,"span",6),e.qZA(),e.TgZ(9,"div",7)(10,"p-table",8),e.NdJ("selectionChange",function(d){return a.selectedRows=d})("dblclick",function(){return a.dblClickUsers()})("selectionChange",function(d){return a.adminUserSelected(d)}),e.YNc(11,B,7,0,"ng-template",9),e.YNc(12,j,7,4,"ng-template",10),e.qZA(),e.YNc(13,X,1,0,"p-progressSpinner",11),e.qZA()(),e._UZ(14,"app-w-admin-user-form",12,13)),2&s&&(e.xp6(7),e.Q6J("ngIf",a.selectedRows.length),e.xp6(1),e.Q6J("ngIf",a.selectedRows.length),e.xp6(2),e.Q6J("selectionMode","multiple")("metaKeySelection",!0)("selection",a.selectedRows)("dataKey",a.gridKey)("scrollable",!0)("value",a.rows),e.xp6(3),e.Q6J("ngIf",a.loading.grid),e.xp6(1),e.Q6J("data",a.data))},dependencies:[S.O5,_.iA,Z.jx,_.Ei,D.G,N.u,w],encapsulation:2})}return n})();const ee=[{path:"",component:(()=>{class n{constructor(){}ngOnInit(){}static \u0275fac=function(s){return new(s||n)};static \u0275cmp=e.Xpm({type:n,selectors:[["app-admin-user-layout"]],decls:2,vars:0,consts:[[1,"pt-1","pl-1","pr-1"],[1,"w-100"]],template:function(s,a){1&s&&(e.TgZ(0,"div",0),e._UZ(1,"app-w-admin-users",1),e.qZA())},dependencies:[I],encapsulation:2})}return n})(),canActivate:[r(81490).g]}];let te=(()=>{class n{static \u0275fac=function(s){return new(s||n)};static \u0275mod=e.oAB({type:n});static \u0275inj=e.cJS({imports:[b.Bz.forChild(ee),E.u]})}return n})()}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunkapi_maker_fe=self.webpackChunkapi_maker_fe||[]).push([[7368],{67368:(xe,S,s)=>{s.r(S),s.d(S,{SandboxSettingsM:()=>fe});var O=s(77664),D=s(63726),y=s(17017),M=s(70292),r=s(15861),e=s(94946),u=s(6990),v=s(33157),c=s(90328),k=s(51162),h=s(20553),I=s(54371),x=s(95852),b=s(33835),w=s(25405),Z=s(99961),p=s(85219),T=s(27414),U=s(62304),N=s(24977),P=s(53429),E=s(81344),J=s(77240),g=s(60095),_=s(96814),R=s(38147),G=s(91861),q=s(756),f=s(95431),K=s(97680),C=s(14844),A=s(33259),Y=s(32660);function F(a,l){1&a&&(e.TgZ(0,"tr")(1,"th"),e._uU(2,"Name"),e.qZA(),e.TgZ(3,"th",28),e._uU(4,"Action"),e.qZA()())}function H(a,l){if(1&a){const t=e.EpF();e.TgZ(0,"div",31)(1,"button",32),e.NdJ("click",function(n){e.CHM(t);const o=e.oxw().$implicit,d=e.oxw();return e.KtG(d.editAllowedOrigin(n,o))}),e._UZ(2,"i",33),e.qZA(),e.TgZ(3,"button",34),e.NdJ("click",function(n){e.CHM(t);const o=e.oxw().$implicit,d=e.oxw();return e.KtG(d.removeAllowedOrigin(n,o))}),e._UZ(4,"i",35),e.qZA()()}}function L(a,l){if(1&a&&(e.TgZ(0,"tr",29)(1,"td"),e._uU(2),e.qZA(),e.TgZ(3,"td"),e.YNc(4,H,5,0,"div",30),e.qZA()()),2&a){const t=l.$implicit;e.Q6J("pSelectableRow",t),e.xp6(2),e.Oqu(t.name),e.xp6(2),e.Q6J("ngIf",!t.isReadOnly)}}function Q(a,l){if(1&a){const t=e.EpF();e.TgZ(0,"button",36),e.NdJ("click",function(){e.CHM(t);const n=e.oxw();return e.KtG(n.save())}),e._UZ(1,"i",37),e.TgZ(2,"span"),e._uU(3,"Save"),e.qZA()()}}let V=(()=>{class a{authCS;userS;eventCenterCS;notificationS;cs;confirmationService;modalId="idAllowedOriginModal";subscriptions=[];allowedOriginsGridData=[];saveSettings=new e.vpe;gridKeyAllowedOrigins="name";allowedOriginModel={domainName:"",domainNameBak:""};exampleOrigin=location.origin;allowedOriginData={mode:c.D.ADD};EFormMode=c.D;selectedRowsUI=[];constructor(t,i,n,o,d,m){this.authCS=t,this.userS=i,this.eventCenterCS=n,this.notificationS=o,this.cs=d,this.confirmationService=m}ngOnInit(){}save(){var t=this;return(0,r.Z)(function*(){if(t.allowedOriginData.mode===c.D.ADD)t.allowedOriginsGridData.push({name:t.allowedOriginModel.domainName});else{const i=t.allowedOriginsGridData.findIndex(n=>n.name===t.allowedOriginModel.domainNameBak);t.allowedOriginsGridData[i].name=t.allowedOriginModel.domainName}t.allowedOriginsGridData=u.uniqBy(t.allowedOriginsGridData,"name"),t.saveSettings.emit(),t.hideAllowedOriginModal()})()}showAllowedOriginModal(){$("#idAllowedOriginModal").modal("show")}hideAllowedOriginModal(){$("#idAllowedOriginModal").modal("hide")}addAllowedOrigin(){var t=this;return(0,r.Z)(function*(){t.allowedOriginModel.domainNameBak=t.allowedOriginModel.domainName="",t.allowedOriginData.mode=c.D.ADD,t.showAllowedOriginModal()})()}editAllowedOrigin(t,i){var n=this;return(0,r.Z)(function*(){n.allowedOriginModel.domainNameBak=n.allowedOriginModel.domainName=i.name,n.allowedOriginData.mode=c.D.EDIT,n.showAllowedOriginModal()})()}doubleClick(){this.editAllowedOrigin(null,this.selectedRowsUI[0]).then()}removeAllowedOrigin(t,i){var n=this;return(0,r.Z)(function*(){var o;n.confirmationService.confirm({message:n.cs.amUserSandboxDepSetting.removePermanentAllowedOriginConfirm,header:"Confirmation",icon:"pi pi-exclamation-triangle",accept:(o=(0,r.Z)(function*(){yield n.removeAO(t,i)}),function(){return o.apply(this,arguments)})})})()}removeAO(t,i){var n=this;return(0,r.Z)(function*(){const o=n.allowedOriginsGridData.findIndex(d=>d.name===i.name);n.allowedOriginsGridData.splice(o,1),n.saveSettings.emit()})()}ngOnDestroy(){for(const t of this.subscriptions)t.unsubscribe()}static \u0275fac=function(i){return new(i||a)(e.Y36(x.D),e.Y36(b.K),e.Y36(w.M),e.Y36(Z.W),e.Y36(T.L),e.Y36(p.YP))};static \u0275cmp=e.Xpm({type:a,selectors:[["allowed-origin-c"]],inputs:{allowedOriginsGridData:["allowedOrigins","allowedOriginsGridData"]},outputs:{saveSettings:"saveSettings"},decls:37,vars:10,consts:[[1,"card","shadow-sm","mt-2","mr-1","mb-5",2,"height","384px"],[1,"card-header"],[1,"fas","fa-link","text-yellow","fa-fw","mr-1"],["pTooltip","Add New",1,"float-right","cursor-pointer","mr-1",3,"click"],[1,"fas","fa-plus","text-success","fa-fw"],[1,"card-body","p-0","overflow-hidden"],["styleClass","p-datatable-striped","scrollHeight","350px",3,"selectionMode","metaKeySelection","selection","dataKey","scrollable","value","selectionChange","dblclick"],["pTemplate","header"],["pTemplate","body"],["aria-hidden","true","role","dialog","data-backdrop","static","data-keyboard","false",1,"modal",3,"id"],["role","document",1,"modal-dialog","modal-lg"],[1,"modal-content"],[1,"modal-header"],[1,"fas","fa-plus","text-success","fa-fw","mr-1"],["aria-label","Close","data-dismiss","modal","type","button",1,"close"],["aria-hidden","true"],[1,"fas","fa-window-close"],[1,"modal-body"],[1,"form-group","row","mt-3","mb-0"],[1,"col-4","col-form-label","col-form-label-sm","text-right"],[1,"col-6"],["name","name","spellcheck","false","type","text","placeholder","Please provide domain name",1,"form-control","form-control-sm",3,"ngModel","blur","ngModelChange"],[1,"form-group","row"],[1,"col-form-label","col-form-label-sm","text-info","font-monospaced"],[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"],[2,"width","100px"],[3,"pSelectableRow"],["class","text-center",4,"ngIf"],[1,"text-center"],["pTooltip","Edit","tooltipPosition","left",1,"btn","btn-xsm-custom","mr-1",3,"click"],[1,"fas","fa-pencil-alt","text-light","fa-fw","cursor-pointer"],["pTooltip","Permanent Delete","tooltipPosition","left",1,"btn","btn-xsm-custom","ml-1",3,"click"],[1,"far","fa-trash-alt","fa-fw","cursor-pointer","text-danger"],["sava-no-dbl-click","","type","button",1,"btn","btn-primary","btn-sm",3,"click"],[1,"fas","fa-save","text-success","fa-fw","mr-1"]],template:function(i,n){1&i&&(e.TgZ(0,"div",0)(1,"div",1)(2,"span"),e._UZ(3,"i",2),e._uU(4," Allowed Origins"),e.qZA(),e.TgZ(5,"span",3),e.NdJ("click",function(){return n.addAllowedOrigin()}),e._UZ(6,"i",4),e.qZA()(),e.TgZ(7,"div",5)(8,"p-table",6),e.NdJ("selectionChange",function(d){return n.selectedRowsUI=d})("dblclick",function(){return n.doubleClick()}),e.YNc(9,F,5,0,"ng-template",7),e.YNc(10,L,5,3,"ng-template",8),e.qZA()()(),e.TgZ(11,"div",9)(12,"div",10)(13,"div",11)(14,"div",12)(15,"span"),e._UZ(16,"i",13),e._uU(17," Allowed Origins"),e.qZA(),e.TgZ(18,"button",14)(19,"span",15),e._UZ(20,"i",16),e.qZA()()(),e.TgZ(21,"div",17)(22,"div",18)(23,"label",19),e._uU(24,"Domain name"),e.qZA(),e.TgZ(25,"div",20)(26,"input",21),e.NdJ("blur",function(){return n.allowedOriginModel.domainName=n.allowedOriginModel.domainName.toLowerCase()})("ngModelChange",function(d){return n.allowedOriginModel.domainName=d}),e.qZA()()(),e.TgZ(27,"div",22),e._UZ(28,"label",19),e.TgZ(29,"div",20)(30,"label",23),e._uU(31),e.qZA()()()(),e.TgZ(32,"div",24)(33,"button",25),e._UZ(34,"i",26),e._uU(35," Close"),e.qZA(),e.YNc(36,Q,4,0,"button",27),e.qZA()()()()),2&i&&(e.xp6(8),e.Q6J("selectionMode","multiple")("metaKeySelection",!0)("selection",n.selectedRowsUI)("dataKey",n.gridKeyAllowedOrigins)("scrollable",!0)("value",n.allowedOriginsGridData),e.xp6(3),e.s9C("id",n.modalId),e.xp6(15),e.Q6J("ngModel",n.allowedOriginModel.domainName),e.xp6(5),e.hij("(Ex: ",n.exampleOrigin,")"),e.xp6(5),e.Q6J("ngIf",n.allowedOriginData.mode!==n.EFormMode.VIEW))},dependencies:[g.Fj,g.JJ,g.On,_.O5,Y.y,f.iA,p.jx,f.Ei,A.u],encapsulation:2})}return a})();const B=["addNpmLibC"],j=["allowedOriginC"],W=["SandboxSettingsPkgVersionsModalC"];function z(a,l){1&a&&(e.TgZ(0,"tr"),e._UZ(1,"th",49)(2,"th",50),e.TgZ(3,"th",51),e._uU(4,"Version"),e.qZA(),e.TgZ(5,"th"),e._uU(6,"Name"),e.qZA(),e.TgZ(7,"th",52),e._uU(8,"Sub Dependencies"),e.qZA(),e.TgZ(9,"th",53),e._uU(10,"Third Party API"),e.qZA(),e.TgZ(11,"th",54),e._uU(12,"Default"),e.qZA(),e.TgZ(13,"th",55),e._uU(14,"Action"),e.qZA()())}function X(a,l){1&a&&e._UZ(0,"i",64)}function ee(a,l){1&a&&e._UZ(0,"i",65)}function te(a,l){if(1&a&&(e.TgZ(0,"div",67),e._uU(1),e.qZA()),2&a){const t=l.$implicit;e.xp6(1),e.AsE("",t.name," @",t.version,"")}}function ne(a,l){if(1&a&&(e.TgZ(0,"div"),e.YNc(1,te,2,2,"div",66),e.qZA()),2&a){const t=l.$implicit;e.xp6(1),e.Q6J("ngForOf",t.dependencies)}}function ie(a,l){1&a&&e._UZ(0,"i",68)}function ae(a,l){1&a&&e._UZ(0,"i",68)}function oe(a,l){if(1&a){const t=e.EpF();e.TgZ(0,"div",61)(1,"button",69),e.NdJ("click",function(n){e.CHM(t);const o=e.oxw().$implicit,d=e.oxw(2);return e.KtG(d.editData(n,o))}),e._UZ(2,"i",70),e.qZA(),e.TgZ(3,"button",71),e.NdJ("click",function(n){e.CHM(t);const o=e.oxw().$implicit,d=e.oxw(2);return e.KtG(d.removePermanentDialog(n,o))}),e._UZ(4,"i",72),e.qZA()()}}function se(a,l){if(1&a&&(e.TgZ(0,"tr",56)(1,"td"),e._uU(2),e.qZA(),e.TgZ(3,"td"),e.YNc(4,X,1,0,"i",57),e.YNc(5,ee,1,0,"i",58),e.qZA(),e.TgZ(6,"td"),e._uU(7),e.qZA(),e.TgZ(8,"td"),e._uU(9),e.qZA(),e.TgZ(10,"td")(11,"div",59),e.YNc(12,ne,2,1,"div",60),e.qZA()(),e.TgZ(13,"td",61),e.YNc(14,ie,1,0,"i",62),e.qZA(),e.TgZ(15,"td",61),e.YNc(16,ae,1,0,"i",62),e.qZA(),e.TgZ(17,"td"),e.YNc(18,oe,5,0,"div",63),e.qZA()()),2&a){const t=l.$implicit,i=l.rowIndex;e.Q6J("pSelectableRow",t),e.xp6(2),e.Oqu(i+1),e.xp6(2),e.Q6J("ngIf",t.active),e.xp6(1),e.Q6J("ngIf",!t.active),e.xp6(2),e.Oqu(t.version),e.xp6(2),e.Oqu(t.name),e.xp6(3),e.Q6J("ngForOf",t.subDependencies),e.xp6(2),e.Q6J("ngIf",t.isThirdPartyApi),e.xp6(2),e.Q6J("ngIf",t.isDefault),e.xp6(2),e.Q6J("ngIf",!t.isReadOnly)}}function le(a,l){1&a&&(e.TgZ(0,"tr"),e._UZ(1,"th",49),e.TgZ(2,"th",51),e._uU(3,"Version"),e.qZA(),e.TgZ(4,"th"),e._uU(5,"Name"),e.qZA(),e.TgZ(6,"th",73),e._uU(7,"Third Party API"),e.qZA(),e.TgZ(8,"th",51),e._uU(9,"Default"),e.qZA()())}function de(a,l){1&a&&e._UZ(0,"i",68)}function re(a,l){1&a&&e._UZ(0,"i",68)}function ce(a,l){if(1&a&&(e.TgZ(0,"tr",56)(1,"td"),e._uU(2),e.qZA(),e.TgZ(3,"td"),e._uU(4),e.qZA(),e.TgZ(5,"td"),e._uU(6),e.qZA(),e.TgZ(7,"td"),e.YNc(8,de,1,0,"i",62),e.qZA(),e.TgZ(9,"td"),e.YNc(10,re,1,0,"i",62),e.qZA()()),2&a){const t=l.$implicit,i=l.rowIndex;e.Q6J("pSelectableRow",t),e.xp6(2),e.Oqu(i+1),e.xp6(2),e.Oqu(t.version),e.xp6(2),e.Oqu(t.name),e.xp6(2),e.Q6J("ngIf",t.isThirdPartyApi),e.xp6(2),e.Q6J("ngIf",t.isDefault)}}function ge(a,l){1&a&&e._UZ(0,"p-progressSpinner",74)}function me(a,l){if(1&a){const t=e.EpF();e.TgZ(0,"div",5)(1,"div",6)(2,"button",7),e.NdJ("click",function(){e.CHM(t);const n=e.oxw();return e.KtG(n.loadGridData())}),e._UZ(3,"i",8),e._uU(4," Refresh "),e.qZA(),e.TgZ(5,"button",9),e.NdJ("click",function(){e.CHM(t);const n=e.oxw();return e.KtG(n.saveSettings(n.EFormMode.EDIT))}),e._UZ(6,"i",10),e._uU(7," Save "),e.qZA()(),e.TgZ(8,"div",11)(9,"div",12)(10,"span"),e._UZ(11,"i",13),e._uU(12," Settings"),e.qZA()(),e.TgZ(13,"div",14)(14,"div",15)(15,"div",16)(16,"label",17),e._uU(17,"Sandbox Count"),e.qZA(),e.TgZ(18,"input",18),e.NdJ("ngModelChange",function(n){e.CHM(t);const o=e.oxw();return e.KtG(o.settings.sandbox.sandboxCountOverrideAdmin=n)}),e.qZA(),e.TgZ(19,"div",19)(20,"span",20)(21,"span"),e._uU(22,"1 CPU core will have one process and one process will have these many sandbox."),e.qZA(),e._UZ(23,"br"),e.TgZ(24,"span"),e._uU(25,"Ideally it should be 1-2."),e.qZA()()()(),e.TgZ(26,"div",21)(27,"label",17),e._uU(28,"Automatic Sandbox Restart In Seconds"),e.qZA(),e.TgZ(29,"input",22),e.NdJ("ngModelChange",function(n){e.CHM(t);const o=e.oxw();return e.KtG(o.settings.sandbox.automaticSandboxRestartInSeconds=n)}),e.qZA(),e.TgZ(30,"div",19)(31,"span",20)(32,"span",23),e._uU(33,"All sandbox will be restarted automatically after these many seconds across all servers, without failing any request."),e.qZA(),e._UZ(34,"br"),e.qZA()()()()()(),e.TgZ(35,"div",11)(36,"div",12)(37,"span"),e._UZ(38,"i",24),e._uU(39," Sandbox Dependencies"),e.qZA(),e.TgZ(40,"div",25)(41,"a",26),e._UZ(42,"img",27),e.qZA()(),e.TgZ(43,"span",28),e.NdJ("click",function(){e.CHM(t);const n=e.oxw();return e.KtG(n.showLibraryModel())}),e._UZ(44,"i",29),e.qZA()(),e.TgZ(45,"div",30)(46,"p-tabView",31)(47,"p-tabPanel",32)(48,"p-table",33),e.NdJ("selectionChange",function(n){e.CHM(t);const o=e.oxw();return e.KtG(o.selectedRowsUI=n)})("dblclick",function(){e.CHM(t);const n=e.oxw();return e.KtG(n.summaryTableDoubleClick())}),e.YNc(49,z,15,0,"ng-template",34),e.YNc(50,se,19,10,"ng-template",35),e.qZA()(),e.TgZ(51,"p-tabPanel",36)(52,"p-table",37),e.NdJ("selectionChange",function(n){e.CHM(t);const o=e.oxw();return e.KtG(o.selectedRowsPackageJson=n)}),e.YNc(53,le,10,0,"ng-template",34),e.YNc(54,ce,11,6,"ng-template",35),e.qZA()()(),e.YNc(55,ge,1,0,"p-progressSpinner",38),e.qZA()(),e.TgZ(56,"div",11)(57,"div",12)(58,"span"),e._UZ(59,"i",39),e._uU(60," Docker File"),e.qZA(),e.TgZ(61,"span",40),e.NdJ("click",function(){e.CHM(t);const n=e.oxw();return e.KtG(n.resetDockerfileToDefault())}),e._UZ(62,"i",41),e.qZA(),e.TgZ(63,"span",42),e.NdJ("click",function(){e.CHM(t);const n=e.oxw();return e.KtG(n.showDockerImageBuildLogs())}),e._UZ(64,"i",43),e.qZA()(),e.TgZ(65,"div",44)(66,"app-monaco-editor",45),e.NdJ("editorGenerated",function(n){e.CHM(t);const o=e.oxw();return e.KtG(o.editorGenerated(n))}),e.qZA()()(),e.TgZ(67,"allowed-origin-c",46,47),e.NdJ("saveSettings",function(){e.CHM(t);const n=e.oxw();return e.KtG(n.saveSettings(n.EFormMode.EDIT))}),e.qZA(),e.TgZ(69,"div",48),e._uU(70,"\xa0"),e.qZA()()}if(2&a){const t=e.oxw();e.xp6(18),e.Q6J("ngModel",t.settings.sandbox.sandboxCountOverrideAdmin),e.xp6(11),e.Q6J("ngModel",t.settings.sandbox.automaticSandboxRestartInSeconds),e.xp6(19),e.Q6J("selectionMode","multiple")("metaKeySelection",!0)("selection",t.selectedRowsUI)("dataKey",t.gridKey)("scrollable",!0)("value",t.packageSummary),e.xp6(4),e.Q6J("selectionMode","multiple")("metaKeySelection",!0)("selection",t.selectedRowsPackageJson)("dataKey",t.gridKey)("scrollable",!0)("value",t.finalPackageJson),e.xp6(3),e.Q6J("ngIf",t.loading.form),e.xp6(11),e.Q6J("editorOptions",t.editorOptionsDocker),e.xp6(1),e.Q6J("allowedOrigins",t.settings.allowedOrigins)}}const pe=[{path:"main",component:(()=>{class a{authCS;userS;eventCenterCS;notificationS;confirmationService;cs;monacoS;tpStoreApiVersionS;instanceS;feStoreCS;generalCS;STORE_BE_HOST_PORT=h.N.STORE_BE_HOST_PORT;BE_HOST_PORT=h.N.BE_HOST_PORT;subscriptions=[];data={mode:c.D.ADD,eventChannel:new e.vpe,formData:void 0};packageSummary=[];selectedRowsUI=[];gridKey="rowId";counter;EFormMode=c.D;finalPackageJson=[];selectedRowsPackageJson=[];showAll=!1;loading={form:!1};settings;tpNpmPackageAndVersion={};tpApiVersionIdMap;tpApiBundleIdMap;editorDocker;editorOptionsDocker={readOnly:!1,language:"dockerfile",contextmenu:!0};addNpmLibC;allowedOriginC;SandboxSettingsPkgVersionsModalC;constructor(t,i,n,o,d,m,ue,_e,Se,ve,he){this.authCS=t,this.userS=i,this.eventCenterCS=n,this.notificationS=o,this.confirmationService=d,this.cs=m,this.monacoS=ue,this.tpStoreApiVersionS=_e,this.instanceS=Se,this.feStoreCS=ve,this.generalCS=he}ngOnInit(){var t=this;return(0,r.Z)(function*(){t.subscriptions.push(t.eventCenterCS.sandboxDep.subscribe(i=>{if(t.data.mode===c.D.ADD){for(const n of t.packageSummary)if(n.name===i.name&&n.isDefault)return void t.notificationS.showError("You can not override default package.");t.packageSummary.unshift(i),t.rowIdSet(),t.notificationS.showSuccess(t.cs.amUserSandboxDepSetting.addSuccess),t.addNpmLibC.hideModal()}})),yield t.loadGridData(),t.generalCS.setNewTitle("API Maker - Sandbox Settings")})()}loadGridData(){var t=this;return(0,r.Z)(function*(){const i=yield t.userS.getAdminSettings(t.authCS.getUserId()).toPromise();t.settings=i.data||{},t.packageSummary=t.settings.sandbox.dependenciesUI.nodeJS,t.finalPackageJson=t.settings.sandbox.dependencies.nodeJS;const n=t.settings.allowedOrigins||[];t.settings.sandbox&&(t.settings.sandbox.automaticSandboxRestartInSeconds=t.settings.sandbox.automaticSandboxRestartInSeconds||null),n.sort(),t.settings.allowedOrigins=u.map(n,o=>({name:o})),t.rowIdSet();for(const o of t.finalPackageJson)o.rowId=(t.counter++).toString();t.generalCS.setValueInEditor(t,"editorDocker",t.settings.dockerFile||"")})()}editorGenerated(t){var i=this;return(0,r.Z)(function*(){i.editorDocker=t,yield i.monacoS.loadSchemaEditorSettings(i.BE_HOST_PORT,i.authCS.getUserId(),null),i.monacoS.addSaveCodeKeyBinding(t,n=>{i.saveSettings()})})()}rowIdSet(){this.counter=1;for(const t of this.packageSummary)t.rowId=(this.counter++).toString()}showLibraryModel(){this.data.formData=void 0,this.data.mode=c.D.ADD,this.data.eventChannel.emit({action:v.F.OPEN_FORM_IN_ADD_MODE}),this.addNpmLibC.showModal()}saveSettings(t){var i=this;return(0,r.Z)(function*(){try{const n=i.authCS.getUserId();if(i?.settings?.sandbox?.sandboxCountOverrideAdmin>5)return void i.notificationS.showError("More than 5 sandbox are not allowed.");const o={settings:{sandbox:{sandboxCountOverrideAdmin:i.settings.sandbox.sandboxCountOverrideAdmin,automaticSandboxRestartInSeconds:i.settings.sandbox.automaticSandboxRestartInSeconds||null,dependencies:{nodeJS:i.packageSummary.filter(m=>!m.isReadOnly&&!m.isThirdPartyApi&&!m.isDefault)}},dockerFile:i.editorDocker.getValue(),allowedOrigins:u.map(i.allowedOriginC.allowedOriginsGridData,"name").sort()}};(yield i.userS.put(n,o,{select:k.iH._id}).toPromise())&&(t===c.D.EDIT?i.notificationS.showSuccess(i.cs.amUserSandboxDepSetting.editSuccess):"DELETE"===t?i.notificationS.showSuccess(i.cs.amUserSandboxDepSetting.removePermanent):t||i.notificationS.showSuccess("Success")),i.loadGridData().then()}catch(n){i.loading.form=!1,i.notificationS.showErrorFromResponse(n.error||n,"Unable to save settings.")}})()}removePermanentDialog(t,i){var n=this;return(0,r.Z)(function*(){var o;t.stopPropagation(),t.preventDefault(),n.confirmationService.confirm({message:n.cs.amUserSandboxDepSetting.removePermanentConfirm,header:"Confirmation",icon:"pi pi-exclamation-triangle",accept:(o=(0,r.Z)(function*(){yield n.removePermanent(i)}),function(){return o.apply(this,arguments)})})})()}removePermanent(t){var i=this;return(0,r.Z)(function*(){i.packageSummary.splice(i.packageSummary.indexOf(t),1),i.saveSettings("DELETE").then()})()}loadDependenciesAndSchemas(){var t=this;return(0,r.Z)(function*(){const{tpNpmPackageAndVersion:i,tpApiBundleIdMap:n,tpApiVersionIdMap:o}=(yield t.instanceS.getInstalledPackagesAndSchemas().toPromise()).data;t.tpNpmPackageAndVersion=i,t.tpApiBundleIdMap=n,t.tpApiVersionIdMap=o})()}commonPackageAddRemoveTasks(){var t=this;return(0,r.Z)(function*(){yield t.loadDependenciesAndSchemas()})()}editData(t,i){var n=this;return(0,r.Z)(function*(){t?.stopPropagation(),t?.preventDefault(),n.data.formData=i,n.data.mode=c.D.EDIT,n.data.eventChannel.emit({action:v.F.OPEN_FORM_IN_EDIT_MODE}),yield n.SandboxSettingsPkgVersionsModalC.showPkgVersions(i.name)})()}hideNpmLibModel(){this.addNpmLibC.hideModal()}resetDockerfileToDefault(){var t=this;return(0,r.Z)(function*(){try{const i=yield t.feStoreCS.geDefaultDockerfile(t.BE_HOST_PORT);t.editorDocker.setValue(i.data)}catch(i){t.notificationS.showErrorFromResponse(i.error||i,"Unable to reset docker file.")}})()}showDockerImageBuildLogs(){var t=this;return(0,r.Z)(function*(){const i=t.eventCenterCS.headerC,n=i.systemLogsModelC.systemLogsListC.filterOptions.find(o=>o.value===I.g.DOCKER_IMAGE_BUILD_LOGS);i.showSystemLogsModal(n)})()}summaryTableDoubleClick(){var t=this;setTimeout((0,r.Z)(function*(){if(t.selectedRowsUI[0]){let i;for(const n of t.packageSummary)n[t.gridKey]===t.selectedRowsUI[0].rowId&&(i=n);i&&!i.isReadOnly&&(yield t.editData(null,i))}}),100)}ngOnDestroy(){for(const t of this.subscriptions)t.unsubscribe()}static \u0275fac=function(i){return new(i||a)(e.Y36(x.D),e.Y36(b.K),e.Y36(w.M),e.Y36(Z.W),e.Y36(p.YP),e.Y36(T.L),e.Y36(U.b),e.Y36(N.f),e.Y36(P.E),e.Y36(E.e),e.Y36(J.b))};static \u0275cmp=e.Xpm({type:a,selectors:[["app-sandbox-settings-c"]],viewQuery:function(i,n){if(1&i&&(e.Gf(B,5),e.Gf(j,5),e.Gf(W,5)),2&i){let o;e.iGM(o=e.CRH())&&(n.addNpmLibC=o.first),e.iGM(o=e.CRH())&&(n.allowedOriginC=o.first),e.iGM(o=e.CRH())&&(n.SandboxSettingsPkgVersionsModalC=o.first)}},decls:6,vars:9,consts:[["class","pt-1 pl-5 pr-5 full-body overflow-auto",4,"ngIf"],[3,"data","pkgVersionModal","modalId","hostAndPort"],["addNpmLibC",""],[3,"modalId","hostAndPort","data","dependencies","saveUpdateSandboxDep","hideLibraryModelEventEmitter","installed"],["pkgVersionsModalC","","SandboxSettingsPkgVersionsModalC",""],[1,"pt-1","pl-5","pr-5","full-body","overflow-auto"],[1,"cursor-pointer","text-right","mr-1"],[1,"btn","btn-primary","btn-sm","mt-1","mr-1",3,"click"],[1,"fas","fa-sync-alt","text-info","fa-fw","cursor-pointer"],[1,"btn","btn-success","btn-sm","mt-1",3,"click"],[1,"fas","fa-save","fa-fw","cursor-pointer"],[1,"card","shadow-sm","mt-2","mr-1"],[1,"card-header"],[1,"fas","fa-cog","text-danger","fa-fw","mr-1"],[1,"card-body","p-3","overflow-hidden"],[1,"container"],[1,"row"],[1,"col-4","col-form-label","col-form-label-sm","text-right"],["name","Setting","type","number","placeholder","Please provide value",1,"col-2","form-control","form-control-sm",3,"ngModel","ngModelChange"],[1,"col-6","pr-0"],[1,"small","text-info"],[1,"row","mt-3"],["name","automaticSandboxRestartInSeconds","type","number","placeholder","Automatic sandbox restart in seconds",1,"col-2","form-control","form-control-sm",3,"ngModel","ngModelChange"],[1,"mt-2","d-inline-block"],[1,"fas","fa-box","text-warning","fa-fw","mr-1"],[1,"float-right"],["href","https://docs.apimaker.dev/v1/docs/settings/sandboxSettings.html","target","_blank"],["src","/assets/images/logo/logo_docs.svg",1,"fa-fw","ml-2","mr-1","mt-n1",2,"font-size","25px"],["tooltipPosition","left","pTooltip","Add New",1,"float-right","cursor-pointer","mr-1",3,"click"],[1,"fas","fa-plus","text-success","fa-fw"],[1,"card-body","p-2","overflow-hidden"],[1,"w-100"],["header","Summary"],["styleClass","p-datatable-striped","scrollHeight","400px",3,"selectionMode","metaKeySelection","selection","dataKey","scrollable","value","selectionChange","dblclick"],["pTemplate","header"],["pTemplate","body"],["header","Final package.json"],["styleClass","p-datatable-striped","scrollHeight","400px",3,"selectionMode","metaKeySelection","selection","dataKey","scrollable","value","selectionChange"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s",4,"ngIf"],[1,"fab","fa-docker","fa-fw","mr-1","text-info"],["tooltipPosition","left","pTooltip","Reset dockerfile to default",1,"float-right","cursor-pointer","ml-2",3,"click"],[1,"fas","fa-undo","text-warning","fa-fw"],["tooltipPosition","left","pTooltip","View logs of docker image build",1,"float-right","cursor-pointer","ml-2",3,"click"],[1,"fas","fa-water","text-info","fa-fw"],[1,"card-body","p-1","overflow-hidden",2,"height","400px"],[3,"editorOptions","editorGenerated"],[3,"allowedOrigins","saveSettings"],["allowedOriginC",""],[1,"mb-5"],[2,"width","55px"],[2,"width","40px"],[2,"width","100px"],[2,"width","200px"],[1,"text-center",2,"width","150px"],[1,"text-center",2,"width","100px"],[1,"text-center",2,"width","130px"],[3,"pSelectableRow"],["class","fas fa-circle fa-fw text-success text-v-small",4,"ngIf"],["class","fas fa-circle fa-fw text-muted text-v-small",4,"ngIf"],[1,"small"],[4,"ngFor","ngForOf"],[1,"text-center"],["class","fas fa-check fa-fw text-success pt-1",4,"ngIf"],["class","text-center",4,"ngIf"],[1,"fas","fa-circle","fa-fw","text-success","text-v-small"],[1,"fas","fa-circle","fa-fw","text-muted","text-v-small"],["class","pl-3",4,"ngFor","ngForOf"],[1,"pl-3"],[1,"fas","fa-check","fa-fw","text-success","pt-1"],["pTooltip","Edit","tooltipPosition","left",1,"btn","btn-xsm-custom","mr-1",3,"click"],[1,"fas","fa-pencil-alt","text-light","fa-fw","cursor-pointer"],["pTooltip","Permanent Delete","tooltipPosition","left",1,"btn","btn-xsm-custom","ml-1",3,"click"],[1,"far","fa-trash-alt","fa-fw","cursor-pointer","text-danger"],[2,"width","150px"],["styleClass","w-4rem h-4rem","strokeWidth","4","animationDuration",".5s"]],template:function(i,n){if(1&i&&(e.YNc(0,me,71,17,"div",0),e._UZ(1,"find-npm-package",1,2),e.TgZ(3,"app-sandbox-settings-pkg-versions-modal",3,4),e.NdJ("saveUpdateSandboxDep",function(d){return n.saveSettings(d)})("hideLibraryModelEventEmitter",function(){return n.hideNpmLibModel()})("installed",function(){return n.commonPackageAddRemoveTasks()}),e.qZA()),2&i){const o=e.MAs(4);e.Q6J("ngIf",n.settings),e.xp6(1),e.Q6J("data",n.data)("pkgVersionModal",o)("modalId","idAddNpmSandboxSettings")("hostAndPort",n.STORE_BE_HOST_PORT),e.xp6(2),e.Q6J("modalId","idAddNpmSandboxSettingsEdit")("hostAndPort",n.STORE_BE_HOST_PORT)("data",n.data)("dependencies",n.tpNpmPackageAndVersion)}},dependencies:[g.Fj,g.wV,g.JJ,g.On,_.sg,_.O5,R.K,G.S,q.O,f.iA,p.jx,f.Ei,K.G,C.xf,C.x4,A.u,V],encapsulation:2})}return a})(),canActivate:[D.P]}];let fe=(()=>{class a{static \u0275fac=function(i){return new(i||a)};static \u0275mod=e.oAB({type:a});static \u0275inj=e.cJS({imports:[O.Bz.forChild(pe),y.u,M.ApiTestingM]})}return a})()}}]);