Full Code of DhiWise/dhiwise-nodejs for AI

master a135b968a240 cached
987 files
3.2 MB
893.8k tokens
503 symbols
1 requests
Download .txt
Showing preview only (3,566K chars total). Download the full file or copy to clipboard to get everything.
Repository: DhiWise/dhiwise-nodejs
Branch: master
Commit: a135b968a240
Files: 987
Total size: 3.2 MB

Directory structure:
gitextract_s_w00iag/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   └── feature_request.md
│   └── workflows/
│       └── eslint.yml
├── .gitignore
├── CHANGELOG.md
├── CLEAN_CODE.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── MVC_ARCHITECTURE.md
├── README.md
├── lerna.json
├── package.json
└── packages/
    ├── client/
    │   ├── .eslintrc.json
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── README.md
    │   ├── babel-plugin-macros.config.js
    │   ├── babel.config.json
    │   ├── config-overrides.js
    │   ├── package.json
    │   ├── postcss.config.js
    │   ├── public/
    │   │   ├── index.html
    │   │   ├── manifest.json
    │   │   └── robots.txt
    │   ├── src/
    │   │   ├── App.css
    │   │   ├── App.js
    │   │   ├── api/
    │   │   │   ├── applicationConfig.js
    │   │   │   ├── applicationConstant.js
    │   │   │   ├── applicationPolicy.js
    │   │   │   ├── config.js
    │   │   │   ├── constants.js
    │   │   │   ├── envVariable.js
    │   │   │   ├── index.js
    │   │   │   ├── master.js
    │   │   │   ├── models.js
    │   │   │   ├── policy.js
    │   │   │   ├── project.js
    │   │   │   ├── projectRoleAccess.js
    │   │   │   └── routes.js
    │   │   ├── assets/
    │   │   │   └── css/
    │   │   │       ├── Table.css
    │   │   │       ├── Table1.css
    │   │   │       ├── animation.css
    │   │   │       ├── components/
    │   │   │       │   ├── components.css
    │   │   │       │   └── style.css
    │   │   │       ├── drawer.css
    │   │   │       ├── dropdown.css
    │   │   │       ├── editor.css
    │   │   │       ├── logo.css
    │   │   │       ├── main.css
    │   │   │       ├── method.css
    │   │   │       ├── notification.css
    │   │   │       ├── popover.css
    │   │   │       ├── popoverCss.js
    │   │   │       ├── scroll.css
    │   │   │       ├── sidebar.css
    │   │   │       ├── tab.js
    │   │   │       ├── tableViewCss.js
    │   │   │       ├── tailwind.css
    │   │   │       └── tooltip.css
    │   │   ├── components/
    │   │   │   ├── APIKeyValue/
    │   │   │   │   └── index.js
    │   │   │   ├── BackButton/
    │   │   │   │   └── index.js
    │   │   │   ├── BoxLayout/
    │   │   │   │   ├── boxLayoutCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── Button/
    │   │   │   │   ├── buttonCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── CardView/
    │   │   │   │   ├── ThumbnailCard.js
    │   │   │   │   ├── card.css
    │   │   │   │   ├── cardCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── Checkbox/
    │   │   │   │   ├── Checkbox.js
    │   │   │   │   ├── checkbox.css
    │   │   │   │   └── index.js
    │   │   │   ├── CodeEditor/
    │   │   │   │   ├── index.js
    │   │   │   │   └── reactTypes.js
    │   │   │   ├── ConfirmAlert/
    │   │   │   │   └── index.js
    │   │   │   ├── ContainerBox/
    │   │   │   │   └── index.js
    │   │   │   ├── Count/
    │   │   │   │   └── index.js
    │   │   │   ├── DatePicker/
    │   │   │   │   ├── datepicker.css
    │   │   │   │   ├── datepickerCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── Description/
    │   │   │   │   ├── descriptionCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── DropdownMenu/
    │   │   │   │   ├── Css.js
    │   │   │   │   ├── DropdownMenu.js
    │   │   │   │   ├── Dropdown_bkp.js
    │   │   │   │   ├── MenuItem.js
    │   │   │   │   ├── dropdown.js
    │   │   │   │   └── index.js
    │   │   │   ├── Error/
    │   │   │   │   └── index.js
    │   │   │   ├── ErrorMsg/
    │   │   │   │   ├── errorCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── Heading/
    │   │   │   │   ├── headingCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── IconBox/
    │   │   │   │   ├── DeleteIcon.js
    │   │   │   │   ├── iconBoxCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── InlineHeader/
    │   │   │   │   └── index.js
    │   │   │   ├── Input/
    │   │   │   │   ├── DecimalInput.js
    │   │   │   │   ├── NegativeInput.js
    │   │   │   │   ├── NumberInput.js
    │   │   │   │   ├── PercentageInput.js
    │   │   │   │   ├── StringInput.js
    │   │   │   │   ├── contryCode.css
    │   │   │   │   ├── index.js
    │   │   │   │   └── inputCss.js
    │   │   │   ├── Label/
    │   │   │   │   └── index.js
    │   │   │   ├── LinkTag/
    │   │   │   │   └── index.js
    │   │   │   ├── ListBox/
    │   │   │   │   ├── LIstTitle.js
    │   │   │   │   ├── ListBoxWrap.js
    │   │   │   │   └── listboxCss.js
    │   │   │   ├── Loader/
    │   │   │   │   └── index.js
    │   │   │   ├── MenuList/
    │   │   │   │   ├── index.js
    │   │   │   │   └── menuListCss.js
    │   │   │   ├── MessageNotify/
    │   │   │   │   ├── index.js
    │   │   │   │   └── informessageCss.js
    │   │   │   ├── NoData/
    │   │   │   │   ├── index.js
    │   │   │   │   └── notfoundproject.json
    │   │   │   ├── PopOver/
    │   │   │   │   └── index.js
    │   │   │   ├── Popup/
    │   │   │   │   └── index.js
    │   │   │   ├── Radio/
    │   │   │   │   ├── RadioGroup.js
    │   │   │   │   ├── radioCss.js
    │   │   │   │   └── radiogroup.css
    │   │   │   ├── ReactDrawer/
    │   │   │   │   ├── DrawerClose.js
    │   │   │   │   ├── DrawerFooter.js
    │   │   │   │   ├── DrawerHead.js
    │   │   │   │   ├── index.js
    │   │   │   │   └── reactDrawerCss.js
    │   │   │   ├── SearchBox/
    │   │   │   │   ├── RecentSearch.js
    │   │   │   │   ├── index.js
    │   │   │   │   └── searchBoxCss.js
    │   │   │   ├── Select/
    │   │   │   │   ├── index.js
    │   │   │   │   ├── selectCss.css
    │   │   │   │   └── selectCss.js
    │   │   │   ├── SelectTree/
    │   │   │   │   ├── index.js
    │   │   │   │   └── selectTreeCss.css
    │   │   │   ├── SidebarMenuList/
    │   │   │   │   ├── index.js
    │   │   │   │   └── sidebarMenuListCss.js
    │   │   │   ├── Spinner/
    │   │   │   │   ├── index.js
    │   │   │   │   └── spinner.css
    │   │   │   ├── StepFooter/
    │   │   │   │   └── index.js
    │   │   │   ├── Tag/
    │   │   │   │   ├── index.js
    │   │   │   │   └── tagCss.js
    │   │   │   ├── TextArea/
    │   │   │   │   ├── index.js
    │   │   │   │   └── textareaCss.js
    │   │   │   ├── ToggleBox/
    │   │   │   │   └── index.js
    │   │   │   ├── hooks/
    │   │   │   │   ├── index.js
    │   │   │   │   └── useBoolean.js
    │   │   │   ├── index.js
    │   │   │   └── utils.js
    │   │   ├── config/
    │   │   │   ├── LazyLoader.js
    │   │   │   ├── Loader.js
    │   │   │   ├── Root.js
    │   │   │   └── loaderdata.json
    │   │   ├── constant/
    │   │   │   ├── Nodecrud.js
    │   │   │   ├── Project/
    │   │   │   │   └── applicationStep.js
    │   │   │   ├── applicationConfigConstant.js
    │   │   │   ├── applicationConstant.js
    │   │   │   ├── buildProcessConstant.js
    │   │   │   ├── common.js
    │   │   │   ├── envVariable.js
    │   │   │   ├── fileTypeConstant.js
    │   │   │   ├── languageHeader.js
    │   │   │   ├── master.js
    │   │   │   ├── model.js
    │   │   │   ├── modelIndexing.js
    │   │   │   ├── permission.js
    │   │   │   ├── policy.js
    │   │   │   ├── reservedVariable.js
    │   │   │   ├── rolePermission.js
    │   │   │   ├── routes.js
    │   │   │   └── sidebar.js
    │   │   ├── container/
    │   │   │   ├── CRUD/
    │   │   │   │   ├── BuildCodeStructure/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── Configuration/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── Modal/
    │   │   │   │   │   ├── AddModalPopup/
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── DeleteModel.js
    │   │   │   │   │   ├── Editor/
    │   │   │   │   │   │   ├── EditorProvider/
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── EditorTabs.js
    │   │   │   │   │   │   ├── ModelHeader/
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── ModelProvider.js
    │   │   │   │   │   │   ├── TableView/
    │   │   │   │   │   │   │   ├── AddRelation/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   ├── Enum/
    │   │   │   │   │   │   │   │   ├── SelectEnumValue.js
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   ├── TableData/
    │   │   │   │   │   │   │   │   ├── DeleteRow.js
    │   │   │   │   │   │   │   │   ├── RowSuspense.js
    │   │   │   │   │   │   │   │   ├── Sortable.js
    │   │   │   │   │   │   │   │   ├── TableRow.js
    │   │   │   │   │   │   │   │   ├── TableSubRow.js
    │   │   │   │   │   │   │   │   ├── sqlTableRow.loader.js
    │   │   │   │   │   │   │   │   └── tableRow.loader.js
    │   │   │   │   │   │   │   ├── TableHead.js
    │   │   │   │   │   │   │   ├── components/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── HookSetup/
    │   │   │   │   │   │   ├── HookEditor.js
    │   │   │   │   │   │   ├── HookList.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── Indexing/
    │   │   │   │   │   │   ├── Draggable/
    │   │   │   │   │   │   │   ├── useDraggable.js
    │   │   │   │   │   │   │   └── useDroppable.js
    │   │   │   │   │   │   ├── ModelIndexProvider.js
    │   │   │   │   │   │   ├── Mongodb/
    │   │   │   │   │   │   │   ├── SubRow.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── SQLIndexing/
    │   │   │   │   │   │   │   ├── DeleteIndex.js
    │   │   │   │   │   │   │   ├── EditableCells.js
    │   │   │   │   │   │   │   ├── IndexProvider.js
    │   │   │   │   │   │   │   ├── Subrow/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   ├── TableCells/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── indexingCss.js
    │   │   │   │   │   │   └── makeData.js
    │   │   │   │   │   ├── LibraryPreview/
    │   │   │   │   │   │   ├── Attention/
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── HookSetup/
    │   │   │   │   │   │   │   ├── HookEditor/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   ├── HookList/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── Indexing/
    │   │   │   │   │   │   │   ├── SubRow/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── LibraryProvider.js
    │   │   │   │   │   │   ├── PreviewTable/
    │   │   │   │   │   │   │   ├── EditableCell.js
    │   │   │   │   │   │   │   ├── SubRow.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── ModelList/
    │   │   │   │   │   │   ├── ModelLibrary/
    │   │   │   │   │   │   │   ├── Library.loader.js
    │   │   │   │   │   │   │   ├── LibraryModelData.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── Permission/
    │   │   │   │   │   ├── Header.js
    │   │   │   │   │   ├── Permission.loader.js
    │   │   │   │   │   ├── PermissionHelperFunctions.js
    │   │   │   │   │   ├── PermissionItem.js
    │   │   │   │   │   ├── PermissionSettingProvider.js
    │   │   │   │   │   ├── Permissions.js
    │   │   │   │   │   ├── Setting/
    │   │   │   │   │   │   ├── SettingDetail.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   └── index.js
    │   │   │   │   └── Routes/
    │   │   │   │       ├── AddRoutes/
    │   │   │   │       │   ├── AddRouteProvider.js
    │   │   │   │       │   ├── Advance/
    │   │   │   │       │   │   └── index.js
    │   │   │   │       │   ├── Basic/
    │   │   │   │       │   │   └── index.js
    │   │   │   │       │   ├── Configuration/
    │   │   │   │       │   │   └── index.js
    │   │   │   │       │   ├── ModelPermission/
    │   │   │   │       │   │   └── index.js
    │   │   │   │       │   ├── QueryBuilder/
    │   │   │   │       │   │   ├── AddResponse.js
    │   │   │   │       │   │   ├── NestedQueryBuilder.js
    │   │   │   │       │   │   ├── QueryBuilder.js
    │   │   │   │       │   │   ├── QueryBuilderDetail.js
    │   │   │   │       │   │   ├── QueryBuilderList.js
    │   │   │   │       │   │   ├── ResponseProvider.js
    │   │   │   │       │   │   ├── index.js
    │   │   │   │       │   │   └── queryBuilder.css
    │   │   │   │       │   └── index.js
    │   │   │   │       ├── AddToggleProvider.js
    │   │   │   │       ├── ModuleList/
    │   │   │   │       │   └── index.js
    │   │   │   │       ├── RouteProvider.js
    │   │   │   │       ├── RouteView/
    │   │   │   │       │   ├── Route.loader.js
    │   │   │   │       │   └── index.js
    │   │   │   │       └── index.js
    │   │   │   ├── Configuration/
    │   │   │   │   ├── CodeGenerateConfiguration/
    │   │   │   │   │   ├── CodeGenConfigHelperFunctions.js
    │   │   │   │   │   ├── CodeGenerateConfiguration.loader.js
    │   │   │   │   │   ├── DataFormatConfig/
    │   │   │   │   │   │   ├── AddDataFormat.js
    │   │   │   │   │   │   ├── DataFormat.loader.js
    │   │   │   │   │   │   ├── Head/
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── UploadAttachmentSetting.js
    │   │   │   │   │   └── index.js
    │   │   │   │   └── index.js
    │   │   │   ├── Constant/
    │   │   │   │   ├── AddConstant/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── ConstantView/
    │   │   │   │   │   ├── ConstantHead/
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── TableView/
    │   │   │   │   │   │   ├── EditableCell.js
    │   │   │   │   │   │   ├── SubRow.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── DeleteConstant/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── LeftConstantList/
    │   │   │   │   │   └── index.js
    │   │   │   │   └── index.js
    │   │   │   ├── Dashboard/
    │   │   │   │   ├── MenuShortCut/
    │   │   │   │   │   └── index.js
    │   │   │   │   └── index.js
    │   │   │   ├── EnvironmentVariable/
    │   │   │   │   ├── EnvironmentHead/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── KeyValue.js
    │   │   │   │   ├── Permission.loader.js
    │   │   │   │   ├── enviromentVaribleCss.js
    │   │   │   │   ├── environmentValue.js
    │   │   │   │   └── index.js
    │   │   │   ├── Policy/
    │   │   │   │   ├── AddPolicy/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── DeletePolicy.js
    │   │   │   │   ├── LeftPolicyList.js
    │   │   │   │   ├── PolicyView/
    │   │   │   │   │   ├── Policy.loader.js
    │   │   │   │   │   ├── PolicyHead.js
    │   │   │   │   │   └── index.js
    │   │   │   │   └── index.js
    │   │   │   ├── RoleAccess/
    │   │   │   │   ├── AddRole/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── RoleAccessHead/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── RoleAccessList/
    │   │   │   │   │   ├── DeleteRole.js
    │   │   │   │   │   ├── index.js
    │   │   │   │   │   └── roleAccessListCss.js
    │   │   │   │   ├── RoleAccessProvider.js
    │   │   │   │   ├── RoleList/
    │   │   │   │   │   └── index.js
    │   │   │   │   └── index.js
    │   │   │   ├── Shared/
    │   │   │   │   ├── BuildApp/
    │   │   │   │   │   └── BuildAppDropdown/
    │   │   │   │   │       ├── animation.json
    │   │   │   │   │       └── index.js
    │   │   │   │   ├── Layout/
    │   │   │   │   │   ├── LanguageHeader/
    │   │   │   │   │   │   ├── index.js
    │   │   │   │   │   │   └── languageHeaderCss.js
    │   │   │   │   │   ├── Sidebar/
    │   │   │   │   │   │   ├── MainSidebar/
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── SubSidebar/
    │   │   │   │   │   │   │   ├── SidebarlistCss.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── index.js
    │   │   │   │   │   │   └── sidebarCss.js
    │   │   │   │   │   ├── StepHeader/
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── LayoutStepUrl/
    │   │   │   │   │   ├── SidebarLayout.js
    │   │   │   │   │   ├── index.js
    │   │   │   │   │   └── stepSidebarData.js
    │   │   │   │   └── TechnologySetStep/
    │   │   │   │       ├── Application.loader.js
    │   │   │   │       ├── SideBlock.loader.js
    │   │   │   │       ├── addNewTag.js
    │   │   │   │       ├── applicationForm.js
    │   │   │   │       └── index.js
    │   │   │   ├── common.js
    │   │   │   └── hooks/
    │   │   │       ├── index.js
    │   │   │       ├── useBoolean.js
    │   │   │       ├── useComponentDidMount.js
    │   │   │       ├── useComponentWillUnmount.js
    │   │   │       ├── useDrop.js
    │   │   │       ├── useQueryParams.js
    │   │   │       ├── useToastNotifications.js
    │   │   │       └── useWindowSize.js
    │   │   ├── index.css
    │   │   ├── index.js
    │   │   ├── redux/
    │   │   │   ├── reducers/
    │   │   │   │   ├── buildCode.js
    │   │   │   │   ├── constants.js
    │   │   │   │   ├── index.js
    │   │   │   │   ├── models.js
    │   │   │   │   ├── policy.js
    │   │   │   │   └── projects.js
    │   │   │   ├── store.js
    │   │   │   └── thunks/
    │   │   │       ├── buildCode.js
    │   │   │       ├── constants.js
    │   │   │       ├── models.js
    │   │   │       └── policy.js
    │   │   ├── reportWebVitals.js
    │   │   ├── setupTests.js
    │   │   ├── utils/
    │   │   │   ├── applicationPlatform.js
    │   │   │   ├── dataTypes.js
    │   │   │   ├── dateTimeFormatter.js
    │   │   │   ├── domMethods.js
    │   │   │   ├── localStorage.js
    │   │   │   ├── mergeRefs.js
    │   │   │   ├── regex.js
    │   │   │   └── validationMsgs.js
    │   │   └── utils.js
    │   ├── tailwind.config.js
    │   └── tailwind.js
    └── server/
        ├── .eslintrc.js
        ├── .gitignore
        ├── CHANGELOG.md
        ├── README.md
        ├── __test__/
        │   └── application.test.js
        ├── app.js
        ├── assets/
        │   └── master.js
        ├── config/
        │   ├── database/
        │   │   └── test
        │   └── db.js
        ├── constants/
        │   ├── common.js
        │   ├── dataTypes/
        │   │   ├── dataTypes.js
        │   │   ├── props.js
        │   │   └── sequelize/
        │   │       ├── index.js
        │   │       ├── mySqlDataTypes.js
        │   │       ├── postGreSqlDataTypes.js
        │   │       └── sqlDataTypes.js
        │   ├── envVariables.js
        │   ├── jsonInput.js
        │   ├── master.js
        │   ├── message.js
        │   ├── queryBuilder.js
        │   ├── schema.js
        │   └── validation.js
        ├── controllers/
        │   └── web/
        │       ├── application/
        │       │   ├── application.js
        │       │   └── index.js
        │       ├── applicationConfig/
        │       │   ├── applicationConfig.js
        │       │   └── index.js
        │       ├── envVariables/
        │       │   ├── envVariables.js
        │       │   └── index.js
        │       ├── jsonInput/
        │       │   ├── index.js
        │       │   └── jsonInput.js
        │       ├── master/
        │       │   ├── index.js
        │       │   └── master.js
        │       ├── project/
        │       │   ├── index.js
        │       │   └── project.js
        │       ├── projectConstant/
        │       │   ├── index.js
        │       │   └── projectConstant.js
        │       ├── projectPolicy/
        │       │   ├── index.js
        │       │   └── projectPolicy.js
        │       ├── projectRoleAccessPermissions/
        │       │   ├── index.js
        │       │   └── roleAccessPermissions.js
        │       ├── projectRoute/
        │       │   ├── index.js
        │       │   └── projectRoute.js
        │       ├── schema/
        │       │   ├── index.js
        │       │   └── schema.js
        │       └── schemaDetail/
        │           ├── index.js
        │           └── schemaDetail.js
        ├── middleware/
        │   └── responses/
        │       └── ok.js
        ├── models/
        │   ├── Models/
        │   │   ├── Queue.js
        │   │   └── tenant/
        │   │       ├── Application.js
        │   │       ├── ApplicationConfig.js
        │   │       ├── EnvVariables.js
        │   │       ├── Generator.js
        │   │       ├── Master.js
        │   │       ├── NestedQueryBuilder.js
        │   │       ├── Project.js
        │   │       ├── ProjectConstant.js
        │   │       ├── ProjectPolicy.js
        │   │       ├── ProjectRoleAccessPermissions.js
        │   │       ├── ProjectRoute.js
        │   │       ├── QueryBuilder.js
        │   │       ├── RawModel.js
        │   │       ├── Schema.js
        │   │       ├── SchemaDetail.js
        │   │       └── SchemaUploadVersion.js
        │   ├── Repo/
        │   │   ├── Connection.js
        │   │   └── index.js
        │   ├── constants/
        │   │   ├── action.js
        │   │   ├── activityLog.js
        │   │   ├── application.js
        │   │   ├── applicationConfig.js
        │   │   ├── common.js
        │   │   ├── jobQueue.js
        │   │   ├── master.js
        │   │   ├── message.js
        │   │   ├── method.js
        │   │   ├── permission.js
        │   │   ├── project.js
        │   │   ├── projectDefinition.js
        │   │   └── version.js
        │   ├── index.js
        │   ├── responses/
        │   │   ├── badRequest.js
        │   │   ├── error.js
        │   │   ├── forbidden.js
        │   │   ├── index.js
        │   │   ├── notFound.js
        │   │   ├── ok.js
        │   │   ├── serverError.js
        │   │   ├── setResponse.js
        │   │   └── unauthorized.js
        │   └── usecase/
        │       └── getSetting.js
        ├── package.json
        ├── repo/
        │   ├── application.js
        │   ├── applicationConfig.js
        │   ├── dataTypeSuggestions.js
        │   ├── db.js
        │   ├── envVariables.js
        │   ├── generate.js
        │   ├── master.js
        │   ├── nestedQueryBuilder.js
        │   ├── port.js
        │   ├── project.js
        │   ├── projectConstant.js
        │   ├── projectPolicy.js
        │   ├── projectRoleAccessPermissions.js
        │   ├── projectRoute.js
        │   ├── queryBuilder.js
        │   ├── schema.js
        │   └── schemaDetail.js
        ├── responses/
        │   └── index.js
        ├── routes/
        │   ├── index.js
        │   └── web/
        │       ├── application/
        │       │   ├── application.js
        │       │   └── index.js
        │       ├── applicationConfig/
        │       │   ├── applicationConfig.js
        │       │   └── index.js
        │       ├── envVariables/
        │       │   ├── envVariables.js
        │       │   └── index.js
        │       ├── index.js
        │       ├── jsonInput/
        │       │   ├── index.js
        │       │   └── jsonInput.js
        │       ├── master/
        │       │   ├── index.js
        │       │   └── master.js
        │       ├── project/
        │       │   ├── index.js
        │       │   └── project.js
        │       ├── projectConstant/
        │       │   ├── index.js
        │       │   └── projectConstant.js
        │       ├── projectPolicy/
        │       │   ├── index.js
        │       │   └── projectPolicy.js
        │       ├── projectRoleAccessPermissions/
        │       │   ├── index.js
        │       │   └── projectRoleAccessPermissions.js
        │       ├── projectRoute/
        │       │   ├── index.js
        │       │   └── projectRoute.js
        │       ├── schema/
        │       │   ├── index.js
        │       │   └── schema.js
        │       └── schemaDetail/
        │           ├── index.js
        │           └── schemaDetail.js
        ├── usecase/
        │   ├── application/
        │   │   ├── actionWiseCount.js
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── generate.js
        │   │   ├── get.js
        │   │   ├── getLastApplication.js
        │   │   ├── node-generator/
        │   │   │   ├── codeGenerator.js
        │   │   │   ├── config/
        │   │   │   │   ├── mongooseInput.json
        │   │   │   │   ├── possibleMissMatchType.js
        │   │   │   │   ├── sequelizeDataType.json
        │   │   │   │   ├── sequelizeSupportType.json
        │   │   │   │   └── sequelizeTypeInput.json
        │   │   │   ├── constants/
        │   │   │   │   └── constant.js
        │   │   │   ├── createApplication/
        │   │   │   │   ├── InputParser/
        │   │   │   │   │   ├── customRoutesApi.js
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── applyEslint.js
        │   │   │   │   ├── composeModels.js
        │   │   │   │   ├── createAuthentication/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createCommonRoutes/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createController/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createCustomRoutes/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createDataAccessFiles/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createDeleteDependencyService.js
        │   │   │   │   ├── createEntities.js
        │   │   │   │   ├── createFileUploadFiles/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createRoutes/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createStaticFiles.js
        │   │   │   │   ├── createTestCases/
        │   │   │   │   │   ├── mongooseTestCases.js
        │   │   │   │   │   └── sequelizeTestCases.js
        │   │   │   │   ├── createUseCaseFiles/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── generateFakeData/
        │   │   │   │   │   ├── fakeDataType.js
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── generateFakeDataSequelize/
        │   │   │   │   │   ├── fakeDataType.js
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── getDeleteDependency.js
        │   │   │   │   ├── makeCustomPolicy.js
        │   │   │   │   ├── postman/
        │   │   │   │   │   ├── generate-postman-collection.js
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── render/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── requestValidation.js
        │   │   │   │   ├── schemaValidation.js
        │   │   │   │   ├── sequelize/
        │   │   │   │   │   ├── composeModels.js
        │   │   │   │   │   ├── modelValiadation.js
        │   │   │   │   │   ├── postman/
        │   │   │   │   │   │   ├── generate-postman-collection.js
        │   │   │   │   │   │   └── index.js
        │   │   │   │   │   ├── requestValidation.js
        │   │   │   │   │   ├── service.js
        │   │   │   │   │   └── typeConverter.js
        │   │   │   │   ├── service/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── thirdPartyIntegrations/
        │   │   │   │   │   └── index.js
        │   │   │   │   └── utils/
        │   │   │   │       └── common.js
        │   │   │   ├── generator.js
        │   │   │   ├── settings/
        │   │   │   │   └── index.js
        │   │   │   ├── social/
        │   │   │   │   ├── facebook/
        │   │   │   │   │   ├── app.js
        │   │   │   │   │   └── templates/
        │   │   │   │   │       └── js/
        │   │   │   │   │           ├── routes/
        │   │   │   │   │           │   ├── facebook-login-routes-cc.js.ejs
        │   │   │   │   │           │   └── facebook-login-routes.js.ejs
        │   │   │   │   │           ├── service-cc-sequelize.js.ejs
        │   │   │   │   │           ├── service-cc.js.ejs
        │   │   │   │   │           ├── service-sequelize.js.ejs
        │   │   │   │   │           └── service.js.ejs
        │   │   │   │   ├── github/
        │   │   │   │   │   ├── app.js
        │   │   │   │   │   └── templates/
        │   │   │   │   │       └── js/
        │   │   │   │   │           ├── routes/
        │   │   │   │   │           │   ├── github-login-routes-cc.js.ejs
        │   │   │   │   │           │   └── github-login-routes.js.ejs
        │   │   │   │   │           ├── service-cc-sequelize.js.ejs
        │   │   │   │   │           ├── service-cc.js.ejs
        │   │   │   │   │           ├── service-sequelize.js.ejs
        │   │   │   │   │           └── service.js.ejs
        │   │   │   │   ├── google/
        │   │   │   │   │   ├── app.js
        │   │   │   │   │   └── templates/
        │   │   │   │   │       └── js/
        │   │   │   │   │           ├── routes/
        │   │   │   │   │           │   ├── google-login-routes-cc.js.ejs
        │   │   │   │   │           │   └── google-login-routes.js.ejs
        │   │   │   │   │           ├── service-cc-sequelize.js.ejs
        │   │   │   │   │           ├── service-cc.js.ejs
        │   │   │   │   │           ├── service-sequelize.js.ejs
        │   │   │   │   │           └── service.js.ejs
        │   │   │   │   └── linkedin/
        │   │   │   │       ├── app.js
        │   │   │   │       └── templates/
        │   │   │   │           └── js/
        │   │   │   │               ├── routes/
        │   │   │   │               │   ├── linkedin-login-routes-cc.js.ejs
        │   │   │   │               │   └── linkedin-login-routes.js.ejs
        │   │   │   │               ├── service-cc-sequelize.js.ejs
        │   │   │   │               ├── service-cc.js.ejs
        │   │   │   │               ├── service-sequelize.js.ejs
        │   │   │   │               └── service.js.ejs
        │   │   │   ├── templates/
        │   │   │   │   ├── cleanCode/
        │   │   │   │   │   ├── .eslintrc.js
        │   │   │   │   │   ├── .gitignore
        │   │   │   │   │   ├── README.ejs
        │   │   │   │   │   ├── __test__/
        │   │   │   │   │   │   └── auth.test.js.ejs
        │   │   │   │   │   ├── app.js.ejs
        │   │   │   │   │   ├── config/
        │   │   │   │   │   │   ├── constant.js.ejs
        │   │   │   │   │   │   ├── db.js.ejs
        │   │   │   │   │   │   ├── passport.js.ejs
        │   │   │   │   │   │   └── requestConstant.js.ejs
        │   │   │   │   │   ├── controllers/
        │   │   │   │   │   │   ├── authController.js.ejs
        │   │   │   │   │   │   ├── authControllerIndex.js.ejs
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   ├── controllerIndex.js.ejs
        │   │   │   │   │   │   ├── fileUploadController.js.ejs
        │   │   │   │   │   │   └── fileUploadControllerIndex.js.ejs
        │   │   │   │   │   ├── customEnv.ejs
        │   │   │   │   │   ├── data-access/
        │   │   │   │   │   │   ├── dbFile.js.ejs
        │   │   │   │   │   │   ├── dbService.js
        │   │   │   │   │   │   └── sequenceDb.js.ejs
        │   │   │   │   │   ├── entity/
        │   │   │   │   │   │   └── entity.js.ejs
        │   │   │   │   │   ├── helpers/
        │   │   │   │   │   │   └── date.js
        │   │   │   │   │   ├── individualRoutes/
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   ├── controllerIndex.js.ejs
        │   │   │   │   │   │   ├── existIndexRoute.js.ejs
        │   │   │   │   │   │   ├── indexRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── route.js.ejs
        │   │   │   │   │   │   └── service.js.ejs
        │   │   │   │   │   ├── middleware/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── checkRolePermission.js.ejs
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   ├── loginUser.js.ejs
        │   │   │   │   │   │   ├── passport.js.ejs
        │   │   │   │   │   │   └── sampleMiddleware.js.ejs
        │   │   │   │   │   ├── models/
        │   │   │   │   │   │   └── model.js.ejs
        │   │   │   │   │   ├── routes/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── commonIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   ├── modelRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   └── uploadRoutes.js.ejs
        │   │   │   │   │   ├── seeders/
        │   │   │   │   │   │   └── index.js.ejs
        │   │   │   │   │   ├── services/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── customQueryService.js.ejs
        │   │   │   │   │   │   ├── emailService.js.ejs
        │   │   │   │   │   │   ├── fileUpload.js.ejs
        │   │   │   │   │   │   └── smsService.js.ejs
        │   │   │   │   │   ├── use-case/
        │   │   │   │   │   │   ├── authentication/
        │   │   │   │   │   │   │   ├── authentication.js.ejs
        │   │   │   │   │   │   │   ├── forgotPassword.js.ejs
        │   │   │   │   │   │   │   ├── logout.js.ejs
        │   │   │   │   │   │   │   ├── register.js.ejs
        │   │   │   │   │   │   │   ├── resetPassword.js.ejs
        │   │   │   │   │   │   │   └── validateResetPasswordOtp.js.ejs
        │   │   │   │   │   │   ├── bulkUpdate.js.ejs
        │   │   │   │   │   │   ├── changePassword.js.ejs
        │   │   │   │   │   │   ├── common/
        │   │   │   │   │   │   │   ├── getRoleAccess.js.ejs
        │   │   │   │   │   │   │   ├── loginUser.js.ejs
        │   │   │   │   │   │   │   └── sendResetPasswordNotification.js.ejs
        │   │   │   │   │   │   ├── count.js.ejs
        │   │   │   │   │   │   ├── create.js.ejs
        │   │   │   │   │   │   ├── createBulk.js.ejs
        │   │   │   │   │   │   ├── customRouteOfModel.js.ejs
        │   │   │   │   │   │   ├── delete.js.ejs
        │   │   │   │   │   │   ├── deleteMany.js.ejs
        │   │   │   │   │   │   ├── fileUpload.js.ejs
        │   │   │   │   │   │   ├── findAll.js.ejs
        │   │   │   │   │   │   ├── findById.js.ejs
        │   │   │   │   │   │   ├── partialUpdate.js.ejs
        │   │   │   │   │   │   ├── softDelete.js.ejs
        │   │   │   │   │   │   ├── softDeleteMany.js.ejs
        │   │   │   │   │   │   ├── update.js.ejs
        │   │   │   │   │   │   └── updateProfile.js.ejs
        │   │   │   │   │   ├── utils/
        │   │   │   │   │   │   ├── common.js.ejs
        │   │   │   │   │   │   ├── convertObjectToEnum.js
        │   │   │   │   │   │   ├── deleteDependentService1.js.ejs
        │   │   │   │   │   │   ├── generateRandomNumber.js
        │   │   │   │   │   │   ├── generateToken.js
        │   │   │   │   │   │   ├── getSelectObject.js
        │   │   │   │   │   │   ├── makeDirectory.js
        │   │   │   │   │   │   └── response/
        │   │   │   │   │   │       ├── index.js
        │   │   │   │   │   │       ├── responseCode.js
        │   │   │   │   │   │       ├── responseHandler.js
        │   │   │   │   │   │       └── responseStatus.js
        │   │   │   │   │   ├── validation/
        │   │   │   │   │   │   ├── index.js
        │   │   │   │   │   │   └── validateSchema.js.ejs
        │   │   │   │   │   └── views/
        │   │   │   │   │       ├── emailTemplate.ejs
        │   │   │   │   │       ├── index.ejs
        │   │   │   │   │       ├── resetPassword.ejs
        │   │   │   │   │       ├── resetPasswordLink.ejs
        │   │   │   │   │       └── sendOTP.ejs
        │   │   │   │   ├── cleanCodeSequelize/
        │   │   │   │   │   ├── .eslintrc.js
        │   │   │   │   │   ├── .gitignore
        │   │   │   │   │   ├── README.ejs
        │   │   │   │   │   ├── __test__/
        │   │   │   │   │   │   └── auth.test.js.ejs
        │   │   │   │   │   ├── app.js.ejs
        │   │   │   │   │   ├── config/
        │   │   │   │   │   │   ├── constant.js.ejs
        │   │   │   │   │   │   ├── db.js.ejs
        │   │   │   │   │   │   ├── dbConnection.js.ejs
        │   │   │   │   │   │   ├── passport.js.ejs
        │   │   │   │   │   │   └── requestConstant.js.ejs
        │   │   │   │   │   ├── controllers/
        │   │   │   │   │   │   ├── authController.js.ejs
        │   │   │   │   │   │   ├── authControllerIndex.js.ejs
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   ├── controllerIndex.js.ejs
        │   │   │   │   │   │   ├── fileUploadController.js.ejs
        │   │   │   │   │   │   └── fileUploadControllerIndex.js.ejs
        │   │   │   │   │   ├── customEnv.ejs
        │   │   │   │   │   ├── data-access/
        │   │   │   │   │   │   ├── dbFile.js.ejs
        │   │   │   │   │   │   └── dbService.js
        │   │   │   │   │   ├── entity/
        │   │   │   │   │   │   └── entity.js.ejs
        │   │   │   │   │   ├── helpers/
        │   │   │   │   │   │   └── date.js
        │   │   │   │   │   ├── individualRoutes/
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   ├── controllerIndex.js.ejs
        │   │   │   │   │   │   ├── existIndexRoute.js.ejs
        │   │   │   │   │   │   ├── indexRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── route.js.ejs
        │   │   │   │   │   │   └── service.js.ejs
        │   │   │   │   │   ├── middleware/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── checkRolePermission.js.ejs
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   ├── loginUser.js.ejs
        │   │   │   │   │   │   ├── passport.js.ejs
        │   │   │   │   │   │   └── sampleMiddleware.js.ejs
        │   │   │   │   │   ├── models/
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   └── model.js.ejs
        │   │   │   │   │   ├── routes/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── commonIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   ├── modelRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   └── uploadRoutes.js.ejs
        │   │   │   │   │   ├── seeders/
        │   │   │   │   │   │   └── index.js.ejs
        │   │   │   │   │   ├── services/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── customQueryService.js.ejs
        │   │   │   │   │   │   ├── dbService.js
        │   │   │   │   │   │   ├── emailService.js.ejs
        │   │   │   │   │   │   ├── fileUpload.js.ejs
        │   │   │   │   │   │   └── smsService.js.ejs
        │   │   │   │   │   ├── use-case/
        │   │   │   │   │   │   ├── authentication/
        │   │   │   │   │   │   │   ├── authentication.js.ejs
        │   │   │   │   │   │   │   ├── forgotPassword.js.ejs
        │   │   │   │   │   │   │   ├── logout.js.ejs
        │   │   │   │   │   │   │   ├── register.js.ejs
        │   │   │   │   │   │   │   ├── resetPassword.js.ejs
        │   │   │   │   │   │   │   └── validateResetPasswordOtp.js.ejs
        │   │   │   │   │   │   ├── bulkUpdate.js.ejs
        │   │   │   │   │   │   ├── changePassword.js.ejs
        │   │   │   │   │   │   ├── common/
        │   │   │   │   │   │   │   ├── getRoleAccess.js.ejs
        │   │   │   │   │   │   │   ├── loginUser.js.ejs
        │   │   │   │   │   │   │   └── sendResetPasswordNotification.js.ejs
        │   │   │   │   │   │   ├── count.js.ejs
        │   │   │   │   │   │   ├── create.js.ejs
        │   │   │   │   │   │   ├── createBulk.js.ejs
        │   │   │   │   │   │   ├── customRouteOfModel.js.ejs
        │   │   │   │   │   │   ├── delete.js.ejs
        │   │   │   │   │   │   ├── deleteMany.js.ejs
        │   │   │   │   │   │   ├── fileUpload.js.ejs
        │   │   │   │   │   │   ├── findAll.js.ejs
        │   │   │   │   │   │   ├── findById.js.ejs
        │   │   │   │   │   │   ├── partialUpdate.js.ejs
        │   │   │   │   │   │   ├── softDelete.js.ejs
        │   │   │   │   │   │   ├── softDeleteMany.js.ejs
        │   │   │   │   │   │   ├── update.js.ejs
        │   │   │   │   │   │   └── updateProfile.js.ejs
        │   │   │   │   │   ├── utils/
        │   │   │   │   │   │   ├── common.js.ejs
        │   │   │   │   │   │   ├── convertObjectToEnum.js
        │   │   │   │   │   │   ├── deleteDependentService1.js.ejs
        │   │   │   │   │   │   ├── generateRandomNumber.js
        │   │   │   │   │   │   ├── generateToken.js
        │   │   │   │   │   │   ├── getSelectObject.js
        │   │   │   │   │   │   ├── makeDirectory.js
        │   │   │   │   │   │   ├── messages.js
        │   │   │   │   │   │   ├── replaceAll.js
        │   │   │   │   │   │   ├── response/
        │   │   │   │   │   │   │   ├── index.js
        │   │   │   │   │   │   │   ├── responseCode.js
        │   │   │   │   │   │   │   ├── responseHandler.js
        │   │   │   │   │   │   │   └── responseStatus.js
        │   │   │   │   │   │   ├── responseCode.js
        │   │   │   │   │   │   └── validateRequest.js
        │   │   │   │   │   ├── validation/
        │   │   │   │   │   │   ├── genericValidator.js
        │   │   │   │   │   │   ├── index.js
        │   │   │   │   │   │   └── validateSchema.js.ejs
        │   │   │   │   │   └── views/
        │   │   │   │   │       ├── emailTemplate.ejs
        │   │   │   │   │       ├── index.ejs
        │   │   │   │   │       ├── resetPassword.ejs
        │   │   │   │   │       ├── resetPasswordLink.ejs
        │   │   │   │   │       └── sendOTP.ejs
        │   │   │   │   ├── logs/
        │   │   │   │   │   └── error.log.ejs
        │   │   │   │   ├── mvc/
        │   │   │   │   │   ├── .eslintrc.js
        │   │   │   │   │   ├── .gitignore
        │   │   │   │   │   ├── README.ejs
        │   │   │   │   │   ├── __test__/
        │   │   │   │   │   │   └── auth.test.js.ejs
        │   │   │   │   │   ├── app.js.ejs
        │   │   │   │   │   ├── config/
        │   │   │   │   │   │   ├── constant.js.ejs
        │   │   │   │   │   │   ├── db.js.ejs
        │   │   │   │   │   │   ├── passport.js.ejs
        │   │   │   │   │   │   └── requestConstant.js.ejs
        │   │   │   │   │   ├── controllers/
        │   │   │   │   │   │   ├── authController.js.ejs
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   └── fileUploadController.js.ejs
        │   │   │   │   │   ├── customEnv.ejs
        │   │   │   │   │   ├── individualRoutes/
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   ├── existIndexRoute.js.ejs
        │   │   │   │   │   │   ├── indexRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── route.js.ejs
        │   │   │   │   │   │   └── service.js.ejs
        │   │   │   │   │   ├── middleware/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── checkRolePermission.js.ejs
        │   │   │   │   │   │   ├── loginUser.js.ejs
        │   │   │   │   │   │   └── sampleMiddleware.js.ejs
        │   │   │   │   │   ├── models/
        │   │   │   │   │   │   └── model.js.ejs
        │   │   │   │   │   ├── routes/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── commonIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   ├── modelRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   └── uploadRoutes.js.ejs
        │   │   │   │   │   ├── seeders/
        │   │   │   │   │   │   └── index.js.ejs
        │   │   │   │   │   ├── services/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── customQueryService.js.ejs
        │   │   │   │   │   │   ├── emailService.js.ejs
        │   │   │   │   │   │   └── smsService.js.ejs
        │   │   │   │   │   ├── utils/
        │   │   │   │   │   │   ├── common.js.ejs
        │   │   │   │   │   │   ├── dbService.js
        │   │   │   │   │   │   ├── deleteDependentService1.js.ejs
        │   │   │   │   │   │   ├── response/
        │   │   │   │   │   │   │   ├── index.js
        │   │   │   │   │   │   │   ├── responseCode.js
        │   │   │   │   │   │   │   ├── responseHandler.js
        │   │   │   │   │   │   │   └── responseStatus.js
        │   │   │   │   │   │   ├── validateRequest.js
        │   │   │   │   │   │   └── validation/
        │   │   │   │   │   │       └── validateSchema.js.ejs
        │   │   │   │   │   └── views/
        │   │   │   │   │       ├── emailTemplate.ejs
        │   │   │   │   │       ├── index.ejs
        │   │   │   │   │       ├── resetPassword.ejs
        │   │   │   │   │       ├── resetPasswordLink.ejs
        │   │   │   │   │       └── sendOTP.ejs
        │   │   │   │   └── mvcSequelize/
        │   │   │   │       ├── .eslintrc.js
        │   │   │   │       ├── .gitignore
        │   │   │   │       ├── README.ejs
        │   │   │   │       ├── __test__/
        │   │   │   │       │   └── auth.test.js.ejs
        │   │   │   │       ├── app.js.ejs
        │   │   │   │       ├── config/
        │   │   │   │       │   ├── constant.js.ejs
        │   │   │   │       │   ├── db.js.ejs
        │   │   │   │       │   ├── dbConnection.js.ejs
        │   │   │   │       │   ├── passport.js.ejs
        │   │   │   │       │   └── requestConstant.js.ejs
        │   │   │   │       ├── controllers/
        │   │   │   │       │   ├── authController.js.ejs
        │   │   │   │       │   ├── controller.js.ejs
        │   │   │   │       │   └── fileUploadController.js.ejs
        │   │   │   │       ├── customEnv.ejs
        │   │   │   │       ├── individualRoutes/
        │   │   │   │       │   ├── controller.js.ejs
        │   │   │   │       │   ├── existIndexRoute.js.ejs
        │   │   │   │       │   ├── indexRoutes.js.ejs
        │   │   │   │       │   ├── platformIndexRoutes.js.ejs
        │   │   │   │       │   ├── route.js.ejs
        │   │   │   │       │   └── service.js.ejs
        │   │   │   │       ├── middleware/
        │   │   │   │       │   ├── auth.js.ejs
        │   │   │   │       │   ├── checkRolePermission.js.ejs
        │   │   │   │       │   ├── loginUser.js.ejs
        │   │   │   │       │   └── sampleMiddleware.js.ejs
        │   │   │   │       ├── models/
        │   │   │   │       │   ├── index.js.ejs
        │   │   │   │       │   └── model.js.ejs
        │   │   │   │       ├── routes/
        │   │   │   │       │   ├── auth.js.ejs
        │   │   │   │       │   ├── commonIndexRoutes.js.ejs
        │   │   │   │       │   ├── index.js.ejs
        │   │   │   │       │   ├── modelRoutes.js.ejs
        │   │   │   │       │   ├── platformIndexRoutes.js.ejs
        │   │   │   │       │   └── uploadRoutes.js.ejs
        │   │   │   │       ├── seeders/
        │   │   │   │       │   └── index.js.ejs
        │   │   │   │       ├── services/
        │   │   │   │       │   ├── auth.js.ejs
        │   │   │   │       │   ├── customQueryService.js.ejs
        │   │   │   │       │   ├── emailService.js.ejs
        │   │   │   │       │   └── smsService.js.ejs
        │   │   │   │       ├── utils/
        │   │   │   │       │   ├── common.js.ejs
        │   │   │   │       │   ├── dbService.js
        │   │   │   │       │   ├── deleteDependentService1.js.ejs
        │   │   │   │       │   ├── response/
        │   │   │   │       │   │   ├── index.js
        │   │   │   │       │   │   ├── responseCode.js
        │   │   │   │       │   │   ├── responseHandler.js
        │   │   │   │       │   │   └── responseStatus.js
        │   │   │   │       │   ├── validateRequest.js
        │   │   │   │       │   └── validation/
        │   │   │   │       │       └── validateSchema.js.ejs
        │   │   │   │       └── views/
        │   │   │   │           ├── emailTemplate.ejs
        │   │   │   │           ├── index.ejs
        │   │   │   │           ├── resetPassword.ejs
        │   │   │   │           ├── resetPasswordLink.ejs
        │   │   │   │           └── sendOTP.ejs
        │   │   │   └── writeOperations/
        │   │   │       └── index.js
        │   │   ├── openCode.js
        │   │   ├── paginate.js
        │   │   ├── structure.js
        │   │   ├── update.js
        │   │   ├── upsert.js
        │   │   └── view.js
        │   ├── applicationConfig/
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── get.js
        │   │   ├── paginate.js
        │   │   └── update.js
        │   ├── common/
        │   │   └── projectApplicationUpdate.js
        │   ├── envVariables/
        │   │   ├── get.js
        │   │   └── upsert.js
        │   ├── generator/
        │   │   └── deleteDependency.js
        │   ├── jsonInput/
        │   │   ├── jsonInput.js
        │   │   └── util/
        │   │       ├── index.js
        │   │       ├── projectConstant/
        │   │       │   └── projectConstant.js
        │   │       ├── projectPolicy/
        │   │       │   └── projectPolicy.js
        │   │       ├── projectRoleAccessPermission/
        │   │       │   └── projectRoleAccessPermission.js
        │   │       ├── projectRoutes/
        │   │       │   └── projectRoutes.js
        │   │       └── schema/
        │   │           └── schema.js
        │   ├── master/
        │   │   ├── create.js
        │   │   ├── getByCode.js
        │   │   └── paginate.js
        │   ├── nestedQueryBuilder/
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   └── insertMany.js
        │   ├── project/
        │   │   ├── archive.js
        │   │   ├── archivedProjects.js
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── explorePublicPaginate.js
        │   │   ├── get.js
        │   │   ├── noOfProjectAndApplication.js
        │   │   ├── paginate.js
        │   │   ├── unArchive.js
        │   │   ├── update.js
        │   │   └── upsert.js
        │   ├── projectConstant/
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── paginate.js
        │   │   └── update.js
        │   ├── projectPolicy/
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── paginate.js
        │   │   ├── update.js
        │   │   └── util/
        │   │       └── dependentCond.js
        │   ├── projectRoleAccessPermissions/
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── paginate.js
        │   │   ├── upsert.js
        │   │   └── util/
        │   │       ├── RemoveModelDetails.js
        │   │       └── index.js
        │   ├── projectRoute/
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── insertMany.js
        │   │   ├── paginate.js
        │   │   ├── requestApi.js
        │   │   ├── update.js
        │   │   └── uploadPostmanFile.js
        │   ├── queryBuilder/
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   └── insertMany.js
        │   ├── schema/
        │   │   ├── InsertDefaultModels/
        │   │   │   └── insertDefaultModels.js
        │   │   ├── create.js
        │   │   ├── dataTypeSuggestions.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── existsSchemaUpdate.js
        │   │   ├── get.js
        │   │   ├── insertMany.js
        │   │   ├── paginate.js
        │   │   ├── searchSchema.js
        │   │   ├── sequelize/
        │   │   │   └── existsSchemaUpdate.js
        │   │   ├── update.js
        │   │   └── util/
        │   │       ├── deleteSchemaRefInfo.js
        │   │       ├── deleteSchemaReferences.js
        │   │       ├── index.js
        │   │       ├── isRegExp.js
        │   │       ├── sequelize/
        │   │       │   └── validateDataTypes.js
        │   │       ├── staticData.js
        │   │       ├── updateSchemaRefAttribute.js
        │   │       ├── updateSchemaReferences.js
        │   │       ├── validateProps.js
        │   │       └── validateRegEx.js
        │   ├── schemaDetail/
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── paginate.js
        │   │   ├── update.js
        │   │   └── upsert.js
        │   └── util/
        │       ├── fieldsList.js
        │       ├── getApplicationData.js
        │       ├── getBaseUrl.js
        │       ├── getPermissionWiseRoute.js
        │       ├── getRoutes.js
        │       ├── randomNumber.js
        │       ├── validation/
        │       │   ├── accessPermission.js
        │       │   ├── actionValidation.js
        │       │   ├── apiIntegration.js
        │       │   ├── applicationConfig.js
        │       │   ├── applicationCreate.js
        │       │   ├── applicationId.js
        │       │   ├── applicationUpdate.js
        │       │   ├── applicationUpsert.js
        │       │   ├── defaultInsertModels.js
        │       │   ├── group.js
        │       │   ├── masterValidation.js
        │       │   ├── projectConstant.js
        │       │   ├── projectCreate.js
        │       │   ├── projectPolicy.js
        │       │   ├── projectRoleAccessPermission.js
        │       │   ├── projectRoute.js
        │       │   ├── projectUpdate.js
        │       │   ├── projectUpsert.js
        │       │   ├── schema.js
        │       │   ├── schemaDetail.js
        │       │   └── sqlImport.js
        │       └── validation.js
        └── util-service/
            ├── common/
            │   ├── common.js
            │   └── index.js
            ├── crypto/
            │   ├── crypto.js
            │   └── index.js
            └── validation/
                └── index.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.md
================================================
---
name: 🐞 Bug
about: File a bug/issue
title: '[BUG] <title>'
labels: Bug, Needs Triage
assignees: ''

---

<!--
Note: Please search to see if an issue already exists for the bug you encountered.
-->

### Current Behavior:
<!-- A concise description of what you're experiencing. -->

### Expected Behavior:
<!-- A concise description of what you expected to happen. -->

### Steps To Reproduce:
<!--
Example: steps to reproduce the behavior:
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
-->

### Environment:
<!--
Example:
- OS: Ubuntu 20.04
- Node: 13.14.0
- npm: 7.6.3
-->

### Anything else:
<!--
Links? References? Anything that will give us more context about the issue that you are encountering!
-->


================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.md
================================================
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.


================================================
FILE: .github/workflows/eslint.yml
================================================
name: Check ESLint on Pull Request

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  fix:
    runs-on: ubuntu-latest
    steps:
      - name: Check out Git repository
        uses: actions/checkout@v2
      - name: installing eslint 
        run: npm i -g eslint && npm run install --force
      - name: Fixing Files
        run: eslint . --ext .js --fix


================================================
FILE: .gitignore
================================================
node_modules
package-lock.json
.history

================================================
FILE: CHANGELOG.md
================================================
# Change Log

All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.3.1](https://github.com/DhiWise/dhiwise-nodejs/compare/v1.3.0...v1.3.1) (2022-09-28)


### Bug Fixes

* **server:** missing constant ([eeccc59](https://github.com/DhiWise/dhiwise-nodejs/commit/eeccc59c8890d3f43ff6e36d243659c27158f7f8))





# [1.3.0](https://github.com/DhiWise/dhiwise-nodejs/compare/v1.2.0...v1.3.0) (2022-04-25)


### Bug Fixes

* **Clean Code Sequelize:** bug Fixes for Clean code sequelize ([fc7ba02](https://github.com/DhiWise/dhiwise-nodejs/commit/fc7ba024dae562f758f89dac6fada9bf04d52809))
* **clean-code:** ejs variable updated ([44f91af](https://github.com/DhiWise/dhiwise-nodejs/commit/44f91afd4bd249d2ae528acd1b56a7e2909e02b4))
* **eslint fixes:** eslint rules violation removed ([7682a2a](https://github.com/DhiWise/dhiwise-nodejs/commit/7682a2af8031955655e5c943be580fb18f2cce5a))
* **file upload in cc:** fix file upload in controller of cc ([387562a](https://github.com/DhiWise/dhiwise-nodejs/commit/387562a1b9ecc6636200c6c9fb7d56451a0c5878))
* **file-upload-cc:** steps added ([f06995e](https://github.com/DhiWise/dhiwise-nodejs/commit/f06995e53f9eb75c63bc54da5f61b9e7d3e5bdb0))
* **minor bug fixes:** - ([876f01a](https://github.com/DhiWise/dhiwise-nodejs/commit/876f01aea94c8f803030554fd123c9aa4654555b))
* **model data save warning:** when model data change and change the model without save ask warning p ([791f20f](https://github.com/DhiWise/dhiwise-nodejs/commit/791f20fc716e3acba8271ca6109e36b460848d09))
* **overlay issue no able to click:** propstypes forbidden remove and overlay issue fix ([3abc5fa](https://github.com/DhiWise/dhiwise-nodejs/commit/3abc5fab37b580789691effb46231cbb9dd1c760)), closes [#27](https://github.com/DhiWise/dhiwise-nodejs/issues/27)
* **Remove configuration tab in routes:** file upload - removal form custom routes ([98a7e54](https://github.com/DhiWise/dhiwise-nodejs/commit/98a7e540e5bface7478edf1940914df4e53ef42e))


### Features

* **Clean-code file uplaod:** file upload use-cases added for clean-code architecture ([af56105](https://github.com/DhiWise/dhiwise-nodejs/commit/af5610501d7d98897ab02115873c76ee9f75b4bc))
* **Clean-code mongoose:** comments added ([c6b432c](https://github.com/DhiWise/dhiwise-nodejs/commit/c6b432cf69dbe0ff58745f554af92e9d04129473))
* **server:** custom routes with query builder for mvc architecture ([6949d44](https://github.com/DhiWise/dhiwise-nodejs/commit/6949d441687cdb2a23b76f580a0b88f408663678))





# [1.2.0](https://github.com/DhiWise/nodejs-code-generator/compare/v1.1.0...v1.2.0) (2022-02-02)


### Bug Fixes

* **bug fixes and code enhancement:** fixed some issues ([501675e](https://github.com/DhiWise/nodejs-code-generator/commit/501675e7f528d79a5cb4e84c5d24a4562e74fe2d))


### Features

* **custom routes in clean-code architecture with use case:** custom routes with query builder added ([f38092d](https://github.com/DhiWise/nodejs-code-generator/commit/f38092d1790f21a562403a6c1638245c846665ee))
* **use-case added in clean code architecture:** a service layer in clean code architecture ([e7cbfc4](https://github.com/DhiWise/nodejs-code-generator/commit/e7cbfc4f15956d7b2343eb6275fcea6beaf0fa40))





# [1.1.0](https://github.com/DhiWise/nodejs-code-generator/compare/v1.0.0...v1.1.0) (2022-01-11)


### Bug Fixes

* **eslint formatting:** resolved eslint errors ([2c71bf2](https://github.com/DhiWise/nodejs-code-generator/commit/2c71bf2661c5e1599de3cb242b5431dce8720137))


### Features

* add confirmation popup when second time build application ([a7fe3c0](https://github.com/DhiWise/nodejs-code-generator/commit/a7fe3c001fab1972a8f2f151feb6deb18220c3e5)), closes [#20](https://github.com/DhiWise/nodejs-code-generator/issues/20)


================================================
FILE: CLEAN_CODE.md
================================================
# NodeJS,Express Project in Clean-Code Architecture with Mongoose/Sequelize

**supported version of nodejs > 12**,
**supported version of mongoose-4.0**,
**supported version of sequelize-6.6.5**

## About 
- This is a Node application, developed in Clean-code architecture with Node.js, ExpressJS.

## How to run
1. ```$ npm install```
2. ```$ npm start```

## Folder structure:
```
  ├── app.js              - starting point of the application
  ├── config			        - application configuration files
  ├── constants           - contains commonly used constants 
  ├── controller          - contains business logic 
  ├── entity              - entity of models
  ├── helper              - helper files
  ├── model       		    - models of application (DB schema files)
  ├── postman      		    - API documentation - postman collection files
  ├── routes       		    - contains all the routes of application
  ├── services     		    - contains commonly used services
  ├── views        		    - templates
  ├── utils        		    - contains utility functions   
  └── validation          - contains validations 
```

### Detail Description of Files and folders

1. app.js
- entry point of application.

2. config
- passport strategy files
- database connection files

3. constants
- constants used across application.

4. controller
- Controller files that contains Business logic
```
	├── controller               
      └── platform
			├── <model>.js  - contains business logic
			└── index.js  - contains dependency injection
```

5. entity
- These are the business objects of your application. These should not be affected by any change external to them, and these should be the most stable code within your application. 
These can be POJOs, objects with methods, or even data structures.

6. helpers
- helper function, used to assist in providing some functionality, which isn't the main goal of the application or class in which they are used.

7. middleware
- Middleware files for authentication, authorization and role-access.

8. models
- Database models 

9. postman
- Postman collection of APIs (Import this JSON in Postman to run the APIs)

10. public 
- Assets used in application

11. routes
```
	├── routes
		├── platform
			├── <model>Routes.js   - contains CRUD operation routes
			└── index.js               - exports model Routes
		└── index.js                 - exports platform routes

```
- index.js file, exports platform routes, imported into app.js to access all the routes.

12. services
```
	├── services
		├── jobs                     - cron jobs
		├── dbService.js             - Database service
		└── auth.js                  - Authentication module service

```

13. utils
```
	├── utils
		├── messages.js              - Messages used in sending response 
		├── responseCode.js          - response codes 
		└── validateRequest.js       - validate request based on model schema

```

14. validation
- Joi validations files for every model

15. env files
- You can add credentials and port, database values as per your environment(Development/Production).
- If you are running test environment then test cases will run using test database,and its configuration is there inside app.js



================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
  and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
  overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
  advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
  address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
  professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
help@dhiwise.com.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior,  harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing

We will appreciate developers' contribution to improve node.js code generator, to make it even better. Therefore, any contributions related to features, issues, documentation, translation, guides, and more are all welcomed.

## Got a question?

You can ask questions, consult with more experienced DhiWise users, and discuss DhiWise-related topics in the our [Discord channel](https://discord.gg/hTuNauNjyJ).

## Bugs

If you find a bug in the source code, you can help us by [submitting an issue](https://github.com/DhiWise/nodejs-code-generator/issues/new?assignees=&labels=type%3A%20bug&template=bug_report.md&title=) to our GitHub Repository. Even better, you can submit a Pull Request with a fix.

## Feature Suggestion

You can request a new feature by [submitting an issue](https://github.com/DhiWise/nodejs-code-generator/issues/new?assignees=&labels=type%3A%20feature%20request&template=feature_request.md&title=) to our GitHub Repository.

If you would like to implement a new feature, please submit an issue with a proposal for your work first, to be sure that we can use it. Please consider what kind of change it is:

- For a Major Feature, first open an issue and outline your proposal so that it can be discussed. This will also allow us to better coordinate our efforts, prevent duplication of work, and help you craft the change so that it's successfully integrated in the project.

- Small Features can be added directly [submitted as a Pull Request](#submit-pr).

## What do I need to know to help?

If you want to help out with a code contribution, our project uses the following stack:

### Server-side

- [Node.JS](https://nodejs.org/)

### Client-side

- [React](https://reactjs.org/docs/getting-started.html)

### Testing

- [Jest](https://jestjs.io/) (for testing)


## <a name="submit-pr"></a> How do I make a contribution?

Never made an open source contribution before? Wondering how contributions work in the in our project? Here's a quick rundown!

Find an issue that you're interested in addressing, or a feature that you'd like to add.
You can use [this view](https://github.com/dhiwise/nodejs-code-generator/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22) which helps new contributors find easy gateways into our project.

Fork the repository associated with the issue to your local GitHub organization. This means that you'll have a copy of the repository under your-GitHub-username/repository-name.
Clone the repository to your local machine:

```
git clone https://github.com/DhiWise/nodejs-code-generator

```

Create a new branch for your fix:

```
git checkout -b branch-name-here
```

Make the appropriate changes for the issue you are trying to address or the feature that you want to add.

Once done, stage the changes that are ready to be committed:

```
git add .
```

Commit the changes with a short message.

```
git commit -m "<type>:<package>:<message>"
```

CLI for better commit messages

```
npm run commit
```


Push the changes to the remote repository using:

```
git push origin branch-name-here
```

### Branch Guidelines
1. If you are fixing a bug, start the branch name with bug/bug-name
2. If you are adding a feature, start the branch name with feature/feature-name
3. Submit you branch to master by creating a PR.

In the description of the pull request, explain the changes that you made, any issues you think exist with the pull request you made, and any questions you have for the maintainer.

It's okay if your pull request is not perfect (no pull request is), the reviewer will be able to help you fix any problems and improve it!

Wait for the pull request to be reviewed by a maintainer.

Make changes to the pull request if the reviewing maintainer recommends them.

Celebrate your success after your pull request is merged!

### Git Commit Messages

We structure our commit messages like this:

```
<type>(<package>): <subject>
```

Example

```
fix(server): missing entity on init
```

List of types:

- feat: A new feature
- fix: A bug fix
- docs: Changes to the documentation
- refactor: A code change that neither fixes a bug nor adds a feature
- perf: A code change that improves performance
- test: Adding missing or correcting existing tests

### Code of conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

[Code of Conduct](https://github.com/DhiWise/nodejs-code-generator/blob/master/CODE_OF_CONDUCT.md)

Our Code of Conduct means that you are responsible for treating everyone on the project with respect and courtesy.


================================================
FILE: LICENSE
================================================
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   Copyright 2021 DhiWise Pvt. Ltd.

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: MVC_ARCHITECTURE.md
================================================
# Node.JS,Express Project in MVC Architecture with Mongoose/Sequelize

**supported version of nodejs > 12**,
**supported version of mongoose-4.0**,
**supported version of sequelize-6.6.5**

## About 
- This is a Node application, developed using MVC pattern with Node.js, ExpressJS.

## Initial
1. ```$ npm install```
2. ```$ npm start```

## Folder structure:
```
  ├── app.js       - starting point of the application
  ├── config       - application configuration files
  ├── constants    - contains commonly used constants 
  ├── controller   - contains business logic
  ├── model        - models of application (DB schema files)
  ├── postman      - API documentation - postman collection files
  ├── routes       - contains all the routes of application
  ├── services     - contains commonly used services
  ├── views        - templates
  └── utils        - contains utility functions    
```

### Detail Description of Files and folders

1. app.js
- entry point of application.

2. config
- passport strategy files
- database connection files

3. constants
- constants used across application.

4. controllers
- Controller files that contains Business logic
```
	├── controller
		└── platform
			└── <model>Controller.js   - contains CRUD Operations
```

5. middleware
- Middleware files for authentication, authorization and role-access.

6. models
- Database models 

7. postman
- Postman collection of APIs (Import this JSON in Postman to run the APIs)

8. public 
- Assets used in application

9. routes
```
	├── routes
		├── platform
			├── <model>Routes.js  - contains CRUD operation routes
			└── index.js              - exports model Routes
		└── index.js                - exports platform routes

```
- index.js file, exports platform routes, imported into app.js to access all the routes.

10. services
```
	├── services
		├── jobs                     - cron jobs
		└── auth.js                  - Authentication module service

```

11. utils
```
	├── utils
		├── validations              - joi validations files for every model
		├── dbService.js             - Database functions 
		├── messages.js              - Messages used in sending response 
		├── responseCode.js          - response codes 
		└── validateRequest.js       - validate request based on model schema

```

12. env files
- You can add credentials, port, database-name etc as per your environment(Development/Production).
- If you are running test environment then test cases will run using test database,and its configuration is there inside app.js


================================================
FILE: README.md
================================================
[![GitHub stars](https://img.shields.io/github/stars/DhiWise/nodejs-code-generator?style=flat-square&color=yellow)](https://github.com/DhiWise/nodejs-code-generator)
[![Issues](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square&color=66bb6a)](https://github.com/DhiWise/nodejs-code-generator/issues)

# Node.js Code Generator
<p>
Node.js code generator is a developer-centric platform to build backend CRUD APIs along with other essential features to boost developers' productivity time by twofold!

Developers just need to add their schema data to reduce their work related to models into a few simple configurations. Developers can also configure platforms , routes, role access, authentication & more for their application.

Most importantly, the Node.js code generator gives developers total code ownership. The code it generates is bug-free and easily customizable
</p>

## Table of contents

* [Get started](#get-started)

* [Supported Architectures](#supported-architectures)

* [Features](#features-of-generated-code)

* [Documentation](#documentation)

## Get started 
After a successful run, a user can configure different settings using UI, and build an app to generate the code.
1. To run ```npm i && npm run start```
> :warning: Note: Use ```npm i --force``` If your npm installation fails. As Node version >= 14 will give you errors if peer dependency in different packages have ambiguation in versions.
2. With ```npm run start``` project will run on 3000 port.
3. Run http://localhost:3000 and you will see "create application" form. After creating an application you can configure modules and build the app to get the source code.
<img src="https://development-dhvs.s3.ap-south-1.amazonaws.com/uploads/user-profile/open-source.gif" alt="create-application"/>
4. After a successful build, Generated code will resides inside the **packages/server/output** folder.

## Supported architectures

This project provides two architectures to choose from, while creating an application.
### <a href="https://github.com/DhiWise/nodejs-code-generator/blob/master/CLEAN_CODE.md">Clean Code</a>
The main rule of clean architecture is that code dependencies can only move from the outer levels inward. Code on the inner layers can have no knowledge of functions on the outer layers.

### <a href="https://github.com/DhiWise/nodejs-code-generator/blob/master/MVC_ARCHITECTURE.md">MVC - Model-View-Controller</a>
The Model-View-Controller (MVC) is an architectural pattern that separates an application into three main logical components: the model, the view, and the controller. Each of these components are built to handle specific development aspects of an application.

## Features of generated code
1. User Authentication and Authorization (using Passport)
2. Social Login APIs
3. CRUD APIs with middleware and attributes' selection
4. List API with pagination, populate and queries
5. Upload attachment API with validation and storage options like (Local server or S3 public/private bucket)
6. Role-Permission
8. Hooks and Indexes
9. Policy/middleware
10. API request body validation (Using joi)
11. API response with standard error and message pattern
12. Test cases
13. Postman collection and API documentation
15. Constants
17. Environment Variables for development, QA and production
18. Custom API setup
19. Multiple Platform selection and User type configuration
20. MVC and Clean-code architecture 
21. Supported Databases <br>
    a. MongoDB<br>
    b. SQL Server<br>
    c. MYSQL<br>
    d. PostgreSQL

## Documentation

Here's the Documentation of <a href="https://docs.dhiwise.com/docs/node/generate-apis/">How you can use generated APIs</a>

## Contribution
Have you found a bug? :lady_beetle: <a href="https://github.com/DhiWise/nodejs-code-generator/issues/new?assignees=&labels=type%3A%20bug&template=bug_report.md&title=">Please report it here</a>
or have a nice feature 💡 to contribute? Add it <a href="https://github.com/DhiWise/nodejs-code-generator/issues/new?assignees=&labels=type%3A%20feature%20request&template=feature_request.md&title="> here </a> 
<br/>
Our <a href="https://github.com/DhiWise/nodejs-code-generator/blob/master/CONTRIBUTING.md">Contribution guide </a> will help you how to contribute.

## Support
If you have problems or questions go to our Discord channel, we will then try to help you as quickly as possible: https://discord.gg/hTuNauNjyJ


================================================
FILE: lerna.json
================================================
{
  "packages": [
    "packages/*"
  ],
  "npmClient": "npm",
  "version": "1.3.1",
  "lerna": "4.0.0",
  "command": {
    "publish": {
      "conventionalCommits": true,
      "yes": true
    }
  }
}

================================================
FILE: package.json
================================================
{
  "name": "nodejs-code-generator",
  "version": "0.0.0",
  "private": true,
  "author": {
    "name": "DhiWise",
    "url": "https://www.dhiwise.com"
  },
  "scripts": {
    "start": "lerna run start",
    "install": "lerna clean -y && lerna bootstrap --hoist",
    "test": "jest --runInBand",
    "commit": "cz",
    "release_prepatch": "lerna publish prepatch --conventional-commits && conventional-github-releaser --preset angular",
    "release_patch": "lerna publish patch --conventional-commits && conventional-github-releaser --preset angular",
    "release_premajor": "lerna publish premajor --conventional-commits && conventional-github-releaser --preset angular",
    "release": "lerna publish --conventional-commits && conventional-github-releaser --preset angular",
    "lint": "eslint . --ext .js --fix"
  },
  "jest": {
    "modulePathIgnorePatterns": [
      "packages/server/output/*"
    ]
  },
  "devDependencies": {
    "@babel/eslint-parser": "^7.15.8",
    "@babel/plugin-proposal-class-properties": "^7.14.5",
    "@babel/plugin-transform-react-jsx": "^7.14.9",
    "commitizen": "^4.2.4",
    "conventional-github-releaser": "^3.1.2",
    "cz-lerna-changelog": "^2.0.3",
    "eslint": "^7.32.0",
    "eslint-config-airbnb": "^18.2.1",
    "eslint-import-resolver-alias": "^1.1.2",
    "eslint-plugin-import": "^2.22.2",
    "eslint-plugin-jsx-a11y": "^6.4.1",
    "eslint-plugin-react": "^7.26.1",
    "eslint-plugin-react-hooks": "^4.2.0",
    "lerna": "^4.0.0",
    "react-app-rewire-aliases": "^0.2.0",
    "react-app-rewired": "^2.1.8",
    "react-error-overlay": "^6.0.9",
    "supertest": "^6.1.6"
  },
  "config": {
    "commitizen": {
      "path": "./node_modules/cz-lerna-changelog"
    }
  }
}


================================================
FILE: packages/client/.eslintrc.json
================================================
{
  "env": {
    "browser": true,
    "es2021": true
  },
  "extends": [
    "plugin:react/recommended",
    "airbnb"
  ],
  "parserOptions": {
    "ecmaFeatures": {
      "jsx": true
    },
    "ecmaVersion": 12,
    "sourceType": "module",
    "requireConfigFile": false,
    "babelOptions": {
      "presets": [
        "@babel/preset-react",
        [
          "@babel/env",
          {
            "targets": {
              "edge": "17",
              "firefox": "60",
              "chrome": "67",
              "safari": "11.1"
            },
            "useBuiltIns": "usage",
            "corejs": "3.6.4"
          }
        ]
      ],
      "plugins": [
        "@babel/plugin-transform-react-jsx",
        "@babel/plugin-proposal-class-properties"
      ]
    }
  },
  "plugins": [
    "react"
  ],
  "rules": {
    "jsx-a11y/label-has-for": "off",
    "jsx-a11y/label-has-associated-control": "off",
    "max-len": "off",
    "linebreak-style": "off",
    "global-require": "off",
    "no-console": "off",
    "react/prop-types": "off",
    "jsx-a11y/click-events-have-key-events": "off",
    "jsx-a11y/no-static-element-interactions": "off",
    "jsx-a11y/mouse-events-have-key-events": "off",
    "jsx-a11y/no-redundant-roles": "off",
    "jsx-a11y/no-noninteractive-tabindex": "off",
    "jsx-a11y/no-noninteractive-element-interactions": "off",
    "react/require-default-props": "off",
    "react/button-has-type": "off",
    "react/no-unknown-property":"off",
    "react/destructuring-assignment": [
      "off",
      {
        "ignoreClassFields": true
      }
    ],
    "no-bitwise": "off",
    "no-unused-expressions": [
      "error",
      {
        "allowShortCircuit": true,
        "allowTernary": true
      }
    ],
    "no-underscore-dangle": "off",
    "react/no-unescaped-entities": "off",
    "react/jsx-filename-extension": [
      1,
      {
        "extensions": [
          ".js",
          ".jsx"
        ]
      }
    ],
    "import/prefer-default-export": "off"
  },
  "parser": "@babel/eslint-parser",
  "settings": {
    "import/resolver": {
      "alias": [
        [
          "@assets",
          "./src/assets"
        ],
        [
          "@constant",
          "./src/constant"
        ]
      ],
      "node": {
        "extensions": [
          ".js",
          ".jsx",
          ".ts",
          ".tsx"
        ]
      }
    }
  }
}


================================================
FILE: packages/client/.gitignore
================================================
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.

# dependencies
/node_modules   
/.history
/.pnp
.pnp.js
package-lock.json
yarn.lock
/.vscode

# production
/build

# misc
.DS_Store
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
yarn-debug.log*
yarn-error.log*


================================================
FILE: packages/client/CHANGELOG.md
================================================
# Change Log

All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [1.3.1](https://github.com/DhiWise/dhiwise-nodejs/compare/v1.3.0...v1.3.1) (2022-09-28)

**Note:** Version bump only for package @nodejs-code-generator/client





# [1.3.0](https://github.com/DhiWise/dhiwise-nodejs/compare/v1.2.0...v1.3.0) (2022-04-25)


### Bug Fixes

* **eslint fixes:** eslint rules violation removed ([7682a2a](https://github.com/DhiWise/dhiwise-nodejs/commit/7682a2af8031955655e5c943be580fb18f2cce5a))
* **file upload in cc:** fix file upload in controller of cc ([387562a](https://github.com/DhiWise/dhiwise-nodejs/commit/387562a1b9ecc6636200c6c9fb7d56451a0c5878))
* **model data save warning:** when model data change and change the model without save ask warning p ([791f20f](https://github.com/DhiWise/dhiwise-nodejs/commit/791f20fc716e3acba8271ca6109e36b460848d09))
* **overlay issue no able to click:** propstypes forbidden remove and overlay issue fix ([3abc5fa](https://github.com/DhiWise/dhiwise-nodejs/commit/3abc5fab37b580789691effb46231cbb9dd1c760)), closes [#27](https://github.com/DhiWise/dhiwise-nodejs/issues/27)
* **Remove configuration tab in routes:** file upload - removal form custom routes ([98a7e54](https://github.com/DhiWise/dhiwise-nodejs/commit/98a7e540e5bface7478edf1940914df4e53ef42e))





# [1.2.0](https://github.com/DhiWise/nodejs-code-generator/compare/v1.1.0...v1.2.0) (2022-02-02)

**Note:** Version bump only for package @nodejs-code-generator/client





# [1.1.0](https://github.com/DhiWise/nodejs-code-generator/compare/v1.0.0...v1.1.0) (2022-01-11)


### Features

* add confirmation popup when second time build application ([a7fe3c0](https://github.com/DhiWise/nodejs-code-generator/commit/a7fe3c001fab1972a8f2f151feb6deb18220c3e5)), closes [#20](https://github.com/DhiWise/nodejs-code-generator/issues/20)


================================================
FILE: packages/client/README.md
================================================
# Client    

This is a node code generator panel by using you can give input's and generate code.

## Run
##### `npm start`
 
 Open http://localhost:3000 to view it in the browser.


================================================
FILE: packages/client/babel-plugin-macros.config.js
================================================
module.exports = {
  twin: {
    config: 'tailwind.config.js',
    preset: 'styled-components',
    autoCssProp: true,
    dataTwProp: true,
    debugPlugins: false,
    debug: false,
  },
};


================================================
FILE: packages/client/babel.config.json
================================================
{
	"presets": [
		"@babel/preset-react",
		[
			"@babel/env",
			{
				"targets": {
					"edge": "17",
					"firefox": "60",
					"chrome": "67",
					"safari": "11.1"
				},
				"useBuiltIns": "usage",
				"corejs": "3.6.4"
			}
		]
	],
	"plugins": ["@babel/plugin-transform-react-jsx","@babel/plugin-proposal-class-properties"]
}

================================================
FILE: packages/client/config-overrides.js
================================================
const rewireAliases = require('react-app-rewire-aliases');
const { paths } = require('react-app-rewired');
const path = require('path');

/* config-overrides.js */
module.exports = function override(config, env) {
  return rewireAliases.aliasesOptions({
    '@assets': path.resolve(__dirname, `./${paths.appSrc}/assets`),
    '@constant': path.resolve(__dirname, `./${paths.appSrc}/constant/`),
  })(config, env);
};


================================================
FILE: packages/client/package.json
================================================
{
  "name": "@nodejs-code-generator/client",
  "version": "1.3.1",
  "private": true,
  "dependencies": {
    "@babel/parser": "^7.15.8",
    "@babel/traverse": "^7.15.4",
    "@dhiwise/icons": "^0.0.9",
    "@monaco-editor/react": "^4.0.7",
    "@reduxjs/toolkit": "^1.6.2",
    "@tailwindcss/postcss7-compat": "^2.2.17",
    "@testing-library/jest-dom": "^5.14.1",
    "@testing-library/react": "^11.2.7",
    "@testing-library/user-event": "^12.8.3",
    "array-move": "^3.0.1",
    "autoprefixer": "^10.3.7",
    "axios": "^0.23.0",
    "classnames": "^2.3.1",
    "copy-to-clipboard": "^3.3.1",
    "dayjs": "^1.10.7",
    "event-source-polyfill": "^1.0.25",
    "immutability-helper": "^3.1.1",
    "jsonlint": "git+https://github.com/DhiWise/jsonlint",
    "lodash": "^4.17.21",
    "memoize-one": "^6.0.0",
    "monaco-jsx-highlighter": "^1.1.8",
    "omit-deep-lodash": "^1.1.5",
    "pluralize": "^8.0.0",
    "postcss": "^8.3.9",
    "postcss-cli": "^9.0.1",
    "postcss-custom-properties": "^12.0.0",
    "postcss-import": "^14.0.2",
    "postcss-nested": "^5.0.6",
    "prop-types": "^15.7.2",
    "rc-drawer": "^4.4.2",
    "react": "^17.0.2",
    "react-app-rewire-aliases": "^0.2.0",
    "react-app-rewired": "^2.1.8",
    "react-awesome-query-builder": "^4.7.0",
    "react-content-loader": "^6.0.3",
    "react-datepicker": "^4.2.1",
    "react-dnd": "^10.0.2",
    "react-dnd-html5-backend": "^9.5.1",
    "react-dom": "^17.0.2",
    "react-dropdown-tree-select": "git+https://github.com/DhiWise/react-dropdown-tree-select",
    "react-helmet": "^6.1.0",
    "react-hook-form": "^6.15.4",
    "react-loadable": "^5.5.0",
    "react-lottie": "^1.2.3",
    "react-modal": "^3.14.3",
    "react-popover": "^0.5.10",
    "react-pro-sidebar": "^0.7.1",
    "react-redux": "^7.2.5",
    "react-router": "^5.2.1",
    "react-router-dom": "^5.3.0",
    "react-scripts": "4.0.3",
    "react-scrollbar": "^0.5.6",
    "react-select": "^5.1.0",
    "react-sortable-hoc": "^2.0.0",
    "react-table": "^7.7.0",
    "react-tabs": "^3.2.2",
    "react-tiny-popover": "^7.0.1",
    "react-toast-notifications": "^2.5.1",
    "react-tooltip": "^4.2.21",
    "react-virtualized-auto-sizer": "^1.0.6",
    "react-window": "^1.8.6",
    "react-window-infinite-loader": "^1.0.7",
    "recoil": "^0.4.1",
    "redux-persist": "^6.0.0",
    "redux-persist-transform-encrypt": "^3.0.1",
    "snake-case": "^3.0.4",
    "tailwindcss": "^2.2.17",
    "three": "^0.137.0",
    "use-onclickoutside": "^0.4.0",
    "web-vitals": "^1.1.2"
  },
  "scripts": {
    "start": "npm run watch:css && react-app-rewired start",
    "build": "npm run watch:css && react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-scripts eject",
    "fix:lint": "npx eslint --fix --ext .js src",
    "watch:css": "postcss src/assets/css/tailwind.css -o src/assets/css/main.css"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@babel/eslint-parser": "^7.15.8",
    "@babel/plugin-proposal-class-properties": "^7.14.5",
    "@babel/plugin-transform-react-jsx": "^7.14.9",
    "eslint": "^7.32.0",
    "eslint-config-airbnb": "^18.2.1",
    "eslint-import-resolver-alias": "^1.1.2",
    "eslint-plugin-import": "^2.22.2",
    "eslint-plugin-jsx-a11y": "^6.4.1",
    "eslint-plugin-react": "^7.26.1",
    "eslint-plugin-react-hooks": "^4.2.0"
  }
}


================================================
FILE: packages/client/postcss.config.js
================================================
module.exports = {
  plugins: [
    require('postcss-import'),
    require('tailwindcss'),
    require('postcss-nested'),
    require('postcss-custom-properties'),
    require('autoprefixer'),
  ],
};


================================================
FILE: packages/client/public/index.html
================================================
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8" />
  <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <meta name="theme-color" content="#000000" />
  <meta name="description" content="Web site created using create-react-app" />
  <link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
  <!--
      manifest.json provides metadata used when your web app is installed on a
      user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
    -->
  <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
  <!--
      Notice the use of %PUBLIC_URL% in the tags above.
      It will be replaced with the URL of the `public` folder during the build.
      Only files inside the `public` folder can be referenced from the HTML.

      Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
      work correctly both with client-side routing and a non-root public URL.
      Learn how to configure a non-root public URL by running `npm run build`.
    -->
  <title>DhiWise</title>
</head>

<body>
  <noscript>You need to enable JavaScript to run this app.</noscript>
  <div id="root" class="dhiwise_body"></div>
  <!--
      This HTML file is a template.
      If you open it directly in the browser, you will see an empty page.

      You can add webfonts, meta tags, or analytics to this file.
      The build step will place the bundled scripts into the <body> tag.

      To begin the development, run `npm start` or `yarn start`.
      To create a production bundle, use `npm run build` or `yarn build`.
    -->
</body>

</html>

================================================
FILE: packages/client/public/manifest.json
================================================
{
  "short_name": "React App",
  "name": "Create React App Sample",
  "icons": [
    {
      "src": "favicon.ico",
      "sizes": "64x64 32x32 24x24 16x16",
      "type": "image/x-icon"
    },
    {
      "src": "logo192.png",
      "type": "image/png",
      "sizes": "192x192"
    },
    {
      "src": "logo512.png",
      "type": "image/png",
      "sizes": "512x512"
    }
  ],
  "start_url": ".",
  "display": "standalone",
  "theme_color": "#000000",
  "background_color": "#ffffff"
}


================================================
FILE: packages/client/public/robots.txt
================================================
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:


================================================
FILE: packages/client/src/App.css
================================================
.App {
  text-align: center;
}

.App-logo {
  height: 40vmin;
  pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
  .App-logo {
    animation: App-logo-spin infinite 20s linear;
  }
}

.App-header {
  background-color: #282c34;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: calc(10px + 2vmin);
  color: white;
}

.App-link {
  color: #61dafb;
}

@keyframes App-logo-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}


================================================
FILE: packages/client/src/App.js
================================================
import React from 'react';
import { RecoilRoot } from 'recoil';
import { ToastProvider } from 'react-toast-notifications';
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/integration/react';
import { persistStore } from 'redux-persist';
import {
  BrowserRouter as Router,
} from 'react-router-dom';
import store from './redux/store';
import Root from './config/Root';

const persistor = persistStore(store);

function MainApp() {
  return (
    <RecoilRoot>

      <Provider store={store}>
        <PersistGate loading={null} persistor={persistor}>
          <ToastProvider>
            <Router>
              <Root />
            </Router>
          </ToastProvider>
        </PersistGate>
      </Provider>

    </RecoilRoot>
  );
}
function App() {
  return <MainApp />;
}

export default App;


================================================
FILE: packages/client/src/api/applicationConfig.js
================================================
import { apiClient } from './config';
import { API_URLS } from './constants';

export const createApplicationConfig = (payload) => apiClient(API_URLS.applicationConfig.create, payload);
export const getApplicationConfig = (payload) => apiClient(API_URLS.applicationConfig.paginate, payload);
export const updateApplicationConfig = (applicationConfigId, payload) => apiClient(`${API_URLS.applicationConfig.url}/${applicationConfigId}`, payload, 'PUT');


================================================
FILE: packages/client/src/api/applicationConstant.js
================================================
import { apiClient } from './config';
import { API_URLS } from './constants';

// Application node  Constant Services

export const createConstant = (payload) => apiClient(API_URLS.constant.create, payload);
export const updateConstant = (constantId, payload) => apiClient(`${API_URLS.constant.url}/${constantId}`, payload, 'PUT');
export const fetchConstant = (payload) => apiClient(API_URLS.constant.paginate, payload);
export const deleteConstant = (payload) => apiClient(API_URLS.constant.delete, payload);


================================================
FILE: packages/client/src/api/applicationPolicy.js
================================================
import { apiClient } from './config';
import { API_URLS } from './constants';

// Application node  Constant Services

export const createPolicy = (payload) => apiClient(API_URLS.policy.create, payload);
export const updatePolicy = (policyId, payload) => apiClient(`${API_URLS.policy.url}/${policyId}`, payload, 'PUT');
export const fetchPolicy = (payload) => apiClient(API_URLS.policy.paginate, payload);
export const deletePolicy = (payload) => apiClient(API_URLS.policy.delete, payload);


================================================
FILE: packages/client/src/api/config.js
================================================
import axios from 'axios';

export const defaultAxios = axios.create({
  headers: {
    'Content-Type': 'application/json',
    'Cache-Control': 'no-cache',
    Pragma: 'no-cache',
    Expires: '0',
  },
});

export function apiClient(url, data = {}, method = 'POST', header = {}, rest, options) {
  return new Promise((resolve, reject) => {
    const headers = {
      ...header,
    };

    defaultAxios({
      method,
      url,
      headers,
      data,
      ...rest,
    }).then((res) => {
      if (res?.data?.code === 'OK') {
        resolve(res?.data);
      } else if (options?.isHandleCatch) {
        resolve(res?.data);
      } else {
        let msg = res?.data?.message || res?.response?.data?.message;
        if (res?.data?.isAlert) { msg = { msg }; }
        if (res?.data?.data && options?.isHandleError) { msg = { msg, data: res?.data?.data }; }
        reject(msg);
      }
    }).catch((err) => {
      let msg = err?.response?.data?.message; // || 'Can\'t connect to server';
      if (err?.response?.data?.isAlert) { msg = { msg }; }
      if (options?.isErrorResponse) { msg = err?.response?.data; }
      reject(msg);
    });
  });
}


================================================
FILE: packages/client/src/api/constants.js
================================================
const projectServiceUrl = process?.env?.REACT_APP_PROJECT_SERVICE_URL;

const version = 'web/v1';

export const API_URLS = {
  route: {
    url: `${projectServiceUrl}/${version}/project-route`,
    create: `${projectServiceUrl}/${version}/project-route/create`,
    paginate: `${projectServiceUrl}/${version}/project-route/paginate`,
    delete: `${projectServiceUrl}/${version}/project-route/destroy`,
  },
  application: {
    create: `${projectServiceUrl}/${version}/application/create`,
    generate: `${projectServiceUrl}/${version}/application/generate`,
    edit: `${projectServiceUrl}/${version}/application`,
    openVsCode: `${projectServiceUrl}/${version}/application/open-generated-code`,
    lastAppRedirect: `${projectServiceUrl}/${version}/application/last-application`,
    destroy: `${projectServiceUrl}/${version}/application/destroy`,
  },
  schema: {
    create: `${projectServiceUrl}/${version}/schema/create`,
    paginate: `${projectServiceUrl}/${version}/schema/paginate`,
    update: `${projectServiceUrl}/${version}/schema`,
    delete: `${projectServiceUrl}/${version}/schema/destroy`,
    get: `${projectServiceUrl}/${version}/schema/get`,
    multipleCreate: `${projectServiceUrl}/${version}/schema/insert-default-models`,
  },
  schemaDetail: {
    paginate: `${projectServiceUrl}/${version}/schema-detail/paginate`,
    upsert: `${projectServiceUrl}/${version}/schema-detail/upsert`,
  },
  constant: {
    url: `${projectServiceUrl}/${version}/project-constant`,
    create: `${projectServiceUrl}/${version}/project-constant/create`,
    paginate: `${projectServiceUrl}/${version}/project-constant/paginate`,
    delete: `${projectServiceUrl}/${version}/project-constant/destroy`,
  },
  policy: {
    url: `${projectServiceUrl}/${version}/project-policy`,
    create: `${projectServiceUrl}/${version}/project-policy/create`,
    paginate: `${projectServiceUrl}/${version}/project-policy/paginate`,
    delete: `${projectServiceUrl}/${version}/project-policy/destroy`,
  },
  applicationConfig: {
    url: `${projectServiceUrl}/${version}/application-config`,
    create: `${projectServiceUrl}/${version}/application-config/create`,
    paginate: `${projectServiceUrl}/${version}/application-config/paginate`,
  },
  master: {
    getByCode: `${projectServiceUrl}/${version}/master/get-by-code`,
  },
  envVariables: {
    get: `${projectServiceUrl}/${version}/env-variables/details`,
    upsert: `${projectServiceUrl}/${version}/env-variables/upsert`,
  },
  projectRoleAccess: {
    url: `${projectServiceUrl}/${version}/project-role-access`,
    upsert: `${projectServiceUrl}/${version}/project-role-access/upsert`,
    paginate: `${projectServiceUrl}/${version}/project-role-access/paginate`,
    delete: `${projectServiceUrl}/${version}/project-role-access/destroy`,
  },
};


================================================
FILE: packages/client/src/api/envVariable.js
================================================
import { apiClient } from '.';
import { API_URLS } from './constants';

export const getEnvs = (payload) => apiClient(API_URLS.envVariables.get, payload);
export const upsertEnvs = (payload) => apiClient(API_URLS.envVariables.upsert, payload);


================================================
FILE: packages/client/src/api/index.js
================================================
import { apiClient } from './config';
import { API_URLS } from './constants';

export { apiClient, API_URLS };


================================================
FILE: packages/client/src/api/master.js
================================================
import { apiClient } from './config';
import { API_URLS } from './constants';

export const fetchByCode = (payload) => apiClient(API_URLS.master.getByCode, payload);


================================================
FILE: packages/client/src/api/models.js
================================================
import { apiClient } from '.';
import { API_URLS } from './constants';

export const getModelPermissions = (payload) => apiClient(API_URLS.schemaDetail.paginate, payload);
export const upsertModelPermissions = (payload) => apiClient(API_URLS.schemaDetail.upsert, payload);
export const deleteModel = (payload) => apiClient(API_URLS.schema.delete, payload);
export const createModel = (payload) => apiClient(API_URLS.schema.create, payload);
export const updateModelApi = (payload, id) => apiClient(`${API_URLS.schema.update}/${id}`, payload, 'PUT');

// Library Model
export const createMultipleModels = (payload) => apiClient(`${API_URLS.schema.multipleCreate}`, payload);

// get specific Model Detail
export const getModel = (id) => apiClient(`${API_URLS.schema.get}/${id}`, null, 'GET');


================================================
FILE: packages/client/src/api/policy.js
================================================
import { apiClient } from '.';
import { API_URLS } from './constants';

export const createPolicy = (payload) => apiClient(API_URLS.policy.create, payload);
export const updatePolicy = (policyId, payload) => apiClient(`${API_URLS.policy.url}/${policyId}`, payload, 'PUT');
export const getPolicies = (payload) => apiClient(API_URLS.policy.paginate, payload);
export const deletePolicy = (payload) => apiClient(API_URLS.policy.delete, payload);


================================================
FILE: packages/client/src/api/project.js
================================================
/* eslint-disable implicit-arrow-linebreak */
import { apiClient } from './config';
import { API_URLS } from './constants';

export const createNewApplication = (appData) => apiClient(API_URLS.application.create, appData, 'POST', {}, {}, { isErrorResponse: true });

export const editApplication = (id, payload) => apiClient(`${API_URLS.application.edit}/${id}`, payload, 'PUT');

export const redirectApplication = () => apiClient(`${API_URLS.application.lastAppRedirect}`, {}, 'GET');

export const destroyApplication = (payload) => apiClient(`${API_URLS.application.destroy}`, payload);


================================================
FILE: packages/client/src/api/projectRoleAccess.js
================================================
import { apiClient } from './config';
import { API_URLS } from './constants';

export const getProjectRoleAccess = (payload) => apiClient(API_URLS.projectRoleAccess.paginate, payload);
export const upsertProjectRoleAccess = (payload) => apiClient(API_URLS.projectRoleAccess.upsert, payload);
export const deleteProjectRoleAccess = (payload) => apiClient(API_URLS.projectRoleAccess.delete, payload);


================================================
FILE: packages/client/src/api/routes.js
================================================
import { apiClient } from './config';
import { API_URLS } from './constants';

export const createNodeRoute = (payload) => apiClient(API_URLS.route.create, payload);
export const updateNodeRoute = (routeId, payload) => apiClient(`${API_URLS.route.url}/${routeId}`, payload, 'PUT');
export const getModelRoutes = (payload) => apiClient(API_URLS.route.paginate, payload);
export const deleteModelRoute = (payload) => apiClient(API_URLS.route.delete, payload);


================================================
FILE: packages/client/src/assets/css/Table.css
================================================
.custom-table table{
    @apply w-full;
}
.custom-table table tbody{
    /* box-shadow:0 0 0 2px var(--color-gray-200); */
    border-radius: 5px;
}
.custom-table table tr td,
.custom-table table tr th{
    padding:0.6rem 0.5rem;
    font-size:14px;
    text-align: left;
    text-transform: inherit;
}
.custom-table table tr td{
    border-top: 1px solid var(--color-gray-200);
    word-break: break-word;
}
.custom-table table tr th{
    /* @apply uppercase; */
}
.custom-table table tr{
    /* box-shadow:0 0 0 1px var(--color-gray-200); */
}
.custom-table table thead tr{
    box-shadow: none;
}
.custom-table table tr:first-child{
    border-radius:5px 5px 0 0;
}
.custom-table table tr:last-child{
    border-radius:0 0 5px 5px;
}
.custom-table td{
    min-width: min-content;
}
.codeTable table th,
.codeTable table td{
    min-width: 40px;
    /* max-width: 40px; */
    /* width: 40px; */
}
.react-json-view .requiredProperty svg,.react-json-view .uniqueProperty svg{
    fill: green;
}

.subAtt .spark-checkbox-inner{
    background-color: var(--color-gray-inputSub);
    border: 1px solid var(--color-gray-300);
}
.tableAuto{
    overflow: auto;
    height: 100%;
    /* width: 1532px; */
    scrollbar-width: thin;
    padding: 0 0 0 0;
}
/* .tableAuto .scrollarea{
    width: 100%;
    height: calc(100vh - 207px);
}
.tableAuto .content{
    min-width: 1532px;
    padding-right: 10px;
    overflow: visible;
} */
.tableScroll{
    min-width: min-content;
    padding: 0 0;
    overflow: auto;
    height:100%
}
.tableScroll .spark-checkbox-inner{
    margin: 0;
}
.tableScroll td{
    padding-right: 10px;
}

/* td {
    min-width: 250px;
    width: 250px;
} */
.modelPermissionTable .permissionTableList{
    width: 26rem;
    min-width: 26rem;
    max-width: 26rem;
}
.modelPermissionLeft{
    min-width: 250px;
    width: 250px;
    max-width: 250px;
}
.envTable td{
    min-width: 250px;
}
.envTable .tableInputSelect{
    width: 100%;
}
table{
    width: 100%;
}
.viewAttributeTable tr td:first-child{
    min-width: 60%;
    width: 60%;
}
.viewAttributeTable tr td:last-child{
    min-width: 40%;
    width: 40%;
}
.tableInputSelect{
    width: 8em;
    min-width: 8rem;
}
.smallInput{
    width: 7em;
    min-width: 7rem;
}
.tableCheck{
    width: 3em;
    min-width: 3rem;
}


/* table component */
.dhiTable{
    overflow: auto;
}
.dhiTable tr th{
    padding-top: 0.3rem;
    padding-bottom: 0.3rem;
    font-size: 14px;
    color: var(--color-text-primary);
    font-weight: 400;
    background-color: var(--color-gray-200);
}
.dhiTable tr td{
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    font-size: 14px;
    color: var(--color-text-primary);
    font-weight: 400;
    /* text-align: center; */
    border-top:1px solid var(--color-gray-200);
}
.onlyReadView tr td{
    border-top: none;
    border-bottom:1px solid var(--color-gray-350);
    border-right:1px solid var(--color-gray-350);
}
.dhiTable tr td,
.dhiTable tr th{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    white-space: nowrap;
    width: auto;
}
.firstColTable tr td:first-child,
.firstColTable tr th:first-child{
    width: 80px;
    min-width: 80px;
    max-width: 80px;
}
.dhiTable thead tr:first-child th{
    position: sticky;
    top: 0;
    z-index: 1;
}
.dhiTable tr .subRow tr:first-child th{
    position: relative;
    z-index: 0;
}
/* .dhiTable.leftSpace tr th:nth-child(2),
.dhiTable.leftSpace tr td:nth-child(2){
    padding-left:54px;
} */
/* sub row */
.subRow{
    padding: 10px 1.25rem 10px 1.25rem !important;
    border-top: none !important;
}
.subRow tr,
.subRow td{
    background: var(--color-gray-200);
    text-align: left;
}
.subRow td {
    /* border-top: none; */
    padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important;
    font-size: 0.875rem !important;
}
.onlyReadView .subRow td{
    /* padding-top: 0.2rem !important;
    padding-bottom: 0.2rem !important; */
    padding: 0.5rem !important;
    border: 1px solid var(--color-gray-100) !important;
    border-top: none !important;
    border-right: none !important;
    text-align: left;
}
.onlyReadView .subRow td:first-child{
    border-left: none !important;
}
/* .onlyReadView .subRow{
    border-right: none !important;
} */
.onlyReadView .subRow th{
    border-bottom: 1px solid var(--color-gray-100);
}
.onlyReadView thead{
    position: sticky;
    top: 0;
    z-index: 1;
}
.subRow tr:first-child td{
    padding-top: 10px !important;
}
.subRow tr:last-child td{
    padding-bottom: 10px !important;
}
.firstColTable tr td.subRow td:first-child,
.firstColTable tr td.subRow th:first-child{
    width: 60px;
    min-width: 60px;
    max-width: 60px;
}

.reactTable thead:before{
    content: "";
    width: 100%;
    height: 36px;
    position: fixed;
    left: 0;
    background: var(--color-gray-200);
}


================================================
FILE: packages/client/src/assets/css/Table1.css
================================================
.dhiTable_second  thead th{
    text-transform: uppercase;
    font-size: 14px;
    font-weight: bold;
    padding: 9px 10px;
}
.dhiTable_second tbody tr{
    box-shadow: 5px 0px 19px -5px var(--color-gray-100);
    background-color: var(--color-gray-black);
}
.dhiTable_second td{
    padding: 6px 10px;
    font-size: 14px;
}

================================================
FILE: packages/client/src/assets/css/animation.css
================================================
.checkAnimation{
    animation: zoom 0.75s;
}
@keyframes zoom {
    0% {
        transform: scale(0);
    }
    5% {
        transform: scale(0.25);
    }
    12% {
        transform: scale(0.50);
    }
    100% {
        transform: scale(1);
    }
}
.animationIcon{
    animation: rotating 1.5s infinite;
}
@keyframes rotating {
    0% {
        transform: scale(0.5);
    }
    10% {
        transform: scale(0.9);
    }
    50% {
        transform: scale(1);
    }
    100% {
        transform: scale(1);
    }
}

@keyframes showAnimate {
    0% {
        transform: scale(0.5);
    }
    10% {
        transform: scale(0.9);
    }
    50% {
        transform: scale(1);
    }
    100% {
        transform: scale(1);
    }
}

/* animation projectt svg */
.projectnotFoundImg svg path:nth-child(2) {
    stroke: var(--color--black-svg);
    stroke-width: 0.5;
}

.nodDataFound svg g path {
    fill: var(--color--black-svg);
    stroke: var(--color--black-svg);
}

.nodDataFound svg g>g:nth-child(3) g path {
    fill: var(--color-bg-secondary);
}

================================================
FILE: packages/client/src/assets/css/components/components.css
================================================
@import "../../../components/Checkbox/checkbox.css";
@import "../../../components/DatePicker/datepicker.css";
@import "../../../components/SelectTree/selectTreeCss.css";
@import "../Table.css";
@import "../Table1.css";
@import "../scroll.css";
@import "../dropdown.css";
@import "../popover.css";
@import "../logo.css";
@import "../tooltip.css";
@import "../editor.css";
@import "../notification.css";
@import "../method.css";

================================================
FILE: packages/client/src/assets/css/components/style.css
================================================
@import "../tailwind.css";

@font-face {
    font-family: 'circular';
    src: url("../../fonts/circular/CustomFont-Book.woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'circular';
    src: url("../../fonts/circular/CustomFont-Medium.woff2");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'circular';
    src: url("../../fonts/circular/CustomFont-Bold.woff2");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'circular';
    src: url("../../fonts/circular/CustomFont-Black.woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

body {
    @apply min-h-screen tracking-normal;
    font-family: "circular";
    font-weight: 400;
    /* font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; */
    color: var(--color-text-primary);
    background-color: var(--color-gray-black);
}

.display-webkit {
    display: -webkit-box;
}

.react-tel-input {
    font-family: inherit !important;
}

.spacing-dw1 {
    padding: 0.10rem 0.5rem !important;
}

.shadows-dw {
    box-shadow: rgba(0, 0, 0, 0.06) 0px 8px 16px 0px;
}

.shadows-dw1 {
    box-shadow: rgba(0, 0, 0, 0.08) 4px -3px 13px 0px;
}
.shadow-keyboard{
    box-shadow:0 -1px 0 var(--gray-200, #525252) inset;
}

/* Popup */
.ReactModal__Body--open .dhiwise_body,
.tox-dialog__disable-scroll .dhiwise_body,
.ReactModal__Body--open .fullScreen .drawer {
    filter: blur(5px);
    transition: fillter 0.3s;
}

.min-h-64 {
    min-height: 16rem;
}
.min-h-auto{
    min-height:auto !important;
}

.border-b-1 {
    border-bottom-width: 1px;
}



.colorChangeSvg .a {
    fill: #fff;
}

.ReactModal__Body--open {
    overflow: hidden;
}


.bg-transparent {
    background-color: transparent !important;
}

.top-49 {
    top: 49px;
}

/* toggle */
.toggleBox:last-child {
    border-right: none;
}

/* select */
.spark-select svg {
    fill: var(--color--black-svg) !important;
}

.bg-opacity-80 {
    background: rgba(0, 0, 0, 0.8);
}

.ReactModalPortal .ReactModal__Overlay {
    z-index: 999999 !important;
    background: rgba(0, 0 ,0 ,0.73);
}
.ReactModalPortal .ReactModal__Overlay.backPopup{
    z-index: 9999 !important;
}

.groupSelect {
    margin: 0 -18px;
}

/* buildDropdown */
.buildDropdown {
    position: fixed !important;
    /* bottom: 30px;
    left: 50px !important;
    right: auto !important; */
    overflow: visible !important;
}
.position-div.menuBottom{
    /* position: fixed !important; */
    bottom: 30px;
    left: 50px !important;
    right: auto !important;
    min-width: 200px !important;
}
/* accordin */
[aria-expanded="false"] .uparrow {
    display: none;
}

[aria-expanded="true"] .downarrow {
    display: none;
}

/* header */
.headerAccountDropdown {
    padding: 0 !important;
    min-width: 327px !important;
}
@media(max-width:767px){
    .position-div.right.headerAccountDropdown{
        min-width: 290px !important;
        width:290px;
        right: -10px !important;
    }
}
.schemaDropdown{
    min-width: 200px !important;
}

/* project  */
.projectListDropdown{
    min-width: 220px !important;
}
.projectAppGroup:hover .projectAppList,
.projectGroup:hover .projectList{
    display: flex;
}
.projectAppGroup:first-child{
    border-top: none;
}

/* space */
.-right-100 {
    right: -100%;
}


.min-h-body {
    min-height: calc(100vh - 48px);
}

.notifyMesseg .min-h-body {
    min-height: calc(100vh - 84px);
}

/* drawer size */
.drawerSize {
    width: 690px;
}

.gadient {
    background: linear-gradient(to top, black, transparent);
}

/* folder select */
.codeFolderListDisable .rstm-tree-item{
    cursor: not-allowed;
}
.rstm-tree-item--active {
    background-color: var(--color-bg-primary);
}

.rstm-tree-item--active .defultSelect,
.activeSelect {
    display: none;
}

.rstm-tree-item--active .activeSelect,
.defultSelect {
    display: block;
}

.leftFolder .rstm-tree-item--active svg {
    fill: #fff !important;
}

.leftFolder .rstm-tree-item .tagLabelBox {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: flex;
    align-items: center;
}
.leftFolder .tagGroup {
    width: 100%;
}
.rstm-tree-item {
    width: 100%;
    padding-top: .15rem;
    padding-bottom: .15rem;
    border: 1px solid transparent;
    display: flex;
}

.rstm-tree-item--focused {
    border: 1px solid var(--color-bg-primary) !important;
}

/* desciption doted */
.descriptionDoted {
    max-height: 48px;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.625;
    overflow: hidden;
    display: -webkit-box;
}

/* input autofill */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus {
    border: 1px solid var(--color-gray-70);
    -webkit-text-fill-color: var(--color-text-primary);
    -webkit-box-shadow: 0 0 0px 1000px var(--color-gray-input) inset;
    transition: background-color 5000s ease-in-out 0s;
}


.fillnone{
    fill: none !important;
}
.word-break{
    word-break: break-word;
}
.min-w-40{
    min-width: 10rem;
}
.min-w-32{
    min-width: 8rem;
}
/* Input */
input::-webkit-calendar-picker-indicator {
    display: none;
}
input{
    caret-color: var(--color-text-primary);
}
.max-w-48{
    max-width: 12rem;
}
.lifeCycleAction .lifeCycleActionList:first-child,
.firstBorderNone .listClass:first-child{
    border-top: none;
}
/* group hover */
.groupBox:hover .groupItem{
    display: block;
}
.imgHoverGroup:hover .imgHover{
    display: block;
}
.imgHoverGroup:hover .imgDefault{
    display: none;
}
.primaryShadow:focus{
    box-shadow: 0 0 0 3px rgb(0 97 255 / 40%);
}
.dangerShadow:focus{
    box-shadow: 0 0 0 3px rgba(var(--color-button-danger), 40%);
}
.ghostShadow:focus{
    /* box-shadow: 0 0 0 3px rgba(var(--color-button-ghost), 40%); */
    box-shadow: 0 0 0 3px rgba(var(--color-button-secondary), 40%);
}
.outlineShadow:focus{
    box-shadow: 0 0 0 3px rgb(var(--color-button-outline), 40%);
}
.secondaryShadow:focus{
    box-shadow: 0 0 0 3px rgba(var(--color-button-secondary), 40%);
}
.groupBox:hover .imgClass{
    transform: scale(1.7);
}
.screenFilter .position-div{
    min-width: 320px !important;
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] {
  -moz-appearance: textfield;
}

.z-100{
    z-index: 100 !important;
}
@media(max-width:767px){
    .memberDropdown{
        min-width: 290px !important;
        width: 290px;
    }
}

.react-select__indicator{
    padding: 6px !important; 
}

.shadows-box{
    box-shadow: 0 0 20px 6px rgba(var(--color-black-100), 58%);
}


================================================
FILE: packages/client/src/assets/css/drawer.css
================================================
.drawer {
  position: fixed;
  z-index: 100000;
  transition: width 0s ease 0.3s, height 0s ease 0.3s, transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.drawer > * {
  transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), opacity 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), box-shadow 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.drawer.drawer-open {
  transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.drawer .drawer-mask {
  background: #000;
  opacity: 0;
  width: 100%;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), height 0s ease 0.3s;
}
.drawer-content-wrapper {
  position: absolute;
  background: var(--color-gray-black);
}
.drawer-content {
  overflow: auto;
  z-index: 1;
  position: relative;
}
.drawer-handle {
  position: absolute;
  top: 72px;
  width: 41px;
  height: 40px;
  cursor: pointer;
  z-index: 0;
  text-align: center;
  line-height: 40px;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
}
.drawer-handle-icon {
  width: 14px;
  height: 2px;
  background: #333;
  position: relative;
  transition: background 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.drawer-handle-icon:before,
.drawer-handle-icon:after {
  content: '';
  display: block;
  position: absolute;
  background: #333;
  width: 100%;
  height: 2px;
  transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.drawer-handle-icon:before {
  top: -5px;
}
.drawer-handle-icon:after {
  top: 5px;
}
.drawer-left,
.drawer-right {
  width: 0%;
  height: 100%;
}
.drawer-left .drawer-content,
.drawer-right .drawer-content{
  display: flex;
  flex-direction: column;
}
.drawer-left .drawer-content-wrapper,
.drawer-right .drawer-content-wrapper,
.drawer-left .drawer-content,
.drawer-right .drawer-content {
  height: 100%;
}
.drawer-left.drawer-open,
.drawer-right.drawer-open {
  width: 100%;
}
.drawer-left.drawer-open.no-mask,
.drawer-right.drawer-open.no-mask {
  width: 0%;
}
.drawer-left {
  top: 0;
  left: 0;
}
.drawer-left .drawer-handle {
  right: -40px;
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
  border-radius: 0 4px 4px 0;
}
.drawer-left.drawer-open .drawer-content-wrapper {
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
}
.drawer-right {
  top: 0;
  right: 0;
}
.drawer-right .drawer-content-wrapper {
  right: 0;
}
.drawer-right .drawer-handle {
  left: -40px;
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
  border-radius: 4px 0 0 4px;
}
.drawer-right.drawer-open .drawer-content-wrapper {
  box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
}
.drawer-right.drawer-open.no-mask {
  right: 1px;
  transform: translateX(1px);
}
.drawer-top,
.drawer-bottom {
  width: 100%;
  height: 0%;
}
.drawer-top .drawer-content-wrapper,
.drawer-bottom .drawer-content-wrapper,
.drawer-top .drawer-content,
.drawer-bottom .drawer-content {
  width: 100%;
}
.drawer-top .drawer-content,
.drawer-bottom .drawer-content {
  height: 100%;
}
.drawer-top.drawer-open,
.drawer-bottom.drawer-open {
  height: 100%;
}
.drawer-top.drawer-open.no-mask,
.drawer-bottom.drawer-open.no-mask {
  height: 0%;
}
.drawer-top .drawer-handle,
.drawer-bottom .drawer-handle {
  left: 50%;
  margin-left: -20px;
}
.drawer-top {
  top: 0;
  left: 0;
}
.drawer-top .drawer-handle {
  top: auto;
  bottom: -40px;
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); */
  border-radius: 0 0 4px 4px;
}
.drawer-top.drawer-open .drawer-content-wrapper {
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); */
}
.drawer-bottom {
  bottom: 0;
  left: 0;
}
.drawer-bottom .drawer-content-wrapper {
  bottom: 0;
}
.drawer-bottom .drawer-handle {
  top: -40px;
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);
  border-radius: 4px 4px 0 0;
}
.drawer-bottom.drawer-open .drawer-content-wrapper {
  box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15);
}
.drawer-bottom.drawer-open.no-mask {
  bottom: 1px;
  transform: translateY(1px);
}
.drawer.drawer-open .drawer-mask {
  opacity: .73;
  height: 100%;
  transition: opacity 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86);
}
.drawer.drawer-open .drawer-handle-icon {
  background: transparent;
}
.drawer.drawer-open .drawer-handle-icon:before {
  transform: translateY(5px) rotate(45deg);
}
.drawer.drawer-open .drawer-handle-icon:after {
  transform: translateY(-5px) rotate(-45deg);
}

.drawer-content-wrapper{
  width: 690px;
}
.drawer-right .drawer-content-wrapper{
  border-left: 1px solid var(--color-gray-100);
}
.drawer-left .drawer-content-wrapper{
  border-right: 1px solid var(--color-gray-100);
}
.fullScreen .drawer-content-wrapper{
  width: 100%;
  border: none;
}
.smallSidebar .drawer-content-wrapper{
  width: 520px;
}
@media (max-width:767px) {
  .mobileDrawer .drawer-content-wrapper{
    width: 300px;
  }
  .mobileDrawer2 .drawer-content-wrapper{
    width: 90%;
  }
}
.drawer-bottom .drawer-mask{
  display: none;
}
.drawer-bottom .drawer-content{
  box-shadow: rgb(0 0 0 / 8%) 4px -3px 13px 0px;
  border: 1px solid var(--color-gray-100);
  background-color: var(--color-gray-black);
}
.ant-scrolling-effect .dhiwise_body{
  filter: blur(5px);
  transition: fillter 0.3s;
}


================================================
FILE: packages/client/src/assets/css/dropdown.css
================================================

.dropdown-menu:hover {
    background-color: #0061ff;
    color: #fff;
}

.dropdown-menu:hover svg {
    fill: #fff;
}
.dropdown-min{
    min-width: min-content !important;
}
.border-primary-light {
    border-color: #e9f1ff;
}

.primary-gray-text-color {
    color: var(--color-text-primary);
}

.show {
    display: block !important;
}

.position-div.right {
    right: 0 !important;
    left: auto !important;
}

.position-div.left {
    left: 0 !important;
    right: auto !important;
}

.position-div {
    background: var(--color-bg-white) !important;
    border: 1px solid var(--color-gray-90);
    border-radius: 0 0 5px 5px;
    /* box-shadow: none !important; */
    box-shadow: rgba(0, 0, 0, 0.06) 0px 8px 16px 0px !important;
}


================================================
FILE: packages/client/src/assets/css/editor.css
================================================
.monaco-editor,
.monaco-editor-background,
.monaco-editor .inputarea.ime-input {
    background-color: var(--color-gray-black) !important;
}

.monaco-editor .margin {
    background-color: var(--color-gray-black) !important;
}

.mtk4,
.mtk9,
.mtk1 {
    color: var(--color-gray-white) !important;
}

.mtk5 {
    color: var(--color-bg-secondary) !important;
}
.readonlyEditor .monaco-editor .view-lines {
    cursor: not-allowed !important;
}

.readonlyEditor .monaco-editor .selected-text {
    background-color: transparent !important;
}

.readonlyEditor .monaco-mouse-cursor-text {
    cursor: no-drop !important;
    background: transparent !important;
    border: none !important;
    color: transparent !important;
}
.smallEditor .margin-view-overlays{
    display: none;
}
.kCxsfG{
    padding: 12px !important;
    background-color: var(--color-gray-200) !important;
}
.copyPestCode pre,
.copyPestCode code{
    font-size: 14px;
}
.htmlDescription a{
    color: var(--color-text-dark);
    margin: 0 4px; 
    display: inline-block;
}
.copyEditor button .icon{
    display: none;
}
@media(max-width:1280px){
    .copyPestCode pre,
    .copyPestCode code{
        font-size: 12px;
    }
}

================================================
FILE: packages/client/src/assets/css/logo.css
================================================
.themeLogo .c,
.themeLogo .st2 {
    fill: var(--color--black-svg);
}

.themeLogo .a,
.themeLogo .st0 {
    fill: var(--color--secondry-svg);
}

.themeLogo .b,
.themeLogo .st1 {
    fill: var(--color--theme-svg);
}

.themeSmallLogo .cls-1,
.themeSmallLogo .cls-4 {
    fill: none;
}

.themeSmallLogo .cls-2 {
    clip-path: url(#clip-path);
}

.themeSmallLogo .cls-3 {
    opacity: 0.5;
}

.themeSmallLogo .cls-4 {
    stroke: #e0e0e0;
    stroke-miterlimit: 10;
}

.themeSmallLogo .cls-5 {
    fill: var(--color--secondry-svg);
}

.themeSmallLogo .cls-6 {
    fill: var(--color--theme-svg);
}

.themeWhiteLogo .cls-1 {
    fill: var(--color--black-svg);
}

================================================
FILE: packages/client/src/assets/css/main.css
================================================


================================================
FILE: packages/client/src/assets/css/method.css
================================================

/* methodList */
.methodList {
    border: 1px solid var(--color-bg-active);
    color: var(--color-bg-active);
    border-radius: var(--border-radius);
    padding: 0.1rem 0.1rem;
    font-size: 12px;
    line-height: 20px;
}

.methodList.put {
    border: 1px solid var(--color-bg-yellow);
    color: var(--color-bg-yellow);
}

.methodList.post {
    border: 1px solid var(--color-bg-active);
    color: var(--color-bg-active);
}

.methodList.delete {
    border: 1px solid var(--color-bg-deactive);
    color: var(--color-bg-deactive);
}

.methodList.get {
    border: 1px solid var(--color-bg-gray);
    color: var(--color-bg-gray);
}

.methodList.patch {
    border: 1px solid var(--color-bg-blue);
    color: var(--color-bg-blue);
}

.methodList.head {
    border: 1px solid var(--color-bg-orange);
    color: var(--color-bg-orange);
}

.methodList.options {
    border: 1px solid var(--color-bg-pink);
    color: var(--color-bg-pink);
}

.methodList.purge {
    border: 1px solid var(--color-bg-lightGreen);
    color: var(--color-bg-lightGreen);
}

.methodList.link {
    border: 1px solid var(--color-bg-lightblue);
    color: var(--color-bg-lightblue);
}

.methodList.unlink {
    border: 1px solid var(--color-bg-lightorange);
    color: var(--color-bg-lightorange);
}

/* node dashboard */
.nodeManageOperation{

}

@media (max-width:1379px){
    .menuShortCut:nth-last-child(4){
        border-bottom: 1px solid var(--color-gray-200);
    }
}
/* app tag */
.application-NODE_EXPRESS{
    background-color: rgba(var(--color-node-app),25%);
    color: rgba(var(--color-node-app),100%);
    border: none;
}


================================================
FILE: packages/client/src/assets/css/notification.css
================================================
/* notification */
.react-toast-notifications__container {
    z-index: 1000000 !important;
}

.react-toast-notifications__toast.react-toast-notifications__toast--error .react-toast-notifications__toast__icon-wrapper {
    background-color: transparent;
    color: var(--color-bg-deactive);
    display: flex;
    align-items: center;
    justify-content: center;
}

.react-toast-notifications__toast.react-toast-notifications__toast--error {
    background: var(--color-bg-redlight);
    border-left: 3px solid var(--color-bg-deactive);
    color: var(--color-message);
    box-shadow: none;
    align-items: center;
    border-radius: var(--border-radius);
}

.react-toast-notifications__toast.react-toast-notifications__toast--error .react-toast-notifications__toast__content {
    line-height: normal;
    min-height: max-content;
    font-weight: 600;
}

.react-toast-notifications__toast__dismiss-button {
    display: flex;
}

.react-toast-notifications__toast__dismiss-button svg {
    fill: var(--color-message) !important;
}

================================================
FILE: packages/client/src/assets/css/popover.css
================================================
.popupCustom {
    z-index: 100000000;
}
.popupCustom .Popover-body{
    /* background-color: var(--color-bg-popover); */
    background: var(--color-bg-white) !important;
    border: 1px solid var(--color-gray-90);
    border-radius: 0 0 5px 5px;
    box-shadow: rgb(0 0 0 / 6%) 0px 8px 16px 0px !important;
    padding: 20px;
}

.Popover-tip {
    fill: var(--color-bg-white);
}

.popoverArrow:before {
    content: "";
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #0061ff;
    position: absolute;
    bottom: -11px;
    left: 0;
    right: 0;
    margin: auto;
}

.popoverArrow-top {
    /* content: ""; */
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #0061ff;
    position: absolute;
    bottom: -11px;
    left: 0;
    right: 0;
    margin: auto;
}

================================================
FILE: packages/client/src/assets/css/popoverCss.js
================================================
export const PopoverCss = {
  popoverWrap: ' relative p-3 bg-popover shadows-dw rounded z-1000000',
};


================================================
FILE: packages/client/src/assets/css/scroll.css
================================================


/* scroll */
::-webkit-scrollbar {
    width: 4px;
    height: 4px;
    background: transparent;
}

/* Track */
::-webkit-scrollbar-track {
    background: transparent;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: var(--color-gray-20);
    border-radius: 10px;
}

.contatinerBox {
    max-width: 1300px;
}

.scrollbar-container.vertical,
.scrollbar-container.horizontal {
    background: transparent !important;
    opacity: 1 !important;
}

.scrollarea .scrollbar-container.vertical .scrollbar,
.scrollarea .scrollbar-container.horizontal .scrollbar {
    background-color: var(--color-gray-0) !important;
    opacity: 0.3;
}

.scrollbar-container.vertical .scrollbar,
.scrollbar-container.vertical {
    width: 4px !important;
    margin-left: 0 !important;
    border-radius: 10px;
}

.scrollbar-container.horizontal .scrollbar,
.scrollbar-container.horizontal {
    height: 4px !important;
    margin-top: 0 !important;
    border-radius: 10px;
}


================================================
FILE: packages/client/src/assets/css/sidebar.css
================================================
@import "./tailwind.css";
.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu > .pro-inner-item > .pro-arrow-wrapper .pro-arrow{
    border-color: var(--color-bg-black) !important;
}
.pro-sidebar{
    width: 100% !important;
    min-width: 100% !important;
}
.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item:hover,
.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item:focus{
    color:var(--color-text-primary)
}
.pro-sidebar .pro-menu a:before{
    content: none !important;
}
.sidebar-dropdown{
    position: fixed !important; 
    left: auto !important;
}
.theme-sidenav .pro-sidebar{
    width: var(--sidebar-width);
    min-width: var(--sidebar-width);
    z-index: 0;
}
.theme-sidenav{
    width: var(--sidebar-width);
}
.theme-sidenav .pro-sidebar .pro-menu{
    padding: 0;
}
.theme-sidenav .pro-sidebar {
    height: var(--sidebar-height);
    position: sticky;
    top: 49px;
    z-index: 10000;
}
.theme-sidenav .pro-sidebar .pro-sidebar-inner{
    /* border-right: 1px solid var(--color-gray-100); */
    background-color: var(--color-gray-200);
}
.theme-sidenav .pro-item-content{
    color:var(--color-text-primary);
    font-weight: 600;
}
.theme-sidenav .pro-inner-item{
    font-size: 14px;
    display: flex;
    align-items: center;
    padding:12px 2px !important;
    /* margin-bottom: 5px; */
}
.theme-sidenav .pro-inner-item:hover .pro-item-content{
    color: var(--color-text-primary);
}
.theme-sidenav .pro-sidebar .pro-menu.shaped .pro-menu-item > .pro-inner-item > .pro-icon-wrapper{
    background-color: transparent;
    width: auto;
    height: auto;
    min-width: min-content;
    /* position: absolute;
    left: 8px; */
    display: block !important;
}
.theme-sidenav .pro-sidebar .pro-menu.shaped .pro-menu-item.open > .pro-inner-item > .pro-icon-wrapper{
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
}
.theme-sidenav .pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu > .pro-inner-item > .pro-arrow-wrapper{
    display: none;
}
.theme-sidenav .pro-sidebar .pro-menu > ul > .pro-sub-menu > .pro-inner-list-item{
    background-color: transparent;
}
.theme-sidenav .pro-sidebar .pro-menu > ul > .pro-sub-menu > .pro-inner-list-item ul{
    padding:0 !important;
}
.theme-sidenav .pro-sidebar .pro-menu > ul > .pro-sub-menu > .pro-inner-list-item ul li{
    list-style: none;
}
.theme-sidenav .pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item{
    padding: 5px;
    padding-left: 35px;
}
.theme-sidenav .pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .react-slidedown .pro-inner-item{
    padding-left: 45px;
} 
.theme-sidenav .pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .react-slidedown .pro-menu-item 
.react-slidedown .pro-inner-item{
    padding-left: 60px;
}
.theme-sidenav .pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item:before{
    content: none;
    width: auto;
    border: none;
    box-shadow: none;
    height: auto;
    margin-right: 6px;
    color: #111827;
    background-color: transparent;
}
.theme-sidenav .pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item{
    padding: 0;
    overflow: hidden;
}
.theme-sidenav .pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-menu-item{
    padding-left:0;
}
.theme-sidenav .pro-icon-wrapper{
    margin-right:8px;
}
.theme-sidenav .pro-sidebar > .pro-sidebar-inner > .pro-sidebar-layout,
.theme-sidenav .pro-sidebar .scrollarea-content{
    overflow: visible;
}

.sidebar-Box{
    width: var(--sidebar-width);
    min-width: var(--sidebar-width);
    height: 100%;
    /* height: var(--sidebar-height) !important; */
}


/* permission list */

.permission-list .pro-sidebar{
    width: 100% !important;
}
.permission-list .pro-arrow-wrapper{
    /* left: 0;right: auto !important; */
    display: none;
}
.permission-list .pro-sidebar-inner{
    background-color: var(--color-bg-light);
}
.permission-list .pro-inner-item{
    color: var(--color-text-primary);
}
.permission-list .pro-sidebar .pro-menu,
.permission-list .pro-sidebar > .pro-sidebar-inner > .pro-sidebar-layout ul{
    padding: 0 !important;
}
.permission-list .pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item:before{
    content: none;
}
.permission-list .pro-sidebar .pro-menu > ul > .pro-sub-menu > .pro-inner-list-item{
    background-color: transparent;
}
.permission-list .pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item > .pro-icon-wrapper{
    display: block;
    width: auto;
    height: auto;
    min-width: 16px;
}
.permission-list .pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item{
    padding: 0 !important;
}
.permission-list .pro-menu-item.open > .pro-inner-item > .pro-icon-wrapper{
    transform: rotate(90deg);
}
.permissionSub:last-child{
    border-bottom: none;
}
.permission-list .pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item:hover{
    color: var(--color-text-primary);
}


/* constant */
.sidebar-list.pro-sidebar{
    width: 100%;
    min-width: 100%;
    height: 100%;
}
.sidebar-list .pro-sidebar-inner{
    background-color: var(--color-gray-300) !important; 
    border-right:1px solid var(--color-gray-100);
    height: 100%;
}
.sidebar-list.pro-sidebar .pro-menu > ul > .pro-sub-menu > .pro-inner-list-item{
    background-color: transparent;
}
.sidebar-list.pro-sidebar .pro-menu > ul > .pro-sub-menu > .pro-inner-list-item ul{
    padding: 0;
}
/* .sidebar-list.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item:before{
    content: none;
} */
.sidebar-list.pro-sidebar .pro-menu .pro-menu-item.sidebarDropdown > .pro-inner-item{
    padding: 8px 20px 8px 35px;
}
.sidebar-list.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item .pro-inner-item:before{
    display: none;
}
.sidebar-list.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu .pro-inner-list-item{
    padding: 0;
}
.sidebar-list.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu > .pro-inner-item > .pro-arrow-wrapper{
    left: 10px;
    right: auto;
}
.sidebar-list.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item > .pro-item-content{
    display: block;
}
.sidebar-list.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item{
    padding:4px 8px;
}
.screenFeature.pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item{
    padding:0;
}
.screenFeature.sidebar-list .pro-sidebar-inner{
    border-right: 1px solid var(--color-gray-200);
}
/* Project */
.project-sidebar .pro-icon-wrapper{display: none !important;}
.project-sidebar .pro-arrow-wrapper{
    position: absolute;
    left: 11px;
    top: 4px !important;
    bottom: 0;
    margin: auto;
    right: auto !important;
    transform: translate(0,0) !important;
}
.project-sidebar .pro-item-content{
    color:var(--color-text-primary);
    font-size: 16px;
}
.project-sidebar .pro-menu-item .pro-inner-item{
    padding: 8px 30px !important;
}
.project-sidebar .pro-inner-list-item{
    padding: 0 !important;
}
.project-sidebar .pro-inner-list-item ul{
    padding: 0 !important;
}
.project-sidebar.pro-sidebar .pro-menu > ul > .pro-sub-menu > .pro-inner-list-item{
    background-color: transparent !important;
}
.project-sidebar.pro-sidebar > .pro-sidebar-inner{   
    background-color: var(--color-gray-300);
    border-right: 1px solid var(--color-gray-100);
}
/* profile */
.profile-sidebar{
    width: var(--profile-sidebar-width);
}
.profile-sidebar .pro-sidebar-inner{
    border-right: 1px solid var(--color-gray-200) !important;
    background-color: var(--color-bg-light) !important; 
}

/* } */
.layoutStep .pro-sidebar > .pro-sidebar-inner{
    background-color: transparent;
}
.layoutStep .pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item > .pro-item-content{
    white-space: normal;
}
.layoutStep .pro-sidebar .pro-menu .pro-menu-item > .pro-inner-item{
    padding: 8px 10px 8px 10px;
}
/* model */
.modelList .pro-sidebar > .pro-sidebar-inner > .pro-sidebar-layout{
    overflow: visible;
}
/* suToggle */
.smallToggle{
    width: calc(100%  - 3rem);
}

================================================
FILE: packages/client/src/assets/css/tab.js
================================================
export const TabCSs = {
  tabHead: 'border-b border-gray-100 bg-transparent flex',
  tabHeadBody: 'bg-gray-300',
  tabTitle: 'border-0 text-gray-600 pt-3 pb-2 pl-4 pr-4 cursor-pointer focus:outline-none text-primary-text text-sm',
  tabSmallTitle: 'border-0 text-gray-600 pt-2 pb-2 pl-4 pr-4 text-xs cursor-pointer focus:outline-none text-primary-text',
  selectTab: 'font-bold text-primary-text border-b-2 border-primary-dark',
  tabVerList: '',
  tabVerHead: 'h-full border-r border-gray-100 bg-gray-300',
  tabVerTitle: 'border-b border-gray-100 text-gray-600 px-3 py-2.5 text-xs cursor-pointer focus:outline-none text-primary-text flex items-center',
  tabVerTitle1: 'text-gray-600 px-3 py-2.5 text-xs cursor-pointer focus:outline-none text-primary-text flex items-center',
  tabVerTitleSmall: 'border-b border-gray-100 text-gray-600 px-1 py-1 text-xxs  cursor-pointer focus:outline-none text-primary-text flex items-center',
  tabVerselectTab: 'font-bold text-defaultWhite bg-primary-dark',
  tabVerSelectTab1: 'border-l-2 border-primary-dark bg-gray-100',
  tabverTitleName: 'truncate block font-normal',

  TabStepSelect: 'bg-primary-dark',
  TabStepList: '',
  TabStepListItem: 'w-8 h-8 rounded-full flex items-center justify-center bg-gray-200 cursor-pointer m-auto relative',
};


================================================
FILE: packages/client/src/assets/css/tableViewCss.js
================================================
export const TableViewCss = {
  // grid grid-cols-10
  // grid grid-cols-10 gap-4
  tableHead: 'pl-10 text-sm items-center py-1.5 px-0 sticky top-0 z-10 bg-gray-200 px-3',
  tableRow: 'pl-10',
  tableSequence: 'absolute w-3 h-3 left-3 opacity-70  cursor-move top-2.5 m-auto',
  tableCollapse: 'absolute w-3 h-3 z-1 left-14 cursor-pointer top-2.5 m-auto',
  tableClose: 'w-3.5 h-3.5 flex items-center cursor-pointer absolute left-8 top-2.5 m-auto z-1',
  addValue: 'text-xs ml-1 text-gray-white flex underline items-center cursor-pointer labelGroup focus:outline-none focus:text-primary-dark',
  tableCheckBox: 'flex',
  subTable: 'subAtt mx-5 px-2 mt-4 bg-gray-200 p-2',
  subTableRow: 'pl-5 group relative',
  subTableClose: 'w-4 h-4 cursor-pointer absolute left-5 top-3.5 m-auto z-10',
  subTableCheckBox: 'flex',
};


================================================
FILE: packages/client/src/assets/css/tailwind.css
================================================
@import "tailwindcss/base";
@import "tailwindcss/components";
@import "./components/components.css";
@import "tailwindcss/utilities";

.theme-black {
  --color-bg-primary: #0061ff;
  --color-blue-10:#d2e1fd;
  --color-blue-100:#082452;
  --color-bg-primary-light: #f0f6ff;
  --color-bg-secondary: #FF800D;
  --color-secondary-90:#803d00;
  --color-secondary-70: #D26400;
  --color-bg-default-light: #232323;
  --color-bg-inverse: #0F72FE;
  --color-blue-10: #ebf2ff;
  --color-bg-light: #232323;
  --color-bg-softlight: #f5f9ff;
  --color-bg-white: #313131;
  --color-bg-black:#fafafa;
  --color-bg-popover:#232323;
  --color-bg-headerSearch:#3e3e3e;
  --color-bg-greenLight:#28462f;
  /* --color-bg-redstatus:#7b292d; */
  --color-bg-body:#0e0e0e;
  --color-bg-active:#009E25;
  --color-bg-deactive:#FF340D;
  --color-bg-redlight:#fff1f1;
  --color-bg-gray:#828282;
  --color-bg-yellow:#f0bf15;
  --color-bg-blue:#4589ff;
  --color-bg-orange:#FF800D;
  --color-bg-pink:#fd5bec;
  --color-bg-lightGreen:#5cfdcd;
  --color-bg-lightblue:#7a87ff;
  --color-bg-lightorange:#ff9c2a;
  --color-node-app:83,158,67;

  --color-placeholder-primary: #b2b2b2;
  --color-placeholder-gray: #818385;

  --color-black-100: 0,0,0;
  --color-notfound-bg:#262626;
  --color-gray-black: #0e0e0e;
  --color-gray-300:#131313;
  --color-gray-350: #1b1b1b;
  --color-gray-200:#232323;
  --color-gray-100:#313131;
  --color-gray-90: #3e3e3e;
  --color-gray-80: #313131; /*sidebar Bottom*/

  --color-gray-70: #424242;
  --color-gray-60: #525252;
  --color-gray-50: #646464;
  --color-gray-40: #7e7e7e;
  --color-gray-30: #828282;
  --color-gray-20: #959595;
  --color-gray-10: #b2b2b2;
  --color-gray-0: #F1F1F1;
  --color-gray-input:#3e3e3e;
  --color-gray-inputSub:#131313;
  --color-select-dropdown:#3e3e3e;
  --color-code-button:#424242;

  --color-button-outline:66,66,66;
  --color-button-secondary:35,35,35;
  --color-button-danger:255,52,13;
  --color-button-ghost:190,214,255;
  
  --color-gray-white: #ffffff;

  --color-gray-checkbox: #282828;
  --color-border-default-light:#232323;

  --color-button-text:#ffffff;
  --color-outline-button-text:#ffffff;
  --color-dashedbutton-text:#ffffff;
  --color-dashedbutton-text:#ffffff;
  --color-button-outline-border:#ffffff;

  --color-text-primary: #fff;
  --color-text-dark:#0F72FE;
  --color-text-white: #232323;
  --color-text-secondary:#f3f3f3;
  --color-text-body:#bababa; 
  /* //dcdcdc */
  --color-text-error:#FF340D;
  --color-message:#232323;

  --color--black-svg: #fafafa;
  --color--white-svg: #232323;
  --color--theme-svg: #fff;
  --color--secondry-svg: #fff;
  --color-active-text:#fff;
  --color-deactive-text:#fff;

  --box-shadow-primary:1px 0px 16px 0px rgba(0 ,97, 255 , 0.26);
  --box-shadow:rgba(0, 0, 0, 0.06) 0px 8px 16px 0px;

  --font-theme-DW1: 600;
  --border-radius:3px;

  --sidebar-width:55px;
  --profile-sidebar-width:230px;
  --sidebar-height:calc(100vh - 48px);

  --font-famliy:'circular';
  --font-title-famliy:'circular';

}
.theme-white {
  --color-bg-primary: #0061ff;
  --color-blue-10:#d2e1fd;
  --color-blue-100:#082452;
  --color-bg-primary-light: #f0f6ff;
  --color-bg-secondary: #FF800D;
  --color-secondary-90:#803d00;
  --color-secondary-70: #D26400;
  --color-bg-default-light: #f5f9ff;
  --color-bg-inverse: #f0f6ff;
  --color-blue-10: #ebf2ff;
  --color-bg-light: #fafafa;
  --color-bg-softlight: #f5f9ff;
  --color-bg-white: #fff;
  --color-bg-black:#232323;
  --color-bg-popover:#fff;
  --color-bg-headerSearch:#fff;
  --color-bg-greenLight:#c7eacf;
  /* --color-bg-redstatus:#f4bec1; */
  --color-bg-body:#ffffff;
  --color-bg-active:#009E25;
  --color-bg-deactive:#FF340D;
  --color-bg-redlight:#fff1f1;
  --color-bg-gray:#828282;
  --color-bg-yellow:#cca10c;
  --color-bg-blue:#4589ff;
  --color-bg-orange:#FF800D;
  --color-bg-pink:#fd5bec;
  --color-bg-lightGreen:#2fb78e;
  --color-bg-lightblue:#999bb3;
  --color-bg-lightorange:#ff9c2a;
  --color-node-app:83,158,67;


  --color-placeholder-primary: #787878;
  --color-placeholder-gray: #a1a1a1;

  --color-black-100: 211,211,211;
  --color-notfound-bg:#fff;
  --color-gray-black: #ffffff;
  --color-gray-300:#f8f8f8;
  --color-gray-350: #f7f7f7;
  --color-gray-200:#efefef;
  --color-gray-100:#e9e9e9;
  --color-gray-90: #e9e9e9;
  --color-gray-80: #dcdcdc;
  --color-gray-70: #8D8D8D;
  
  --color-gray-60: #787878;
  --color-gray-50: #646464;
  --color-gray-40: #525252;
  --color-gray-30: #5c5c5c;
  --color-gray-20: #4D4D4D;
  --color-gray-10: #282828;
  --color-gray-0: #232323;
  --color-gray-white: #1D1D1D;
  --color-gray-input:#fff;
  --color-gray-inputSub:#fff;
  --color-select-dropdown:#fff;
  --color-code-button:#b3b3b3;

  --color-button-outline:141,141,141;
  --color-button-secondary:239,239,239;
  --color-button-danger:255,52,13;
  --color-button-ghost:190,214,255;

  --color-gray-checkbox: #dcdcdc;
  --color-border-default-light:#0061ff;

  --color-button-text:#ffffff;
  --color-outline-button-text:#0061ff;
  --color-dashedbutton-text:#0061ff;
  --color-dashedbutton-text:#0061ff;
  --color-button-outline-border:#0061ff;

  --color-text-primary: #232323;
  --color-text-dark:#0061ff;
  --color-text-white: #fff;
  --color-text-secondary:#3e3e3e;
  --color-text-body:#000000;
  --color-text-error:#FF340D;
  --color-active-text:#fff;
  --color-deactive-text:#fff;

  --color--black-svg: #232323;
  --color--white-svg: #fafafa;
  --color--theme-svg: #0061ff;
  --color--secondry-svg: #ff800d;

  --box-shadow-primary:1px 0px 16px 0px rgba(0 ,97, 255 , 0.09);
  --box-shadow:rgba(0, 0, 0, 0.06) 0px 8px 16px 0px;
  
  --font-theme-DW1: 600;
  --border-radius:3px;

  --sidebar-width:55px;
  --profile-sidebar-width:230px;
  --sidebar-height:calc(100vh - 48px);
  
  --font-famliy:'circular';
  --font-title-famliy:'circular';
}
.notifyMesseg {
  --sidebar-height:calc(100vh - 84px);
}

================================================
FILE: packages/client/src/assets/css/tooltip.css
================================================
.__react_component_tooltip {
    background-color: var(--color-bg-black) !important;
    color: var(--color-bg-light) !important;
    font-weight: 600;
    z-index: 10000 !important;
    font-size: 14px !important;
}

.__react_component_tooltip.place-right:after {
    border-right-color: var(--color-bg-black) !important;
}

.__react_component_tooltip.place-left:after {
    border-left-color: var(--color-bg-black) !important;
}

.__react_component_tooltip.place-bottom:after {
    border-bottom-color: var(--color-bg-black) !important;
}

.__react_component_tooltip.place-top:after {
    border-top-color: var(--color-bg-black) !important;
}

================================================
FILE: packages/client/src/components/APIKeyValue/index.js
================================================
/* eslint-disable radix */
/* eslint-disable react/jsx-props-no-spreading */
import React from 'react';
import { useSelector } from 'react-redux';
import { isEmpty, toLower } from 'lodash';
import { Icons } from '@dhiwise/icons';
import { Input } from '../Input';
import { Select } from '../Select';
import { DeleteIcon } from '../IconBox/DeleteIcon';
import { Checkbox } from '../Checkbox';
import { useBoolean } from '../hooks';
import { ConfirmationAlert } from '../ConfirmAlert';
import { TYPE_OPTIONS } from '../../constant/envVariable';
import { nodeKeyRegex } from '../../utils/regex';
import { APPLICATION_CODE } from '../../constant/Project/applicationStep';
import { MAX_INPUT_FIELD_LIMIT } from '../../constant/common';

export const ValueComponent = ({ type, ...other }) => {
  // customOptions name different it issue boolean
  const options = other.customOptions ?? [];// constant for data type
  const dataType = toLower(type);
  if (dataType && toLower(options?.STRING) === dataType) return <Input size="medium" WrapClassName="" placeholder="Enter value" {...other} />;
  if (dataType && toLower(options?.LONG) === dataType) {
    return (
      <Input.Number
        size="medium"
        WrapClassName=""
        placeholder="Enter value"
        {...other}
        value={other.value ? other.value.toString() : ''}
        onChange={(val) => other?.onChange(parseInt(val))}
        fixLength={10}
      />
    );
  }
  if (dataType && [toLower(options?.FLOAT), toLower(options?.DOUBLE)].includes(dataType)) {
    return (
      <Input.Decimal
        size="medium"
        WrapClassName=""
        placeholder="Enter value"
        {...other}
        value={other.value ? other.value.toString() : ''}
        onChange={(val) => other?.onChange(Number(val))}
        fixLength={20}
      />
    );
  }
  if (dataType && toLower(options?.INTEGER) === dataType) {
    return (
      <Input.Number
        size="medium"
        WrapClassName=""
        placeholder="Enter value"
        {...other}
        value={other.value ? other.value.toString() : ''}
        onChange={(val) => other?.onChange(parseInt(val))}
        fixLength={10}
      />
    );
  }
  if (dataType && toLower(options?.BOOLEAN) === dataType) {
    return (
      <div className="tableInputSelect">
        <Select
          sizeMedium
          options={[{ id: 'true', name: 'TRUE' }, { id: 'false', name: 'FALSE' }]}
          valueKey="id"
          {...other}
          value={other?.value?.toString()}
          onChange={(val) => {
            other?.onChange(val ? val === 'true' : null);
            other?.onAutoFocus?.();
          }}
          placeholder="Select value"
        />
      </div>
    );
  }
  return <Input size="medium" WrapClassName="" placeholder="Enter value" {...other} />;
};

const TableWrap = ({ children, className, inTableView }) => (inTableView ? <td className={className}>{children}</td> : children);
export const APIKeyValue = ({
  isDelete, isTypeSelect, isValue, isCheckBox, isAutoSuggest, typeProps = {}, checkboxProps = {}, APIValue, envVariable, tableView, inputProps = {}, valueProps = {}, deleteProps = {}, autoSuggestProps = {}, inTableView = true,
}) => {
  const applicationCode = useSelector((state) => state.projects.currentApplicationCode);
  const [isOpenDelete, showDelete, hideDelete] = useBoolean(false);
  const valueRef = React.useRef(null);
  const WrapCheckbox = (otherProps) => <Checkbox wrapClass="absolute left-7 top-1" {...otherProps} />;
  return (
    <>
      <TableWrap inTableView={inTableView} className={`pl-10 relative ${envVariable && 'relative pl-16 pr-3'} ${APIValue && 'pr-4 pb-4'}`}>
        {isDelete && (
          <DeleteIcon
            size="small"
            disabled={deleteProps?.disabled}
            icon={<Icons.Close />}
            tooltip="Delete"
            className={`absolute  m-auto ${tableView ? 'left-0 top-4' : 'left-0 top-2'}`}
            onClick={showDelete}
          />
        )}

        {isCheckBox && <WrapCheckbox {...checkboxProps} />}
        <div className={`${APIValue ? 'w-full' : 'tableInputSelect'}`}><Input maxLength={MAX_INPUT_FIELD_LIMIT.key} size="medium" WrapClassName="" placeholder="Enter key" customRegex={nodeKeyRegex} {...inputProps} /></div>

      </TableWrap>
      {
        isAutoSuggest && !isEmpty(inputProps?.value)
        && (
          <datalist id={autoSuggestProps?.id}>
            {autoSuggestProps?.list?.map((option) => (
              option.startsWith(inputProps?.value) && (
              <option key={option} value={option}>
                {option}
              </option>
              )
            ))}
          </datalist>
        )
      }

      { isTypeSelect && (
        <TableWrap inTableView={inTableView} className={`${APIValue && 'pb-4'}`}>
          <div className={`${APIValue ? 'w-full' : 'tableInputSelect'}`}>
            <Select
              sizeMedium
              WrapClassName=""
              placeholder="Select string"
              {...typeProps}
              onChange={(val) => {
                typeProps.onChange(val);
                if (val) valueRef?.current?.focus();
              }}
              options={typeProps.options ? TYPE_OPTIONS(typeProps.options) : []}
            />
          </div>
        </TableWrap>

      )}

      { isValue && (
        <TableWrap inTableView={inTableView} className={`${APIValue && 'pb-4'}`}>
          <div className={`${APIValue ? 'w-full' : 'tableInputSelect'}`}>
            <ValueComponent
              {...valueProps}
              type={typeProps.value}
              customOptions={typeProps.options}
              ref={valueRef}
            />
          </div>
        </TableWrap>
      )}

      { isOpenDelete
        ? (
          <ConfirmationAlert
            isOpen={isDelete}
            // eslint-disable-next-line no-nested-ternary
            description={envVariable && applicationCode === APPLICATION_CODE.nodeExpress ? 'Environment variable will be deleted permanently and cannot be restored in the future.Are you sure do you want to delete this environment variable?' : 'Constant attribute will be deleted permanently and cannot be restored in the future.Are you sure do you want to delete this constant attribute?'}
            handleSubmit={() => {
              // isLoading(true);
              deleteProps?.onDelete();
              hideDelete();
            }}
            handleClose={hideDelete}
          />
        )
        : null}
    </>
  );
};


================================================
FILE: packages/client/src/components/BackButton/index.js
================================================
import React from 'react';
import { Link } from 'react-router-dom';
import PropTypes from 'prop-types';
import { Icons } from '@dhiwise/icons';

export const BackButton = ({ title = 'Back', link, onClick }) => (
  <>
    {onClick
      ? (
        <div className="flex items-center cursor-pointer" onClick={onClick}>
          <div className="w-2.5 h-2.5 mr-2">
            <Icons.LeftDouble />
          </div>
          <span className="text-primary-text text-sm">{title}</span>
        </div>
      )
      : (
        <Link to={link} className="flex items-center" onClick={onClick}>
          <div className="w-2.5 h-2.5 mr-2">
            <Icons.LeftDouble />
          </div>
          <span className="text-primary-text text-sm">{title}</span>
        </Link>
      )}
  </>
);

BackButton.propTypes = {

  // Display text for the back button
  title: PropTypes.string,

  // Route to go to, on onClick of button
  link: PropTypes.string,
};


================================================
FILE: packages/client/src/components/BoxLayout/boxLayoutCss.js
================================================
export const boxLayoutCss = {
  boxmainRight: 'w-sidebarRight',
  boxsubSidebar: 'xxl:w-1.5/12 w-2.5/12', // h-body sticky top-49 z-1
  boxsubRight: 'xxl:w-10.5/12 w-9.5/12  overflow-auto flex justify-between', // h-body
  boxfullscreen: 'xxl:w-1.5/12 w-2/12 h-full',
};


================================================
FILE: packages/client/src/components/BoxLayout/index.js
================================================
import React from 'react';
import PropTypes from 'prop-types';
import { boxLayoutCss } from './boxLayoutCss';

export const BoxLayout = ({
  children, variant, className, style,
}) => {
  const variantClass = `${boxLayoutCss[[`box${variant}`]]}`;
  return (
    <div className={`${className} ${variantClass}`} style={style}>
      {children}
    </div>
  );
};

BoxLayout.propTypes = {
  variant: PropTypes.oneOf([
    'mainRight',
    'subSidebar',
    'subRight',
    'fullscreen',
  ]),
};
BoxLayout.defaultProps = {
  variant: 'mainRight',
};


================================================
FILE: packages/client/src/components/Button/buttonCss.js
================================================
export const ButtonCss = {
  buttonbox: 'cursor-pointer transition-all relative',
  boxprimary:
    'bg-primary-dark border-1 border-primary-dark boreder-primary-dark text-buttontext hover:bg-primary-hoverdark hover:border-primary-hoverdark hover:text-buttontext focus:outline-none primaryShadow',
  boxoutline:
  // outlinebuttontext
  // hover:bg-primary-buttonOutline
    'border-1 border-gray-70 text-primary-text hover:bg-gray-200  focus:outline-none outlineShadow',
  boxghost: 'text-primary-text focus:outline-none ghostShadow hover:bg-gray-100',
  boxprimaryLight: 'bg-primary-100 text-primary-dark',
  boxdashed:
  'border-1 border-dashed border-primary-buttonOutline text-dashedbuttontext focus:outline-none',
  boxsecondary:
  'border-gray-200 border-1 bg-gray-200 hover:bg-gray-100 text-primary-text font-normal focus:outline-none secondaryShadow',
  boxdanger: 'text-base text-buttontext border-gray-deactivebg border-1 bg-deactivebg text-primary-text font-semibold focus:outline-none dangerShadow',
  boxrounded: 'rounded-3',
  boxdisabled: 'cursor-not-allowed focus:outline-none opacity-60',
  boxbig: 'py-3 px-8 text-lg',
  boxnormal: 'py-1.5 px-2 md:px-4 text-sm leading-5 md:min-h-11',
  boxmedium: 'py-1 px-2 md:px-3 text-sm leading-normal min-h-9',
  boxsmallMedium: 'py-0.5 px-1 md:px-2 text-xs leading-normal',
  boxsmall: 'spacing-dw1 text-xs leading-5 font-normal',
  iconnormal: 'w-4 h-4',
  iconmedium: 'w-3 h-3',
  iconsmallMedium: 'w-3 h-3',
  iconsmall: 'w-2.5 h-2.5',
  // iconImg: 'w-4 h-4',
};


================================================
FILE: packages/client/src/components/Button/index.js
================================================
/* eslint-disable react/jsx-props-no-spreading */
import React from 'react';
import PropTypes from 'prop-types';
import ReactTooltip from 'react-tooltip';
import { ButtonCss } from './buttonCss';
import { Spinner } from '../Spinner';
/**
 * Primary UI component for Button
 */
export const Button = React.forwardRef(({
  variant,
  backgroundColor,
  shape,
  children,
  className,
  disabled,
  icon,
  size,
  type,
  label,
  tooltip,
  loading,
  wrapClass,
  ...rest
}, ref) => {
  const variantClass = `${ButtonCss[[`box${variant}`]]}`;
  const sizeCss = `${ButtonCss[[`box${size}`]]}`;
  const iconSize = `${ButtonCss[[`icon${size}`]]}`;
  const shapeClass = `${ButtonCss[[`box${shape}`]]}`;
  const disableClass = disabled || loading ? `${ButtonCss.boxdisabled}` : '';

  const styles = {};
  if (backgroundColor) {
    styles[variant === 'primary' ? 'backgroundColor' : 'color'] = backgroundColor;
    styles.border = `1px solid ${backgroundColor}`;
  }

  return (
    <button
      ref={ref}
      className={[
        'spark-button',
        icon && 'flex items-center justify-center',
        sizeCss,
        ButtonCss.buttonbox,
        variantClass,
        shapeClass,
        disableClass,
        className,
      ].join(' ')}
      style={styles}
      type={type}
      disabled={disabled || loading}
      {...rest}
      data-tip
      data-for={tooltip}
    >
      {!!icon && !loading && <div className={`${ButtonCss.iconImg} ${iconSize} ${label ? 'mr-2' : ''}`}>{icon}</div>}
      {!!tooltip && <ReactTooltip place="bottom" id={tooltip} type="dark"><div className="text-center max-w-48">{tooltip}</div></ReactTooltip>}
      {loading && <Spinner className={`${variant === 'outline' && 'themeSpinner'} ${size === 'medium' && 'spinnerMedium'} ${variant === 'ghost' && 'themeSpinner'}`} />}
      <span className={`${loading && 'opacity-0'} ${wrapClass}`}>{label || children}</span>
    </button>
  );
});

Button.displayName = 'Button';
Button.propTypes = {
  /**
   * What background color to use
   */
  backgroundColor: PropTypes.string,
  /**
   * How large should the button be?
   */
  variant: PropTypes.oneOf([
    'primary',
    'primaryLight',
    'outline',
    'ghost',
    'dashed',
    'secondary',
    'danger',
  ]),
  /**
   * Shape of button
   */
  shape: PropTypes.oneOf(['square', 'rounded']),
  /**
   * Additional Icon
   */
  icon: PropTypes.string,
  /**
   * Additional icon true false
   */
  size: PropTypes.oneOf(['big', 'normal', 'small', 'smallMedium', 'medium']),
  /**
   * is Button disabled
   */
  disabled: PropTypes.bool,
  /**
   * Additional classname
   */
  className: PropTypes.string,
  loading: PropTypes.bool,
  label: PropTypes.string,
  type: PropTypes.type,
};

Button.defaultProps = {
  variant: 'primary',
  backgroundColor: '',
  shape: 'square',
  className: '',
  disabled: false,
  size: 'normal',
  type: 'button',
  label: '',
  loading: false,
};


================================================
FILE: packages/client/src/components/CardView/ThumbnailCard.js
================================================
import React from 'react';
import PropTypes from 'prop-types';
// import mobileScreen from '@assets/images/7.svg';
import ReactTooltip from 'react-tooltip';
import { Icons } from '@dhiwise/icons';
import { CardCss } from './cardCss';
import { IconBox } from '../IconBox';

export const ThumbnailCard = ({
  isSelect,
  size = 'sm',
  image = '',
  title = 'Screen',
  className,
  children,
  imgClass,
  imgWrapClass,
  isClosable = false,
  CardBoxClass,
  onClick = () => {},
  onIconClick = () => {},
  isLabel,
}) => {
  const sizeClass = `${CardCss[[`thumb${size}`]]}`;
  const textClass = `${CardCss[[`thumbText${size}`]]}`;
  return (
    <div className={`text-center cursor-pointer relative ${className}`} onClick={onClick}>
      {isClosable && <IconBox onClick={onIconClick} className="absolute -right-3 -top-1 bg-gray-200" size="extraSmall" shape="roundedFull" variant="outline" icon={<Icons.Close />} />}
      {isLabel
    && <div className="coming-soon z-100"><span>Splash</span></div>}
      <div
        className={`border-1 border-gray-100 p-2 rounded-3 hover:bg-gray-100 ${
          isSelect && 'border-primary-dark'
        } ${sizeClass} ${CardBoxClass} ${imgWrapClass}`}
      >
        <img
          src={image}
          className={`h-full object-contain w-full rounded-3 ${imgClass}`}
          alt=""
        />
      </div>
      {!!title && (
      <span
        data-tip
        data-for={`tooltip${title}`}
        className={`text-primary-text block mt-3 truncate ${textClass}`}
      >
        {title}
        <ReactTooltip id={`tooltip${title}`} type="dark">
          {title}
        </ReactTooltip>
      </span>
      )}
      {children}
    </div>
  );
};
ThumbnailCard.propTypes = {
  /**
   * How large should the avatar be?
   */
  size: PropTypes.oneOf(['xl', 'lg', 'md', 'sm', 'xs', 'auto']),
  image: PropTypes.string,
  title: PropTypes.string,
};


================================================
FILE: packages/client/src/components/CardView/card.css
================================================
.groupbox:hover .perviewHover{
    opacity: 0.8;
}

================================================
FILE: packages/client/src/components/CardView/cardCss.js
================================================
export const CardCss = {
  cardBox: 'groupbox card-box border-2 border-gray-200 col-span-1 p-5 rounded-3 cursor-pointer',
  cardhover: 'hover:bg-gray-200',
  cardImgBlock: 'mb-6 relative',
  cardCodeView: 'mb-4 h-48 overflow-hidden relative text-left bg-gray-100 p-4 border-gray-200',
  cardImg: 'object-contain m-auto flex items-center justify-center',
  cardImgBig: 'w-20 h-20',
  cardImgSmall: 'w-12 h-12',
  cardTitle: 'text-primary-text leading-1xl text-xl font-semibold',
  cardDesc: 'text-body-text text-sm leading-snug mt-1 break-words descriptionDoted',
  CardPerview: 'perviewHover opacity-0  absolute bg-gray-black top-0 left-0 w-full h-full flex items-center justify-center',

  thumbxs: 'h-20',
  thumbsm: 'h-28',
  thumbxl: 'h-72',
  thumbmd: 'h-32 xxl:h-40 ',
  thumbTextsm: 'text-sm',
  thumbTextmd: 'text-base',
};


================================================
FILE: packages/client/src/components/CardView/index.js
================================================
import React from 'react';
import { Icons } from '@dhiwise/icons';
import PropTypes from 'prop-types';
import { CardCss } from './cardCss';
import './card.css';
import { Tag } from '../Tag';

export const CardView = ({
  icon,
  title,
  dec,
  imgClassName,
  onClick,
  children,
  className,
  leftCard,
  isSelect,
  svg,
  code,
  preview,
  showPreview,
  imgSmall,
  previewClass,
  isComingSoon,
  cardTag,
  svgClass,
  imageSpace,
  variantHover = 'hover',
}) => {
  const varinatHoverClass = `${CardCss[[`card${variantHover}`]]}`;
  return (
  // ${isSelect && 'border-primary-dark'}
    <div className={`${CardCss.cardBox} ${varinatHoverClass} ${isComingSoon && 'cursor-not-allowed'} ${isSelect && 'border-primary-dark'} ${leftCard ? '' : 'text-center '} ${className} relative`} onClick={onClick}>
      {!!icon && (
      <div className={CardCss.cardImgBlock}>
        <img className={`${CardCss.cardImg}  ${imgSmall ? CardCss.cardImgSmall : CardCss.cardImgBig} ${imgClassName}`} src={icon} alt="Images" />
      </div>
      )}
      {isComingSoon
    && <div className="coming-soon"><span>Coming soon</span></div>}
      {!!preview
        && (
          <div className={`${CardCss.cardCodeView} ${previewClass}`} onClick={showPreview}>
            {code}
            <div className={`${CardCss.CardPerview}`}>
              <div className="w-10 h-10">
                <Icons.EyeOpen />
              </div>
            </div>
          </div>
        )}
      {!!svg
    && (
    <div className={`${CardCss.cardImgBlock} ${imageSpace && 'sm:mb-0'}`}>
      <div className={`${CardCss.cardImg} ${svgClass} ${imgSmall ? CardCss.cardImgSmall : CardCss.cardImgBig}`}>
        {svg}
      </div>
    </div>
    )}
      {!!title && (
      <h2 className={CardCss.cardTitle}>
        <span className={`relative ${cardTag && 'mr-9'}`}>
          {title}
          {!!cardTag && <Tag variant="primary" className="absolute" size="xxs" title={cardTag} />}
        </span>
      </h2>
      )}
      {!!dec && <p className={CardCss.cardDesc}>{dec}</p>}
      {children}
    </div>
  );
};
CardView.propTypes = {
  variantHover: PropTypes.oneOf([
    'hover',
    'default',
  ]),
  onClick: PropTypes.func,
  icon: PropTypes.string,
  title: PropTypes.string,
  dec: PropTypes.string,
  imgClassName: PropTypes.string,
};
CardView.defaultProps = {
  variantHover: 'hover',
};


================================================
FILE: packages/client/src/components/Checkbox/Checkbox.js
================================================
export const CheckboxCss = {
  checkboxcheckinput: 'absolute top-0 right-0 bottom-0 left-0 w-full h-full cursor-pointer opacity-0 zindex-1',
  checkboxWrap: 'm-0 p-0 text-sm box-border inline-block cursor-pointer',
  checkBox: 'box-border m-0 p-0 text-sm leading-none relative inline-block whitespace-nowrap align-middle cursor-pointer',
  inputcheckBox: 'absolute top-0 right-0 bottom-0 left-0 w-full h-full cursor-pointer opacity-0 mr-1 z-1',
  // -webkit-box-sizing: border-box;
  // color: rgba(0, 0, 0, 0.65);
  // font-variant: tabular-nums;
  // list-style: none;
  // -webkit-font-feature-settings: "tnum", "tnum";
  // font-feature-settings: "tnum", "tnum";
  // top: -0.09em;
  // outline: none;"

  // color: rgba(0, 0, 0, 0.65);
  // font-variant: tabular-nums;
  // line-height: unset;
  // list-style: none;
  // -webkit-font-feature-settings: "tnum", "tnum";
  // font-feature-settings: "tnum", "tnum";"
};


================================================
FILE: packages/client/src/components/Checkbox/checkbox.css
================================================
.spark-checkbox-wrapper,
.spark-checkbox-wrap {
  @apply m-0 p-0 text-sm box-border inline-block cursor-pointer relative;
  -webkit-box-sizing: border-box;
  color: rgba(0, 0, 0, 0.65);
  /* font-variant: tabular-nums; */
  line-height: unset;
  list-style: none;
  -webkit-font-feature-settings: "tnum", "tnum";
  font-feature-settings: "tnum", "tnum";
}
label {
  @apply leading-5 font-semibold;
}
.spark-checkbox {
  @apply box-border m-0 p-0 text-sm leading-none relative inline-block whitespace-nowrap align-middle cursor-pointer;
  -webkit-box-sizing: border-box;
  color: rgba(0, 0, 0, 0.65);
  /* font-variant: tabular-nums; */
  list-style: none;
  -webkit-font-feature-settings: "tnum", "tnum";
  font-feature-settings: "tnum", "tnum";
  top: -0.09em;
  outline: none;
}
.spark-checkbox-input,
.spark-checkbox-wrap input {
  @apply absolute top-0 right-0 bottom-0 left-0 w-full h-full cursor-pointer opacity-0 !important;
  z-index: 1;
}
.spark-checkbox-checked .spark-checkbox-inner,
.spark-checkbox-wrap input:checked ~ .spark-checkbox-inner{
  background-color: var(--color-bg-primary);
  border-color: var(--color-bg-primary);
}
.spark-checkbox-wrapper input:focus ~ .spark-checkbox-inner{
  /* border: 1px solid transparent; */
  box-shadow: 0 0 0 2px rgb(0 97 255 / 40%);
  /* background: var(--color-gray-70); */
 
}
/* .spark-checkbox-checked input:focus ~ .spark-checkbox-inner{
  box-shadow: inset 0 0 0 1px var(--color-bg-primary), inset 0 0 0 2px var(--color-gray-black);
  background-color: var(--color-bg-primary);
} */
/* .spark-checkbox-wrapper input:focus ~ .spark-checkbox-inner:before {
  content: "";
  width: 130%;
  height: 130%;
  position: absolute;
  border: 1px solid var(--color-bg-primary);
  left: -16%;
  top: -16%;
  border-radius: 3px;
} */
.spark-checkbox-inner {
  @apply relative top-0 left-0 block w-4 h-4 rounded-sm mr-2;
  background-color:var(--color-gray-input);
  border:1px solid var(--color-gray-70);
  width:18px;
  height:18px;
  border-collapse: initial;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.spark-checkbox-input {
  @apply absolute top-0 right-0 bottom-0 left-0 w-full h-full cursor-pointer opacity-0 mr-1;
  z-index: 1;
}
.spark-checkbox-checked:after {
  @apply absolute top-0 left-0 w-full h-full rounded-sm invisible;
  border: 1px solid #0061ff;
  -webkit-animation: antCheckboxEffect .36s ease-in-out;
  animation: antCheckboxEffect .36s ease-in-out;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
  content: "";
}
.spark-checkbox-checked .spark-checkbox-inner:after {
  @apply absolute table opacity-100;
  border: 2px solid #fff;
  border-top: 0;
  border-left: 0;
  -webkit-transform: rotate(45deg) scale(1) translate(-50%,-50%);
  -ms-transform: rotate(45deg) scale(1) translate(-50%,-50%);
  transform: rotate(45deg) scale(1) translate(-50%,-50%);
  -webkit-transition: all .2s cubic-bezier(.12,.4,.29,1.46) .1s;
  transition: all .2s cubic-bezier(.12,.4,.29,1.46) .1s;
  content: " ";
}
.spark-checkbox-inner:after {
  @apply absolute table w-1 h-2 opacity-0;
  top: 45%;
  left: 4px;
  height: 0.65rem;
  width: 0.30rem;
  border: 2px solid #fff;
  border-top: 0;
  border-left: 0;
  -webkit-transform: rotate(45deg) scale(0) translate(-50%,-50%);
  -ms-transform: rotate(45deg) scale(0) translate(-50%,-50%);
  transform: rotate(45deg) scale(0) translate(-50%,-50%);
  -webkit-transition: all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;
  transition: all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;
  content: " ";
}
.spark-checkbox-wrap input:checked ~ .spark-checkbox-inner:after{
  left: 7px;
  top: 5px;
  width: 5px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  opacity: 1;
}
.spark-checkbox-input:disabled,
.spark-checkbox-input:disabled+ .spark-checkbox-inner{
  /* background-color: #0061ff7a;
  border-color: #0061ff7a; */
  /* opacity: 1 !important; */
  cursor: not-allowed !important;
}
.spark-checkbox-disabled{
  opacity: 0.4;
  cursor: not-allowed !important;
}
.cardBoxCheck{
  @apply absolute;
  left: 0 !important;
  top: 20px !important;
  right:auto;
  /* bottom: -4px; */
}
.cardBoxCheck.cardCheckbox{
  left: 4px !important;
  top: 0 !important;
}
.cardBoxCheck .spark-checkbox-inner,
.smallCheckbox .spark-checkbox-inner{
  width: 16px;
  height: 16px;
}
.smallCheckbox .permissionPage .spark-checkbox-inner,
.smallCheckbox .rightMargin .spark-checkbox-inner{
  margin-right: 0;
}
.smallCheckbox .permissionPage .spark-checkbox-wrapper,
.smallCheckbox .topBottomCheckbox .spark-checkbox-wrapper{
  text-align: center;
  margin-right: 8px;
}
.smallCheckbox .permissionPage .checkboxLabel,
.smallCheckbox .topBottomCheckbox .checkboxLabel{
  display: block;
}
.smallCheckbox .spark-checkbox-inner:after,
.cardBoxCheck .spark-checkbox-inner:after{
  left: 3.9px;
  height: 0.5rem;
  width: 0.2rem;
  top: 44%;
  border: 1px solid #fff;
  border-top: 0;
  border-left: 0;
}

/* .cardBoxCheck .spark-checkbox-wrapper:before{ */
  /* content: "";
  width: 100%;
  height: 100%;
  border-left: 1px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0; */
  /* content: "";
  width: 0;
  height: 0;
  border-left: 16px solid transparent;
  border-right: 16px solid transparent;
  border-top: 16px solid #3e3e3e;
  transform: rotate(226deg);
  display: block;
  position: absolute;
  right: -12px;
  top: 1px;
}
.cardBoxCheck .spark-checkbox-wrapper.spark-checkbox-wrapper-checked:before{
  border-top: 16px solid var(--color-bg-primary);
}
.cardBoxCheck .spark-checkbox-checked .spark-checkbox-inner:after{
  display: none;
}
.cardBoxCheck .spark-checkbox-inner{
  border-radius: 0;
  width:24px;
  height:24px;
  margin-right: 0;
  border-left: none;
  border-top: none;
  background-color:transparent;
}
.cardBoxCheck .spark-checkbox-inner:after{
  height: 0.6rem;
  width: 0.30rem;
} */


================================================
FILE: packages/client/src/components/Checkbox/index.js
================================================
/* eslint-disable react/jsx-props-no-spreading */
/* eslint-disable no-unused-vars */
import React, { forwardRef, useState } from 'react';
import propTypes from 'prop-types';
import ReactTooltip from 'react-tooltip';
import { classNames, useCombinedRefs } from '../utils';
import './checkbox.css';

/**
 * Primary UI component for Checkbox
 */
export const Checkbox = forwardRef(
  (
    {
      checked,
      disabled = false,
      className = '',
      WrapclassName,
      wrapClass,
      onChange = () => { },
      type = 'checkbox',
      style = {},
      prefixCls = 'spark-checkbox',
      prefixWrapperCls = 'spark-checkbox-wrapper',
      wrapperClassname = '',
      wrapperStyle = {},
      defaultChecked = false,
      children,
      label,
      labelClass,
      name,
      onKeyDown,
      id = '',
      tooltip,
      ...otherProps
    },
    forwardedRef,
  ) => {
    const [value, setValue] = useState(defaultChecked || checked || false);

    React.useEffect(() => {
      setValue(checked);
      // if (onChange) {
      //   onChange(checked);
      // }
    }, [checked]);
    const checkboxClass = classNames(prefixCls, className, {
      [`${prefixCls}-checked`]: value,
      [`${prefixCls}-disabled`]: disabled,
    });
    const wrapperClass = classNames(prefixWrapperCls, wrapperClassname, {
      [`${prefixCls}-wrapper-checked`]: value,
      [`${prefixCls}-wrapper-disabled`]: disabled,
    });

    const handleChange = (event) => {
      if (disabled) return;
      if (onChange) {
        setValue(event.target.checked);
        onChange(event.target.checked, event);
      }
    };
    return (
      <div className={wrapClass}>
        <label
          className={`${wrapperClass} ${WrapclassName}`}
          style={{ ...wrapperStyle, cursor: 'pointer' }}
        >
          <div data-tip data-for={tooltip} className="inline-block">
            {!!tooltip && (
            <ReactTooltip id={tooltip} type="dark">
              {tooltip}
            </ReactTooltip>
            )}
            <span className={checkboxClass} style={style}>
              <input
                type={type}
                disabled={disabled}
                className={`${prefixCls}-input`}
                checked={!!checked || value}
                onChange={handleChange}
                name={name}
                onKeyDown={onKeyDown}
                id={id}
                {...otherProps}
              />
              <span className={`${prefixCls}-inner`} />
            </span>
          </div>
          {(!!children || !!label) && <span className={`text-primary-text text-sm checkboxLabel ${labelClass}`}>{children || label}</span>}
        </label>
      </div>
    );
  },
);
Checkbox.displayName = 'Checkbox';
Checkbox.propTypes = {
  checked: propTypes.bool,
  disabled: propTypes.bool,
  className: propTypes.string,
  onChange: propTypes.func,
  prefixCls: propTypes.string,
  wrapperClassname: propTypes.string,
  defaultChecked: propTypes.bool,
};

Checkbox.defaultProps = {
  checked: true,
};


================================================
FILE: packages/client/src/components/CodeEditor/index.js
================================================
/* eslint-disable no-nested-ternary */
import React from 'react';
import { Icons } from '@dhiwise/icons';
import Editor from '@monaco-editor/react';
import { isEmpty } from 'lodash';
import { useBoolean } from '../hooks';
import { Error } from '../Error';
import { EXTENSION_TYPE } from '../../constant/fileTypeConstant';

let monacoJSXHighlighter = null;
export const CodeEditor = React.memo(({
  value = '',
  readOnly = false,
  onChange = () => { },
  onValidate = () => { },
  isShowError = false, // For showing Error
  language = 'json',
  style = {},
  height = '100%',
  width,
  defaultValue = '{}',
  className,
  onBlur,
  repairedJson,
  setRepairedJson,
  imageShow = false,
  imageSource = false,
  fileType = EXTENSION_TYPE.TEXT,
  loading,
  scrollbar,
}) => {
  const [isError, setShowError, setHideError] = useBoolean(false);
  const [jsonError, setJsonError] = React.useState(false);
  // eslint-disable-next-line no-unused-vars
  const [internalValue, setInternalValue] = React.useState();

  React.useEffect(() => {
    setInternalValue(value);
  }, [value]);

  React.useEffect(() => {
    if (repairedJson && repairedJson !== '{}') {
      setInternalValue(repairedJson);
      setRepairedJson?.('{}');
    }
  }, [repairedJson]);

  async function handleEditorDidMount(monacoEditor, monaco) {
    // monaco-jsx-highlighter depends on these (and monaco)
    const { default: traverse } = await import('@babel/traverse');
    const { parse } = await import('@babel/parser');
    // The star of the show =P
    const { default: MonacoJSXHighlighter, JSXTypes } = await import(
      'monaco-jsx-highlighter'
    );
    // Customize Babel directly
    const babelParse = (code) => parse(code, { sourceType: 'module', plugins: ['jsx'] });
    // Instantiate the highlighter
    monacoJSXHighlighter = new MonacoJSXHighlighter(
      monaco,
      babelParse,
      traverse,
      monacoEditor,
    );
    // Start the JSX highlighting and get the dispose function
    monacoJSXHighlighter.highLightOnDidChangeModelContent();
    // Enhance monaco's editor.action.commentLine with JSX commenting and get its disposer
    monacoJSXHighlighter.addJSXCommentCommand();
    // You are all set.

    // Optional: customize the color font in JSX texts (style class JSXElement.JSXText.tastyPizza from ./index.css)
    JSXTypes.JSXText.options.inlineClassName = 'JSXElement.JSXText.tastyPizza';

    // More of this example's boilerplate
    monacoJSXHighlighter.highLightOnDidChangeModelContent();
    monacoJSXHighlighter.addJSXCommentCommand();
  }

  return (
    <div
      onBlur={onBlur}
      className={`overflow-hidden relative h-full ${imageShow && 'flex items-center justify-center p-4'} ${className} ${readOnly ? 'readonlyEditor' : ''}`}
      onKeyDown={(e) => {
        // to stop copy paste
        if (readOnly) { e.preventDefault(); }
      }}
      style={style}
    >
      {(imageShow && imageSource && fileType === EXTENSION_TYPE.IMAGE)
        ? <div className="editorImage"><img src={imageSource} alt="" /></div>
        : fileType === EXTENSION_TYPE.DEFAULT
          ? (
            <div className="flex justify-center items-center h-full">
              <div className="p-3 text-lg xxl:text-xl w-7/12 xxl:w-5/12 text-center">
                <div className="w-24 h-24 xxl:w-28 xxl:h-28 m-auto mb-3 xxl:mb-10">
                  <Icons.NotSupportPreview />
                </div>
                The file is not displayed in the editor because it is either binary or uses an unsupported text encoding.
              </div>
            </div>
          )
          : (
            <Editor
              height={height}
              width={width}
              language={language}
              defaultValue={defaultValue}
              theme="vs-dark"
              lineNumbers={false}
              glyphMargin={false}
              folding={false}
              onChange={isShowError ? (changeCode) => {
                try {
                  setJsonError(false);
                  setHideError();
                  setInternalValue(changeCode);
                  onChange(changeCode);
                } catch (error) {
                  // To catch on Change error line by line
                  setShowError();
                  setJsonError(error);
                }
              } : (changeCode) => {
                setInternalValue(changeCode);
                onChange(changeCode);
              }}
              options={{ readOnly, contextmenu: !readOnly, scrollbar }}
              value={internalValue}
              onValidate={isShowError ? (errors) => {
                if (isEmpty(errors)) {
                  // errors contains array of error objects message
                  setHideError();
                  setJsonError(false);
                }
              } : onValidate}
              // eslint-disable-next-line react/jsx-no-bind
              onMount={handleEditorDidMount}
              loading={loading}
            />
          )}
      {
        isShowError && isError
          ? <Error isOpen={isError} error={jsonError} handleCancel={setHideError} /> : null
      }
    </div>
  );
});

CodeEditor.displayName = 'CodeEditor';


================================================
FILE: packages/client/src/components/CodeEditor/reactTypes.js
================================================
export default `
import * as CSS from 'csstype';
import * as PropTypes from 'prop-types';

type NativeAnimationEvent = AnimationEvent;
type NativeClipboardEvent = ClipboardEvent;
type NativeCompositionEvent = CompositionEvent;
type NativeDragEvent = DragEvent;
type NativeFocusEvent = FocusEvent;
type NativeKeyboardEvent = KeyboardEvent;
type NativeMouseEvent = MouseEvent;
type NativeTouchEvent = TouchEvent;
type NativePointerEvent = PointerEvent;
type NativeTransitionEvent = TransitionEvent;
type NativeUIEvent = UIEvent;
type NativeWheelEvent = WheelEvent;
type Booleanish = boolean | 'true' | 'false';

/**
 * defined in scheduler/tracing
 */
interface SchedulerInteraction {
    id: number;
    name: string;
    timestamp: number;
}

// tslint:disable-next-line:export-just-namespace
export = React;
export as namespace React;

declare namespace React {
    //
    // React Elements
    // ----------------------------------------------------------------------

    type ElementType<P = any> =
        {
            [K in keyof JSX.IntrinsicElements]: P extends JSX.IntrinsicElements[K] ? K : never
        }[keyof JSX.IntrinsicElements] |
        ComponentType<P>;
 
    type ReactType<P = any> = ElementType<P>;
    type ComponentType<P = {}> = ComponentClass<P> | FunctionComponent<P>;

    type JSXElementConstructor<P> =
        | ((props: P) => ReactElement | null)
        | (new (props: P) => Component<P, any>);

    interface RefObject<T> {
        readonly current: T | null;
    }
    type RefCallback<T> = { bivarianceHack(instance: T | null): void }["bivarianceHack"];
    type Ref<T> = RefCallback<T> | RefObject<T> | null;
    type LegacyRef<T> = string | Ref<T>;
    
    type ElementRef<
        C extends
            | ForwardRefExoticComponent<any>
            | { new (props: any): Component<any> }
            | ((props: any, context?: any) => ReactElement | null)
            | keyof JSX.IntrinsicElements
    > =
        "ref" extends keyof ComponentPropsWithRef<C>
            ? NonNullable<ComponentPropsWithRef<C>["ref"]> extends Ref<
                infer Instance
            >
                ? Instance
                : never
            : never;

    type ComponentState = any;

    type Key = string | number;

    /**
     * @internal You shouldn't need to use this type since you never see these attributes
     * inside your component or have to validate them.
     */
    interface Attributes {
        key?: Key;
    }
    interface RefAttributes<T> extends Attributes {
        ref?: Ref<T>;
    }
    interface ClassAttributes<T> extends Attributes {
        ref?: LegacyRef<T>;
    }

    interface ReactElement<P = any, T extends string | JSXElementConstructor<any> = string | JSXElementConstructor<any>> {
        type: T;
        props: P;
        key: Key | null;
    }

    interface ReactComponentElement<
        T extends keyof JSX.IntrinsicElements | JSXElementConstructor<any>,
        P = Pick<ComponentProps<T>, Exclude<keyof ComponentProps<T>, 'key' | 'ref'>>
    > extends ReactElement<P, Exclude<T, number>> { }

  
    type SFCElement<P> = FunctionComponentElement<P>;

    interface FunctionComponentElement<P> extends ReactElement<P, FunctionComponent<P>> {
        ref?: 'ref' extends keyof P ? P extends { ref?: infer R } ? R : never : never;
    }

    type CElement<P, T extends Component<P, ComponentState>> = ComponentElement<P, T>;
    interface ComponentElement<P, T extends Component<P, ComponentState>> extends ReactElement<P, ComponentClass<P>> {
        ref?: LegacyRef<T>;
    }

    type ClassicElement<P> = CElement<P, ClassicComponent<P, ComponentState>>;

    // string fallback for custom web-components
    interface DOMElement<P extends HTMLAttributes<T> | SVGAttributes<T>, T extends Element> extends ReactElement<P, string> {
        ref: LegacyRef<T>;
    }

    // ReactHTML for ReactHTMLElement
    // tslint:disable-next-line:no-empty-interface
    interface ReactHTMLElement<T extends HTMLElement> extends DetailedReactHTMLElement<AllHTMLAttributes<T>, T> { }

    interface DetailedReactHTMLElement<P extends HTMLAttributes<T>, T extends HTMLElement> extends DOMElement<P, T> {
        type: keyof ReactHTML;
    }

    // ReactSVG for ReactSVGElement
    interface ReactSVGElement extends DOMElement<SVGAttributes<SVGElement>, SVGElement> {
        type: keyof ReactSVG;
    }

    interface ReactPortal extends ReactElement {
        key: Key | null;
        children: ReactNode;
    }

    //
    // Factories
    // ----------------------------------------------------------------------

    type Factory<P> = (props?: Attributes & P, ...children: ReactNode[]) => ReactElement<P>;

    type SFCFactory<P> = FunctionComponentFactory<P>;

    type FunctionComponentFactory<P> = (props?: Attributes & P, ...children: ReactNode[]) => FunctionComponentElement<P>;

    type ComponentFactory<P, T extends Component<P, ComponentState>> =
        (props?: ClassAttributes<T> & P, ...children: ReactNode[]) => CElement<P, T>;

    type CFactory<P, T extends Component<P, ComponentState>> = ComponentFactory<P, T>;
    type ClassicFactory<P> = CFactory<P, ClassicComponent<P, ComponentState>>;

    type DOMFactory<P extends DOMAttributes<T>, T extends Element> =
        (props?: ClassAttributes<T> & P | null, ...children: ReactNode[]) => DOMElement<P, T>;

    // tslint:disable-next-line:no-empty-interface
    interface HTMLFactory<T extends HTMLElement> extends DetailedHTMLFactory<AllHTMLAttributes<T>, T> {}

    interface DetailedHTMLFactory<P extends HTMLAttributes<T>, T extends HTMLElement> extends DOMFactory<P, T> {
        (props?: ClassAttributes<T> & P | null, ...children: ReactNode[]): DetailedReactHTMLElement<P, T>;
    }

    interface SVGFactory extends DOMFactory<SVGAttributes<SVGElement>, SVGElement> {
        (props?: ClassAttributes<SVGElement> & SVGAttributes<SVGElement> | null, ...children: ReactNode[]): ReactSVGElement;
    }

    //
    // React Nodes
    // http://facebook.github.io/react/docs/glossary.html
    // ----------------------------------------------------------------------

    type ReactText = string | number;
    type ReactChild = ReactElement | ReactText;

    interface ReactNodeArray extends Array<ReactNode> {}
    type ReactFragment = {} | ReactNodeArray;
    type ReactNode = ReactChild | ReactFragment | ReactPortal | boolean | null | undefined;

    //
    // Top Level API
    // ----------------------------------------------------------------------

    // DOM Elements
    function createFactory<T extends HTMLElement>(
        type: keyof ReactHTML): HTMLFactory<T>;
    function createFactory(
        type: keyof ReactSVG): SVGFactory;
    function createFactory<P extends DOMAttributes<T>, T extends Element>(
        type: string): DOMFactory<P, T>;

    // Custom components
    function createFactory<P>(type: FunctionComponent<P>): FunctionComponentFactory<P>;
    function createFactory<P>(
        type: ClassType<P, ClassicComponent<P, ComponentState>, ClassicComponentClass<P>>): CFactory<P, ClassicComponent<P, ComponentState>>;
    function createFactory<P, T extends Component<P, ComponentState>, C extends ComponentClass<P>>(
        type: ClassType<P, T, C>): CFactory<P, T>;
    function createFactory<P>(type: ComponentClass<P>): Factory<P>;

    // DOM Elements
    function createElement(
        type: "input",
        props?: InputHTMLAttributes<HTMLInputElement> & ClassAttributes<HTMLInputElement> | null,
        ...children: ReactNode[]): DetailedReactHTMLElement<InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>;
    function createElement<P extends HTMLAttributes<T>, T extends HTMLElement>(
        type: keyof ReactHTML,
        props?: ClassAttributes<T> & P | null,
        ...children: ReactNode[]): DetailedReactHTMLElement<P, T>;
    function createElement<P extends SVGAttributes<T>, T extends SVGElement>(
        type: keyof ReactSVG,
        props?: ClassAttributes<T> & P | null,
        ...children: ReactNode[]): ReactSVGElement;
    function createElement<P extends DOMAttributes<T>, T extends Element>(
        type: string,
        props?: ClassAttributes<T> & P | null,
        ...children: ReactNode[]): DOMElement<P, T>;

    // Custom components

    function createElement<P extends {}>(
        type: FunctionComponent<P>,
        props?: Attributes & P | null,
        ...children: ReactNode[]): FunctionComponentElement<P>;
    function createElement<P extends {}>(
        type: ClassType<P, ClassicComponent<P, ComponentState>, ClassicComponentClass<P>>,
        props?: ClassAttributes<ClassicComponent<P, ComponentState>> & P | null,
        ...children: ReactNode[]): CElement<P, ClassicComponent<P, ComponentState>>;
    function createElement<P extends {}, T extends Component<P, ComponentState>, C extends ComponentClass<P>>(
        type: ClassType<P, T, C>,
        props?: ClassAttributes<T> & P | null,
        ...children: ReactNode[]): CElement<P, T>;
    function createElement<P extends {}>(
        type: FunctionComponent<P> | ComponentClass<P> | string,
        props?: Attributes & P | null,
        ...children: ReactNode[]): ReactElement<P>;

    // DOM Elements
    // ReactHTMLElement
    function cloneElement<P extends HTMLAttributes<T>, T extends HTMLElement>(
        element: DetailedReactHTMLElement<P, T>,
        props?: P,
        ...children: ReactNode[]): DetailedReactHTMLElement<P, T>;
    // ReactHTMLElement, less specific
    function cloneElement<P extends HTMLAttributes<T>, T extends HTMLElement>(
        element: ReactHTMLElement<T>,
        props?: P,
        ...children: ReactNode[]): ReactHTMLElement<T>;
    // SVGElement
    function cloneElement<P extends SVGAttributes<T>, T extends SVGElement>(
        element: ReactSVGElement,
        props?: P,
        ...children: ReactNode[]): ReactSVGElement;
    // DOM Element (has to be the last, because type checking stops at first overload that fits)
    function cloneElement<P extends DOMAttributes<T>, T extends Element>(
        element: DOMElement<P, T>,
        props?: DOMAttributes<T> & P,
        ...children: ReactNode[]): DOMElement<P, T>;

    // Custom components
    function cloneElement<P>(
        element: FunctionComponentElement<P>,
        props?: Partial<P> & Attributes,
        ...children: ReactNode[]): FunctionComponentElement<P>;
    function cloneElement<P, T extends Component<P, ComponentState>>(
        element: CElement<P, T>,
        props?: Partial<P> & ClassAttributes<T>,
        ...children: ReactNode[]): CElement<P, T>;
    function cloneElement<P>(
        element: ReactElement<P>,
        props?: Partial<P> & Attributes,
        ...children: ReactNode[]): ReactElement<P>;

    // Context via RenderProps
    interface ProviderProps<T> {
        value: T;
        children?: ReactNode;
    }

    interface ConsumerProps<T> {
        children: (value: T) => ReactNode;
    }

    // TODO: similar to how Fragment is actually a symbol, the values returned from createContext,
    // forwardRef and memo are actually objects that are treated specially by the renderer; see:
    // https://github.com/facebook/react/blob/v16.6.0/packages/react/src/ReactContext.js#L35-L48
    // https://github.com/facebook/react/blob/v16.6.0/packages/react/src/forwardRef.js#L42-L45
    // https://github.com/facebook/react/blob/v16.6.0/packages/react/src/memo.js#L27-L31
    // However, we have no way of telling the JSX parser that it's a JSX element type or its props other than
    // by pretending to be a normal component.
    //
    // We don't just use ComponentType or SFC types because you are not supposed to attach statics to this
    // object, but rather to the original function.
    interface ExoticComponent<P = {}> {
        /**
         * **NOTE**: Exotic components are not callable.
         */
        (props: P): (ReactElement|null);
        readonly $$typeof: symbol;
    }

    interface NamedExoticComponent<P = {}> extends ExoticComponent<P> {
        displayName?: string;
    }

    interface ProviderExoticComponent<P> extends ExoticComponent<P> {
        propTypes?: WeakValidationMap<P>;
    }

    type ContextType<C extends Context<any>> = C extends Context<infer T> ? T : never;

    // NOTE: only the Context object itself can get a displayName
    // https://github.com/facebook/react-devtools/blob/e0b854e4c/backend/attachRendererFiber.js#L310-L325
    type Provider<T> = ProviderExoticComponent<ProviderProps<T>>;
    type Consumer<T> = ExoticComponent<ConsumerProps<T>>;
    interface Context<T> {
        Provider: Provider<T>;
        Consumer: Consumer<T>;
        displayName?: string;
    }
    function createContext<T>(
        // If you thought this should be optional, see
        // https://github.com/DefinitelyTyped/DefinitelyTyped/pull/24509#issuecomment-382213106
        defaultValue: T,
    ): Context<T>;

    function isValidElement<P>(object: {} | null | undefined): object is ReactElement<P>;

    const Children: ReactChildren;
    const Fragment: ExoticComponent<{ children?: ReactNode }>;
    const StrictMode: ExoticComponent<{ children?: ReactNode }>;

    interface SuspenseProps {
        children?: ReactNode;

        /** A fallback react tree to show when a Suspense child (like React.lazy) suspends */
        fallback: NonNullable<ReactNode>|null;
    }
    /**
     * This feature is not yet available for server-side rendering.
     * Suspense support will be added in a later release.
     */
    const Suspense: ExoticComponent<SuspenseProps>;
    const version: string;

    /**
     * {@link https://github.com/bvaughn/rfcs/blob/profiler/text/0000-profiler.md#detailed-design | API}
     */
    type ProfilerOnRenderCallback = (
        id: string,
        phase: "mount" | "update",
        actualDuration: number,
        baseDuration: number,
        startTime: number,
        commitTime: number,
        interactions: Set<SchedulerInteraction>,
    ) => void;
    interface ProfilerProps {
        children?: ReactNode;
        id: string;
        onRender: ProfilerOnRenderCallback;
    }

    const Profiler: ExoticComponent<ProfilerProps>;

    //
    // Component API
    // ----------------------------------------------------------------------

    type ReactInstance = Component<any> | Element;

    // Base component for plain JS classes
    // tslint:disable-next-line:no-empty-interface
    interface Component<P = {}, S = {}, SS = any> extends ComponentLifecycle<P, S, SS> { }
    class Component<P, S> {
        
        static contextType?: Context<any>;

        context: any;

        constructor(props: Readonly<P>);
        /**
         * @deprecated
         * @see https://reactjs.org/docs/legacy-context.html
         */
        constructor(props: P, context?: any);

        setState<K extends keyof S>(
            state: ((prevState: Readonly<S>, props: Readonly<P>) => (Pick<S, K> | S | null)) | (Pick<S, K> | S | null),
            callback?: () => void
        ): void;

        forceUpdate(callback?: () => void): void;
        render(): ReactNode;

        readonly props: Readonly<P> & Readonly<{ children?: ReactNode }>;
        state: Readonly<S>;
        /**
         * @deprecated
         * https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs
         */
        refs: {
            [key: string]: ReactInstance
        };
    }

    class PureComponent<P = {}, S = {}, SS = any> extends Component<P, S, SS> { }

    interface ClassicComponent<P = {}, S = {}> extends Component<P, S> {
        replaceState(nextState: S, callback?: () => void): void;
        isMounted(): boolean;
        getInitialState?(): S;
    }

    interface ChildContextProvider<CC> {
        getChildContext(): CC;
    }

    //
    // Class Interfaces
    // ----------------------------------------------------------------------

   
    type SFC<P = {}> = FunctionComponent<P>;

    type StatelessComponent<P = {}> = FunctionComponent<P>;

    type FC<P = {}> = FunctionComponent<P>;

    interface FunctionComponent<P = {}> {
        (props: PropsWithChildren<P>, context?: any): ReactElement<any, any> | null;
        propTypes?: WeakValidationMap<P>;
        contextTypes?: ValidationMap<any>;
        defaultProps?: Partial<P>;
        displayName?: string;
    }

    interface ForwardRefRenderFunction<T, P = {}> {
        (props: PropsWithChildren<P>, ref: ((instance: T | null) => void) | MutableRefObject<T | null> | null): ReactElement | null;
        displayName?: string;
        /**
         * defaultProps are not supported on render functions
         */
        defaultProps?: never;
        /**
         * propTypes are not supported on render functions
         */
        propTypes?: never;
    }

    /**
     * @deprecated Use ForwardRefRenderFunction. forwardRef doesn't accept a
     *             "real" component.
     */
    interface RefForwardingComponent <T, P = {}> extends ForwardRefRenderFunction<T, P> {}

    interface ComponentClass<P = {}, S = ComponentState> extends StaticLifecycle<P, S> {
        new (props: P, context?: any): Component<P, S>;
        propTypes?: WeakValidationMap<P>;
        contextType?: Context<any>;
        contextTypes?: ValidationMap<any>;
        childContextTypes?: ValidationMap<any>;
        defaultProps?: Partial<P>;
        displayName?: string;
    }

    interface ClassicComponentClass<P = {}> extends ComponentClass<P> {
        new (props: P, context?: any): ClassicComponent<P, ComponentState>;
        getDefaultProps?(): P;
    }

    /**
     * We use an intersection type to infer multiple type parameters from
     * a single argument, which is useful for many top-level API defs.
     * See https://github.com/Microsoft/TypeScript/issues/7234 for more info.
     */
    type ClassType<P, T extends Component<P, ComponentState>, C extends ComponentClass<P>> =
        C &
        (new (props: P, context?: any) => T);

    //
    // Component Specs and Lifecycle
    // ----------------------------------------------------------------------

    interface ComponentLifecycle<P, S, SS = any> extends NewLifecycle<P, S, SS>, DeprecatedLifecycle<P, S> {
        /**
         * Called immediately after a component is mounted. Setting state here will trigger re-rendering.
         */
        componentDidMount?(): void;
       
        shouldComponentUpdate?(nextProps: Readonly<P>, nextState: Readonly<S>, nextContext: any): boolean;
       
        componentWillUnmount?(): void;
        /**
         * Catches exceptions generated in descendant components. Unhandled exceptions will cause
         * the entire component tree to unmount.
         */
        componentDidCatch?(error: Error, errorInfo: ErrorInfo): void;
    }

    // Unfortunately, we have no way of declaring that the component constructor must implement this
    interface StaticLifecycle<P, S> {
        getDerivedStateFromProps?: GetDerivedStateFromProps<P, S>;
        getDerivedStateFromError?: GetDerivedStateFromError<P, S>;
    }

    type GetDerivedStateFromProps<P, S> =
        /**
         * Returns an update to a component's state based on its new props and old state.
         *
         * Note: its presence prevents any of the deprecated lifecycle methods from being invoked
         */
        (nextProps: Readonly<P>, prevState: S) => Partial<S> | null;

    type GetDerivedStateFromError<P, S> =
        /**
         * This lifecycle is invoked after an error has been thrown by a descendant component.
         * It receives the error that was thrown as a parameter and should return a value to update state.
         *
         * Note: its presence prevents any of the deprecated lifecycle methods from being invoked
         */
        (error: any) => Partial<S> | null;

    // This should be "infer SS" but can't use it yet
    interface NewLifecycle<P, S, SS> {
        
        getSnapshotBeforeUpdate?(prevProps: Readonly<P>, prevState: Readonly<S>): SS | null;
        /**
         * Called immediately after updating occurs. Not called for the initial render.
         *
         * The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.
         */
        componentDidUpdate?(prevProps: Readonly<P>, prevState: Readonly<S>, snapshot?: SS): void;
    }

    interface DeprecatedLifecycle<P, S> {
        
        componentWillMount?(): void;
       
        UNSAFE_componentWillMount?(): void;
        
        componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
        
        UNSAFE_componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
        
        componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<S>, nextContext: any): void;
        
        UNSAFE_componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<S>, nextContext: any): void;
    }

    interface Mixin<P, S> extends ComponentLifecycle<P, S> {
        mixins?: Array<Mixin<P, S>>;
        statics?: {
            [key: string]: any;
        };

        displayName?: string;
        propTypes?: ValidationMap<any>;
        contextTypes?: ValidationMap<any>;
        childContextTypes?: ValidationMap<any>;

        getDefaultProps?(): P;
        getInitialState?(): S;
    }

    interface ComponentSpec<P, S> extends Mixin<P, S> {
        render(): ReactNode;

        [propertyName: string]: any;
    }

    function createRef<T>(): RefObject<T>;

    interface ForwardRefExoticComponent<P> extends NamedExoticComponent<P> {
        defaultProps?: Partial<P>;
        propTypes?: WeakValidationMap<P>;
    }

    function forwardRef<T, P = {}>(render: ForwardRefRenderFunction<T, P>): ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<T>>;

    /** Ensures that the props do not include ref at all */
    type PropsWithoutRef<P> =
        // Just Pick would be sufficient for this, but I'm trying to avoid unnecessary mapping over union types
        // https://github.com/Microsoft/TypeScript/issues/28339
        'ref' extends keyof P
            ? Pick<P, Exclude<keyof P, 'ref'>>
            : P;
    /** Ensures that the props do not include string ref, which cannot be forwarded */
    type PropsWithRef<P> =
        // Just "P extends { ref?: infer R }" looks sufficient, but R will infer as {} if P is {}.
        'ref' extends keyof P
            ? P extends { ref?: infer R }
                ? string extends R
                    ? PropsWithoutRef<P> & { ref?: Exclude<R, string> }
                    : P
                : P
            : P;

    type PropsWithChildren<P> = P & { children?: ReactNode };

    /**
     * NOTE: prefer ComponentPropsWithRef, if the ref is forwarded,
     * or ComponentPropsWithoutRef when refs are not supported.
     */
    type ComponentProps<T extends keyof JSX.IntrinsicElements | JSXElementConstructor<any>> =
        T extends JSXElementConstructor<infer P>
            ? P
            : T extends keyof JSX.IntrinsicElements
                ? JSX.IntrinsicElements[T]
                : {};
    type ComponentPropsWithRef<T extends ElementType> =
        T extends ComponentClass<infer P>
            ? PropsWithoutRef<P> & RefAttributes<InstanceType<T>>
            : PropsWithRef<ComponentProps<T>>;
    type ComponentPropsWithoutRef<T extends ElementType> =
        PropsWithoutRef<ComponentProps<T>>;

    type MemoExoticComponent<T extends ComponentType<any>> = NamedExoticComponent<ComponentPropsWithRef<T>> & {
        readonly type: T;
    };

    function memo<P extends object>(
        Component: SFC<P>,
        propsAreEqual?: (prevProps: Readonly<PropsWithChildren<P>>, nextProps: Readonly<PropsWithChildren<P>>) => boolean
    ): NamedExoticComponent<P>;
    function memo<T extends ComponentType<any>>(
        Component: T,
        propsAreEqual?: (prevProps: Readonly<ComponentProps<T>>, nextProps: Readonly<ComponentProps<T>>) => boolean
    ): MemoExoticComponent<T>;

    type LazyExoticComponent<T extends ComponentType<any>> = ExoticComponent<ComponentPropsWithRef<T>> & {
        readonly _result: T;
    };

    function lazy<T extends ComponentType<any>>(
        factory: () => Promise<{ default: T }>
    ): LazyExoticComponent<T>;

    //
    // React Hooks
    // ----------------------------------------------------------------------

    // based on the code in https://github.com/facebook/react/pull/13968

    // Unlike the class component setState, the updates are not allowed to be partial
    type SetStateAction<S> = S | ((prevState: S) => S);
    // this technically does accept a second argument, but it's already under a deprecation warning
    // and it's not even released so probably better to not define it.
    type Dispatch<A> = (value: A) => void;
    // Since action _can_ be undefined, dispatch may be called without any parameters.
    type DispatchWithoutAction = () => void;
    // Unlike redux, the actions _can_ be anything
    type Reducer<S, A> = (prevState: S, action: A) => S;
    // If useReducer accepts a reducer without action, dispatch may be called without any parameters.
    type ReducerWithoutAction<S> = (prevState: S) => S;
    // types used to try and prevent the compiler from reducing S
    // to a supertype common with the second argument to useReducer()
    type ReducerState<R extends Reducer<any, any>> = R extends Reducer<infer S, any> ? S : never;
    type ReducerAction<R extends Reducer<any, any>> = R extends Reducer<any, infer A> ? A : never;
    // The identity check is done with the SameValue algorithm (Object.is), which is stricter than ===
    type ReducerStateWithoutAction<R extends ReducerWithoutAction<any>> =
        R extends ReducerWithoutAction<infer S> ? S : never;
    // TODO (TypeScript 3.0): ReadonlyArray<unknown>
    type DependencyList = ReadonlyArray<any>;

    // NOTE: callbacks are _only_ allowed to return either void, or a destructor.
    // The destructor is itself only allowed to return void.
    type EffectCallback = () => (void | (() => void | undefined));

    interface MutableRefObject<T> {
        current: T;
    }

    // This will technically work if you give a Consumer<T> or Provider<T> but it's deprecated and warns
    
    function useContext<T>(context: Context<T>/*, (not public API) observedBits?: number|boolean */): T;
    /**
     * Returns a stateful value, and a function to update it.
     *
     * @version 16.8.0
     * @see https://reactjs.org/docs/hooks-reference.html#usestate
     */
    function useState<S>(initialState: S | (() => S)): [S, Dispatch<SetStateAction<S>>];
    // convenience overload when first argument is ommitted
    /**
     * Returns a stateful value, and a function to update it.
     *
     * @version 16.8.0
     * @see https://reactjs.org/docs/hooks-reference.html#usestate
     */
    function useState<S = undefined>(): [S | undefined, Dispatch<SetStateAction<S | undefined>>];

    // overload where dispatch could accept 0 arguments.
    function useReducer<R extends ReducerWithoutAction<any>, I>(
        reducer: R,
        initializerArg: I,
        initializer: (arg: I) => ReducerStateWithoutAction<R>
    ): [ReducerStateWithoutAction<R>, DispatchWithoutAction];
 
    // overload where dispatch could accept 0 arguments.
    function useReducer<R extends ReducerWithoutAction<any>>(
        reducer: R,
        initializerArg: ReducerStateWithoutAction<R>,
        initializer?: undefined
    ): [ReducerStateWithoutAction<R>, DispatchWithoutAction];
  
    // overload where "I" may be a subset of ReducerState<R>; used to provide autocompletion.
    // If "I" matches ReducerState<R> exactly then the last overload will allow initializer to be ommitted.
    // the last overload effectively behaves as if the identity function (x => x) is the initializer.
    function useReducer<R extends Reducer<any, any>, I>(
        reducer: R,
        initializerArg: I & ReducerState<R>,
        initializer: (arg: I & ReducerState<R>) => ReducerState<R>
    ): [ReducerState<R>, Dispatch<ReducerAction<R>>];
   
    // overload for free "I"; all goes as long as initializer converts it into "ReducerState<R>".
    function useReducer<R extends Reducer<any, any>, I>(
        reducer: R,
        initializerArg: I,
        initializer: (arg: I) => ReducerState<R>
    ): [ReducerState<R>, Dispatch<ReducerAction<R>>];
   

    // I'm not sure if I keep this 2-ary or if I make it (2,3)-ary; it's currently (2,3)-ary.
    // The Flow types do have an overload for 3-ary invocation with undefined initializer.

    // NOTE: without the ReducerState indirection, TypeScript would reduce S to be the most common
    // supertype between the reducer's return type and the initialState (or the initializer's return type),
    // which would prevent autocompletion from ever working.

    // TODO: double-check if this weird overload logic is necessary. It is possible it's either a bug
    // in older versions, or a regression in newer versions of the typescript completion service.
    function useReducer<R extends Reducer<any, any>>(
        reducer: R,
        initialState: ReducerState<R>,
        initializer?: undefined
    ): [ReducerState<R>, Dispatch<ReducerAction<R>>];
    
    // TODO (TypeScript 3.0): <T extends unknown>
    function useRef<T>(initialValue: T): MutableRefObject<T>;
    // convenience overload for refs given as a ref prop as they typically start with a null value
    
    // TODO (TypeScript 3.0): <T extends unknown>
    function useRef<T>(initialValue: T|null): RefObject<T>;
    // convenience overload for potentially undefined initialValue / call with 0 arguments
    // has a default to stop it from defaulting to {} instead
    
    // TODO (TypeScript 3.0): <T extends unknown>
    function useRef<T = undefined>(): MutableRefObject<T | undefined>;
    
    function useLayoutEffect(effect: EffectCallback, deps?: DependencyList): void;
    /**
     * Accepts a function that contains imperative, possibly effectful code.
     *
     * @param effect Imperative function that can return a cleanup function
     * @param deps If present, effect will only activate if the values in the list change.
     *
     * @version 16.8.0
     * @see https://reactjs.org/docs/hooks-reference.html#useeffect
     */
    function useEffect(effect: EffectCallback, deps?: DependencyList): void;
    // NOTE: this does not accept strings, but this will have to be fixed by removing strings from type Ref<T>
    
    function useImperativeHandle<T, R extends T>(ref: Ref<T>|undefined, init: () => R, deps?: DependencyList): void;
    // I made 'inputs' required here and in useMemo as there's no point to memoizing without the memoization key
    // useCallback(X) is identical to just using X, useMemo(() => Y) is identical to just using Y.
    
    // TODO (TypeScript 3.0): <T extends (...args: never[]) => unknown>
    function useCallback<T extends (...args: any[]) => any>(callback: T, deps: DependencyList): T;
    
    // allow undefined, but don't make it optional as that is very likely a mistake
    function useMemo<T>(factory: () => T, deps: DependencyList | undefined): T;
   
    // the name of the custom hook is itself derived from the function name at runtime:
    // it's just the function name without the "use" prefix.
    function useDebugValue<T>(value: T, format?: (value: T) => any): void;

    //
    // Event System
    // ----------------------------------------------------------------------
    // TODO: change any to unknown when moving to TS v3
    interface BaseSyntheticEvent<E = object, C = any, T = any> {
        nativeEvent: E;
        currentTarget: C;
        target: T;
        bubbles: boolean;
        cancelable: boolean;
        defaultPrevented: boolean;
        eventPhase: number;
        isTrusted: boolean;
        preventDefault(): void;
        isDefaultPrevented(): boolean;
        stopPropagation(): void;
        isPropagationStopped(): boolean;
        persist(): void;
        timeStamp: number;
        type: string;
    }

    interface SyntheticEvent<T = Element, E = Event> extends BaseSyntheticEvent<E, EventTarget & T, EventTarget> {}

    interface ClipboardEvent<T = Element> extends SyntheticEvent<T, NativeClipboardEvent> {
        clipboardData: DataTransfer;
    }

    interface CompositionEvent<T = Element> extends SyntheticEvent<T, NativeCompositionEvent> {
        data: string;
    }

    interface DragEvent<T = Element> extends MouseEvent<T, NativeDragEvent> {
        dataTransfer: DataTransfer;
    }

    interface PointerEvent<T = Element> extends MouseEvent<T, NativePointerEvent> {
        pointerId: number;
        pressure: number;
        tangentialPressure: number;
        tiltX: number;
        tiltY: number;
        twist: number;
        width: number;
        height: number;
        pointerType: 'mouse' | 'pen' | 'touch';
        isPrimary: boolean;
    }

    interface FocusEvent<T = Element> extends SyntheticEvent<T, NativeFocusEvent> {
        relatedTarget: EventTarget | null;
        target: EventTarget & T;
    }

    // tslint:disable-next-line:no-empty-interface
    interface FormEvent<T = Element> extends SyntheticEvent<T> {
    }

    interface InvalidEvent<T = Element> extends SyntheticEvent<T> {
        target: EventTarget & T;
    }

    interface ChangeEvent<T = Element> extends SyntheticEvent<T> {
        target: EventTarget & T;
    }

    interface KeyboardEvent<T = Element> extends SyntheticEvent<T, NativeKeyboardEvent> {
        altKey: boolean;
        charCode: number;
        ctrlKey: boolean;
        /**
         * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
         */
        getModifierState(key: string): boolean;
        /**
         * See the [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#named-key-attribute-values). for possible values
         */
        key: string;
        keyCode: number;
        locale: string;
        location: number;
        metaKey: boolean;
        repeat: boolean;
        shiftKey: boolean;
        /** @deprecated */
        which: number;
    }

    interface MouseEvent<T = Element, E = NativeMouseEvent> extends UIEvent<T, E> {
        altKey: boolean;
        button: number;
        buttons: number;
        clientX: number;
        clientY: number;
        ctrlKey: boolean;
        /**
         * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
         */
        getModifierState(key: string): boolean;
        metaKey: boolean;
        movementX: number;
        movementY: number;
        pageX: number;
        pageY: number;
        relatedTarget: EventTarget | null;
        screenX: number;
        screenY: number;
        shiftKey: boolean;
    }

    interface TouchEvent<T = Element> extends UIEvent<T, NativeTouchEvent> {
        altKey: boolean;
        changedTouches: TouchList;
        ctrlKey: boolean;
        /**
         * See [DOM Level 3 Events spec](https://www.w3.org/TR/uievents-key/#keys-modifier). for a list of valid (case-sensitive) arguments to this method.
         */
        getModifierState(key: string): boolean;
        metaKey: boolean;
        shiftKey: boolean;
        targetTouches: TouchList;
        touches: TouchList;
    }

    interface UIEvent<T = Element, E = NativeUIEvent> extends SyntheticEvent<T, E> {
        detail: number;
        view: AbstractView;
    }

    interface WheelEvent<T = Element> extends MouseEvent<T, NativeWheelEvent> {
        deltaMode: number;
        deltaX: number;
        deltaY: number;
        deltaZ: number;
    }

    interface AnimationEvent<T = Element> extends SyntheticEvent<T, NativeAnimationEvent> {
        animationName: string;
        elapsedTime: number;
        pseudoElement: string;
    }

    interface TransitionEvent<T = Element> extends SyntheticEvent<T, NativeTransitionEvent> {
        elapsedTime: number;
        propertyName: string;
        pseudoElement: string;
    }

    //
    // Event Handler Types
    // ----------------------------------------------------------------------

    type EventHandler<E extends SyntheticEvent<any>> = { bivarianceHack(event: E): void }["bivarianceHack"];

    type ReactEventHandler<T = Element> = EventHandler<SyntheticEvent<T>>;

    type ClipboardEventHandler<T = Element> = EventHandler<ClipboardEvent<T>>;
    type CompositionEventHandler<T = Element> = EventHandler<CompositionEvent<T>>;
    type DragEventHandler<T = Element> = EventHandler<DragEvent<T>>;
    type FocusEventHandler<T = Element> = EventHandler<FocusEvent<T>>;
    type FormEventHandler<T = Element> = EventHandler<FormEvent<T>>;
    type ChangeEventHandler<T = Element> = EventHandler<ChangeEvent<T>>;
    type KeyboardEventHandler<T = Element> = EventHandler<KeyboardEvent<T>>;
    type MouseEventHandler<T = Element> = EventHandler<MouseEvent<T>>;
    type TouchEventHandler<T = Element> = EventHandler<TouchEvent<T>>;
    type PointerEventHandler<T = Element> = EventHandler<PointerEvent<T>>;
    type UIEventHandler<T = Element> = EventHandler<UIEvent<T>>;
    type WheelEventHandler<T = Element> = EventHandler<WheelEvent<T>>;
    type AnimationEventHandler<T = Element> = EventHandler<AnimationEvent<T>>;
    type TransitionEventHandler<T = Element> = EventHandler<TransitionEvent<T>>;

    //
    // Props / DOM Attributes
    // ----------------------------------------------------------------------

 
    interface Props<T> {
        children?: ReactNode;
        key?: Key;
        ref?: LegacyRef<T>;
    }

    interface HTMLProps<T> extends AllHTMLAttributes<T>, ClassAttributes<T> {
    }

    type DetailedHTMLProps<E extends HTMLAttributes<T>, T> = ClassAttributes<T> & E;

    interface SVGProps<T> extends SVGAttributes<T>, ClassAttributes<T> {
    }

    interface DOMAttributes<T> {
        children?: ReactNode;
        dangerouslySetInnerHTML?: {
            __html: string;
        };

        // Clipboard Events
        onCopy?: ClipboardEventHandler<T>;
        onCopyCapture?: ClipboardEventHandler<T>;
        onCut?: ClipboardEventHandler<T>;
        onCutCapture?: ClipboardEventHandler<T>;
        onPaste?: ClipboardEventHandler<T>;
        onPasteCapture?: ClipboardEventHandler<T>;

        // Composition Events
        onCompositionEnd?: CompositionEventHandler<T>;
        onCompositionEndCapture?: CompositionEventHandler<T>;
        onCompositionStart?: CompositionEventHandler<T>;
        onCompositionStartCapture?: CompositionEventHandler<T>;
        onCompositionUpdate?: CompositionEventHandler<T>;
        onCompositionUpdateCapture?: CompositionEventHandler<T>;

        // Focus Events
        onFocus?: FocusEventHandler<T>;
        onFocusCapture?: FocusEventHandler<T>;
        onBlur?: FocusEventHandler<T>;
        onBlurCapture?: FocusEventHandler<T>;

        // Form Events
        onChange?: FormEventHandler<T>;
        onChangeCapture?: FormEventHandler<T>;
        onBeforeInput?: FormEventHandler<T>;
        onBeforeInputCapture?: FormEventHandler<T>;
        onInput?: FormEventHandler<T>;
        onInputCapture?: FormEventHandler<T>;
        onReset?: FormEventHandler<T>;
        onResetCapture?: FormEventHandler<T>;
        onSubmit?: FormEventHandler<T>;
        onSubmitCapture?: FormEventHandler<T>;
        onInvalid?: FormEventHandler<T>;
        onInvalidCapture?: FormEventHandler<T>;

        // Image Events
        onLoad?: ReactEventHandler<T>;
        onLoadCapture?: ReactEventHandler<T>;
        onError?: ReactEventHandler<T>; // also a Media Event
        onErrorCapture?: ReactEventHandler<T>; // also a Media Event

        // Keyboard Events
        onKeyDown?: KeyboardEventHandler<T>;
        onKeyDownCapture?: KeyboardEventHandler<T>;
        onKeyPress?: KeyboardEventHandler<T>;
        onKeyPressCapture?: KeyboardEventHandler<T>;
        onKeyUp?: KeyboardEventHandler<T>;
        onKeyUpCapture?: KeyboardEventHandler<T>;

        // Media Events
        onAbort?: ReactEventHandler<T>;
        onAbortCapture?: ReactEventHandler<T>;
        onCanPlay?: ReactEventHandler<T>;
        onCanPlayCapture?: ReactEventHandler<T>;
        onCanPlayThrough?: ReactEventHandler<T>;
        onCanPlayThroughCapture?: ReactEventHandler<T>;
        onDurationChange?: ReactEventHandler<T>;
        onDurationChangeCapture?: ReactEventHandler<T>;
        onEmptied?: ReactEventHandler<T>;
        onEmptiedCapture?: ReactEventHandler<T>;
        onEncrypted?: ReactEventHandler<T>;
        onEncryptedCapture?: ReactEventHandler<T>;
        onEnded?: ReactEventHandler<T>;
        onEndedCapture?: ReactEventHandler<T>;
        onLoadedData?: ReactEventHandler<T>;
        onLoadedDataCapture?: ReactEventHandler<T>;
        onLoadedMetadata?: ReactEventHandler<T>;
        onLoadedMetadataCapture?: ReactEventHandler<T>;
        onLoadStart?: ReactEventHandler<T>;
        onLoadStartCapture?: ReactEventHandler<T>;
        onPause?: ReactEventHandler<T>;
        onPauseCapture?: ReactEventHandler<T>;
        onPlay?: ReactEventHandler<T>;
        onPlayCapture?: ReactEventHandler<T>;
        onPlaying?: ReactEventHandler<T>;
        onPlayingCapture?: ReactEventHandler<T>;
        onProgress?: ReactEventHandler<T>;
        onProgressCapture?: ReactEventHandler<T>;
        onRateChange?: ReactEventHandler<T>;
        onRateChangeCapture?: ReactEventHandler<T>;
        onSeeked?: ReactEventHandler<T>;
        onSeekedCapture?: ReactEventHandler<T>;
        onSeeking?: ReactEventHandler<T>;
        onSeekingCapture?: ReactEventHandler<T>;
        onStalled?: ReactEventHandler<T>;
        onStalledCapture?: ReactEventHandler<T>;
        onSuspend?: ReactEventHandler<T>;
        onSuspendCapture?: ReactEventHandler<T>;
        onTimeUpdate?: ReactEventHandler<T>;
        onTimeUpdateCapture?: ReactEventHandler<T>;
        onVolumeChange?: ReactEventHandler<T>;
        onVolumeChangeCapture?: ReactEventHandler<T>;
        onWaiting?: ReactEventHandler<T>;
        onWaitingCapture?: ReactEventHandler<T>;

        // MouseEvents
        onAuxClick?: MouseEventHandler<T>;
        onAuxClickCapture?: MouseEventHandler<T>;
        onClick?: MouseEventHandler<T>;
        onClickCapture?: MouseEventHandler<T>;
        onContextMenu?: MouseEventHandler<T>;
        onContextMenuCapture?: MouseEventHandler<T>;
        onDoubleClick?: MouseEventHandler<T>;
        onDoubleClickCapture?: MouseEventHandler<T>;
        onDrag?: DragEventHandler<T>;
        onDragCapture?: DragEventHandler<T>;
        onDragEnd?: DragEventHandler<T>;
        onDragEndCapture?: DragEventHandler<T>;
        onDragEnter?: DragEventHandler<T>;
        onDragEnterCapture?: DragEventHandler<T>;
        onDragExit?: DragEventHandler<T>;
        onDragExitCapture?: DragEventHandler<T>;
        onDragLeave?: DragEventHandler<T>;
        onDragLeaveCapture?: DragEventHandler<T>;
        onDragOver?: DragEventHandler<T>;
        onDragOverCapture?: DragEventHandler<T>;
        onDragStart?: DragEventHandler<T>;
        onDragStartCapture?: DragEventHandler<T>;
        onDrop?: DragEventHandler<T>;
        onDropCapture?: DragEventHandler<T>;
        onMouseDown?: MouseEventHandler<T>;
        onMouseDownCapture?: MouseEventHandler<T>;
        onMouseEnter?: MouseEventHandler<T>;
        onMouseLeave?: MouseEventHandler<T>;
        onMouseMove?: MouseEventHandler<T>;
        onMouseMoveCapture?: MouseEventHandler<T>;
        onMouseOut?: MouseEventHandler<T>;
        onMouseOutCapture?: MouseEventHandler<T>;
        onMouseOver?: MouseEventHandler<T>;
        onMouseOverCapture?: MouseEventHandler<T>;
        onMouseUp?: MouseEventHandler<T>;
        onMouseUpCapture?: MouseEventHandler<T>;

        // Selection Events
        onSelect?: ReactEventHandler<T>;
        onSelectCapture?: ReactEventHandler<T>;

        // Touch Events
        onTouchCancel?: TouchEventHandler<T>;
        onTouchCancelCapture?: TouchEventHandler<T>;
        onTouchEnd?: TouchEventHandler<T>;
        onTouchEndCapture?: TouchEventHandler<T>;
        onTouchMove?: TouchEventHandler<T>;
        onTouchMoveCapture?: TouchEventHandler<T>;
        onTouchStart?: TouchEventHandler<T>;
        onTouchStartCapture?: TouchEventHandler<T>;

        // Pointer Events
        onPointerDown?: PointerEventHandler<T>;
        onPointerDownCapture?: PointerEventHandler<T>;
        onPointerMove?: PointerEventHandler<T>;
        onPointerMoveCapture?: PointerEventHandler<T>;
        onPointerUp?: PointerEventHandler<T>;
        onPointerUpCapture?: PointerEventHandler<T>;
        onPointerCancel?: PointerEventHandler<T>;
        onPointerCancelCapture?: PointerEventHandler<T>;
        onPointerEnter?: PointerEventHandler<T>;
        onPointerEnterCapture?: PointerEventHandler<T>;
        onPointerLeave?: PointerEventHandler<T>;
        onPointerLeaveCapture?: PointerEventHandler<T>;
        onPointerOver?: PointerEventHandler<T>;
        onPointerOverCapture?: PointerEventHandler<T>;
        onPointerOut?: PointerEventHandler<T>;
        onPointerOutCapture?: PointerEventHandler<T>;
        onGotPointerCapture?: PointerEventHandler<T>;
        onGotPointerCaptureCapture?: PointerEventHandler<T>;
        onLostPointerCapture?: PointerEventHandler<T>;
        onLostPointerCaptureCapture?: PointerEventHandler<T>;

        // UI Events
        onScroll?: UIEventHandler<T>;
        onScrollCapture?: UIEventHandler<T>;

        // Wheel Events
        onWheel?: WheelEventHandler<T>;
        onWheelCapture?: WheelEventHandler<T>;

        // Animation Events
        onAnimationStart?: AnimationEventHandler<T>;
        onAnimationStartCapture?: AnimationEventHandler<T>;
        onAnimationEnd?: AnimationEventHandler<T>;
        onAnimationEndCapture?: AnimationEventHandler<T>;
        onAnimationIteration?: AnimationEventHandler<T>;
        onAnimationIterationCapture?: AnimationEventHandler<T>;

        // Transition Events
        onTransitionEnd?: TransitionEventHandler<T>;
        onTransitionEndCapture?: TransitionEventHandler<T>;
    }

    export interface CSSProperties extends CSS.Properties<string | number> {
        /**
         * The index signature was removed to enable closed typing for style
         * using CSSType. You're able to use type assertion or module augmentation
         * to add properties or an index signature of your own.
         *
         * For examples and more information, visit:
         * https://github.com/frenic/csstype#what-should-i-do-when-i-get-type-errors
         */
    }

    // All the WAI-ARIA 1.1 attributes from https://www.w3.org/TR/wai-aria-1.1/
    interface AriaAttributes {
        /** Identifies the currently active element when DOM focus is on a composite widget, textbox, group, or application. */
        'aria-activedescendant'?: string;
        /** Indicates whether assistive technologies will present all, or only parts of, the changed region based on the change notifications defined by the aria-relevant attribute. */
        'aria-atomic'?: boolean | 'false' | 'true';
        /**
         * Indicates whether inputting text could trigger display of one or more predictions of the user's intended value for an input and specifies how predictions would be
         * presented if they are made.
         */
        'aria-autocomplete'?: 'none' | 'inline' | 'list' | 'both';
        /** Indicates an element is being modified and that assistive technologies MAY want to wait until the modifications are complete before exposing them to the user. */
        'aria-busy'?: boolean | 'false' | 'true';
        /**
         * Indicates the current "checked" state of checkboxes, radio buttons, and other widgets.
         * @see aria-pressed @see aria-selected.
         */
        'aria-checked'?: boolean | 'false' | 'mixed' | 'true';
        /**
         * Defines the total number of columns in a table, grid, or treegrid.
         * @see aria-colindex.
         */
        'aria-colcount'?: number;
        /**
         * Defines an element's column index or position with respect to the total number of columns within a table, grid, or treegrid.
         * @see aria-colcount @see aria-colspan.
         */
        'aria-colindex'?: number;
        /**
         * Defines the number of columns spanned by a cell or gridcell within a table, grid, or treegrid.
         * @see aria-colindex @see aria-rowspan.
         */
        'aria-colspan'?: number;
        /**
         * Identifies the element (or elements) whose contents or presence are controlled by the current element.
         * @see aria-owns.
         */
        'aria-controls'?: string;
        /** Indicates the element that represents the current item within a container or set of related elements. */
        'aria-current'?: boolean | 'false' | 'true' | 'page' | 'step' | 'location' | 'date' | 'time';
        /**
         * Identifies the element (or elements) that describes the object.
         * @see aria-labelledby
         */
        'aria-describedby'?: string;
        /**
         * Identifies the element that provides a detailed, extended description for the object.
         * @see aria-describedby.
         */
        'aria-details'?: string;
        /**
         * Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
         * @see aria-hidden @see aria-readonly.
         */
        'aria-disabled'?: boolean | 'false' | 'true';
        /**
         * Indicates what functions can be performed when a dragged object is released on the drop target.
         * @deprecated in ARIA 1.1
         */
        'aria-dropeffect'?: 'none' | 'copy' | 'execute' | 'link' | 'move' | 'popup';
        /**
         * Identifies the element that provides an error message for the object.
         * @see aria-invalid @see aria-describedby.
         */
        'aria-errormessage'?: string;
        /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */
        'aria-expanded'?: boolean | 'false' | 'true';
        /**
         * Identifies the next element (or elements) in an alternate reading order of content which, at the user's discretion,
         * allows assistive technology to override the general default of reading in document source order.
         */
        'aria-flowto'?: string;
        /**
         * Indicates an element's "grabbed" state in a drag-and-drop operation.
         * @deprecated in ARIA 1.1
         */
        'aria-grabbed'?: boolean | 'false' | 'true';
        /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */
        'aria-haspopup'?: boolean | 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';
        /**
         * Indicates whether the element is exposed to an accessibility API.
         * @see aria-disabled.
         */
        'aria-hidden'?: boolean | 'false' | 'true';
        /**
         * Indicates the entered value does not conform to the format expected by the application.
         * @see aria-errormessage.
         */
        'aria-invalid'?: boolean | 'false' | 'true' | 'grammar' | 'spelling';
        /** Indicates keyboard shortcuts that an author has implemented to activate or give focus to an element. */
        'aria-keyshortcuts'?: string;
        /**
         * Defines a string value that labels the current element.
         * @see aria-labelledby.
         */
        'aria-label'?: string;
        /**
         * Identifies the element (or elements) that labels the current element.
         * @see aria-describedby.
         */
        'aria-labelledby'?: string;
        /** Defines the hierarchical level of an element within a structure. */
        'aria-level'?: number;
        /** Indicates that an element will be updated, and describes the types of updates the user agents, assistive technologies, and user can expect from the live region. */
        'aria-live'?: 'off' | 'assertive' | 'polite';
        /** Indicates whether an element is modal when displayed. */
        'aria-modal'?: boolean | 'false' | 'true';
        /** Indicates whether a text box accepts multiple lines of input or only a single line. */
        'aria-multiline'?: boolean | 'false' | 'true';
        /** Indicates that the user may select more than one item from the current selectable descendants. */
        'aria-multiselectable'?: boolean | 'false' | 'true';
        /** Indicates whether the element's orientation is horizontal, vertical, or unknown/ambiguous. */
        'aria-orientation'?: 'horizontal' | 'vertical';
        /**
         * Identifies an element (or elements) in order to define a visual, functional, or contextual parent/child relationship
         * between DOM elements where the DOM hierarchy cannot be used to represent the relationship.
         * @see aria-controls.
         */
        'aria-owns'?: string;
        /
Download .txt
gitextract_s_w00iag/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   │   └── feature_request.md
│   └── workflows/
│       └── eslint.yml
├── .gitignore
├── CHANGELOG.md
├── CLEAN_CODE.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── MVC_ARCHITECTURE.md
├── README.md
├── lerna.json
├── package.json
└── packages/
    ├── client/
    │   ├── .eslintrc.json
    │   ├── .gitignore
    │   ├── CHANGELOG.md
    │   ├── README.md
    │   ├── babel-plugin-macros.config.js
    │   ├── babel.config.json
    │   ├── config-overrides.js
    │   ├── package.json
    │   ├── postcss.config.js
    │   ├── public/
    │   │   ├── index.html
    │   │   ├── manifest.json
    │   │   └── robots.txt
    │   ├── src/
    │   │   ├── App.css
    │   │   ├── App.js
    │   │   ├── api/
    │   │   │   ├── applicationConfig.js
    │   │   │   ├── applicationConstant.js
    │   │   │   ├── applicationPolicy.js
    │   │   │   ├── config.js
    │   │   │   ├── constants.js
    │   │   │   ├── envVariable.js
    │   │   │   ├── index.js
    │   │   │   ├── master.js
    │   │   │   ├── models.js
    │   │   │   ├── policy.js
    │   │   │   ├── project.js
    │   │   │   ├── projectRoleAccess.js
    │   │   │   └── routes.js
    │   │   ├── assets/
    │   │   │   └── css/
    │   │   │       ├── Table.css
    │   │   │       ├── Table1.css
    │   │   │       ├── animation.css
    │   │   │       ├── components/
    │   │   │       │   ├── components.css
    │   │   │       │   └── style.css
    │   │   │       ├── drawer.css
    │   │   │       ├── dropdown.css
    │   │   │       ├── editor.css
    │   │   │       ├── logo.css
    │   │   │       ├── main.css
    │   │   │       ├── method.css
    │   │   │       ├── notification.css
    │   │   │       ├── popover.css
    │   │   │       ├── popoverCss.js
    │   │   │       ├── scroll.css
    │   │   │       ├── sidebar.css
    │   │   │       ├── tab.js
    │   │   │       ├── tableViewCss.js
    │   │   │       ├── tailwind.css
    │   │   │       └── tooltip.css
    │   │   ├── components/
    │   │   │   ├── APIKeyValue/
    │   │   │   │   └── index.js
    │   │   │   ├── BackButton/
    │   │   │   │   └── index.js
    │   │   │   ├── BoxLayout/
    │   │   │   │   ├── boxLayoutCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── Button/
    │   │   │   │   ├── buttonCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── CardView/
    │   │   │   │   ├── ThumbnailCard.js
    │   │   │   │   ├── card.css
    │   │   │   │   ├── cardCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── Checkbox/
    │   │   │   │   ├── Checkbox.js
    │   │   │   │   ├── checkbox.css
    │   │   │   │   └── index.js
    │   │   │   ├── CodeEditor/
    │   │   │   │   ├── index.js
    │   │   │   │   └── reactTypes.js
    │   │   │   ├── ConfirmAlert/
    │   │   │   │   └── index.js
    │   │   │   ├── ContainerBox/
    │   │   │   │   └── index.js
    │   │   │   ├── Count/
    │   │   │   │   └── index.js
    │   │   │   ├── DatePicker/
    │   │   │   │   ├── datepicker.css
    │   │   │   │   ├── datepickerCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── Description/
    │   │   │   │   ├── descriptionCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── DropdownMenu/
    │   │   │   │   ├── Css.js
    │   │   │   │   ├── DropdownMenu.js
    │   │   │   │   ├── Dropdown_bkp.js
    │   │   │   │   ├── MenuItem.js
    │   │   │   │   ├── dropdown.js
    │   │   │   │   └── index.js
    │   │   │   ├── Error/
    │   │   │   │   └── index.js
    │   │   │   ├── ErrorMsg/
    │   │   │   │   ├── errorCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── Heading/
    │   │   │   │   ├── headingCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── IconBox/
    │   │   │   │   ├── DeleteIcon.js
    │   │   │   │   ├── iconBoxCss.js
    │   │   │   │   └── index.js
    │   │   │   ├── InlineHeader/
    │   │   │   │   └── index.js
    │   │   │   ├── Input/
    │   │   │   │   ├── DecimalInput.js
    │   │   │   │   ├── NegativeInput.js
    │   │   │   │   ├── NumberInput.js
    │   │   │   │   ├── PercentageInput.js
    │   │   │   │   ├── StringInput.js
    │   │   │   │   ├── contryCode.css
    │   │   │   │   ├── index.js
    │   │   │   │   └── inputCss.js
    │   │   │   ├── Label/
    │   │   │   │   └── index.js
    │   │   │   ├── LinkTag/
    │   │   │   │   └── index.js
    │   │   │   ├── ListBox/
    │   │   │   │   ├── LIstTitle.js
    │   │   │   │   ├── ListBoxWrap.js
    │   │   │   │   └── listboxCss.js
    │   │   │   ├── Loader/
    │   │   │   │   └── index.js
    │   │   │   ├── MenuList/
    │   │   │   │   ├── index.js
    │   │   │   │   └── menuListCss.js
    │   │   │   ├── MessageNotify/
    │   │   │   │   ├── index.js
    │   │   │   │   └── informessageCss.js
    │   │   │   ├── NoData/
    │   │   │   │   ├── index.js
    │   │   │   │   └── notfoundproject.json
    │   │   │   ├── PopOver/
    │   │   │   │   └── index.js
    │   │   │   ├── Popup/
    │   │   │   │   └── index.js
    │   │   │   ├── Radio/
    │   │   │   │   ├── RadioGroup.js
    │   │   │   │   ├── radioCss.js
    │   │   │   │   └── radiogroup.css
    │   │   │   ├── ReactDrawer/
    │   │   │   │   ├── DrawerClose.js
    │   │   │   │   ├── DrawerFooter.js
    │   │   │   │   ├── DrawerHead.js
    │   │   │   │   ├── index.js
    │   │   │   │   └── reactDrawerCss.js
    │   │   │   ├── SearchBox/
    │   │   │   │   ├── RecentSearch.js
    │   │   │   │   ├── index.js
    │   │   │   │   └── searchBoxCss.js
    │   │   │   ├── Select/
    │   │   │   │   ├── index.js
    │   │   │   │   ├── selectCss.css
    │   │   │   │   └── selectCss.js
    │   │   │   ├── SelectTree/
    │   │   │   │   ├── index.js
    │   │   │   │   └── selectTreeCss.css
    │   │   │   ├── SidebarMenuList/
    │   │   │   │   ├── index.js
    │   │   │   │   └── sidebarMenuListCss.js
    │   │   │   ├── Spinner/
    │   │   │   │   ├── index.js
    │   │   │   │   └── spinner.css
    │   │   │   ├── StepFooter/
    │   │   │   │   └── index.js
    │   │   │   ├── Tag/
    │   │   │   │   ├── index.js
    │   │   │   │   └── tagCss.js
    │   │   │   ├── TextArea/
    │   │   │   │   ├── index.js
    │   │   │   │   └── textareaCss.js
    │   │   │   ├── ToggleBox/
    │   │   │   │   └── index.js
    │   │   │   ├── hooks/
    │   │   │   │   ├── index.js
    │   │   │   │   └── useBoolean.js
    │   │   │   ├── index.js
    │   │   │   └── utils.js
    │   │   ├── config/
    │   │   │   ├── LazyLoader.js
    │   │   │   ├── Loader.js
    │   │   │   ├── Root.js
    │   │   │   └── loaderdata.json
    │   │   ├── constant/
    │   │   │   ├── Nodecrud.js
    │   │   │   ├── Project/
    │   │   │   │   └── applicationStep.js
    │   │   │   ├── applicationConfigConstant.js
    │   │   │   ├── applicationConstant.js
    │   │   │   ├── buildProcessConstant.js
    │   │   │   ├── common.js
    │   │   │   ├── envVariable.js
    │   │   │   ├── fileTypeConstant.js
    │   │   │   ├── languageHeader.js
    │   │   │   ├── master.js
    │   │   │   ├── model.js
    │   │   │   ├── modelIndexing.js
    │   │   │   ├── permission.js
    │   │   │   ├── policy.js
    │   │   │   ├── reservedVariable.js
    │   │   │   ├── rolePermission.js
    │   │   │   ├── routes.js
    │   │   │   └── sidebar.js
    │   │   ├── container/
    │   │   │   ├── CRUD/
    │   │   │   │   ├── BuildCodeStructure/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── Configuration/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── Modal/
    │   │   │   │   │   ├── AddModalPopup/
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── DeleteModel.js
    │   │   │   │   │   ├── Editor/
    │   │   │   │   │   │   ├── EditorProvider/
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── EditorTabs.js
    │   │   │   │   │   │   ├── ModelHeader/
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── ModelProvider.js
    │   │   │   │   │   │   ├── TableView/
    │   │   │   │   │   │   │   ├── AddRelation/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   ├── Enum/
    │   │   │   │   │   │   │   │   ├── SelectEnumValue.js
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   ├── TableData/
    │   │   │   │   │   │   │   │   ├── DeleteRow.js
    │   │   │   │   │   │   │   │   ├── RowSuspense.js
    │   │   │   │   │   │   │   │   ├── Sortable.js
    │   │   │   │   │   │   │   │   ├── TableRow.js
    │   │   │   │   │   │   │   │   ├── TableSubRow.js
    │   │   │   │   │   │   │   │   ├── sqlTableRow.loader.js
    │   │   │   │   │   │   │   │   └── tableRow.loader.js
    │   │   │   │   │   │   │   ├── TableHead.js
    │   │   │   │   │   │   │   ├── components/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── HookSetup/
    │   │   │   │   │   │   ├── HookEditor.js
    │   │   │   │   │   │   ├── HookList.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── Indexing/
    │   │   │   │   │   │   ├── Draggable/
    │   │   │   │   │   │   │   ├── useDraggable.js
    │   │   │   │   │   │   │   └── useDroppable.js
    │   │   │   │   │   │   ├── ModelIndexProvider.js
    │   │   │   │   │   │   ├── Mongodb/
    │   │   │   │   │   │   │   ├── SubRow.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── SQLIndexing/
    │   │   │   │   │   │   │   ├── DeleteIndex.js
    │   │   │   │   │   │   │   ├── EditableCells.js
    │   │   │   │   │   │   │   ├── IndexProvider.js
    │   │   │   │   │   │   │   ├── Subrow/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   ├── TableCells/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── indexingCss.js
    │   │   │   │   │   │   └── makeData.js
    │   │   │   │   │   ├── LibraryPreview/
    │   │   │   │   │   │   ├── Attention/
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── HookSetup/
    │   │   │   │   │   │   │   ├── HookEditor/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   ├── HookList/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── Indexing/
    │   │   │   │   │   │   │   ├── SubRow/
    │   │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── LibraryProvider.js
    │   │   │   │   │   │   ├── PreviewTable/
    │   │   │   │   │   │   │   ├── EditableCell.js
    │   │   │   │   │   │   │   ├── SubRow.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── ModelList/
    │   │   │   │   │   │   ├── ModelLibrary/
    │   │   │   │   │   │   │   ├── Library.loader.js
    │   │   │   │   │   │   │   ├── LibraryModelData.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── Permission/
    │   │   │   │   │   ├── Header.js
    │   │   │   │   │   ├── Permission.loader.js
    │   │   │   │   │   ├── PermissionHelperFunctions.js
    │   │   │   │   │   ├── PermissionItem.js
    │   │   │   │   │   ├── PermissionSettingProvider.js
    │   │   │   │   │   ├── Permissions.js
    │   │   │   │   │   ├── Setting/
    │   │   │   │   │   │   ├── SettingDetail.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   └── index.js
    │   │   │   │   └── Routes/
    │   │   │   │       ├── AddRoutes/
    │   │   │   │       │   ├── AddRouteProvider.js
    │   │   │   │       │   ├── Advance/
    │   │   │   │       │   │   └── index.js
    │   │   │   │       │   ├── Basic/
    │   │   │   │       │   │   └── index.js
    │   │   │   │       │   ├── Configuration/
    │   │   │   │       │   │   └── index.js
    │   │   │   │       │   ├── ModelPermission/
    │   │   │   │       │   │   └── index.js
    │   │   │   │       │   ├── QueryBuilder/
    │   │   │   │       │   │   ├── AddResponse.js
    │   │   │   │       │   │   ├── NestedQueryBuilder.js
    │   │   │   │       │   │   ├── QueryBuilder.js
    │   │   │   │       │   │   ├── QueryBuilderDetail.js
    │   │   │   │       │   │   ├── QueryBuilderList.js
    │   │   │   │       │   │   ├── ResponseProvider.js
    │   │   │   │       │   │   ├── index.js
    │   │   │   │       │   │   └── queryBuilder.css
    │   │   │   │       │   └── index.js
    │   │   │   │       ├── AddToggleProvider.js
    │   │   │   │       ├── ModuleList/
    │   │   │   │       │   └── index.js
    │   │   │   │       ├── RouteProvider.js
    │   │   │   │       ├── RouteView/
    │   │   │   │       │   ├── Route.loader.js
    │   │   │   │       │   └── index.js
    │   │   │   │       └── index.js
    │   │   │   ├── Configuration/
    │   │   │   │   ├── CodeGenerateConfiguration/
    │   │   │   │   │   ├── CodeGenConfigHelperFunctions.js
    │   │   │   │   │   ├── CodeGenerateConfiguration.loader.js
    │   │   │   │   │   ├── DataFormatConfig/
    │   │   │   │   │   │   ├── AddDataFormat.js
    │   │   │   │   │   │   ├── DataFormat.loader.js
    │   │   │   │   │   │   ├── Head/
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── UploadAttachmentSetting.js
    │   │   │   │   │   └── index.js
    │   │   │   │   └── index.js
    │   │   │   ├── Constant/
    │   │   │   │   ├── AddConstant/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── ConstantView/
    │   │   │   │   │   ├── ConstantHead/
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   ├── TableView/
    │   │   │   │   │   │   ├── EditableCell.js
    │   │   │   │   │   │   ├── SubRow.js
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── DeleteConstant/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── LeftConstantList/
    │   │   │   │   │   └── index.js
    │   │   │   │   └── index.js
    │   │   │   ├── Dashboard/
    │   │   │   │   ├── MenuShortCut/
    │   │   │   │   │   └── index.js
    │   │   │   │   └── index.js
    │   │   │   ├── EnvironmentVariable/
    │   │   │   │   ├── EnvironmentHead/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── KeyValue.js
    │   │   │   │   ├── Permission.loader.js
    │   │   │   │   ├── enviromentVaribleCss.js
    │   │   │   │   ├── environmentValue.js
    │   │   │   │   └── index.js
    │   │   │   ├── Policy/
    │   │   │   │   ├── AddPolicy/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── DeletePolicy.js
    │   │   │   │   ├── LeftPolicyList.js
    │   │   │   │   ├── PolicyView/
    │   │   │   │   │   ├── Policy.loader.js
    │   │   │   │   │   ├── PolicyHead.js
    │   │   │   │   │   └── index.js
    │   │   │   │   └── index.js
    │   │   │   ├── RoleAccess/
    │   │   │   │   ├── AddRole/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── RoleAccessHead/
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── RoleAccessList/
    │   │   │   │   │   ├── DeleteRole.js
    │   │   │   │   │   ├── index.js
    │   │   │   │   │   └── roleAccessListCss.js
    │   │   │   │   ├── RoleAccessProvider.js
    │   │   │   │   ├── RoleList/
    │   │   │   │   │   └── index.js
    │   │   │   │   └── index.js
    │   │   │   ├── Shared/
    │   │   │   │   ├── BuildApp/
    │   │   │   │   │   └── BuildAppDropdown/
    │   │   │   │   │       ├── animation.json
    │   │   │   │   │       └── index.js
    │   │   │   │   ├── Layout/
    │   │   │   │   │   ├── LanguageHeader/
    │   │   │   │   │   │   ├── index.js
    │   │   │   │   │   │   └── languageHeaderCss.js
    │   │   │   │   │   ├── Sidebar/
    │   │   │   │   │   │   ├── MainSidebar/
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── SubSidebar/
    │   │   │   │   │   │   │   ├── SidebarlistCss.js
    │   │   │   │   │   │   │   └── index.js
    │   │   │   │   │   │   ├── index.js
    │   │   │   │   │   │   └── sidebarCss.js
    │   │   │   │   │   ├── StepHeader/
    │   │   │   │   │   │   └── index.js
    │   │   │   │   │   └── index.js
    │   │   │   │   ├── LayoutStepUrl/
    │   │   │   │   │   ├── SidebarLayout.js
    │   │   │   │   │   ├── index.js
    │   │   │   │   │   └── stepSidebarData.js
    │   │   │   │   └── TechnologySetStep/
    │   │   │   │       ├── Application.loader.js
    │   │   │   │       ├── SideBlock.loader.js
    │   │   │   │       ├── addNewTag.js
    │   │   │   │       ├── applicationForm.js
    │   │   │   │       └── index.js
    │   │   │   ├── common.js
    │   │   │   └── hooks/
    │   │   │       ├── index.js
    │   │   │       ├── useBoolean.js
    │   │   │       ├── useComponentDidMount.js
    │   │   │       ├── useComponentWillUnmount.js
    │   │   │       ├── useDrop.js
    │   │   │       ├── useQueryParams.js
    │   │   │       ├── useToastNotifications.js
    │   │   │       └── useWindowSize.js
    │   │   ├── index.css
    │   │   ├── index.js
    │   │   ├── redux/
    │   │   │   ├── reducers/
    │   │   │   │   ├── buildCode.js
    │   │   │   │   ├── constants.js
    │   │   │   │   ├── index.js
    │   │   │   │   ├── models.js
    │   │   │   │   ├── policy.js
    │   │   │   │   └── projects.js
    │   │   │   ├── store.js
    │   │   │   └── thunks/
    │   │   │       ├── buildCode.js
    │   │   │       ├── constants.js
    │   │   │       ├── models.js
    │   │   │       └── policy.js
    │   │   ├── reportWebVitals.js
    │   │   ├── setupTests.js
    │   │   ├── utils/
    │   │   │   ├── applicationPlatform.js
    │   │   │   ├── dataTypes.js
    │   │   │   ├── dateTimeFormatter.js
    │   │   │   ├── domMethods.js
    │   │   │   ├── localStorage.js
    │   │   │   ├── mergeRefs.js
    │   │   │   ├── regex.js
    │   │   │   └── validationMsgs.js
    │   │   └── utils.js
    │   ├── tailwind.config.js
    │   └── tailwind.js
    └── server/
        ├── .eslintrc.js
        ├── .gitignore
        ├── CHANGELOG.md
        ├── README.md
        ├── __test__/
        │   └── application.test.js
        ├── app.js
        ├── assets/
        │   └── master.js
        ├── config/
        │   ├── database/
        │   │   └── test
        │   └── db.js
        ├── constants/
        │   ├── common.js
        │   ├── dataTypes/
        │   │   ├── dataTypes.js
        │   │   ├── props.js
        │   │   └── sequelize/
        │   │       ├── index.js
        │   │       ├── mySqlDataTypes.js
        │   │       ├── postGreSqlDataTypes.js
        │   │       └── sqlDataTypes.js
        │   ├── envVariables.js
        │   ├── jsonInput.js
        │   ├── master.js
        │   ├── message.js
        │   ├── queryBuilder.js
        │   ├── schema.js
        │   └── validation.js
        ├── controllers/
        │   └── web/
        │       ├── application/
        │       │   ├── application.js
        │       │   └── index.js
        │       ├── applicationConfig/
        │       │   ├── applicationConfig.js
        │       │   └── index.js
        │       ├── envVariables/
        │       │   ├── envVariables.js
        │       │   └── index.js
        │       ├── jsonInput/
        │       │   ├── index.js
        │       │   └── jsonInput.js
        │       ├── master/
        │       │   ├── index.js
        │       │   └── master.js
        │       ├── project/
        │       │   ├── index.js
        │       │   └── project.js
        │       ├── projectConstant/
        │       │   ├── index.js
        │       │   └── projectConstant.js
        │       ├── projectPolicy/
        │       │   ├── index.js
        │       │   └── projectPolicy.js
        │       ├── projectRoleAccessPermissions/
        │       │   ├── index.js
        │       │   └── roleAccessPermissions.js
        │       ├── projectRoute/
        │       │   ├── index.js
        │       │   └── projectRoute.js
        │       ├── schema/
        │       │   ├── index.js
        │       │   └── schema.js
        │       └── schemaDetail/
        │           ├── index.js
        │           └── schemaDetail.js
        ├── middleware/
        │   └── responses/
        │       └── ok.js
        ├── models/
        │   ├── Models/
        │   │   ├── Queue.js
        │   │   └── tenant/
        │   │       ├── Application.js
        │   │       ├── ApplicationConfig.js
        │   │       ├── EnvVariables.js
        │   │       ├── Generator.js
        │   │       ├── Master.js
        │   │       ├── NestedQueryBuilder.js
        │   │       ├── Project.js
        │   │       ├── ProjectConstant.js
        │   │       ├── ProjectPolicy.js
        │   │       ├── ProjectRoleAccessPermissions.js
        │   │       ├── ProjectRoute.js
        │   │       ├── QueryBuilder.js
        │   │       ├── RawModel.js
        │   │       ├── Schema.js
        │   │       ├── SchemaDetail.js
        │   │       └── SchemaUploadVersion.js
        │   ├── Repo/
        │   │   ├── Connection.js
        │   │   └── index.js
        │   ├── constants/
        │   │   ├── action.js
        │   │   ├── activityLog.js
        │   │   ├── application.js
        │   │   ├── applicationConfig.js
        │   │   ├── common.js
        │   │   ├── jobQueue.js
        │   │   ├── master.js
        │   │   ├── message.js
        │   │   ├── method.js
        │   │   ├── permission.js
        │   │   ├── project.js
        │   │   ├── projectDefinition.js
        │   │   └── version.js
        │   ├── index.js
        │   ├── responses/
        │   │   ├── badRequest.js
        │   │   ├── error.js
        │   │   ├── forbidden.js
        │   │   ├── index.js
        │   │   ├── notFound.js
        │   │   ├── ok.js
        │   │   ├── serverError.js
        │   │   ├── setResponse.js
        │   │   └── unauthorized.js
        │   └── usecase/
        │       └── getSetting.js
        ├── package.json
        ├── repo/
        │   ├── application.js
        │   ├── applicationConfig.js
        │   ├── dataTypeSuggestions.js
        │   ├── db.js
        │   ├── envVariables.js
        │   ├── generate.js
        │   ├── master.js
        │   ├── nestedQueryBuilder.js
        │   ├── port.js
        │   ├── project.js
        │   ├── projectConstant.js
        │   ├── projectPolicy.js
        │   ├── projectRoleAccessPermissions.js
        │   ├── projectRoute.js
        │   ├── queryBuilder.js
        │   ├── schema.js
        │   └── schemaDetail.js
        ├── responses/
        │   └── index.js
        ├── routes/
        │   ├── index.js
        │   └── web/
        │       ├── application/
        │       │   ├── application.js
        │       │   └── index.js
        │       ├── applicationConfig/
        │       │   ├── applicationConfig.js
        │       │   └── index.js
        │       ├── envVariables/
        │       │   ├── envVariables.js
        │       │   └── index.js
        │       ├── index.js
        │       ├── jsonInput/
        │       │   ├── index.js
        │       │   └── jsonInput.js
        │       ├── master/
        │       │   ├── index.js
        │       │   └── master.js
        │       ├── project/
        │       │   ├── index.js
        │       │   └── project.js
        │       ├── projectConstant/
        │       │   ├── index.js
        │       │   └── projectConstant.js
        │       ├── projectPolicy/
        │       │   ├── index.js
        │       │   └── projectPolicy.js
        │       ├── projectRoleAccessPermissions/
        │       │   ├── index.js
        │       │   └── projectRoleAccessPermissions.js
        │       ├── projectRoute/
        │       │   ├── index.js
        │       │   └── projectRoute.js
        │       ├── schema/
        │       │   ├── index.js
        │       │   └── schema.js
        │       └── schemaDetail/
        │           ├── index.js
        │           └── schemaDetail.js
        ├── usecase/
        │   ├── application/
        │   │   ├── actionWiseCount.js
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── generate.js
        │   │   ├── get.js
        │   │   ├── getLastApplication.js
        │   │   ├── node-generator/
        │   │   │   ├── codeGenerator.js
        │   │   │   ├── config/
        │   │   │   │   ├── mongooseInput.json
        │   │   │   │   ├── possibleMissMatchType.js
        │   │   │   │   ├── sequelizeDataType.json
        │   │   │   │   ├── sequelizeSupportType.json
        │   │   │   │   └── sequelizeTypeInput.json
        │   │   │   ├── constants/
        │   │   │   │   └── constant.js
        │   │   │   ├── createApplication/
        │   │   │   │   ├── InputParser/
        │   │   │   │   │   ├── customRoutesApi.js
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── applyEslint.js
        │   │   │   │   ├── composeModels.js
        │   │   │   │   ├── createAuthentication/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createCommonRoutes/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createController/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createCustomRoutes/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createDataAccessFiles/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createDeleteDependencyService.js
        │   │   │   │   ├── createEntities.js
        │   │   │   │   ├── createFileUploadFiles/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createRoutes/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── createStaticFiles.js
        │   │   │   │   ├── createTestCases/
        │   │   │   │   │   ├── mongooseTestCases.js
        │   │   │   │   │   └── sequelizeTestCases.js
        │   │   │   │   ├── createUseCaseFiles/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── generateFakeData/
        │   │   │   │   │   ├── fakeDataType.js
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── generateFakeDataSequelize/
        │   │   │   │   │   ├── fakeDataType.js
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── getDeleteDependency.js
        │   │   │   │   ├── makeCustomPolicy.js
        │   │   │   │   ├── postman/
        │   │   │   │   │   ├── generate-postman-collection.js
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── render/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── requestValidation.js
        │   │   │   │   ├── schemaValidation.js
        │   │   │   │   ├── sequelize/
        │   │   │   │   │   ├── composeModels.js
        │   │   │   │   │   ├── modelValiadation.js
        │   │   │   │   │   ├── postman/
        │   │   │   │   │   │   ├── generate-postman-collection.js
        │   │   │   │   │   │   └── index.js
        │   │   │   │   │   ├── requestValidation.js
        │   │   │   │   │   ├── service.js
        │   │   │   │   │   └── typeConverter.js
        │   │   │   │   ├── service/
        │   │   │   │   │   └── index.js
        │   │   │   │   ├── thirdPartyIntegrations/
        │   │   │   │   │   └── index.js
        │   │   │   │   └── utils/
        │   │   │   │       └── common.js
        │   │   │   ├── generator.js
        │   │   │   ├── settings/
        │   │   │   │   └── index.js
        │   │   │   ├── social/
        │   │   │   │   ├── facebook/
        │   │   │   │   │   ├── app.js
        │   │   │   │   │   └── templates/
        │   │   │   │   │       └── js/
        │   │   │   │   │           ├── routes/
        │   │   │   │   │           │   ├── facebook-login-routes-cc.js.ejs
        │   │   │   │   │           │   └── facebook-login-routes.js.ejs
        │   │   │   │   │           ├── service-cc-sequelize.js.ejs
        │   │   │   │   │           ├── service-cc.js.ejs
        │   │   │   │   │           ├── service-sequelize.js.ejs
        │   │   │   │   │           └── service.js.ejs
        │   │   │   │   ├── github/
        │   │   │   │   │   ├── app.js
        │   │   │   │   │   └── templates/
        │   │   │   │   │       └── js/
        │   │   │   │   │           ├── routes/
        │   │   │   │   │           │   ├── github-login-routes-cc.js.ejs
        │   │   │   │   │           │   └── github-login-routes.js.ejs
        │   │   │   │   │           ├── service-cc-sequelize.js.ejs
        │   │   │   │   │           ├── service-cc.js.ejs
        │   │   │   │   │           ├── service-sequelize.js.ejs
        │   │   │   │   │           └── service.js.ejs
        │   │   │   │   ├── google/
        │   │   │   │   │   ├── app.js
        │   │   │   │   │   └── templates/
        │   │   │   │   │       └── js/
        │   │   │   │   │           ├── routes/
        │   │   │   │   │           │   ├── google-login-routes-cc.js.ejs
        │   │   │   │   │           │   └── google-login-routes.js.ejs
        │   │   │   │   │           ├── service-cc-sequelize.js.ejs
        │   │   │   │   │           ├── service-cc.js.ejs
        │   │   │   │   │           ├── service-sequelize.js.ejs
        │   │   │   │   │           └── service.js.ejs
        │   │   │   │   └── linkedin/
        │   │   │   │       ├── app.js
        │   │   │   │       └── templates/
        │   │   │   │           └── js/
        │   │   │   │               ├── routes/
        │   │   │   │               │   ├── linkedin-login-routes-cc.js.ejs
        │   │   │   │               │   └── linkedin-login-routes.js.ejs
        │   │   │   │               ├── service-cc-sequelize.js.ejs
        │   │   │   │               ├── service-cc.js.ejs
        │   │   │   │               ├── service-sequelize.js.ejs
        │   │   │   │               └── service.js.ejs
        │   │   │   ├── templates/
        │   │   │   │   ├── cleanCode/
        │   │   │   │   │   ├── .eslintrc.js
        │   │   │   │   │   ├── .gitignore
        │   │   │   │   │   ├── README.ejs
        │   │   │   │   │   ├── __test__/
        │   │   │   │   │   │   └── auth.test.js.ejs
        │   │   │   │   │   ├── app.js.ejs
        │   │   │   │   │   ├── config/
        │   │   │   │   │   │   ├── constant.js.ejs
        │   │   │   │   │   │   ├── db.js.ejs
        │   │   │   │   │   │   ├── passport.js.ejs
        │   │   │   │   │   │   └── requestConstant.js.ejs
        │   │   │   │   │   ├── controllers/
        │   │   │   │   │   │   ├── authController.js.ejs
        │   │   │   │   │   │   ├── authControllerIndex.js.ejs
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   ├── controllerIndex.js.ejs
        │   │   │   │   │   │   ├── fileUploadController.js.ejs
        │   │   │   │   │   │   └── fileUploadControllerIndex.js.ejs
        │   │   │   │   │   ├── customEnv.ejs
        │   │   │   │   │   ├── data-access/
        │   │   │   │   │   │   ├── dbFile.js.ejs
        │   │   │   │   │   │   ├── dbService.js
        │   │   │   │   │   │   └── sequenceDb.js.ejs
        │   │   │   │   │   ├── entity/
        │   │   │   │   │   │   └── entity.js.ejs
        │   │   │   │   │   ├── helpers/
        │   │   │   │   │   │   └── date.js
        │   │   │   │   │   ├── individualRoutes/
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   ├── controllerIndex.js.ejs
        │   │   │   │   │   │   ├── existIndexRoute.js.ejs
        │   │   │   │   │   │   ├── indexRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── route.js.ejs
        │   │   │   │   │   │   └── service.js.ejs
        │   │   │   │   │   ├── middleware/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── checkRolePermission.js.ejs
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   ├── loginUser.js.ejs
        │   │   │   │   │   │   ├── passport.js.ejs
        │   │   │   │   │   │   └── sampleMiddleware.js.ejs
        │   │   │   │   │   ├── models/
        │   │   │   │   │   │   └── model.js.ejs
        │   │   │   │   │   ├── routes/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── commonIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   ├── modelRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   └── uploadRoutes.js.ejs
        │   │   │   │   │   ├── seeders/
        │   │   │   │   │   │   └── index.js.ejs
        │   │   │   │   │   ├── services/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── customQueryService.js.ejs
        │   │   │   │   │   │   ├── emailService.js.ejs
        │   │   │   │   │   │   ├── fileUpload.js.ejs
        │   │   │   │   │   │   └── smsService.js.ejs
        │   │   │   │   │   ├── use-case/
        │   │   │   │   │   │   ├── authentication/
        │   │   │   │   │   │   │   ├── authentication.js.ejs
        │   │   │   │   │   │   │   ├── forgotPassword.js.ejs
        │   │   │   │   │   │   │   ├── logout.js.ejs
        │   │   │   │   │   │   │   ├── register.js.ejs
        │   │   │   │   │   │   │   ├── resetPassword.js.ejs
        │   │   │   │   │   │   │   └── validateResetPasswordOtp.js.ejs
        │   │   │   │   │   │   ├── bulkUpdate.js.ejs
        │   │   │   │   │   │   ├── changePassword.js.ejs
        │   │   │   │   │   │   ├── common/
        │   │   │   │   │   │   │   ├── getRoleAccess.js.ejs
        │   │   │   │   │   │   │   ├── loginUser.js.ejs
        │   │   │   │   │   │   │   └── sendResetPasswordNotification.js.ejs
        │   │   │   │   │   │   ├── count.js.ejs
        │   │   │   │   │   │   ├── create.js.ejs
        │   │   │   │   │   │   ├── createBulk.js.ejs
        │   │   │   │   │   │   ├── customRouteOfModel.js.ejs
        │   │   │   │   │   │   ├── delete.js.ejs
        │   │   │   │   │   │   ├── deleteMany.js.ejs
        │   │   │   │   │   │   ├── fileUpload.js.ejs
        │   │   │   │   │   │   ├── findAll.js.ejs
        │   │   │   │   │   │   ├── findById.js.ejs
        │   │   │   │   │   │   ├── partialUpdate.js.ejs
        │   │   │   │   │   │   ├── softDelete.js.ejs
        │   │   │   │   │   │   ├── softDeleteMany.js.ejs
        │   │   │   │   │   │   ├── update.js.ejs
        │   │   │   │   │   │   └── updateProfile.js.ejs
        │   │   │   │   │   ├── utils/
        │   │   │   │   │   │   ├── common.js.ejs
        │   │   │   │   │   │   ├── convertObjectToEnum.js
        │   │   │   │   │   │   ├── deleteDependentService1.js.ejs
        │   │   │   │   │   │   ├── generateRandomNumber.js
        │   │   │   │   │   │   ├── generateToken.js
        │   │   │   │   │   │   ├── getSelectObject.js
        │   │   │   │   │   │   ├── makeDirectory.js
        │   │   │   │   │   │   └── response/
        │   │   │   │   │   │       ├── index.js
        │   │   │   │   │   │       ├── responseCode.js
        │   │   │   │   │   │       ├── responseHandler.js
        │   │   │   │   │   │       └── responseStatus.js
        │   │   │   │   │   ├── validation/
        │   │   │   │   │   │   ├── index.js
        │   │   │   │   │   │   └── validateSchema.js.ejs
        │   │   │   │   │   └── views/
        │   │   │   │   │       ├── emailTemplate.ejs
        │   │   │   │   │       ├── index.ejs
        │   │   │   │   │       ├── resetPassword.ejs
        │   │   │   │   │       ├── resetPasswordLink.ejs
        │   │   │   │   │       └── sendOTP.ejs
        │   │   │   │   ├── cleanCodeSequelize/
        │   │   │   │   │   ├── .eslintrc.js
        │   │   │   │   │   ├── .gitignore
        │   │   │   │   │   ├── README.ejs
        │   │   │   │   │   ├── __test__/
        │   │   │   │   │   │   └── auth.test.js.ejs
        │   │   │   │   │   ├── app.js.ejs
        │   │   │   │   │   ├── config/
        │   │   │   │   │   │   ├── constant.js.ejs
        │   │   │   │   │   │   ├── db.js.ejs
        │   │   │   │   │   │   ├── dbConnection.js.ejs
        │   │   │   │   │   │   ├── passport.js.ejs
        │   │   │   │   │   │   └── requestConstant.js.ejs
        │   │   │   │   │   ├── controllers/
        │   │   │   │   │   │   ├── authController.js.ejs
        │   │   │   │   │   │   ├── authControllerIndex.js.ejs
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   ├── controllerIndex.js.ejs
        │   │   │   │   │   │   ├── fileUploadController.js.ejs
        │   │   │   │   │   │   └── fileUploadControllerIndex.js.ejs
        │   │   │   │   │   ├── customEnv.ejs
        │   │   │   │   │   ├── data-access/
        │   │   │   │   │   │   ├── dbFile.js.ejs
        │   │   │   │   │   │   └── dbService.js
        │   │   │   │   │   ├── entity/
        │   │   │   │   │   │   └── entity.js.ejs
        │   │   │   │   │   ├── helpers/
        │   │   │   │   │   │   └── date.js
        │   │   │   │   │   ├── individualRoutes/
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   ├── controllerIndex.js.ejs
        │   │   │   │   │   │   ├── existIndexRoute.js.ejs
        │   │   │   │   │   │   ├── indexRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── route.js.ejs
        │   │   │   │   │   │   └── service.js.ejs
        │   │   │   │   │   ├── middleware/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── checkRolePermission.js.ejs
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   ├── loginUser.js.ejs
        │   │   │   │   │   │   ├── passport.js.ejs
        │   │   │   │   │   │   └── sampleMiddleware.js.ejs
        │   │   │   │   │   ├── models/
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   └── model.js.ejs
        │   │   │   │   │   ├── routes/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── commonIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   ├── modelRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   └── uploadRoutes.js.ejs
        │   │   │   │   │   ├── seeders/
        │   │   │   │   │   │   └── index.js.ejs
        │   │   │   │   │   ├── services/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── customQueryService.js.ejs
        │   │   │   │   │   │   ├── dbService.js
        │   │   │   │   │   │   ├── emailService.js.ejs
        │   │   │   │   │   │   ├── fileUpload.js.ejs
        │   │   │   │   │   │   └── smsService.js.ejs
        │   │   │   │   │   ├── use-case/
        │   │   │   │   │   │   ├── authentication/
        │   │   │   │   │   │   │   ├── authentication.js.ejs
        │   │   │   │   │   │   │   ├── forgotPassword.js.ejs
        │   │   │   │   │   │   │   ├── logout.js.ejs
        │   │   │   │   │   │   │   ├── register.js.ejs
        │   │   │   │   │   │   │   ├── resetPassword.js.ejs
        │   │   │   │   │   │   │   └── validateResetPasswordOtp.js.ejs
        │   │   │   │   │   │   ├── bulkUpdate.js.ejs
        │   │   │   │   │   │   ├── changePassword.js.ejs
        │   │   │   │   │   │   ├── common/
        │   │   │   │   │   │   │   ├── getRoleAccess.js.ejs
        │   │   │   │   │   │   │   ├── loginUser.js.ejs
        │   │   │   │   │   │   │   └── sendResetPasswordNotification.js.ejs
        │   │   │   │   │   │   ├── count.js.ejs
        │   │   │   │   │   │   ├── create.js.ejs
        │   │   │   │   │   │   ├── createBulk.js.ejs
        │   │   │   │   │   │   ├── customRouteOfModel.js.ejs
        │   │   │   │   │   │   ├── delete.js.ejs
        │   │   │   │   │   │   ├── deleteMany.js.ejs
        │   │   │   │   │   │   ├── fileUpload.js.ejs
        │   │   │   │   │   │   ├── findAll.js.ejs
        │   │   │   │   │   │   ├── findById.js.ejs
        │   │   │   │   │   │   ├── partialUpdate.js.ejs
        │   │   │   │   │   │   ├── softDelete.js.ejs
        │   │   │   │   │   │   ├── softDeleteMany.js.ejs
        │   │   │   │   │   │   ├── update.js.ejs
        │   │   │   │   │   │   └── updateProfile.js.ejs
        │   │   │   │   │   ├── utils/
        │   │   │   │   │   │   ├── common.js.ejs
        │   │   │   │   │   │   ├── convertObjectToEnum.js
        │   │   │   │   │   │   ├── deleteDependentService1.js.ejs
        │   │   │   │   │   │   ├── generateRandomNumber.js
        │   │   │   │   │   │   ├── generateToken.js
        │   │   │   │   │   │   ├── getSelectObject.js
        │   │   │   │   │   │   ├── makeDirectory.js
        │   │   │   │   │   │   ├── messages.js
        │   │   │   │   │   │   ├── replaceAll.js
        │   │   │   │   │   │   ├── response/
        │   │   │   │   │   │   │   ├── index.js
        │   │   │   │   │   │   │   ├── responseCode.js
        │   │   │   │   │   │   │   ├── responseHandler.js
        │   │   │   │   │   │   │   └── responseStatus.js
        │   │   │   │   │   │   ├── responseCode.js
        │   │   │   │   │   │   └── validateRequest.js
        │   │   │   │   │   ├── validation/
        │   │   │   │   │   │   ├── genericValidator.js
        │   │   │   │   │   │   ├── index.js
        │   │   │   │   │   │   └── validateSchema.js.ejs
        │   │   │   │   │   └── views/
        │   │   │   │   │       ├── emailTemplate.ejs
        │   │   │   │   │       ├── index.ejs
        │   │   │   │   │       ├── resetPassword.ejs
        │   │   │   │   │       ├── resetPasswordLink.ejs
        │   │   │   │   │       └── sendOTP.ejs
        │   │   │   │   ├── logs/
        │   │   │   │   │   └── error.log.ejs
        │   │   │   │   ├── mvc/
        │   │   │   │   │   ├── .eslintrc.js
        │   │   │   │   │   ├── .gitignore
        │   │   │   │   │   ├── README.ejs
        │   │   │   │   │   ├── __test__/
        │   │   │   │   │   │   └── auth.test.js.ejs
        │   │   │   │   │   ├── app.js.ejs
        │   │   │   │   │   ├── config/
        │   │   │   │   │   │   ├── constant.js.ejs
        │   │   │   │   │   │   ├── db.js.ejs
        │   │   │   │   │   │   ├── passport.js.ejs
        │   │   │   │   │   │   └── requestConstant.js.ejs
        │   │   │   │   │   ├── controllers/
        │   │   │   │   │   │   ├── authController.js.ejs
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   └── fileUploadController.js.ejs
        │   │   │   │   │   ├── customEnv.ejs
        │   │   │   │   │   ├── individualRoutes/
        │   │   │   │   │   │   ├── controller.js.ejs
        │   │   │   │   │   │   ├── existIndexRoute.js.ejs
        │   │   │   │   │   │   ├── indexRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── route.js.ejs
        │   │   │   │   │   │   └── service.js.ejs
        │   │   │   │   │   ├── middleware/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── checkRolePermission.js.ejs
        │   │   │   │   │   │   ├── loginUser.js.ejs
        │   │   │   │   │   │   └── sampleMiddleware.js.ejs
        │   │   │   │   │   ├── models/
        │   │   │   │   │   │   └── model.js.ejs
        │   │   │   │   │   ├── routes/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── commonIndexRoutes.js.ejs
        │   │   │   │   │   │   ├── index.js.ejs
        │   │   │   │   │   │   ├── modelRoutes.js.ejs
        │   │   │   │   │   │   ├── platformIndexRoutes.js.ejs
        │   │   │   │   │   │   └── uploadRoutes.js.ejs
        │   │   │   │   │   ├── seeders/
        │   │   │   │   │   │   └── index.js.ejs
        │   │   │   │   │   ├── services/
        │   │   │   │   │   │   ├── auth.js.ejs
        │   │   │   │   │   │   ├── customQueryService.js.ejs
        │   │   │   │   │   │   ├── emailService.js.ejs
        │   │   │   │   │   │   └── smsService.js.ejs
        │   │   │   │   │   ├── utils/
        │   │   │   │   │   │   ├── common.js.ejs
        │   │   │   │   │   │   ├── dbService.js
        │   │   │   │   │   │   ├── deleteDependentService1.js.ejs
        │   │   │   │   │   │   ├── response/
        │   │   │   │   │   │   │   ├── index.js
        │   │   │   │   │   │   │   ├── responseCode.js
        │   │   │   │   │   │   │   ├── responseHandler.js
        │   │   │   │   │   │   │   └── responseStatus.js
        │   │   │   │   │   │   ├── validateRequest.js
        │   │   │   │   │   │   └── validation/
        │   │   │   │   │   │       └── validateSchema.js.ejs
        │   │   │   │   │   └── views/
        │   │   │   │   │       ├── emailTemplate.ejs
        │   │   │   │   │       ├── index.ejs
        │   │   │   │   │       ├── resetPassword.ejs
        │   │   │   │   │       ├── resetPasswordLink.ejs
        │   │   │   │   │       └── sendOTP.ejs
        │   │   │   │   └── mvcSequelize/
        │   │   │   │       ├── .eslintrc.js
        │   │   │   │       ├── .gitignore
        │   │   │   │       ├── README.ejs
        │   │   │   │       ├── __test__/
        │   │   │   │       │   └── auth.test.js.ejs
        │   │   │   │       ├── app.js.ejs
        │   │   │   │       ├── config/
        │   │   │   │       │   ├── constant.js.ejs
        │   │   │   │       │   ├── db.js.ejs
        │   │   │   │       │   ├── dbConnection.js.ejs
        │   │   │   │       │   ├── passport.js.ejs
        │   │   │   │       │   └── requestConstant.js.ejs
        │   │   │   │       ├── controllers/
        │   │   │   │       │   ├── authController.js.ejs
        │   │   │   │       │   ├── controller.js.ejs
        │   │   │   │       │   └── fileUploadController.js.ejs
        │   │   │   │       ├── customEnv.ejs
        │   │   │   │       ├── individualRoutes/
        │   │   │   │       │   ├── controller.js.ejs
        │   │   │   │       │   ├── existIndexRoute.js.ejs
        │   │   │   │       │   ├── indexRoutes.js.ejs
        │   │   │   │       │   ├── platformIndexRoutes.js.ejs
        │   │   │   │       │   ├── route.js.ejs
        │   │   │   │       │   └── service.js.ejs
        │   │   │   │       ├── middleware/
        │   │   │   │       │   ├── auth.js.ejs
        │   │   │   │       │   ├── checkRolePermission.js.ejs
        │   │   │   │       │   ├── loginUser.js.ejs
        │   │   │   │       │   └── sampleMiddleware.js.ejs
        │   │   │   │       ├── models/
        │   │   │   │       │   ├── index.js.ejs
        │   │   │   │       │   └── model.js.ejs
        │   │   │   │       ├── routes/
        │   │   │   │       │   ├── auth.js.ejs
        │   │   │   │       │   ├── commonIndexRoutes.js.ejs
        │   │   │   │       │   ├── index.js.ejs
        │   │   │   │       │   ├── modelRoutes.js.ejs
        │   │   │   │       │   ├── platformIndexRoutes.js.ejs
        │   │   │   │       │   └── uploadRoutes.js.ejs
        │   │   │   │       ├── seeders/
        │   │   │   │       │   └── index.js.ejs
        │   │   │   │       ├── services/
        │   │   │   │       │   ├── auth.js.ejs
        │   │   │   │       │   ├── customQueryService.js.ejs
        │   │   │   │       │   ├── emailService.js.ejs
        │   │   │   │       │   └── smsService.js.ejs
        │   │   │   │       ├── utils/
        │   │   │   │       │   ├── common.js.ejs
        │   │   │   │       │   ├── dbService.js
        │   │   │   │       │   ├── deleteDependentService1.js.ejs
        │   │   │   │       │   ├── response/
        │   │   │   │       │   │   ├── index.js
        │   │   │   │       │   │   ├── responseCode.js
        │   │   │   │       │   │   ├── responseHandler.js
        │   │   │   │       │   │   └── responseStatus.js
        │   │   │   │       │   ├── validateRequest.js
        │   │   │   │       │   └── validation/
        │   │   │   │       │       └── validateSchema.js.ejs
        │   │   │   │       └── views/
        │   │   │   │           ├── emailTemplate.ejs
        │   │   │   │           ├── index.ejs
        │   │   │   │           ├── resetPassword.ejs
        │   │   │   │           ├── resetPasswordLink.ejs
        │   │   │   │           └── sendOTP.ejs
        │   │   │   └── writeOperations/
        │   │   │       └── index.js
        │   │   ├── openCode.js
        │   │   ├── paginate.js
        │   │   ├── structure.js
        │   │   ├── update.js
        │   │   ├── upsert.js
        │   │   └── view.js
        │   ├── applicationConfig/
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── get.js
        │   │   ├── paginate.js
        │   │   └── update.js
        │   ├── common/
        │   │   └── projectApplicationUpdate.js
        │   ├── envVariables/
        │   │   ├── get.js
        │   │   └── upsert.js
        │   ├── generator/
        │   │   └── deleteDependency.js
        │   ├── jsonInput/
        │   │   ├── jsonInput.js
        │   │   └── util/
        │   │       ├── index.js
        │   │       ├── projectConstant/
        │   │       │   └── projectConstant.js
        │   │       ├── projectPolicy/
        │   │       │   └── projectPolicy.js
        │   │       ├── projectRoleAccessPermission/
        │   │       │   └── projectRoleAccessPermission.js
        │   │       ├── projectRoutes/
        │   │       │   └── projectRoutes.js
        │   │       └── schema/
        │   │           └── schema.js
        │   ├── master/
        │   │   ├── create.js
        │   │   ├── getByCode.js
        │   │   └── paginate.js
        │   ├── nestedQueryBuilder/
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   └── insertMany.js
        │   ├── project/
        │   │   ├── archive.js
        │   │   ├── archivedProjects.js
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── explorePublicPaginate.js
        │   │   ├── get.js
        │   │   ├── noOfProjectAndApplication.js
        │   │   ├── paginate.js
        │   │   ├── unArchive.js
        │   │   ├── update.js
        │   │   └── upsert.js
        │   ├── projectConstant/
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── paginate.js
        │   │   └── update.js
        │   ├── projectPolicy/
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── paginate.js
        │   │   ├── update.js
        │   │   └── util/
        │   │       └── dependentCond.js
        │   ├── projectRoleAccessPermissions/
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── paginate.js
        │   │   ├── upsert.js
        │   │   └── util/
        │   │       ├── RemoveModelDetails.js
        │   │       └── index.js
        │   ├── projectRoute/
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── insertMany.js
        │   │   ├── paginate.js
        │   │   ├── requestApi.js
        │   │   ├── update.js
        │   │   └── uploadPostmanFile.js
        │   ├── queryBuilder/
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   └── insertMany.js
        │   ├── schema/
        │   │   ├── InsertDefaultModels/
        │   │   │   └── insertDefaultModels.js
        │   │   ├── create.js
        │   │   ├── dataTypeSuggestions.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── existsSchemaUpdate.js
        │   │   ├── get.js
        │   │   ├── insertMany.js
        │   │   ├── paginate.js
        │   │   ├── searchSchema.js
        │   │   ├── sequelize/
        │   │   │   └── existsSchemaUpdate.js
        │   │   ├── update.js
        │   │   └── util/
        │   │       ├── deleteSchemaRefInfo.js
        │   │       ├── deleteSchemaReferences.js
        │   │       ├── index.js
        │   │       ├── isRegExp.js
        │   │       ├── sequelize/
        │   │       │   └── validateDataTypes.js
        │   │       ├── staticData.js
        │   │       ├── updateSchemaRefAttribute.js
        │   │       ├── updateSchemaReferences.js
        │   │       ├── validateProps.js
        │   │       └── validateRegEx.js
        │   ├── schemaDetail/
        │   │   ├── create.js
        │   │   ├── delete.js
        │   │   ├── deleteDependency.js
        │   │   ├── paginate.js
        │   │   ├── update.js
        │   │   └── upsert.js
        │   └── util/
        │       ├── fieldsList.js
        │       ├── getApplicationData.js
        │       ├── getBaseUrl.js
        │       ├── getPermissionWiseRoute.js
        │       ├── getRoutes.js
        │       ├── randomNumber.js
        │       ├── validation/
        │       │   ├── accessPermission.js
        │       │   ├── actionValidation.js
        │       │   ├── apiIntegration.js
        │       │   ├── applicationConfig.js
        │       │   ├── applicationCreate.js
        │       │   ├── applicationId.js
        │       │   ├── applicationUpdate.js
        │       │   ├── applicationUpsert.js
        │       │   ├── defaultInsertModels.js
        │       │   ├── group.js
        │       │   ├── masterValidation.js
        │       │   ├── projectConstant.js
        │       │   ├── projectCreate.js
        │       │   ├── projectPolicy.js
        │       │   ├── projectRoleAccessPermission.js
        │       │   ├── projectRoute.js
        │       │   ├── projectUpdate.js
        │       │   ├── projectUpsert.js
        │       │   ├── schema.js
        │       │   ├── schemaDetail.js
        │       │   └── sqlImport.js
        │       └── validation.js
        └── util-service/
            ├── common/
            │   ├── common.js
            │   └── index.js
            ├── crypto/
            │   ├── crypto.js
            │   └── index.js
            └── validation/
                └── index.js
Download .txt
SYMBOL INDEX (503 symbols across 174 files)

FILE: packages/client/src/App.js
  function MainApp (line 15) | function MainApp() {
  function App (line 32) | function App() {

FILE: packages/client/src/api/config.js
  function apiClient (line 12) | function apiClient(url, data = {}, method = 'POST', header = {}, rest, o...

FILE: packages/client/src/api/constants.js
  constant API_URLS (line 5) | const API_URLS = {

FILE: packages/client/src/components/CodeEditor/index.js
  function handleEditorDidMount (line 48) | async function handleEditorDidMount(monacoEditor, monaco) {

FILE: packages/client/src/components/DatePicker/index.js
  function handleClickDatepickerIcon (line 17) | function handleClickDatepickerIcon() {

FILE: packages/client/src/components/DropdownMenu/Dropdown_bkp.js
  class DropdownMenu (line 7) | class DropdownMenu extends React.Component {
    method constructor (line 8) | constructor(props) {
    method UNSAFE_componentWillMount (line 19) | UNSAFE_componentWillMount(nextProps) {
    method getTrigger (line 46) | getTrigger() {
    method getMenuStyle (line 134) | getMenuStyle() {
    method getChildren (line 165) | getChildren() {
    method getCss (line 172) | getCss() {
    method dropdownTitle (line 185) | dropdownTitle() {
    method fadeIn (line 193) | fadeIn(element) {
    method toggleArrow (line 211) | toggleArrow() {
    method toggleMenu (line 223) | toggleMenu(e) {
    method render (line 234) | render() {

FILE: packages/client/src/components/Input/DecimalInput.js
  constant MAX_VALUE (line 13) | const MAX_VALUE = {
  function setNumValue (line 55) | function setNumValue() {

FILE: packages/client/src/components/Input/NumberInput.js
  function setNumValue (line 52) | function setNumValue() {

FILE: packages/client/src/components/ReactDrawer/index.js
  class ReactDrawer (line 16) | class ReactDrawer extends React.Component {
    method constructor (line 17) | constructor(props) {
    method UNSAFE_componentWillMount (line 24) | UNSAFE_componentWillMount() {
    method componentDidMount (line 32) | componentDidMount() {
    method UNSAFE_componentWillReceiveProps (line 36) | UNSAFE_componentWillReceiveProps(nextProps) {
    method componentWillUnmount (line 42) | componentWillUnmount() {
    method onAnimationEnded (line 46) | onAnimationEnded() {
    method getOverlayClassName (line 55) | getOverlayClassName(drawerCss) {
    method getDrawerClassName (line 68) | getDrawerClassName(drawerCss) {
    method openDrawer (line 85) | openDrawer() {
    method closeDrawer (line 93) | closeDrawer() {
    method render (line 102) | render() {

FILE: packages/client/src/components/Spinner/index.js
  function Spinner (line 4) | function Spinner({ className }) {

FILE: packages/client/src/components/utils.js
  function classNames (line 4) | function classNames(...rest) {
  function useCombinedRefs (line 40) | function useCombinedRefs(...refs) {

FILE: packages/client/src/config/LazyLoader.js
  function LazyLoader (line 7) | function LazyLoader(opts) {

FILE: packages/client/src/config/Loader.js
  function Loader (line 3) | function Loader() {

FILE: packages/client/src/constant/Nodecrud.js
  constant LAYOUT_STEP_MODULE_NAME (line 38) | const LAYOUT_STEP_MODULE_NAME = {

FILE: packages/client/src/constant/Project/applicationStep.js
  constant USER_TYPE (line 1) | const USER_TYPE = {
  constant PLATFORM_TYPE (line 5) | const PLATFORM_TYPE = {
  constant PLATFORM_VALUE (line 11) | const PLATFORM_VALUE = {
  constant PLATFORM_FILTER (line 17) | const PLATFORM_FILTER = [
  constant USER_TYPE_FILTER (line 24) | const USER_TYPE_FILTER = [
  constant AUTH_MODEL (line 29) | const AUTH_MODEL = {
  constant AUTH_MODEL_FILTER (line 32) | const AUTH_MODEL_FILTER = [
  constant ORM_TYPE (line 36) | const ORM_TYPE = {
  constant DATABASE_TYPE (line 41) | const DATABASE_TYPE = {
  constant DATABASE_SELECTION (line 48) | const DATABASE_SELECTION = [
  constant DATABASE_SEQUALIZE_SELECTION (line 53) | const DATABASE_SEQUALIZE_SELECTION = [
  constant APP_NAME_PATTERN (line 64) | const APP_NAME_PATTERN = {
  constant APP_NAME_VALIDATION_MESSAGE (line 69) | const APP_NAME_VALIDATION_MESSAGE = {
  constant APPLICATION_CODE (line 82) | const APPLICATION_CODE = {
  constant APPLICATION_STEP (line 86) | const APPLICATION_STEP = [
  constant APPLICATION_DASHBOARD (line 189) | const APPLICATION_DASHBOARD = {
  constant APPLICATION_PAGE_HEADING (line 193) | const APPLICATION_PAGE_HEADING = {

FILE: packages/client/src/constant/applicationConfigConstant.js
  constant UPLOAD_ATTACHMENT_OPTIONS (line 3) | const UPLOAD_ATTACHMENT_OPTIONS = [
  constant APPLICATION_CONFIG_TABS (line 10) | const APPLICATION_CONFIG_TABS = {
  constant DISABLED_QUERY_PARAMETER_KEYS (line 14) | const DISABLED_QUERY_PARAMETER_KEYS = ['_id', 'id', 'createdAt', 'update...
  constant QUERY_PARAMETER_SUPPORTED_TYPES (line 16) | const QUERY_PARAMETER_SUPPORTED_TYPES = {
  constant ATTRIBUTE_FORMAT_DATA_TYPE (line 22) | const ATTRIBUTE_FORMAT_DATA_TYPE = {
  constant MODEL_TYPE (line 28) | const MODEL_TYPE = {
  constant DATE_OPTIONS (line 33) | const DATE_OPTIONS = ['h:mm A', 'h:mm:ss A', 'MM/DD/YYYY', 'MMMM D, YYYY...
  constant STR_OPERATORS (line 35) | const STR_OPERATORS = ['space', ',', '|'];

FILE: packages/client/src/constant/applicationConstant.js
  constant CONSTANT_GENERATE_TYPE (line 1) | const CONSTANT_GENERATE_TYPE = {
  constant NODE_DATA_TYPE (line 5) | const NODE_DATA_TYPE = {
  constant NODE_DATA_TYPE_OPTION (line 11) | const NODE_DATA_TYPE_OPTION = [

FILE: packages/client/src/constant/buildProcessConstant.js
  constant CODE_ARCHITECTURE (line 1) | const CODE_ARCHITECTURE = {
  constant PROCESS_STEP_TYPE (line 6) | const PROCESS_STEP_TYPE = {
  constant BUILD_PROCESS_STATUS (line 11) | const BUILD_PROCESS_STATUS = {
  constant BUILD_ARCHITECTURE_CODE (line 19) | const BUILD_ARCHITECTURE_CODE = {

FILE: packages/client/src/constant/common.js
  constant PLATFORMS (line 1) | const PLATFORMS = [
  constant MAX_INPUT_FIELD_LIMIT (line 8) | const MAX_INPUT_FIELD_LIMIT = {

FILE: packages/client/src/constant/envVariable.js
  constant ENV (line 1) | const ENV = {

FILE: packages/client/src/constant/fileTypeConstant.js
  constant FILE_TYPE_EXTENSIONS (line 1) | const FILE_TYPE_EXTENSIONS = [
  constant EXTENSION_TYPE (line 21) | const EXTENSION_TYPE = {

FILE: packages/client/src/constant/master.js
  constant MASTER_PARENT_CODE (line 3) | const MASTER_PARENT_CODE = {
  constant COMPONENT_TYPE (line 9) | const COMPONENT_TYPE = {

FILE: packages/client/src/constant/model.js
  constant DB_TYPE (line 5) | const DB_TYPE = {
  constant DB_CONST (line 12) | const DB_CONST = {
  constant TABS (line 19) | const TABS = {
  constant SCHEMA_TAB (line 25) | const SCHEMA_TAB = {
  constant HOOK_TAB_TITLE (line 29) | const HOOK_TAB_TITLE = {
  constant MODEL_ERROR_TABS (line 33) | const MODEL_ERROR_TABS = {
  constant TYPES (line 38) | const TYPES = {
  constant ALL_TABLE_TYPES (line 47) | const ALL_TABLE_TYPES = {
  constant TABLE_TYPES_NAME (line 135) | const TABLE_TYPES_NAME = {
  constant DEFAULT_OPTIONS (line 186) | const DEFAULT_OPTIONS = [
  constant KEYS (line 192) | const KEYS = {
  constant ERROR_MSG (line 336) | const ERROR_MSG = {
  constant MONGOOSE_TYPES (line 368) | const MONGOOSE_TYPES = {
  constant SQL_TYPE_KEYS (line 382) | const SQL_TYPE_KEYS = {
  constant ALL_TYPE_KEYS (line 411) | const ALL_TYPE_KEYS = {
  constant RELATION_TYPE (line 436) | const RELATION_TYPE = {
  constant SEQUELIZE_RELATION_TYPE (line 441) | const SEQUELIZE_RELATION_TYPE = [{ id: 1, name: 'hasOne' }, { id: 2, nam...
  constant HOOKS (line 444) | const HOOKS = {
  function getData (line 471) | function getData(arr, type) {
  constant DEFAULT_VALUES (line 484) | const DEFAULT_VALUES = {
  constant MONGO_TOTAL_FIELDS (line 510) | const MONGO_TOTAL_FIELDS = 14;
  constant SQL_TOTAL_FIELDS (line 511) | const SQL_TOTAL_FIELDS = 15;
  constant SQL_FIELD_SEQ (line 512) | const SQL_FIELD_SEQ = {
  constant ALL_FIELD_SEQ (line 532) | const ALL_FIELD_SEQ = {
  constant SUB_TOTAL_FIELDS (line 587) | const SUB_TOTAL_FIELDS = 14;
  constant SUB_FIELD_SEQ (line 589) | const SUB_FIELD_SEQ = {
  constant DEFAULT_TYPE_LENGTH (line 629) | const DEFAULT_TYPE_LENGTH = {
  constant EXCLUDE_PARSE_KEYS (line 650) | const EXCLUDE_PARSE_KEYS = ['type'];
  constant SQL_MODEL_NAME_LENGTH (line 724) | const SQL_MODEL_NAME_LENGTH = 64;
  constant MODEL_NAME_LENGTH (line 725) | const MODEL_NAME_LENGTH = 127;
  constant MONGODB_INDEX_NAME_LENGTH (line 726) | const MONGODB_INDEX_NAME_LENGTH = 127;

FILE: packages/client/src/constant/modelIndexing.js
  constant SQL_INDEX (line 5) | const SQL_INDEX = {
  constant MONGO_INDEX (line 65) | const MONGO_INDEX = {
  constant SQL_TYPE_OPTIONS (line 94) | const SQL_TYPE_OPTIONS = [
  constant MONGO_TYPE_OPTIONS (line 101) | const MONGO_TYPE_OPTIONS = [

FILE: packages/client/src/constant/permission.js
  constant DEVICE_TYPE (line 1) | const DEVICE_TYPE = {
  constant DEVICE_TYPE_NAME (line 8) | const DEVICE_TYPE_NAME = {
  constant CRUD (line 15) | const CRUD = {
  constant LINKED_CRUD_OPERATION (line 31) | const LINKED_CRUD_OPERATION = {
  constant CRUD_OPERATIONS (line 38) | const CRUD_OPERATIONS = {

FILE: packages/client/src/constant/policy.js
  constant POLICY_GENERATE_TYPE (line 1) | const POLICY_GENERATE_TYPE = {

FILE: packages/client/src/constant/reservedVariable.js
  constant RESERVED_VALIDATION_MESSAGE (line 3) | const RESERVED_VALIDATION_MESSAGE = 'Oops! You cannot add reserved keywo...
  constant RESERVED_VARIABLES (line 4) | const RESERVED_VARIABLES = {

FILE: packages/client/src/constant/rolePermission.js
  constant MODULE_NO (line 1) | const MODULE_NO = {
  constant MODULE_URL (line 11) | const MODULE_URL = {

FILE: packages/client/src/constant/routes.js
  constant ROUTE_TYPES (line 1) | const ROUTE_TYPES = [
  constant ROUTE_GENERATE_TYPE (line 13) | const ROUTE_GENERATE_TYPE = {
  constant ROUTE_HEADERS (line 18) | const ROUTE_HEADERS = [
  constant ROUTE_VALIDATION_MESSAGE (line 24) | const ROUTE_VALIDATION_MESSAGE = {
  constant OPERATION_TYPE (line 29) | const OPERATION_TYPE = {

FILE: packages/client/src/container/CRUD/Modal/Editor/EditorProvider/index.js
  function prepareTableObj (line 107) | function prepareTableObj(x, parent, opt, customModelList = []) {
  function prepareCodeObj (line 358) | function prepareCodeObj(params, customModelList = []) {
  function useEditor (line 584) | function useEditor() {

FILE: packages/client/src/container/CRUD/Modal/Editor/ModelProvider.js
  function useModel (line 45) | function useModel() {

FILE: packages/client/src/container/CRUD/Modal/Editor/TableView/index.js
  constant LOADING (line 22) | const LOADING = 1;
  constant LOADED (line 23) | const LOADED = 2;

FILE: packages/client/src/container/CRUD/Modal/Editor/index.js
  function enumValidation (line 195) | function enumValidation(eObj) {

FILE: packages/client/src/container/CRUD/Modal/Indexing/Draggable/useDraggable.js
  constant DND_ITEM_TYPE (line 4) | const DND_ITEM_TYPE = 'row';

FILE: packages/client/src/container/CRUD/Modal/Indexing/Draggable/useDroppable.js
  constant DND_ITEM_TYPE (line 4) | const DND_ITEM_TYPE = 'row';
  method hover (line 10) | hover(item, monitor) {

FILE: packages/client/src/container/CRUD/Modal/Indexing/ModelIndexProvider.js
  constant MODEL_INDEX_ACTION_TYPES (line 8) | const MODEL_INDEX_ACTION_TYPES = {
  function modelIndexReducer (line 17) | function modelIndexReducer(state, { type, payload = {} }) {
  function useModelIndex (line 87) | function useModelIndex() {

FILE: packages/client/src/container/CRUD/Modal/Indexing/Mongodb/SubRow.js
  function SubRows (line 133) | function SubRows({

FILE: packages/client/src/container/CRUD/Modal/Indexing/SQLIndexing/IndexProvider.js
  constant MODEL_INDEX_ACTION_TYPES (line 14) | const MODEL_INDEX_ACTION_TYPES = {
  function modelIndexReducer (line 25) | function modelIndexReducer(state, { type, payload = {} }) {
  constant DEFAULT (line 95) | const DEFAULT = {
  function useIndex (line 664) | function useIndex() {

FILE: packages/client/src/container/CRUD/Modal/Indexing/SQLIndexing/Subrow/index.js
  function SubRows (line 123) | function SubRows({

FILE: packages/client/src/container/CRUD/Modal/Indexing/makeData.js
  function makeData (line 31) | function makeData(...lens) {

FILE: packages/client/src/container/CRUD/Modal/LibraryPreview/Indexing/SubRow/index.js
  function Table (line 11) | function Table({ columns, data }) {

FILE: packages/client/src/container/CRUD/Modal/LibraryPreview/Indexing/index.js
  function Table (line 27) | function Table({

FILE: packages/client/src/container/CRUD/Modal/LibraryPreview/LibraryProvider.js
  function selectionReducer (line 8) | function selectionReducer(state, { type, payload = {} }) {
  function useLibrary (line 70) | function useLibrary() {

FILE: packages/client/src/container/CRUD/Modal/LibraryPreview/PreviewTable/EditableCell.js
  function EditableCell (line 5) | function EditableCell({ row: { original }, column: { id } }) {

FILE: packages/client/src/container/CRUD/Modal/LibraryPreview/PreviewTable/SubRow.js
  function Table (line 6) | function Table({

FILE: packages/client/src/container/CRUD/Modal/index.js
  function Modal (line 69) | function Modal(props) {

FILE: packages/client/src/container/CRUD/Permission/PermissionHelperFunctions.js
  function prepareSettingData (line 5) | function prepareSettingData(settings, platform, operation, permission) {

FILE: packages/client/src/container/CRUD/Permission/PermissionItem.js
  function PermissionItem (line 15) | function PermissionItem(props) {

FILE: packages/client/src/container/CRUD/Permission/PermissionSettingProvider.js
  constant SETTING_ACTION_TYPES (line 6) | const SETTING_ACTION_TYPES = {
  function permissionSettingReducer (line 13) | function permissionSettingReducer(state, { type, payload }) {
  function useSettings (line 53) | function useSettings() {

FILE: packages/client/src/container/CRUD/Permission/Permissions.js
  function mapSchemaJson (line 51) | function mapSchemaJson() {

FILE: packages/client/src/container/CRUD/Permission/index.js
  function Permission (line 30) | function Permission() {

FILE: packages/client/src/container/CRUD/Routes/AddRoutes/AddRouteProvider.js
  function useAddRoute (line 190) | function useAddRoute() {

FILE: packages/client/src/container/CRUD/Routes/AddRoutes/Advance/index.js
  function Advance (line 128) | function Advance() {

FILE: packages/client/src/container/CRUD/Routes/AddRoutes/Basic/index.js
  function Basic (line 19) | function Basic() {

FILE: packages/client/src/container/CRUD/Routes/AddRoutes/ModelPermission/index.js
  function fetchAllPolicies (line 21) | function fetchAllPolicies() {

FILE: packages/client/src/container/CRUD/Routes/AddRoutes/QueryBuilder/QueryBuilder.js
  function QueryBuilderLogic (line 25) | function QueryBuilderLogic({ queryJson }) {

FILE: packages/client/src/container/CRUD/Routes/AddRoutes/QueryBuilder/QueryBuilderDetail.js
  constant TABLE_TYPES (line 12) | const TABLE_TYPES = {

FILE: packages/client/src/container/CRUD/Routes/AddRoutes/QueryBuilder/ResponseProvider.js
  function useQueryResponse (line 13) | function useQueryResponse() {

FILE: packages/client/src/container/CRUD/Routes/AddToggleProvider.js
  function useAddToggle (line 21) | function useAddToggle() {

FILE: packages/client/src/container/CRUD/Routes/RouteProvider.js
  function selectionReducer (line 5) | function selectionReducer(state, { type, payload = {} }) {
  function useRoute (line 65) | function useRoute() {

FILE: packages/client/src/container/CRUD/Routes/RouteView/index.js
  function fetchAllModelRoutes (line 45) | function fetchAllModelRoutes(data = {}) {
  function handleRouteFilters (line 67) | function handleRouteFilters(value) {

FILE: packages/client/src/container/CRUD/Routes/index.js
  function Routes (line 78) | function Routes() {

FILE: packages/client/src/container/Configuration/CodeGenerateConfiguration/DataFormatConfig/AddDataFormat.js
  constant DEFAULT_KEYS (line 29) | const DEFAULT_KEYS = {

FILE: packages/client/src/container/Configuration/index.js
  function fetchApplicationConfig (line 19) | function fetchApplicationConfig() {

FILE: packages/client/src/container/Constant/ConstantView/TableView/EditableCell.js
  function EditableCell (line 170) | function EditableCell({

FILE: packages/client/src/container/Constant/ConstantView/TableView/SubRow.js
  function Table (line 23) | function Table({

FILE: packages/client/src/container/Constant/ConstantView/TableView/index.js
  function Table (line 106) | function Table({

FILE: packages/client/src/container/Constant/DeleteConstant/index.js
  function DeleteConstant (line 8) | function DeleteConstant({ selectedConstant, isDisable }) {

FILE: packages/client/src/container/Constant/index.js
  function Constant (line 12) | function Constant() {

FILE: packages/client/src/container/Dashboard/index.js
  function Dashboard (line 10) | function Dashboard() {

FILE: packages/client/src/container/Policy/DeletePolicy.js
  function DeletePolicy (line 8) | function DeletePolicy({ selectedPolicy, isDisable }) {

FILE: packages/client/src/container/Policy/index.js
  function Policy (line 12) | function Policy() {

FILE: packages/client/src/container/RoleAccess/RoleAccessList/DeleteRole.js
  function DeleteRole (line 7) | function DeleteRole() {

FILE: packages/client/src/container/RoleAccess/RoleAccessProvider.js
  constant ROLE_ACCESS_ACTION_TYPES (line 9) | const ROLE_ACCESS_ACTION_TYPES = {
  function roleAccessReducer (line 18) | function roleAccessReducer(state, { type, payload = {} }) {
  function useRoleAccess (line 90) | function useRoleAccess() {

FILE: packages/client/src/container/Shared/TechnologySetStep/addNewTag.js
  function TagNameSelect (line 6) | function TagNameSelect({

FILE: packages/client/src/container/common.js
  function Common (line 3) | function Common() {

FILE: packages/client/src/container/hooks/useToastNotifications.js
  function useToastNotifications (line 4) | function useToastNotifications() {

FILE: packages/client/src/container/hooks/useWindowSize.js
  function useWindowSize (line 5) | function useWindowSize(options = validations) {

FILE: packages/client/src/utils.js
  function capitalizeStr (line 19) | function capitalizeStr(value) {

FILE: packages/client/src/utils/dataTypes.js
  function filterObjectTruthyValues (line 2) | function filterObjectTruthyValues(obj) {
  function filterObjectUndefinedValues (line 10) | function filterObjectUndefinedValues(obj) {

FILE: packages/client/src/utils/dateTimeFormatter.js
  function dateTimeFormatter (line 10) | function dateTimeFormatter(date = dayjs(), format = 'DD MMM YYYY') {
  function getRemainingSecond (line 14) | function getRemainingSecond(date) {
  function addMinutes (line 18) | function addMinutes(minute) {
  function checkIsAfter (line 22) | function checkIsAfter(date) { // formate YYYY-MM-DD
  function getDayDiff (line 26) | function getDayDiff(date) { // formate YYYY-MM-DD
  function getUnixTimestamp (line 30) | function getUnixTimestamp(date) {
  function getDateByTimestamp (line 34) | function getDateByTimestamp(unixTime, time) {

FILE: packages/client/src/utils/mergeRefs.js
  function mergeRefs (line 1) | function mergeRefs(refs) {

FILE: packages/server/app.js
  constant PORT (line 23) | const PORT = 3053;
  constant HOST (line 24) | const HOST = 'localhost';

FILE: packages/server/constants/dataTypes/sequelize/mySqlDataTypes.js
  constant DATA_TYPES (line 3) | let DATA_TYPES = require('../dataTypes');

FILE: packages/server/constants/dataTypes/sequelize/postGreSqlDataTypes.js
  constant DATA_TYPES (line 1) | const DATA_TYPES = require('../dataTypes');

FILE: packages/server/constants/dataTypes/sequelize/sqlDataTypes.js
  constant DATA_TYPES (line 3) | let DATA_TYPES = require('../dataTypes');

FILE: packages/server/models/Repo/Connection.js
  class MongoAtlasRepository (line 8) | class MongoAtlasRepository {
    method constructor (line 9) | constructor (model) {
    method prepareQuery (line 34) | async prepareQuery (filter) {
    method manageOrderBy (line 251) | async manageOrderBy (filter) {
    method managePagination (line 272) | async managePagination (filter) {
    method managePopulate (line 302) | async managePopulate (filter) {
    method create (line 547) | async create (insertData) {
    method deleteById (line 558) | async deleteById (id) {
    method getById (line 570) | async getById (options) {
    method insertMany (line 581) | async insertMany (data) {
    method getOne (line 586) | async getOne (options) {
    method updateById (line 606) | async updateById (id, data) {
    method updateOne (line 622) | async updateOne (options, data) {
    method createOrUpdate (line 635) | async createOrUpdate (data, keys) {
    method getDetails (line 653) | async getDetails (filter) {
    method getAll (line 665) | async getAll (filter) {
    method getCount (line 677) | async getCount (filter) {
    method updateMany (line 688) | async updateMany (options) {
    method deleteMany (line 704) | async deleteMany (filter) {
    method aggregate (line 715) | async aggregate (options) {
    method deleteOne (line 720) | async deleteOne (filter) {
    method rawUpdateMany (line 730) | async rawUpdateMany (options) {

FILE: packages/server/models/Repo/index.js
  class CommonQueryRepository (line 4) | class CommonQueryRepository extends MongoAtlasRepository {
    method constructor (line 5) | constructor (model) {
    method getById (line 10) | async getById (options) {
    method getDetails (line 17) | async getDetails (filter) {
    method get (line 25) | async get (filter) {
    method create (line 33) | async create (data) {
    method update (line 41) | async update (id, data) {
    method deleteById (line 49) | async deleteById (userId) {
    method getCount (line 57) | async getCount (filter) {
    method search (line 65) | async search (filter) {
    method deleteMany (line 73) | async deleteMany (filter) {
    method updateMany (line 81) | async updateMany (filter) {
    method insertMany (line 89) | async insertMany (data) {
    method rawUpdateMany (line 97) | async rawUpdateMany (filter) {
    method aggregate (line 105) | async aggregate (options) {
    method updateOne (line 113) | async updateOne (filter, data) {
    method getAll (line 121) | async getAll (filter) {

FILE: packages/server/models/constants/permission.js
  constant ACTION (line 4) | const ACTION = require('./action');
  constant METHOD (line 5) | const METHOD = require('./method');

FILE: packages/server/repo/application.js
  class ProjectRepository (line 4) | class ProjectRepository extends MongoAtlasRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/applicationConfig.js
  class ApplicationConfigRepository (line 4) | class ApplicationConfigRepository extends CommonQueryRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/dataTypeSuggestions.js
  class DataTypeSuggestionsRepository (line 4) | class DataTypeSuggestionsRepository extends MongoAtlasRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/db.js
  class DbRepository (line 3) | class DbRepository extends MongoAtlasRepository {
    method constructor (line 4) | constructor (MODULE_DATA) {
    method getById (line 10) | async getById (options) {
    method getDetails (line 17) | async getDetails (filter) {
    method get (line 25) | async get (filter) {
    method create (line 33) | async create (data) {
    method update (line 41) | async update (id, data) {
    method deleteById (line 49) | async deleteById (userId) {
    method getCount (line 57) | async getCount (filter) {
    method search (line 65) | async search (filter) {
    method deleteMany (line 74) | async deleteMany (filter) {

FILE: packages/server/repo/envVariables.js
  class envVariables (line 4) | class envVariables extends MongoAtlasRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/generate.js
  class SchemaRepository (line 4) | class SchemaRepository extends MongoAtlasRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/master.js
  class masterRepository (line 5) | class masterRepository {
    method getDetailsForInput (line 6) | async getDetailsForInput () {
    method getMasterByCode (line 16) | async getMasterByCode (filter) {
    method getChildDetails (line 27) | async getChildDetails (filter) {

FILE: packages/server/repo/nestedQueryBuilder.js
  class NestedQueryBuilderRepository (line 4) | class NestedQueryBuilderRepository extends MongoAtlasRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/port.js
  class PortRepository (line 4) | class PortRepository extends CommonQueryRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/project.js
  class ProjectRepository (line 4) | class ProjectRepository extends CommonQueryRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/projectConstant.js
  class ProjectConstantRepository (line 4) | class ProjectConstantRepository extends CommonQueryRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/projectPolicy.js
  class ProjectCronRepository (line 4) | class ProjectCronRepository extends CommonQueryRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/projectRoleAccessPermissions.js
  class ProjectRoleAccessPermissionsRepository (line 4) | class ProjectRoleAccessPermissionsRepository extends CommonQueryReposito...
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/projectRoute.js
  class ProjectRouteRepository (line 4) | class ProjectRouteRepository extends CommonQueryRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/queryBuilder.js
  class QueryBuilderRepository (line 4) | class QueryBuilderRepository extends MongoAtlasRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/schema.js
  class SchemaRepository (line 4) | class SchemaRepository extends MongoAtlasRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/repo/schemaDetail.js
  class SchemaRepository (line 4) | class SchemaRepository extends MongoAtlasRepository {
    method constructor (line 5) | constructor () {

FILE: packages/server/usecase/application/node-generator/codeGenerator.js
  class CodeGenerator (line 50) | class CodeGenerator {
    method constructor (line 51) | constructor (projectType, databaseAdapter) {
    method createApp (line 58) | async createApp (params) {
    method createProjectRootDirectory (line 715) | async createProjectRootDirectory (directory, projectName) {

FILE: packages/server/usecase/application/node-generator/config/possibleMissMatchType.js
  method getCorrectName (line 34) | getCorrectName (params) {

FILE: packages/server/usecase/application/node-generator/createApplication/InputParser/index.js
  function getKeyWord (line 7) | function getKeyWord(methods) {
  function recursion (line 552) | function recursion(data, valueKey) {

FILE: packages/server/usecase/application/node-generator/createApplication/applyEslint.js
  function copyEslintrcFile (line 5) | function copyEslintrcFile (templateFolderName, dir) {
  function executeEslintFix (line 11) | function executeEslintFix (dir) {

FILE: packages/server/usecase/application/node-generator/createApplication/createAuthentication/index.js
  function setPackagesForAuth (line 10) | async function setPackagesForAuth ({
  function getAuthorizeRoutes (line 28) | async function getAuthorizeRoutes (PLATFORM, loginAccessPlatform) {
  function generateAuthConstant (line 72) | async function generateAuthConstant (PLATFORM, auth, {
  function generateAuthUsecase (line 123) | async function generateAuthUsecase (useCaseFolderPath, {
  function authenticationSetup (line 183) | async function authenticationSetup (platformStrategy, {
  function generateAuthMiddleware (line 299) | async function generateAuthMiddleware (PLATFORM, middlewarePath, platfor...
  function generateAuthService (line 311) | async function generateAuthService (platforms, {
  function makeAuth (line 401) | async function makeAuth (makeAuthObj) {
  function isAuthenticationFromInput (line 452) | async function isAuthenticationFromInput (jsonData) {
  function makeAuthIndex (line 597) | async function makeAuthIndex (authObject) {
  function makeMiddlewareIndex (line 620) | async function makeMiddlewareIndex (middlewareObj) {

FILE: packages/server/usecase/application/node-generator/createApplication/createCommonRoutes/index.js
  function createCommonRoutes (line 5) | async function createCommonRoutes (dir, templateFolder, platforms, toPat...

FILE: packages/server/usecase/application/node-generator/createApplication/createController/index.js
  function getFieldSelection (line 14) | async function getFieldSelection (model, platform, fieldSelectionObj) {
  function getNotification (line 25) | async function getNotification (model, modelNotifications) {
  function individualNotification (line 37) | async function individualNotification (notificationObj) {
  function getDeleteDependentModel (line 54) | async function getDeleteDependentModel (model, deleteDependency) {
  function findAndTransformQueryBuilderInNestedCall (line 88) | async function findAndTransformQueryBuilderInNestedCall (nestedCall) {
  function generateController (line 96) | async function generateController (apis, platformName, controllers, ormP...
  function generateControllerIndex (line 254) | async function generateControllerIndex (platform, platformName, controll...
  function makeControllerIndex (line 338) | async function makeControllerIndex (controllers) {
  function makeController (line 357) | async function makeController (controllers) {

FILE: packages/server/usecase/application/node-generator/createApplication/createCustomRoutes/index.js
  function doesConContainsPath (line 44) | function doesConContainsPath (con, path) {

FILE: packages/server/usecase/application/node-generator/createApplication/createEntities.js
  function createEntities (line 6) | async function createEntities (entityFolderPath, entities) {

FILE: packages/server/usecase/application/node-generator/createApplication/createFileUploadFiles/index.js
  function makeFileUploadFiles (line 7) | async function makeFileUploadFiles (fileUploadObj) {
  function makeFileUploadService (line 54) | async function makeFileUploadService (templatePath, fileUploadData) {
  function makeFileUploadUsecase (line 66) | async function makeFileUploadUsecase (templatePath, uploadsFunctions) {

FILE: packages/server/usecase/application/node-generator/createApplication/createRoutes/index.js
  function generatePlatformRoutes (line 44) | async function generatePlatformRoutes (platform, makeRouteObj, customRou...
  function generateRoutes (line 74) | async function generateRoutes (platform, platformName, makeRouteObj, cus...
  function makeRoutes (line 204) | async function makeRoutes (makeRoutesObj) {

FILE: packages/server/usecase/application/node-generator/createApplication/createStaticFiles.js
  function generateStaticFilesForCC (line 3) | async function generateStaticFilesForCC (templateFolderName, dir, userDi...
  function generateStaticFilesForMVC (line 17) | async function generateStaticFilesForMVC (templateFolderName, dir, userD...
  function generateStaticFilesForMVCSequelize (line 25) | async function generateStaticFilesForMVCSequelize (templateFolderName, d...
  function generateStaticFilesForCCSequelize (line 31) | async function generateStaticFilesForCCSequelize (templateFolderName, di...
  function addRolePermissionService (line 45) | async function addRolePermissionService (templateFolderName) {

FILE: packages/server/usecase/application/node-generator/createApplication/createUseCaseFiles/index.js
  function getDeleteDependentModel (line 6) | async function getDeleteDependentModel (model, deleteDependency) {

FILE: packages/server/usecase/application/node-generator/createApplication/generateFakeData/index.js
  function readFile (line 10) | function readFile (FileName) {
  function getFdata (line 16) | function getFdata (data, key) {
  method validSchema (line 130) | validSchema (input) {
  method validSchemaObject (line 158) | validSchemaObject (item, modelObjKey) {
  method getFindAllObject (line 248) | getFindAllObject () {
  method getObjectId (line 266) | getObjectId () {

FILE: packages/server/usecase/application/node-generator/createApplication/generateFakeDataSequelize/index.js
  function readFile (line 12) | function readFile (FileName) {
  function getFdata (line 18) | function getFdata (data, key) {
  method validSchema (line 142) | validSchema (input) {
  method validSchemaObject (line 171) | validSchemaObject (item, modelObjKey) {
  method getFindAllObject (line 262) | getFindAllObject () {
  method getObjectId (line 288) | getObjectId () {

FILE: packages/server/usecase/application/node-generator/createApplication/getDeleteDependency.js
  method getDeleteDependency (line 8) | getDeleteDependency(schema) {
  method getSQLRelationshipDependencies (line 31) | getSQLRelationshipDependencies(schema) {
  method getDeleteDependency2 (line 72) | getDeleteDependency2(modelList) {
  method getSQLUniqueIndexesForRelationship (line 82) | getSQLUniqueIndexesForRelationship(models) {
  function getChildDeleteDependency (line 113) | function getChildDeleteDependency(modelList, refKey, currentModel) {

FILE: packages/server/usecase/application/node-generator/createApplication/makeCustomPolicy.js
  method makeIndividualPolicy (line 5) | makeIndividualPolicy (policies, middlewarePath) {

FILE: packages/server/usecase/application/node-generator/createApplication/postman/generate-postman-collection.js
  method createCollectionV2_0 (line 17) | async createCollectionV2_0 (info, platform = true) {
  method createCollectionV2_1 (line 171) | async createCollectionV2_1 (info, platform = true) {

FILE: packages/server/usecase/application/node-generator/createApplication/postman/index.js
  function getPlatformFromSchemaDynamic (line 9) | async function getPlatformFromSchemaDynamic(jsonData, modelConfig, model) {
  function getPostmanCollectionsForLogin (line 17) | async function getPostmanCollectionsForLogin(platformStr, userModel, log...
  function getPostmanCollectionForSocialLogin (line 332) | async function getPostmanCollectionForSocialLogin(platform, details) {
  function setCustomRoutes (line 354) | async function setCustomRoutes(customObj) {
  function getPostmanCollections (line 410) | async function getPostmanCollections(platformStr, key, platform, data = ...
  function getPostmanCollectionForFileUpload (line 1308) | async function getPostmanCollectionForFileUpload(platform, fileObject) {
  function getCollectionForPostman (line 1468) | async function getCollectionForPostman(jsonData, isAuth, userModel, user...
  function sortMethods (line 1707) | async function sortMethods(methods) {
  function generateEnvForPostman (line 1732) | async function generateEnvForPostman(config) {
  function removePrivateAttibutesFromResponse (line 1800) | async function removePrivateAttibutesFromResponse(fakeModel, privateMode...
  function filterResponseBasedOnFormate (line 1849) | async function filterResponseBasedOnFormate(formateArray, data) {

FILE: packages/server/usecase/application/node-generator/createApplication/render/index.js
  function createConstantFiles (line 14) | async function createConstantFiles (templateFolder, dir, constants, toPa...
  function startRenderingEJS (line 26) | async function startRenderingEJS (dir, templateFolder, renderObject) {

FILE: packages/server/usecase/application/node-generator/createApplication/requestValidation.js
  function getTypes (line 201) | function getTypes(modelType) {
  function getOtherTypes (line 268) | function getOtherTypes(key, value) {

FILE: packages/server/usecase/application/node-generator/createApplication/schemaValidation.js
  function readFile (line 11) | function readFile (FileName) {
  method validSchema (line 35) | validSchema (input, logsPath) {
  method validSchemaObject (line 142) | validSchemaObject (item, input, model) {
  method checkTypeInSchema (line 387) | checkTypeInSchema (key, data) {

FILE: packages/server/usecase/application/node-generator/createApplication/sequelize/modelValiadation.js
  function readFile (line 7) | function readFile (FileName) {
  method validSchema (line 33) | validSchema (input, logsPath) {
  method validSchemaObject (line 63) | validSchemaObject (item, input, model) {
  method checkTypeInSchema (line 251) | checkTypeInSchema (key, data) {

FILE: packages/server/usecase/application/node-generator/createApplication/sequelize/postman/generate-postman-collection.js
  method createCollectionV2_0 (line 17) | async createCollectionV2_0 (info, platform = true) {
  method createCollectionV2_1 (line 171) | async createCollectionV2_1 (info, platform = true) {

FILE: packages/server/usecase/application/node-generator/createApplication/sequelize/postman/index.js
  function getPlatformFromSchemaDynamic (line 8) | async function getPlatformFromSchemaDynamic(jsonData, modelConfig, model) {
  function getPostmanCollectionsForLogin (line 16) | async function getPostmanCollectionsForLogin(platformStr, userModel, log...
  function getPostmanCollectionForSocialLogin (line 318) | async function getPostmanCollectionForSocialLogin(platform, details, por...
  function setCustomRoutes (line 340) | async function setCustomRoutes(customObj) {
  function getPostmanCollections (line 396) | async function getPostmanCollections(platformStr, key, platform, data = ...
  function getPostmanCollectionForFileUpload (line 1213) | async function getPostmanCollectionForFileUpload(platform, fileObject) {
  function getCollectionForPostmanDynamic (line 1379) | async function getCollectionForPostmanDynamic(jsonData, isAuth, userMode...
  function sortMethods (line 1567) | async function sortMethods(methods) {
  function generateEnvForPostman (line 1591) | async function generateEnvForPostman(config) {
  function removePrivateAttibutesFromResponse (line 1659) | async function removePrivateAttibutesFromResponse(fakeModel, privateMode...
  function filterResponseBasedOnFormate (line 1708) | async function filterResponseBasedOnFormate(formateArray, data) {

FILE: packages/server/usecase/application/node-generator/createApplication/sequelize/requestValidation.js
  function getTypes (line 197) | function getTypes(modelType) {
  function getOtherTypes (line 277) | function getOtherTypes(key, value) {

FILE: packages/server/usecase/application/node-generator/createApplication/sequelize/service.js
  function createPostmanCollection (line 4) | async function createPostmanCollection (pName, postmanCollections, auth) {

FILE: packages/server/usecase/application/node-generator/createApplication/sequelize/typeConverter.js
  function setType (line 23) | function setType (data, adapterType, option = {}) {

FILE: packages/server/usecase/application/node-generator/createApplication/service/index.js
  function createMVCBlankFolder (line 19) | async function createMVCBlankFolder (dir, userDirectoryStructure) {
  function createAppName (line 32) | function createAppName (Name) {
  function createPackageJson (line 38) | async function createPackageJson ({
  function createPackageJsonForSequelize (line 97) | async function createPackageJsonForSequelize ({
  function setUpAppJS (line 155) | async function setUpAppJS (templateFolder, jsonData) {
  function setDB (line 191) | async function setDB (dir, adapter = '') {
  function createEnvFile (line 203) | async function createEnvFile (templateFolder, jsonData, {
  function createEnvFileSequelize (line 329) | async function createEnvFileSequelize (templateFolder, jsonData, {
  function createValidationFile (line 473) | async function createValidationFile (validationFilePath, jsonData, auth,...
  function createPostmanCollection (line 549) | async function createPostmanCollection (pName, postmanCollections, auth) {
  function createCCBlankFolder (line 566) | async function createCCBlankFolder (dir, userDirectoryStructure) {
  function envParser (line 583) | async function envParser (env) {
  function addSeederMongoose (line 594) | async function addSeederMongoose (jsonData, filePath, authObj) {
  function addSeederSequelize (line 695) | async function addSeederSequelize (jsonData, filePath, authObj) {

FILE: packages/server/usecase/application/node-generator/createApplication/thirdPartyIntegrations/index.js
  function addSocialLogin (line 6) | async function addSocialLogin (

FILE: packages/server/usecase/application/node-generator/createApplication/utils/common.js
  function getImportPath (line 153) | function getImportPath (toPath, fromPath) {

FILE: packages/server/usecase/application/node-generator/generator.js
  function trimModelNameFromInput (line 11) | function trimModelNameFromInput (models) {
  function main (line 22) | async function main (inputFilepath, isReBuild) {

FILE: packages/server/usecase/application/node-generator/settings/index.js
  function getProjectSteps (line 5) | function getProjectSteps (type) {

FILE: packages/server/usecase/application/node-generator/social/facebook/app.js
  function loadTemplate (line 7) | function loadTemplate (name) {
  function generateSocialLoginForMVC (line 19) | function generateSocialLoginForMVC (jsonData) {
  function generateSocialLoginForCC (line 54) | function generateSocialLoginForCC (jsonData) {
  function generateSocialLoginForCCSequelize (line 89) | function generateSocialLoginForCCSequelize (jsonData) {
  function generateSocialLoginForMVCSequelize (line 124) | function generateSocialLoginForMVCSequelize (jsonData) {
  function main (line 159) | function main (jsonData) {

FILE: packages/server/usecase/application/node-generator/social/github/app.js
  function loadTemplate (line 7) | function loadTemplate (name) {
  function generateSocialLoginForMVC (line 19) | function generateSocialLoginForMVC (jsonData) {
  function generateSocialLoginForCC (line 54) | function generateSocialLoginForCC (jsonData) {
  function generateSocialLoginForMVCSequelize (line 89) | function generateSocialLoginForMVCSequelize (jsonData) {
  function generateSocialLoginForCCSequelize (line 124) | function generateSocialLoginForCCSequelize (jsonData) {
  function main (line 159) | async function main (jsonData) {

FILE: packages/server/usecase/application/node-generator/social/google/app.js
  function loadTemplate (line 7) | function loadTemplate (name) {
  function generateSocialLoginForMVC (line 20) | function generateSocialLoginForMVC (jsonData) {
  function generateSocialLoginForCC (line 55) | function generateSocialLoginForCC (jsonData) {
  function generateSocialLoginForCCSequelize (line 86) | function generateSocialLoginForCCSequelize (jsonData) {
  function generateSocialLoginForMVCSequelize (line 117) | function generateSocialLoginForMVCSequelize (jsonData) {
  function main (line 148) | async function main (jsonData) {

FILE: packages/server/usecase/application/node-generator/social/linkedin/app.js
  function loadTemplate (line 7) | function loadTemplate (name) {
  function generateSocialLoginForMVC (line 20) | function generateSocialLoginForMVC (jsonData) {
  function generateSocialLoginForCC (line 55) | function generateSocialLoginForCC (jsonData) {
  function generateSocialLoginForMVCSequelize (line 91) | function generateSocialLoginForMVCSequelize (jsonData) {
  function generateSocialLoginForCCSequelize (line 127) | function generateSocialLoginForCCSequelize (jsonData) {
  function main (line 162) | async function main (jsonData) {

FILE: packages/server/usecase/application/node-generator/templates/cleanCode/utils/generateToken.js
  function generateToken (line 5) | async function generateToken (user, secret) {

FILE: packages/server/usecase/application/node-generator/templates/cleanCodeSequelize/data-access/dbService.js
  constant OPERATORS (line 5) | const OPERATORS = ['$and', '$or', '$like', '$in', '$eq', '$gt', '$lt', '...
  function queryBuilderParser (line 8) | function queryBuilderParser (data) {
  function sortParser (line 30) | function sortParser (input) {

FILE: packages/server/usecase/application/node-generator/templates/cleanCodeSequelize/services/dbService.js
  constant OPERATORS (line 4) | const OPERATORS = ['and', 'or', 'like', 'in', 'eq', 'gt', 'lt', 'gte', '...
  function makeSequelizeDbService (line 6) | function makeSequelizeDbService ({ model }) {

FILE: packages/server/usecase/application/node-generator/templates/cleanCodeSequelize/utils/generateToken.js
  function generateToken (line 5) | async function generateToken (user, secret) {

FILE: packages/server/usecase/application/node-generator/templates/cleanCodeSequelize/utils/replaceAll.js
  function replaceAll (line 9) | function replaceAll (string, search, replace) {

FILE: packages/server/usecase/application/node-generator/templates/cleanCodeSequelize/validation/genericValidator.js
  function makeValidator (line 1) | function makeValidator (schema) {

FILE: packages/server/usecase/application/node-generator/templates/mvcSequelize/utils/dbService.js
  constant OPERATORS (line 8) | const OPERATORS = ['and', 'or', 'like', 'in', 'eq', 'gt', 'lt', 'gte', '...

FILE: packages/server/usecase/application/node-generator/writeOperations/index.js
  constant TEMPLATE_DIR (line 10) | const TEMPLATE_DIR = path.join(`${__dirname}/../`, 'templates');
  constant MODE_0755 (line 13) | const MODE_0755 = 0o0755;
  constant MODE_0666 (line 14) | const MODE_0666 = 0o0666;
  function render (line 40) | function render () {

FILE: packages/server/usecase/application/structure.js
  function getFiles (line 20) | function getFiles (dir, allFiles = [], parent = '') {

FILE: packages/server/usecase/application/update.js
  function updateSchemaDetailsAndRoutes (line 38) | async function updateSchemaDetailsAndRoutes ({
  function updatePlatformInApplicationConfig (line 253) | async function updatePlatformInApplicationConfig ({ updatedApp }) {

FILE: packages/server/usecase/applicationConfig/update.js
  function getFakerData (line 18) | async function getFakerData (dataType, keyName) {

FILE: packages/server/usecase/jsonInput/jsonInput.js
  function getMasterData (line 30) | async function getMasterData () {
  function updateApplicationDetails (line 43) | async function updateApplicationDetails (params) {
  function updateApplicationConfig (line 141) | async function updateApplicationConfig ({

FILE: packages/server/usecase/master/getByCode.js
  function prepareMasterSubMaster (line 9) | function prepareMasterSubMaster (listData) {
  function getChildRecord (line 45) | async function getChildRecord (data, arr = [], level = 1) {

FILE: packages/server/usecase/projectPolicy/update.js
  function udpdatePolicyNameInSchemaDetailsAndRoutes (line 61) | async function udpdatePolicyNameInSchemaDetailsAndRoutes ({

FILE: packages/server/usecase/projectRoute/create.js
  function getQueryBuilder (line 30) | async function getQueryBuilder ({
  function getNestedQueryBuilder (line 87) | async function getNestedQueryBuilder ({

FILE: packages/server/usecase/projectRoute/paginate.js
  function getQueryBuilderDetails (line 22) | async function getQueryBuilderDetails ({
  function getNestedQueryBuilderDetails (line 53) | async function getNestedQueryBuilderDetails ({

FILE: packages/server/usecase/projectRoute/update.js
  function queryBuilderOperations (line 34) | async function queryBuilderOperations ({
  function nestedQueryBuilderOperations (line 106) | async function nestedQueryBuilderOperations ({

FILE: packages/server/usecase/projectRoute/uploadPostmanFile.js
  function isJson (line 44) | async function isJson (str) {
  function getBodyAndFileData (line 57) | async function getBodyAndFileData (req) {
  function prepareRouteJsonFromPostmanFile (line 117) | async function prepareRouteJsonFromPostmanFile (postmanData, rJsonData =...

FILE: packages/server/usecase/schema/InsertDefaultModels/insertDefaultModels.js
  function addDefaultFields (line 36) | async function addDefaultFields (jsonSchemaData, ormType) {

FILE: packages/server/usecase/schema/deleteDependency.js
  function getAuthModule (line 20) | async function getAuthModule (data) {

FILE: packages/server/usecase/schema/insertMany.js
  function getBodyAndFileData (line 32) | async function getBodyAndFileData (req) {
  function isJson (line 78) | async function isJson (str) {
  function addDefaultFields (line 91) | async function addDefaultFields (jsonSchemaData) {

FILE: packages/server/usecase/schema/util/deleteSchemaReferences.js
  function delProjectRoute (line 22) | async function delProjectRoute ({
  function delQueryBuilder (line 60) | async function delQueryBuilder ({
  function delNestedQueryBuilder (line 98) | async function delNestedQueryBuilder ({
  function deleteSchemaDetails (line 136) | async function deleteSchemaDetails ({

FILE: packages/server/usecase/schema/util/staticData.js
  constant DATA_TYPES (line 4) | const DATA_TYPES = require('../../../constants/dataTypes/dataTypes');
  function reOrderSchemaJson (line 441) | async function reOrderSchemaJson (schemaJson) {

FILE: packages/server/usecase/schema/util/updateSchemaReferences.js
  function updateProjectRoute (line 23) | async function updateProjectRoute ({
  function updateQueryBuilder (line 59) | async function updateQueryBuilder ({ updatedSchema }) {
  function updateNestedQueryBuilder (line 90) | async function updateNestedQueryBuilder ({ updatedSchema }) {
  function updateApplicationConfig (line 121) | async function updateApplicationConfig ({ updatedSchema }) {

FILE: packages/server/usecase/schema/util/validateProps.js
  function objSetAttribute (line 13) | async function objSetAttribute (jsonSchemaObj, isJsonObj = false) {
  function setAttribute (line 79) | async function setAttribute (jsonData) {

FILE: packages/server/usecase/schema/util/validateRegEx.js
  function isValidRegExp (line 12) | async function isValidRegExp (key, pattern) {

FILE: packages/server/usecase/util/fieldsList.js
  constant APPLICATION_FIELDS (line 1) | const APPLICATION_FIELDS = [
  constant USER_FIELDS (line 28) | const USER_FIELDS = [
  constant PROJECT_FIELDS (line 37) | const PROJECT_FIELDS = [
  constant PROJECT_DEFINITION_FIELDS (line 47) | const PROJECT_DEFINITION_FIELDS = [
  constant GENERATOR_FIELDS (line 54) | const GENERATOR_FIELDS = [

FILE: packages/server/usecase/util/getPermissionWiseRoute.js
  function getPermissionWiseRoute (line 4) | function getPermissionWiseRoute (schemaJson, schemaDetail, definitionCod...

FILE: packages/server/usecase/util/getRoutes.js
  function getRoutes (line 1) | function getRoutes (platform, model, isAuth, permission = ['C', 'R', 'U'...

FILE: packages/server/util-service/common/common.js
  function getAllDirFilesCount (line 8) | async function getAllDirFilesCount (dirPath, arrayOfFiles) {

FILE: packages/server/util-service/crypto/crypto.js
  function encrypt (line 9) | async function encrypt (str) {
  function decrypt (line 17) | async function decrypt (str) {
Condensed preview — 987 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,530K chars).
[
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "chars": 740,
    "preview": "---\nname: 🐞 Bug\nabout: File a bug/issue\ntitle: '[BUG] <title>'\nlabels: Bug, Needs Triage\nassignees: ''\n\n---\n\n<!--\nNote: "
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "chars": 595,
    "preview": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Is your fea"
  },
  {
    "path": ".github/workflows/eslint.yml",
    "chars": 393,
    "preview": "name: Check ESLint on Pull Request\n\non:\n  push:\n    branches: [ master ]\n  pull_request:\n    branches: [ master ]\n\njobs:"
  },
  {
    "path": ".gitignore",
    "chars": 39,
    "preview": "node_modules\npackage-lock.json\n.history"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 3833,
    "preview": "# Change Log\n\nAll notable changes to this project will be documented in this file.\nSee [Conventional Commits](https://co"
  },
  {
    "path": "CLEAN_CODE.md",
    "chars": 3212,
    "preview": "# NodeJS,Express Project in Clean-Code Architecture with Mongoose/Sequelize\n\n**supported version of nodejs > 12**,\n**sup"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 5218,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participa"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 4631,
    "preview": "# Contributing\n\nWe will appreciate developers' contribution to improve node.js code generator, to make it even better. T"
  },
  {
    "path": "LICENSE",
    "chars": 10762,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "MVC_ARCHITECTURE.md",
    "chars": 2537,
    "preview": "# Node.JS,Express Project in MVC Architecture with Mongoose/Sequelize\n\n**supported version of nodejs > 12**,\n**supported"
  },
  {
    "path": "README.md",
    "chars": 4415,
    "preview": "[![GitHub stars](https://img.shields.io/github/stars/DhiWise/nodejs-code-generator?style=flat-square&color=yellow)](http"
  },
  {
    "path": "lerna.json",
    "chars": 200,
    "preview": "{\n  \"packages\": [\n    \"packages/*\"\n  ],\n  \"npmClient\": \"npm\",\n  \"version\": \"1.3.1\",\n  \"lerna\": \"4.0.0\",\n  \"command\": {\n "
  },
  {
    "path": "package.json",
    "chars": 1730,
    "preview": "{\n  \"name\": \"nodejs-code-generator\",\n  \"version\": \"0.0.0\",\n  \"private\": true,\n  \"author\": {\n    \"name\": \"DhiWise\",\n    \""
  },
  {
    "path": "packages/client/.eslintrc.json",
    "chars": 2391,
    "preview": "{\n  \"env\": {\n    \"browser\": true,\n    \"es2021\": true\n  },\n  \"extends\": [\n    \"plugin:react/recommended\",\n    \"airbnb\"\n  "
  },
  {
    "path": "packages/client/.gitignore",
    "chars": 339,
    "preview": "# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.\n\n# dependencies\n/node_modules   \n/"
  },
  {
    "path": "packages/client/CHANGELOG.md",
    "chars": 1943,
    "preview": "# Change Log\n\nAll notable changes to this project will be documented in this file.\nSee [Conventional Commits](https://co"
  },
  {
    "path": "packages/client/README.md",
    "chars": 182,
    "preview": "# Client    \n\nThis is a node code generator panel by using you can give input's and generate code.\n\n## Run\n##### `npm st"
  },
  {
    "path": "packages/client/babel-plugin-macros.config.js",
    "chars": 192,
    "preview": "module.exports = {\n  twin: {\n    config: 'tailwind.config.js',\n    preset: 'styled-components',\n    autoCssProp: true,\n "
  },
  {
    "path": "packages/client/babel.config.json",
    "chars": 331,
    "preview": "{\n\t\"presets\": [\n\t\t\"@babel/preset-react\",\n\t\t[\n\t\t\t\"@babel/env\",\n\t\t\t{\n\t\t\t\t\"targets\": {\n\t\t\t\t\t\"edge\": \"17\",\n\t\t\t\t\t\"firefox\": \""
  },
  {
    "path": "packages/client/config-overrides.js",
    "chars": 417,
    "preview": "const rewireAliases = require('react-app-rewire-aliases');\nconst { paths } = require('react-app-rewired');\nconst path = "
  },
  {
    "path": "packages/client/package.json",
    "chars": 3649,
    "preview": "{\n  \"name\": \"@nodejs-code-generator/client\",\n  \"version\": \"1.3.1\",\n  \"private\": true,\n  \"dependencies\": {\n    \"@babel/pa"
  },
  {
    "path": "packages/client/postcss.config.js",
    "chars": 201,
    "preview": "module.exports = {\n  plugins: [\n    require('postcss-import'),\n    require('tailwindcss'),\n    require('postcss-nested')"
  },
  {
    "path": "packages/client/public/index.html",
    "chars": 1692,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n  <meta charset=\"utf-8\" />\n  <link rel=\"icon\" href=\"%PUBLIC_URL%/favicon.ico\" /"
  },
  {
    "path": "packages/client/public/manifest.json",
    "chars": 492,
    "preview": "{\n  \"short_name\": \"React App\",\n  \"name\": \"Create React App Sample\",\n  \"icons\": [\n    {\n      \"src\": \"favicon.ico\",\n     "
  },
  {
    "path": "packages/client/public/robots.txt",
    "chars": 67,
    "preview": "# https://www.robotstxt.org/robotstxt.html\nUser-agent: *\nDisallow:\n"
  },
  {
    "path": "packages/client/src/App.css",
    "chars": 564,
    "preview": ".App {\n  text-align: center;\n}\n\n.App-logo {\n  height: 40vmin;\n  pointer-events: none;\n}\n\n@media (prefers-reduced-motion:"
  },
  {
    "path": "packages/client/src/App.js",
    "chars": 833,
    "preview": "import React from 'react';\nimport { RecoilRoot } from 'recoil';\nimport { ToastProvider } from 'react-toast-notifications"
  },
  {
    "path": "packages/client/src/api/applicationConfig.js",
    "chars": 452,
    "preview": "import { apiClient } from './config';\nimport { API_URLS } from './constants';\n\nexport const createApplicationConfig = (p"
  },
  {
    "path": "packages/client/src/api/applicationConstant.js",
    "chars": 511,
    "preview": "import { apiClient } from './config';\nimport { API_URLS } from './constants';\n\n// Application node  Constant Services\n\ne"
  },
  {
    "path": "packages/client/src/api/applicationPolicy.js",
    "chars": 491,
    "preview": "import { apiClient } from './config';\nimport { API_URLS } from './constants';\n\n// Application node  Constant Services\n\ne"
  },
  {
    "path": "packages/client/src/api/config.js",
    "chars": 1162,
    "preview": "import axios from 'axios';\n\nexport const defaultAxios = axios.create({\n  headers: {\n    'Content-Type': 'application/jso"
  },
  {
    "path": "packages/client/src/api/constants.js",
    "chars": 2812,
    "preview": "const projectServiceUrl = process?.env?.REACT_APP_PROJECT_SERVICE_URL;\n\nconst version = 'web/v1';\n\nexport const API_URLS"
  },
  {
    "path": "packages/client/src/api/envVariable.js",
    "chars": 244,
    "preview": "import { apiClient } from '.';\nimport { API_URLS } from './constants';\n\nexport const getEnvs = (payload) => apiClient(AP"
  },
  {
    "path": "packages/client/src/api/index.js",
    "chars": 111,
    "preview": "import { apiClient } from './config';\nimport { API_URLS } from './constants';\n\nexport { apiClient, API_URLS };\n"
  },
  {
    "path": "packages/client/src/api/master.js",
    "chars": 166,
    "preview": "import { apiClient } from './config';\nimport { API_URLS } from './constants';\n\nexport const fetchByCode = (payload) => a"
  },
  {
    "path": "packages/client/src/api/models.js",
    "chars": 792,
    "preview": "import { apiClient } from '.';\nimport { API_URLS } from './constants';\n\nexport const getModelPermissions = (payload) => "
  },
  {
    "path": "packages/client/src/api/policy.js",
    "chars": 444,
    "preview": "import { apiClient } from '.';\nimport { API_URLS } from './constants';\n\nexport const createPolicy = (payload) => apiClie"
  },
  {
    "path": "packages/client/src/api/project.js",
    "chars": 590,
    "preview": "/* eslint-disable implicit-arrow-linebreak */\nimport { apiClient } from './config';\nimport { API_URLS } from './constant"
  },
  {
    "path": "packages/client/src/api/projectRoleAccess.js",
    "chars": 399,
    "preview": "import { apiClient } from './config';\nimport { API_URLS } from './constants';\n\nexport const getProjectRoleAccess = (payl"
  },
  {
    "path": "packages/client/src/api/routes.js",
    "chars": 458,
    "preview": "import { apiClient } from './config';\nimport { API_URLS } from './constants';\n\nexport const createNodeRoute = (payload) "
  },
  {
    "path": "packages/client/src/assets/css/Table.css",
    "chars": 4830,
    "preview": ".custom-table table{\n    @apply w-full;\n}\n.custom-table table tbody{\n    /* box-shadow:0 0 0 2px var(--color-gray-200); "
  },
  {
    "path": "packages/client/src/assets/css/Table1.css",
    "chars": 327,
    "preview": ".dhiTable_second  thead th{\n    text-transform: uppercase;\n    font-size: 14px;\n    font-weight: bold;\n    padding: 9px "
  },
  {
    "path": "packages/client/src/assets/css/animation.css",
    "chars": 1049,
    "preview": ".checkAnimation{\n    animation: zoom 0.75s;\n}\n@keyframes zoom {\n    0% {\n        transform: scale(0);\n    }\n    5% {\n   "
  },
  {
    "path": "packages/client/src/assets/css/components/components.css",
    "chars": 426,
    "preview": "@import \"../../../components/Checkbox/checkbox.css\";\n@import \"../../../components/DatePicker/datepicker.css\";\n@import \"."
  },
  {
    "path": "packages/client/src/assets/css/components/style.css",
    "chars": 7040,
    "preview": "@import \"../tailwind.css\";\n\n@font-face {\n    font-family: 'circular';\n    src: url(\"../../fonts/circular/CustomFont-Book"
  },
  {
    "path": "packages/client/src/assets/css/drawer.css",
    "chars": 5150,
    "preview": ".drawer {\n  position: fixed;\n  z-index: 100000;\n  transition: width 0s ease 0.3s, height 0s ease 0.3s, transform 0.3s cu"
  },
  {
    "path": "packages/client/src/assets/css/dropdown.css",
    "chars": 741,
    "preview": "\n.dropdown-menu:hover {\n    background-color: #0061ff;\n    color: #fff;\n}\n\n.dropdown-menu:hover svg {\n    fill: #fff;\n}\n"
  },
  {
    "path": "packages/client/src/assets/css/editor.css",
    "chars": 1194,
    "preview": ".monaco-editor,\n.monaco-editor-background,\n.monaco-editor .inputarea.ime-input {\n    background-color: var(--color-gray-"
  },
  {
    "path": "packages/client/src/assets/css/logo.css",
    "chars": 656,
    "preview": ".themeLogo .c,\n.themeLogo .st2 {\n    fill: var(--color--black-svg);\n}\n\n.themeLogo .a,\n.themeLogo .st0 {\n    fill: var(--"
  },
  {
    "path": "packages/client/src/assets/css/main.css",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "packages/client/src/assets/css/method.css",
    "chars": 1618,
    "preview": "\n/* methodList */\n.methodList {\n    border: 1px solid var(--color-bg-active);\n    color: var(--color-bg-active);\n    bor"
  },
  {
    "path": "packages/client/src/assets/css/notification.css",
    "chars": 1034,
    "preview": "/* notification */\n.react-toast-notifications__container {\n    z-index: 1000000 !important;\n}\n\n.react-toast-notification"
  },
  {
    "path": "packages/client/src/assets/css/popover.css",
    "chars": 944,
    "preview": ".popupCustom {\n    z-index: 100000000;\n}\n.popupCustom .Popover-body{\n    /* background-color: var(--color-bg-popover); *"
  },
  {
    "path": "packages/client/src/assets/css/popoverCss.js",
    "chars": 103,
    "preview": "export const PopoverCss = {\n  popoverWrap: ' relative p-3 bg-popover shadows-dw rounded z-1000000',\n};\n"
  },
  {
    "path": "packages/client/src/assets/css/scroll.css",
    "chars": 968,
    "preview": "\n\n/* scroll */\n::-webkit-scrollbar {\n    width: 4px;\n    height: 4px;\n    background: transparent;\n}\n\n/* Track */\n::-web"
  },
  {
    "path": "packages/client/src/assets/css/sidebar.css",
    "chars": 8192,
    "preview": "@import \"./tailwind.css\";\n.pro-sidebar .pro-menu .pro-menu-item.pro-sub-menu > .pro-inner-item > .pro-arrow-wrapper .pro"
  },
  {
    "path": "packages/client/src/assets/css/tab.js",
    "chars": 1289,
    "preview": "export const TabCSs = {\n  tabHead: 'border-b border-gray-100 bg-transparent flex',\n  tabHeadBody: 'bg-gray-300',\n  tabTi"
  },
  {
    "path": "packages/client/src/assets/css/tableViewCss.js",
    "chars": 819,
    "preview": "export const TableViewCss = {\n  // grid grid-cols-10\n  // grid grid-cols-10 gap-4\n  tableHead: 'pl-10 text-sm items-cent"
  },
  {
    "path": "packages/client/src/assets/css/tailwind.css",
    "chars": 5851,
    "preview": "@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"./components/components.css\";\n@import \"tailwindcs"
  },
  {
    "path": "packages/client/src/assets/css/tooltip.css",
    "chars": 644,
    "preview": ".__react_component_tooltip {\n    background-color: var(--color-bg-black) !important;\n    color: var(--color-bg-light) !i"
  },
  {
    "path": "packages/client/src/components/APIKeyValue/index.js",
    "chars": 6498,
    "preview": "/* eslint-disable radix */\n/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport { useSele"
  },
  {
    "path": "packages/client/src/components/BackButton/index.js",
    "chars": 949,
    "preview": "import React from 'react';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport { Icons }"
  },
  {
    "path": "packages/client/src/components/BoxLayout/boxLayoutCss.js",
    "chars": 271,
    "preview": "export const boxLayoutCss = {\n  boxmainRight: 'w-sidebarRight',\n  boxsubSidebar: 'xxl:w-1.5/12 w-2.5/12', // h-body stic"
  },
  {
    "path": "packages/client/src/components/BoxLayout/index.js",
    "chars": 547,
    "preview": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { boxLayoutCss } from './boxLayoutCss';\n\nexport co"
  },
  {
    "path": "packages/client/src/components/Button/buttonCss.js",
    "chars": 1526,
    "preview": "export const ButtonCss = {\n  buttonbox: 'cursor-pointer transition-all relative',\n  boxprimary:\n    'bg-primary-dark bor"
  },
  {
    "path": "packages/client/src/components/Button/index.js",
    "chars": 2931,
    "preview": "/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport "
  },
  {
    "path": "packages/client/src/components/CardView/ThumbnailCard.js",
    "chars": 1894,
    "preview": "import React from 'react';\nimport PropTypes from 'prop-types';\n// import mobileScreen from '@assets/images/7.svg';\nimpor"
  },
  {
    "path": "packages/client/src/components/CardView/card.css",
    "chars": 50,
    "preview": ".groupbox:hover .perviewHover{\n    opacity: 0.8;\n}"
  },
  {
    "path": "packages/client/src/components/CardView/cardCss.js",
    "chars": 832,
    "preview": "export const CardCss = {\n  cardBox: 'groupbox card-box border-2 border-gray-200 col-span-1 p-5 rounded-3 cursor-pointer'"
  },
  {
    "path": "packages/client/src/components/CardView/index.js",
    "chars": 2381,
    "preview": "import React from 'react';\nimport { Icons } from '@dhiwise/icons';\nimport PropTypes from 'prop-types';\nimport { CardCss "
  },
  {
    "path": "packages/client/src/components/Checkbox/Checkbox.js",
    "chars": 922,
    "preview": "export const CheckboxCss = {\n  checkboxcheckinput: 'absolute top-0 right-0 bottom-0 left-0 w-full h-full cursor-pointer "
  },
  {
    "path": "packages/client/src/components/Checkbox/checkbox.css",
    "chars": 5901,
    "preview": ".spark-checkbox-wrapper,\n.spark-checkbox-wrap {\n  @apply m-0 p-0 text-sm box-border inline-block cursor-pointer relative"
  },
  {
    "path": "packages/client/src/components/Checkbox/index.js",
    "chars": 3050,
    "preview": "/* eslint-disable react/jsx-props-no-spreading */\n/* eslint-disable no-unused-vars */\nimport React, { forwardRef, useSta"
  },
  {
    "path": "packages/client/src/components/CodeEditor/index.js",
    "chars": 5202,
    "preview": "/* eslint-disable no-nested-ternary */\nimport React from 'react';\nimport { Icons } from '@dhiwise/icons';\nimport Editor "
  },
  {
    "path": "packages/client/src/components/CodeEditor/reactTypes.js",
    "chars": 116880,
    "preview": "export default `\nimport * as CSS from 'csstype';\nimport * as PropTypes from 'prop-types';\n\ntype NativeAnimationEvent = A"
  },
  {
    "path": "packages/client/src/components/ConfirmAlert/index.js",
    "chars": 2461,
    "preview": "import React from 'react';\nimport Modal from 'react-modal';\nimport { Icons } from '@dhiwise/icons';\nimport { Button } fr"
  },
  {
    "path": "packages/client/src/components/ContainerBox/index.js",
    "chars": 381,
    "preview": "import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const ContainerBox = ({\n  className,\n  children,\n"
  },
  {
    "path": "packages/client/src/components/Count/index.js",
    "chars": 220,
    "preview": "import React from 'react';\n\nexport const Count = ({ total, className }) => (\n  <div className={`bg-gray-100 flex items-c"
  },
  {
    "path": "packages/client/src/components/DatePicker/datepicker.css",
    "chars": 5659,
    "preview": ".datepickerBox.react-datepicker{\n  background-color: var(--color-bg-white);\n  border: 1px solid var(--color-gray-90);\n  "
  },
  {
    "path": "packages/client/src/components/DatePicker/datepickerCss.js",
    "chars": 569,
    "preview": "export const datepickerCss = {\n  datepickerWrap: '',\n  datepickerLabel: 'mb-1.5 text-primary-text text-sm block w-full f"
  },
  {
    "path": "packages/client/src/components/DatePicker/index.js",
    "chars": 2511,
    "preview": "import React from 'react';\nimport { Icons } from '@dhiwise/icons';\nimport DatePicker from 'react-datepicker';\nimport Pro"
  },
  {
    "path": "packages/client/src/components/Description/descriptionCss.js",
    "chars": 345,
    "preview": "export const DescriptionCss = {\n  // decWrap: 'text-body-text text-sm leading-snug',\n  descnormal: 'text-body-text text-"
  },
  {
    "path": "packages/client/src/components/Description/index.js",
    "chars": 583,
    "preview": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DescriptionCss } from './descriptionCss';\n\nexpor"
  },
  {
    "path": "packages/client/src/components/DropdownMenu/Css.js",
    "chars": 1123,
    "preview": "const Css = {\n  pointer: {\n    cursor: 'pointer',\n  },\n  menuList: {\n    margin: '2px',\n  },\n  disabledItem: {\n    point"
  },
  {
    "path": "packages/client/src/components/DropdownMenu/DropdownMenu.js",
    "chars": 2352,
    "preview": "import * as React from 'react';\nimport useOnClickOutside from 'use-onclickoutside';\n// import { useOutsideClick } from '"
  },
  {
    "path": "packages/client/src/components/DropdownMenu/Dropdown_bkp.js",
    "chars": 7455,
    "preview": "import React from 'react';\nimport DefaultCss from './Css';\n// import { MenuBox } from '../MenuList';\n\nlet instances = 0;"
  },
  {
    "path": "packages/client/src/components/DropdownMenu/MenuItem.js",
    "chars": 2309,
    "preview": "import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport DefaultCss from './Css';\nimport { DropdownCss"
  },
  {
    "path": "packages/client/src/components/DropdownMenu/dropdown.js",
    "chars": 254,
    "preview": "export const DropdownCss = {\n  dropdownitemWrap: 'relative flex items-center justify-between pr-2 hover:bg-primary-dark "
  },
  {
    "path": "packages/client/src/components/DropdownMenu/index.js",
    "chars": 119,
    "preview": "import DropdownMenu from './DropdownMenu';\nimport MenuItem from './MenuItem';\n\nexport {\n  DropdownMenu,\n  MenuItem,\n};\n"
  },
  {
    "path": "packages/client/src/components/Error/index.js",
    "chars": 4515,
    "preview": "import React from 'react';\nimport {\n  Tab, Tabs, TabList, TabPanel,\n} from 'react-tabs';\nimport Drawer from 'rc-drawer';"
  },
  {
    "path": "packages/client/src/components/ErrorMsg/errorCss.js",
    "chars": 76,
    "preview": "export const errorCss = {\n  errorClass: 'text-error text-sm mt-1 block',\n};\n"
  },
  {
    "path": "packages/client/src/components/ErrorMsg/index.js",
    "chars": 231,
    "preview": "import React from 'react';\nimport { errorCss } from './errorCss';\n\nconst ErrorMsg = ({ error, className = '' }) => (\n  <"
  },
  {
    "path": "packages/client/src/components/Heading/headingCss.js",
    "chars": 704,
    "preview": "export const HeadingCss = {\n  pageTitle: 'block text-primary-text font-title',\n  titleh1: 'xl:text-5xl md:text-4xl sm:te"
  },
  {
    "path": "packages/client/src/components/Heading/index.js",
    "chars": 593,
    "preview": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { HeadingCss } from './headingCss';\n\nexport const "
  },
  {
    "path": "packages/client/src/components/IconBox/DeleteIcon.js",
    "chars": 1160,
    "preview": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactTooltip from 'react-tooltip';\nimport { iconBo"
  },
  {
    "path": "packages/client/src/components/IconBox/iconBoxCss.js",
    "chars": 1118,
    "preview": "export const iconBoxCss = {\n  boxprimary: 'bg-primary-dark hover:bg-primary-hoverdark primaryShadow',\n  boxsucess: 'bg-a"
  },
  {
    "path": "packages/client/src/components/IconBox/index.js",
    "chars": 2101,
    "preview": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactTooltip from 'react-tooltip';\nimport { iconBo"
  },
  {
    "path": "packages/client/src/components/InlineHeader/index.js",
    "chars": 5721,
    "preview": "import React from 'react';\nimport { Icons } from '@dhiwise/icons';\nimport { MAX_INPUT_FIELD_LIMIT } from '../../constant"
  },
  {
    "path": "packages/client/src/components/Input/DecimalInput.js",
    "chars": 3904,
    "preview": "import React, { forwardRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { regex } from '../util"
  },
  {
    "path": "packages/client/src/components/Input/NegativeInput.js",
    "chars": 2340,
    "preview": "import React, { forwardRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { regex } from '../util"
  },
  {
    "path": "packages/client/src/components/Input/NumberInput.js",
    "chars": 3990,
    "preview": "import React, { forwardRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { regex } from '../util"
  },
  {
    "path": "packages/client/src/components/Input/PercentageInput.js",
    "chars": 2852,
    "preview": "import React, { forwardRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { regex } from '../util"
  },
  {
    "path": "packages/client/src/components/Input/StringInput.js",
    "chars": 3184,
    "preview": "import React, { forwardRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { regex } from '../util"
  },
  {
    "path": "packages/client/src/components/Input/contryCode.css",
    "chars": 1869,
    "preview": ".spark-input-wrapper  .react-tel-input{\n    width: 100%;\n}\n.spark-input-wrapper  .react-tel-input input{\n    width: 100%"
  },
  {
    "path": "packages/client/src/components/Input/index.js",
    "chars": 3206,
    "preview": "import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { InputCss } from './inputCss';\nim"
  },
  {
    "path": "packages/client/src/components/Input/inputCss.js",
    "chars": 1028,
    "preview": "export const InputCss = {\n  inputwrapper: 'relative',\n  inputWrapperClass: 'relative',\n  desc: 'mt-1',\n  inputBlock: 'fo"
  },
  {
    "path": "packages/client/src/components/Label/index.js",
    "chars": 207,
    "preview": "import React from 'react';\n\nexport const LabelBox = ({ children, className }) => (\n  <label className={`mb-2 text-primar"
  },
  {
    "path": "packages/client/src/components/LinkTag/index.js",
    "chars": 734,
    "preview": "import React from 'react';\nimport { Link } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nexport const Li"
  },
  {
    "path": "packages/client/src/components/ListBox/LIstTitle.js",
    "chars": 460,
    "preview": "import React from 'react';\n\nimport { ListBoxCss } from './listboxCss';\n\nexport const ListTitle = ({\n  title, smallTitle,"
  },
  {
    "path": "packages/client/src/components/ListBox/ListBoxWrap.js",
    "chars": 897,
    "preview": "import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { ListBoxCss } from './listboxCss';\n"
  },
  {
    "path": "packages/client/src/components/ListBox/listboxCss.js",
    "chars": 1028,
    "preview": "export const ListBoxCss = {\n  listWrap: 'border-t-1 border-gray-200 cursor-pointer relative',\n  listWrapPopup: 'border-t"
  },
  {
    "path": "packages/client/src/components/Loader/index.js",
    "chars": 562,
    "preview": "// import Loadable from 'react-loadable';\nimport React from 'react';\n// import Lottie from 'react-lottie';\n// import ani"
  },
  {
    "path": "packages/client/src/components/MenuList/index.js",
    "chars": 1341,
    "preview": "import React from 'react';\nimport { Link } from 'react-router-dom';\nimport ReactTooltip from 'react-tooltip';\nimport { M"
  },
  {
    "path": "packages/client/src/components/MenuList/menuListCss.js",
    "chars": 159,
    "preview": "export const MenulistCss = {\n  menuItem: 'flex items-center hover:bg-gray-100 ',\n  menuListLink: 'pt-2 pb-2 pl-3 pr-3',\n"
  },
  {
    "path": "packages/client/src/components/MessageNotify/index.js",
    "chars": 1963,
    "preview": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Icons } from '@dhiwise/icons';\nimport { Informes"
  },
  {
    "path": "packages/client/src/components/MessageNotify/informessageCss.js",
    "chars": 658,
    "preview": "export const InformessageCss = {\n  messagebox: 'relative flex items-start rounded-3 border-l-4',\n  messagenormal: 'p-3',"
  },
  {
    "path": "packages/client/src/components/NoData/index.js",
    "chars": 1976,
    "preview": "import React from 'react';\nimport Lottie from 'react-lottie';\nimport PropTypes from 'prop-types';\nimport animationData f"
  },
  {
    "path": "packages/client/src/components/NoData/notfoundproject.json",
    "chars": 25429,
    "preview": "{\"v\":\"5.4.1\",\"fr\":29.9700012207031,\"ip\":0,\"op\":132.00000537647,\"w\":1024,\"h\":768,\"nm\":\"Comp 1\",\"ddd\":0,\"assets\":[],\"layer"
  },
  {
    "path": "packages/client/src/components/PopOver/index.js",
    "chars": 806,
    "preview": "import React from 'react';\nimport Popover from 'react-popover';\n\nexport const PopOver = ({\n  data, popOverValue, classNa"
  },
  {
    "path": "packages/client/src/components/Popup/index.js",
    "chars": 3315,
    "preview": "import React from 'react';\nimport Modal from 'react-modal';\nimport PropTypes from 'prop-types';\nimport { Icons } from '@"
  },
  {
    "path": "packages/client/src/components/Radio/RadioGroup.js",
    "chars": 3396,
    "preview": "/* eslint-disable react/jsx-props-no-spreading */\nimport PropTypes from 'prop-types';\nimport React, { forwardRef, useSta"
  },
  {
    "path": "packages/client/src/components/Radio/radioCss.js",
    "chars": 214,
    "preview": "export const radioCss = {\n  radioLabel: 'text-primary-text text-base block w-full font-normal leading-6',\n  radioBoxLabe"
  },
  {
    "path": "packages/client/src/components/Radio/radiogroup.css",
    "chars": 4588,
    "preview": ".spark-radio-group {\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box;\n  /* margin: 0; */\n  padding: 0;\n  colo"
  },
  {
    "path": "packages/client/src/components/ReactDrawer/DrawerClose.js",
    "chars": 261,
    "preview": "import { Icons } from '@dhiwise/icons';\nimport React from 'react';\nimport { IconBox } from '../IconBox';\n\nexport const D"
  },
  {
    "path": "packages/client/src/components/ReactDrawer/DrawerFooter.js",
    "chars": 1270,
    "preview": "import React from 'react';\nimport ErrorMsg from '../ErrorMsg';\nimport { Button } from '../Button';\n\nexport const DrawerF"
  },
  {
    "path": "packages/client/src/components/ReactDrawer/DrawerHead.js",
    "chars": 288,
    "preview": "import React from 'react';\nimport { Heading } from '../Heading';\n\nexport const DrawerHead = ({ children, title, classNam"
  },
  {
    "path": "packages/client/src/components/ReactDrawer/index.js",
    "chars": 3519,
    "preview": "/* eslint-disable camelcase */\n/*!\n * ReactDrawer\n * Licensed under the MIT license\n *\n * Copyright (c) 2016 Tony Li\n */"
  },
  {
    "path": "packages/client/src/components/ReactDrawer/reactDrawerCss.js",
    "chars": 406,
    "preview": "export const ReactDrawerCss = {\n  drawer: 'fixed block bg-gray-black border-gray-100 border-t border-1 shadows-dw1 z-100"
  },
  {
    "path": "packages/client/src/components/SearchBox/RecentSearch.js",
    "chars": 748,
    "preview": "import React from 'react';\nimport { Icons } from '@dhiwise/icons';\nimport { DropdownMenu, MenuItem } from '../DropdownMe"
  },
  {
    "path": "packages/client/src/components/SearchBox/index.js",
    "chars": 2533,
    "preview": "/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport "
  },
  {
    "path": "packages/client/src/components/SearchBox/searchBoxCss.js",
    "chars": 433,
    "preview": "export const SearchBoxCss = {\n  wrapper: 'h-full flex items-center justify-center relative',\n  InputBox: 'bg-gray-input "
  },
  {
    "path": "packages/client/src/components/Select/index.js",
    "chars": 5954,
    "preview": "/* eslint-disable no-nested-ternary */\n/* eslint-disable react/jsx-props-no-spreading */\n/* eslint-disable react/jsx-pro"
  },
  {
    "path": "packages/client/src/components/Select/selectCss.css",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "packages/client/src/components/Select/selectCss.js",
    "chars": 9260,
    "preview": "/* eslint-disable no-nested-ternary */\nexport const SelectCss = {\n  selectlabel: 'mb-1.5 text-primary-text text-sm block"
  },
  {
    "path": "packages/client/src/components/SelectTree/index.js",
    "chars": 5670,
    "preview": "import { isEmpty, flatten } from 'lodash';\nimport React from 'react';\nimport DropdownTreeSelect from 'react-dropdown-tre"
  },
  {
    "path": "packages/client/src/components/SelectTree/selectTreeCss.css",
    "chars": 6213,
    "preview": ".select-tree{\n\n}\n.select-tree .dropdown,\n.select-tree .dropdown-trigger{\n    width: 100%;\n}\n.select-tree.react-dropdown-"
  },
  {
    "path": "packages/client/src/components/SidebarMenuList/index.js",
    "chars": 4086,
    "preview": "/* eslint-disable no-nested-ternary */\nimport React, { useState } from 'react';\nimport { MenuItem } from 'react-pro-side"
  },
  {
    "path": "packages/client/src/components/SidebarMenuList/sidebarMenuListCss.js",
    "chars": 387,
    "preview": "export const SidebarMenuListCss = {\n  menuList: 'text-primary-text border-b-1 border-gray-100 py-1',\n  menuActive: 'bg-p"
  },
  {
    "path": "packages/client/src/components/Spinner/index.js",
    "chars": 228,
    "preview": "import React from 'react';\nimport './spinner.css';\n\nexport function Spinner({ className }) {\n  return (\n    <div classNa"
  },
  {
    "path": "packages/client/src/components/Spinner/spinner.css",
    "chars": 1514,
    "preview": ".dhi-ellipsis {\n  display: block;\n  position: absolute;\n  right: 0px;\n  left:-7px;\n  top: 0;\n  bottom: 0;\n  margin: auto"
  },
  {
    "path": "packages/client/src/components/StepFooter/index.js",
    "chars": 1175,
    "preview": "import React from 'react';\nimport ErrorMsg from '../ErrorMsg';\nimport { Button } from '../Button';\n\nexport const StepFoo"
  },
  {
    "path": "packages/client/src/components/Tag/index.js",
    "chars": 1900,
    "preview": "import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Icons } from '@dhiwise/icons';\nimport { TagCss }"
  },
  {
    "path": "packages/client/src/components/Tag/tagCss.js",
    "chars": 687,
    "preview": "export const TagCss = {\n  tagWrap: 'cursor-pointer inline-flex justify-between items-center inline-block rounded-3',\n  t"
  },
  {
    "path": "packages/client/src/components/TextArea/index.js",
    "chars": 1201,
    "preview": "import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { TextAreaCss } from './textareaCs"
  },
  {
    "path": "packages/client/src/components/TextArea/textareaCss.js",
    "chars": 345,
    "preview": "export const TextAreaCss = {\n  lebel: 'mb-1.5 text-primary-text text-sm block w-full font-normal leading-5',\n  desc: 'mt"
  },
  {
    "path": "packages/client/src/components/ToggleBox/index.js",
    "chars": 605,
    "preview": "import React from 'react';\nimport { Icons } from '@dhiwise/icons';\n\nexport const ToggleBox = ({\n  onClick, isPin, isSide"
  },
  {
    "path": "packages/client/src/components/hooks/index.js",
    "chars": 66,
    "preview": "import useBoolean from './useBoolean';\n\nexport {\n  useBoolean,\n};\n"
  },
  {
    "path": "packages/client/src/components/hooks/useBoolean.js",
    "chars": 356,
    "preview": "import * as React from 'react';\n\nconst useBoolean = (status) => {\n  const [boolean, setBoolean] = React.useState(status)"
  },
  {
    "path": "packages/client/src/components/index.js",
    "chars": 2714,
    "preview": "import { Checkbox } from './Checkbox';\nimport { RadioGroup, Radio } from './Radio/RadioGroup';\nimport { Input } from './"
  },
  {
    "path": "packages/client/src/components/utils.js",
    "chars": 2130,
    "preview": "/* eslint-disable no-restricted-syntax */\nimport { useEffect, useRef } from 'react';\n\nexport function classNames(...rest"
  },
  {
    "path": "packages/client/src/config/LazyLoader.js",
    "chars": 635,
    "preview": "import Loadable from 'react-loadable';\nimport React from 'react';\n// import Lottie from 'react-lottie';\n// import animat"
  },
  {
    "path": "packages/client/src/config/Loader.js",
    "chars": 365,
    "preview": "import React from 'react';\n\nexport default function Loader() {\n  return (\n    <div className=\"w-full h-full fixed block "
  },
  {
    "path": "packages/client/src/config/Root.js",
    "chars": 2405,
    "preview": "import React from 'react';\nimport {\n  Route, Switch,\n} from 'react-router-dom';\nimport LazyLoader from './LazyLoader';\n\n"
  },
  {
    "path": "packages/client/src/config/loaderdata.json",
    "chars": 6348,
    "preview": "{\"v\":\"5.7.4\",\"fr\":30,\"ip\":0,\"op\":37,\"w\":500,\"h\":500,\"nm\":\"DhiWise Logo 2\",\"ddd\":0,\"assets\":[],\"layers\":[{\"ddd\":0,\"ind\":1"
  },
  {
    "path": "packages/client/src/constant/Nodecrud.js",
    "chars": 1091,
    "preview": "import { APPLICATION_CODE } from './Project/applicationStep';\n\nexport const RedirectUrl = {\n  [APPLICATION_CODE.nodeExpr"
  },
  {
    "path": "packages/client/src/constant/Project/applicationStep.js",
    "chars": 5113,
    "preview": "const USER_TYPE = {\n  USER: 1,\n  ADMIN: 2,\n};\nconst PLATFORM_TYPE = {\n  Admin: 'Admin',\n  Device: 'Mobile app',\n  Deskto"
  },
  {
    "path": "packages/client/src/constant/applicationConfigConstant.js",
    "chars": 1250,
    "preview": "import { APPLICATION_CODE, ORM_TYPE } from './Project/applicationStep';\n\nexport const UPLOAD_ATTACHMENT_OPTIONS = [\n  { "
  },
  {
    "path": "packages/client/src/constant/applicationConstant.js",
    "chars": 530,
    "preview": "export const CONSTANT_GENERATE_TYPE = {\n  AUTO: 1,\n  MANUAL: 2,\n};\nexport const NODE_DATA_TYPE = {\n  NUMBER: 'number',\n "
  },
  {
    "path": "packages/client/src/constant/buildProcessConstant.js",
    "chars": 341,
    "preview": "export const CODE_ARCHITECTURE = {\n  MVC: 'MVC',\n  CC: 'Clean Code',\n};\n\nexport const PROCESS_STEP_TYPE = {\n  PENDING: 1"
  },
  {
    "path": "packages/client/src/constant/common.js",
    "chars": 325,
    "preview": "export const PLATFORMS = [\n  { name: 'admin', id: 'admin' },\n  { name: 'mobile app', id: 'device' },\n  { name: 'desktop'"
  },
  {
    "path": "packages/client/src/constant/envVariable.js",
    "chars": 205,
    "preview": "export const ENV = {\n  DEVELOPMENT: 'DEVELOPMENT',\n  QA: 'QA',\n  PRODUCTION: 'PRODUCTION',\n};\n\nexport const TYPE_OPTIONS"
  },
  {
    "path": "packages/client/src/constant/fileTypeConstant.js",
    "chars": 877,
    "preview": "export const FILE_TYPE_EXTENSIONS = [\n  { id: 'png', name: 'png' },\n  { id: 'jpeg', name: 'jpeg' },\n  { id: 'jpg', name:"
  },
  {
    "path": "packages/client/src/constant/languageHeader.js",
    "chars": 1263,
    "preview": "import React from 'react';\nimport { Icons } from '@dhiwise/icons';\nimport { APPLICATION_CODE } from './Project/applicati"
  },
  {
    "path": "packages/client/src/constant/master.js",
    "chars": 320,
    "preview": "import { Input, Select, Checkbox } from '../components';\n\nexport const MASTER_PARENT_CODE = {\n  NOTIFICATION: 'NOTIFICAT"
  },
  {
    "path": "packages/client/src/constant/model.js",
    "chars": 27927,
    "preview": "import pluralize from 'pluralize';\nimport { toLower } from 'lodash';\nimport { APPLICATION_CODE, DATABASE_TYPE } from './"
  },
  {
    "path": "packages/client/src/constant/modelIndexing.js",
    "chars": 7044,
    "preview": "/* eslint-disable no-param-reassign */\nimport { cloneDeep } from 'lodash';\nimport { DB_TYPE } from './model';\n\nexport co"
  },
  {
    "path": "packages/client/src/constant/permission.js",
    "chars": 1882,
    "preview": "export const DEVICE_TYPE = {\n  ADMIN: 'admin',\n  DEVICE: 'device',\n  CLIENT: 'client',\n  DESKTOP: 'desktop',\n};\n\nexport "
  },
  {
    "path": "packages/client/src/constant/policy.js",
    "chars": 65,
    "preview": "export const POLICY_GENERATE_TYPE = {\n  AUTO: 1,\n  MANUAL: 2,\n};\n"
  },
  {
    "path": "packages/client/src/constant/reservedVariable.js",
    "chars": 965,
    "preview": "import { APPLICATION_CODE } from './Project/applicationStep';\n\nexport const RESERVED_VALIDATION_MESSAGE = 'Oops! You can"
  },
  {
    "path": "packages/client/src/constant/rolePermission.js",
    "chars": 383,
    "preview": "export const MODULE_NO = {\n  USER: 1,\n  PROJECT: 7,\n  APPLICATION: 11,\n  PLANS: 21,\n  INVITATION: 109,\n  PERMISSION: 28,"
  },
  {
    "path": "packages/client/src/constant/routes.js",
    "chars": 1030,
    "preview": "export const ROUTE_TYPES = [\n  { name: 'POST', id: 'post' },\n  { name: 'GET', id: 'get' },\n  { name: 'PUT', id: 'put' },"
  },
  {
    "path": "packages/client/src/constant/sidebar.js",
    "chars": 1628,
    "preview": "import React from 'react';\nimport { Icons } from '@dhiwise/icons';\n\nexport const sidebar = {\n  NODE_EXPRESS: [\n    {\n   "
  },
  {
    "path": "packages/client/src/container/CRUD/BuildCodeStructure/index.js",
    "chars": 1711,
    "preview": "import React from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport {\n  Heading, Popup, CardView,\n"
  },
  {
    "path": "packages/client/src/container/CRUD/Configuration/index.js",
    "chars": 8963,
    "preview": "/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimport { Controller, useForm } from 'react-"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/AddModalPopup/index.js",
    "chars": 6517,
    "preview": "import React from 'react';\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\nimport { Controller, us"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/DeleteModel.js",
    "chars": 4138,
    "preview": "import React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Icons } from '"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/EditorProvider/index.js",
    "chars": 23722,
    "preview": "/* eslint-disable no-param-reassign */\n/* eslint-disable radix */\nimport React, { useState } from 'react';\nimport { useS"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/EditorTabs.js",
    "chars": 2575,
    "preview": "/* eslint-disable no-nested-ternary */\n/* eslint-disable radix */\nimport React from 'react';\n\nimport { useSelector } fro"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/ModelHeader/index.js",
    "chars": 3108,
    "preview": "/* eslint-disable no-param-reassign */\nimport React from 'react';\nimport { shallowEqual, useDispatch, useSelector } from"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/ModelProvider.js",
    "chars": 1704,
    "preview": "import React, { useState } from 'react';\nimport { flatten } from 'lodash';\nimport { useBoolean } from '../../../../compo"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/AddRelation/index.js",
    "chars": 9151,
    "preview": "import React, { useState } from 'react';\nimport Popover from 'react-popover';\nimport { Icons } from '@dhiwise/icons';\nim"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/Enum/SelectEnumValue.js",
    "chars": 2703,
    "preview": "/* eslint-disable react/jsx-props-no-spreading */\nimport { isEmpty } from 'lodash';\nimport React, { useState } from 'rea"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/Enum/index.js",
    "chars": 8152,
    "preview": "import React, { useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport Popover from 're"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/TableData/DeleteRow.js",
    "chars": 5045,
    "preview": "import React from 'react';\nimport { isArray, last } from 'lodash';\nimport { Icons } from '@dhiwise/icons';\nimport { Tabl"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/TableData/RowSuspense.js",
    "chars": 184,
    "preview": "import React from 'react';\n\nconst RowSuspense = ({ children }) => <React.Suspense fallback={<div>Loading...</div>}>{chil"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/TableData/Sortable.js",
    "chars": 395,
    "preview": "import React from 'react';\nimport { SortableHandle } from 'react-sortable-hoc';\nimport { Icons } from '@dhiwise/icons';\n"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/TableData/TableRow.js",
    "chars": 48570,
    "preview": "/* eslint-disable no-nested-ternary */\n/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimpo"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/TableData/TableSubRow.js",
    "chars": 28543,
    "preview": "/* eslint-disable no-nested-ternary */\n/* eslint-disable react/jsx-props-no-spreading */\nimport React from 'react';\nimpo"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/TableData/sqlTableRow.loader.js",
    "chars": 1611,
    "preview": "import React from 'react';\nimport ContentLoader from 'react-content-loader';\n\nconst MyLoader = ({ rows }) => (\n  <>\n    "
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/TableData/tableRow.loader.js",
    "chars": 1534,
    "preview": "import React from 'react';\nimport ContentLoader from 'react-content-loader';\n\nconst MyLoader = ({ rows }) => (\n  <>\n    "
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/TableHead.js",
    "chars": 3188,
    "preview": "import React from 'react';\nimport ReactTooltip from 'react-tooltip';\nimport { Icons } from '@dhiwise/icons';\nimport { Ta"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/components/index.js",
    "chars": 5804,
    "preview": "/* eslint-disable react/jsx-props-no-spreading */\nimport { uniqBy } from 'lodash';\nimport React, { useEffect } from 'rea"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/TableView/index.js",
    "chars": 12655,
    "preview": "/* eslint-disable no-plusplus */\n/* eslint-disable react/jsx-props-no-spreading */\n/* eslint-disable radix */\nimport Rea"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Editor/index.js",
    "chars": 32919,
    "preview": "/* eslint-disable no-param-reassign */\n/* eslint-disable no-nested-ternary */\n/* eslint-disable radix */\nimport React, {"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/HookSetup/HookEditor.js",
    "chars": 1613,
    "preview": "import React, { useState } from 'react';\nimport { debounce } from 'lodash';\nimport { CodeEditor } from '../../../../comp"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/HookSetup/HookList.js",
    "chars": 1980,
    "preview": "import React from 'react';\nimport { Menu } from 'react-pro-sidebar';\nimport { Icons } from '@dhiwise/icons';\nimport { Si"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/HookSetup/index.js",
    "chars": 3117,
    "preview": "import React, { useState } from 'react';\nimport { cloneDeep } from 'lodash';\nimport { useSelector } from 'react-redux';\n"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Indexing/Draggable/useDraggable.js",
    "chars": 384,
    "preview": "// import React from 'react';\nimport { useDrag } from 'react-dnd';\n\nconst DND_ITEM_TYPE = 'row';\nexport const useDraggab"
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Indexing/Draggable/useDroppable.js",
    "chars": 1093,
    "preview": "import React from 'react';\nimport { useDrop } from 'react-dnd';\n\nconst DND_ITEM_TYPE = 'row';\nexport const useDroppable "
  },
  {
    "path": "packages/client/src/container/CRUD/Modal/Indexing/ModelIndexProvider.js",
    "chars": 3410,
    "preview": "import React from 'react';\nimport { cloneDeep } from 'lodash';\nimport { useSelector } from 'react-redux';\nimport { useBo"
  }
]

// ... and 787 more files (download for full content)

About this extraction

This page contains the full source code of the DhiWise/dhiwise-nodejs GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 987 files (3.2 MB), approximately 893.8k tokens, and a symbol index with 503 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!