taon 21.0.52 → 21.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/browser/package.json +1 -1
  2. package/browser-prod/package.json +1 -1
  3. package/icon-menu-taon.svg +15 -15
  4. package/lib/build-info._auto-generated_.d.ts +1 -1
  5. package/lib/build-info._auto-generated_.js +1 -1
  6. package/lib/package.json +1 -1
  7. package/lib/ui/index.js +2 -2
  8. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  9. package/lib-prod/base-classes/base-abstract-entity.js +19 -0
  10. package/lib-prod/base-classes/base-angular-service.js +84 -0
  11. package/lib-prod/base-classes/base-class.js +35 -0
  12. package/lib-prod/base-classes/{base-context.ts → base-context.js} +13 -15
  13. package/lib-prod/base-classes/base-controller.js +154 -0
  14. package/lib-prod/base-classes/base-crud-controller.js +264 -0
  15. package/lib-prod/base-classes/base-custom-repository.js +9 -0
  16. package/lib-prod/base-classes/{base-electron-service.ts → base-electron-service.js} +1 -12
  17. package/lib-prod/base-classes/base-entity.js +22 -0
  18. package/lib-prod/base-classes/base-file-upload.middleware.js +75 -0
  19. package/lib-prod/base-classes/base-injector.js +184 -0
  20. package/lib-prod/base-classes/base-middleware.js +9 -0
  21. package/lib-prod/base-classes/base-migration.js +20 -0
  22. package/lib-prod/base-classes/{base-provider.ts → base-provider.js} +2 -2
  23. package/lib-prod/base-classes/base-repository.js +617 -0
  24. package/lib-prod/base-classes/base-subscriber-for-entity.js +145 -0
  25. package/lib-prod/base-classes/{base.ts → base.js} +2 -15
  26. package/lib-prod/{build-info._auto-generated_.ts → build-info._auto-generated_.js} +1 -2
  27. package/lib-prod/config/controller-config.js +28 -0
  28. package/lib-prod/config/controller-options.js +3 -0
  29. package/lib-prod/config/method-config.js +7 -0
  30. package/lib-prod/config/param-config.js +3 -0
  31. package/lib-prod/constants.js +33 -0
  32. package/lib-prod/context-db-migrations.js +342 -0
  33. package/lib-prod/create-context.js +217 -0
  34. package/lib-prod/decorators/classes/controller-decorator.js +17 -0
  35. package/lib-prod/decorators/classes/entity-decorator.js +28 -0
  36. package/lib-prod/decorators/classes/middleware-decorator.js +16 -0
  37. package/lib-prod/decorators/classes/migration-decorator.js +15 -0
  38. package/lib-prod/decorators/classes/provider-decorator.js +15 -0
  39. package/lib-prod/decorators/classes/repository-decorator.js +15 -0
  40. package/lib-prod/decorators/classes/subscriber-decorator.js +15 -0
  41. package/lib-prod/decorators/decorator-abstract-opt.js +2 -0
  42. package/lib-prod/decorators/http/http-decorators.js +20 -0
  43. package/lib-prod/decorators/http/http-methods-decorators.js +102 -0
  44. package/lib-prod/decorators/http/http-params-decorators.js +42 -0
  45. package/lib-prod/dependency-injection/di-container.js +30 -0
  46. package/lib-prod/endpoint-context-storage.js +31 -0
  47. package/lib-prod/endpoint-context.js +2397 -0
  48. package/lib-prod/entity-process.js +225 -0
  49. package/lib-prod/env/{env.angular-node-app.ts → env.angular-node-app.js} +1 -1
  50. package/lib-prod/env/{env.docs-webapp.ts → env.docs-webapp.js} +1 -1
  51. package/lib-prod/env/{env.electron-app.ts → env.electron-app.js} +1 -1
  52. package/lib-prod/env/{env.mobile-app.ts → env.mobile-app.js} +1 -1
  53. package/lib-prod/env/{env.npm-lib-and-cli-tool.ts → env.npm-lib-and-cli-tool.js} +1 -1
  54. package/lib-prod/env/{env.vscode-plugin.ts → env.vscode-plugin.js} +1 -1
  55. package/lib-prod/express-types.js +1 -0
  56. package/lib-prod/formly/formly.models.js +1 -0
  57. package/lib-prod/formly/fromly.js +205 -0
  58. package/lib-prod/formly/type-from-entity.js +51 -0
  59. package/lib-prod/get-response-value.js +22 -0
  60. package/lib-prod/global-state/taon-global-state/{index.ts → index.js} +2 -2
  61. package/lib-prod/global-state/taon-global-state/{taon-global-state.abstract.context.ts → taon-global-state.abstract.context.js} +9 -11
  62. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +7 -0
  63. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +42 -0
  64. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +35 -0
  65. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +12 -0
  66. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +44 -0
  67. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +12 -0
  68. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +46 -0
  69. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +22 -0
  70. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +11 -0
  71. package/lib-prod/global-state/taon-transaction-registry/{index.ts → index.js} +2 -2
  72. package/lib-prod/global-state/taon-transaction-registry/{taon-transaction-registry.abstract.context.ts → taon-transaction-registry.abstract.context.js} +10 -12
  73. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +5 -0
  74. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +36 -0
  75. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +36 -0
  76. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +12 -0
  77. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +7 -0
  78. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +12 -0
  79. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +31 -0
  80. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +22 -0
  81. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +5 -0
  82. package/lib-prod/helpers/class-helpers.js +228 -0
  83. package/lib-prod/helpers/clone-obj.js +17 -0
  84. package/lib-prod/helpers/taon-helpers.js +147 -0
  85. package/lib-prod/{index._auto-generated_.ts → index._auto-generated_.js} +1 -1
  86. package/lib-prod/index.js +252 -0
  87. package/lib-prod/{inject.ts → inject.js} +35 -57
  88. package/lib-prod/migrations/index.js +2 -0
  89. package/lib-prod/migrations/{migrations_index._auto-generated_.ts → migrations_index._auto-generated_.js} +0 -2
  90. package/lib-prod/models.js +78 -0
  91. package/lib-prod/orm/columns.js +64 -0
  92. package/lib-prod/orm/index.js +56 -0
  93. package/lib-prod/package.json +1 -1
  94. package/lib-prod/realtime/realtime-client.js +198 -0
  95. package/lib-prod/realtime/realtime-core.js +81 -0
  96. package/lib-prod/realtime/realtime-server.js +237 -0
  97. package/lib-prod/realtime/realtime-strategy/{index.ts → index.js} +1 -1
  98. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +280 -0
  99. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +289 -0
  100. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +27 -0
  101. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +11 -0
  102. package/lib-prod/realtime/realtime-subs-manager.js +88 -0
  103. package/lib-prod/realtime/realtime.models.js +2 -0
  104. package/lib-prod/symbols.js +108 -0
  105. package/lib-prod/ui/index.js +1 -0
  106. package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -0
  107. package/lib-prod/validators.js +80 -0
  108. package/lib-prod.split-namespaces.json +31 -91
  109. package/package.json +1 -1
  110. package/websql/package.json +1 -1
  111. package/websql-prod/package.json +1 -1
  112. package/lib-prod/base-classes/base-abstract-entity.ts +0 -34
  113. package/lib-prod/base-classes/base-angular-service.ts +0 -107
  114. package/lib-prod/base-classes/base-class.ts +0 -46
  115. package/lib-prod/base-classes/base-controller.ts +0 -240
  116. package/lib-prod/base-classes/base-crud-controller.ts +0 -298
  117. package/lib-prod/base-classes/base-custom-repository.ts +0 -10
  118. package/lib-prod/base-classes/base-entity.ts +0 -28
  119. package/lib-prod/base-classes/base-file-upload.middleware.ts +0 -92
  120. package/lib-prod/base-classes/base-injector.ts +0 -278
  121. package/lib-prod/base-classes/base-middleware.ts +0 -71
  122. package/lib-prod/base-classes/base-migration.ts +0 -26
  123. package/lib-prod/base-classes/base-repository.ts +0 -942
  124. package/lib-prod/base-classes/base-subscriber-for-entity.ts +0 -196
  125. package/lib-prod/config/controller-config.ts +0 -58
  126. package/lib-prod/config/controller-options.ts +0 -19
  127. package/lib-prod/config/method-config.ts +0 -55
  128. package/lib-prod/config/param-config.ts +0 -16
  129. package/lib-prod/constants.ts +0 -63
  130. package/lib-prod/context-db-migrations.ts +0 -488
  131. package/lib-prod/create-context.ts +0 -345
  132. package/lib-prod/decorators/classes/controller-decorator.ts +0 -25
  133. package/lib-prod/decorators/classes/entity-decorator.ts +0 -57
  134. package/lib-prod/decorators/classes/middleware-decorator.ts +0 -29
  135. package/lib-prod/decorators/classes/migration-decorator.ts +0 -27
  136. package/lib-prod/decorators/classes/provider-decorator.ts +0 -28
  137. package/lib-prod/decorators/classes/repository-decorator.ts +0 -26
  138. package/lib-prod/decorators/classes/subscriber-decorator.ts +0 -28
  139. package/lib-prod/decorators/decorator-abstract-opt.ts +0 -4
  140. package/lib-prod/decorators/http/http-decorators.ts +0 -26
  141. package/lib-prod/decorators/http/http-methods-decorators.ts +0 -275
  142. package/lib-prod/decorators/http/http-params-decorators.ts +0 -105
  143. package/lib-prod/dependency-injection/di-container.ts +0 -39
  144. package/lib-prod/endpoint-context-storage.ts +0 -47
  145. package/lib-prod/endpoint-context.ts +0 -3110
  146. package/lib-prod/entity-process.ts +0 -286
  147. package/lib-prod/express-types.ts +0 -4
  148. package/lib-prod/formly/formly.models.ts +0 -7
  149. package/lib-prod/formly/fromly.ts +0 -261
  150. package/lib-prod/formly/type-from-entity.ts +0 -80
  151. package/lib-prod/get-response-value.ts +0 -30
  152. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.ts +0 -9
  153. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.ts +0 -44
  154. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.ts +0 -40
  155. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.ts +0 -12
  156. package/lib-prod/global-state/taon-global-state/taon-global-state.models.ts +0 -48
  157. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.ts +0 -16
  158. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.ts +0 -47
  159. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.ts +0 -18
  160. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.ts +0 -21
  161. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.ts +0 -7
  162. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.ts +0 -38
  163. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.ts +0 -54
  164. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.ts +0 -12
  165. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.ts +0 -6
  166. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.ts +0 -16
  167. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.ts +0 -29
  168. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.ts +0 -20
  169. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.ts +0 -9
  170. package/lib-prod/helpers/class-helpers.ts +0 -315
  171. package/lib-prod/helpers/clone-obj.ts +0 -24
  172. package/lib-prod/helpers/taon-helpers.ts +0 -181
  173. package/lib-prod/index.ts +0 -323
  174. package/lib-prod/lib-info.md +0 -8
  175. package/lib-prod/migrations/index.ts +0 -2
  176. package/lib-prod/migrations/migrations-info.md +0 -6
  177. package/lib-prod/models.ts +0 -427
  178. package/lib-prod/orm/columns.ts +0 -121
  179. package/lib-prod/orm/index.ts +0 -62
  180. package/lib-prod/realtime/realtime-client.ts +0 -288
  181. package/lib-prod/realtime/realtime-core.ts +0 -134
  182. package/lib-prod/realtime/realtime-server.ts +0 -398
  183. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.ts +0 -344
  184. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.ts +0 -349
  185. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.ts +0 -30
  186. package/lib-prod/realtime/realtime-strategy/realtime-strategy.ts +0 -21
  187. package/lib-prod/realtime/realtime-subs-manager.ts +0 -127
  188. package/lib-prod/realtime/realtime.models.ts +0 -33
  189. package/lib-prod/symbols.ts +0 -136
  190. package/lib-prod/ui/index.ts +0 -1
  191. package/lib-prod/ui/taon-admin-mode-configuration/index.ts +0 -1
  192. package/lib-prod/validators.ts +0 -103
  193. /package/lib-prod/env/{index.ts → index.js} +0 -0
@@ -1,240 +0,0 @@
1
- import * as FormData from 'form-data'; // @backend
2
- import {
3
- RestErrorResponseWrapper,
4
- RestResponseWrapper,
5
- HttpResponseError,
6
- } from 'ng2-rest/lib-prod';
7
- import { Models__NS__BackendError as Ng2RestModels__NS__BackendError, Models__NS__BaseBody as Ng2RestModels__NS__BaseBody, Models__NS__BaseResponse as Ng2RestModels__NS__BaseResponse, Models__NS__ErrorBody as Ng2RestModels__NS__ErrorBody, Models__NS__FnMethodsHttp as Ng2RestModels__NS__FnMethodsHttp, Models__NS__FnMethodsHttpWithMock as Ng2RestModels__NS__FnMethodsHttpWithMock, Models__NS__HandleResultOptions as Ng2RestModels__NS__HandleResultOptions, Models__NS__HandleResultSourceRequestOptions as Ng2RestModels__NS__HandleResultSourceRequestOptions, Models__NS__HttpBody as Ng2RestModels__NS__HttpBody, Models__NS__HttpCode as Ng2RestModels__NS__HttpCode, Models__NS__HttpResponse as Ng2RestModels__NS__HttpResponse, Models__NS__MetaRequest as Ng2RestModels__NS__MetaRequest, Models__NS__MethodWithBody as Ng2RestModels__NS__MethodWithBody, Models__NS__MockController as Ng2RestModels__NS__MockController, Models__NS__MockHttp as Ng2RestModels__NS__MockHttp, Models__NS__MockResponse as Ng2RestModels__NS__MockResponse, Models__NS__NestedParams as Ng2RestModels__NS__NestedParams, Models__NS__Ng2RestAxiosRequestConfig as Ng2RestModels__NS__Ng2RestAxiosRequestConfig, Models__NS__Ng2RestMethods as Ng2RestModels__NS__Ng2RestMethods, Models__NS__PromiseObservableMix as Ng2RestModels__NS__PromiseObservableMix, Models__NS__ReplayData as Ng2RestModels__NS__ReplayData, Models__NS__ReqParams as Ng2RestModels__NS__ReqParams, Models__NS__ResourceModel as Ng2RestModels__NS__ResourceModel, Models__NS__ResponseTypeAxios as Ng2RestModels__NS__ResponseTypeAxios, Models__NS__UrlParams as Ng2RestModels__NS__UrlParams } from 'ng2-rest/lib-prod';
8
- import { crossPlatformPath, fse, path, CoreModels__NS__BaseProjectType, CoreModels__NS__BaseProjectTypeArr, CoreModels__NS__CfontAlign, CoreModels__NS__CfontStyle, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__ContentType, CoreModels__NS__ContentTypeKeys, CoreModels__NS__CoreLibCategory, CoreModels__NS__CutableFileExt, CoreModels__NS__DatabaseType, CoreModels__NS__EnvironmentName, CoreModels__NS__EnvironmentNameTaon, CoreModels__NS__ExecuteOptions, CoreModels__NS__FileEvent, CoreModels__NS__FileExtension, CoreModels__NS__FrameworkVersion, CoreModels__NS__GlobalDependencies, CoreModels__NS__HttpMethod, CoreModels__NS__ImageFileExtension, CoreModels__NS__ImageFileExtensionArr, CoreModels__NS__InstalationType, CoreModels__NS__InstalationTypeArr, CoreModels__NS__LibType, CoreModels__NS__localhostDomain, CoreModels__NS__localhostIp127, CoreModels__NS__ManifestIcon, CoreModels__NS__MediaType, CoreModels__NS__MediaTypeAllArr, CoreModels__NS__MimeType, CoreModels__NS__mimeTypes, CoreModels__NS__MimeTypesObj, CoreModels__NS__NewFactoryType, CoreModels__NS__NpmInstallOptions, CoreModels__NS__NpmSpecialVersions, CoreModels__NS__OrignalClassKey, CoreModels__NS__OutFolder, CoreModels__NS__Package, CoreModels__NS__ParamType, CoreModels__NS__parentLocation, CoreModels__NS__pathToChildren, CoreModels__NS__Position, CoreModels__NS__PreReleaseVersionTag, CoreModels__NS__PROGRESS_DATA_TYPE, CoreModels__NS__PUSHTYPE, CoreModels__NS__PwaManifest, CoreModels__NS__ReleaseVersionType, CoreModels__NS__ReleaseVersionTypeEnum, CoreModels__NS__RunOptions, CoreModels__NS__Size, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, CoreModels__NS__SPECIAL_WORKER_READY_MESSAGE, CoreModels__NS__tagForTaskName, CoreModels__NS__TaonHttpErrorCustomProp, CoreModels__NS__TsUsage, CoreModels__NS__UIFramework, CoreModels__NS__UploadedBackendFile, CoreModels__NS__VSCodeSettings, Helpers__NS___fixCommand, Helpers__NS__bigMaxBuffer, Helpers__NS__checkProcess, Helpers__NS__cleanExit, Helpers__NS__clearConsole, Helpers__NS__command, Helpers__NS__commandOutputAsString, Helpers__NS__commandOutputAsStringAsync, Helpers__NS__compilationWrapper, Helpers__NS__contain, Helpers__NS__createFolder, Helpers__NS__createSymLink, Helpers__NS__error, Helpers__NS__execute, Helpers__NS__exists, Helpers__NS__filesFrom, Helpers__NS__foldersFrom, Helpers__NS__getFilesFrom, Helpers__NS__getFoldersFrom, Helpers__NS__getIsBrowser, Helpers__NS__getIsElectron, Helpers__NS__getIsNode, Helpers__NS__getIsRunningInGitBash, Helpers__NS__getIsSupportedTaonTerminal, Helpers__NS__getIsVerboseMode, Helpers__NS__getIsWebSQL, Helpers__NS__getIsWsl, Helpers__NS__getStdio, Helpers__NS__hideNodeWarnings, Helpers__NS__info, Helpers__NS__isBlob, Helpers__NS__isBuffer, Helpers__NS__isClass, Helpers__NS__isExistedSymlink, Helpers__NS__isFile, Helpers__NS__isFolder, Helpers__NS__isRunningInDocker, Helpers__NS__isRunningInLinuxGraphicsCapableEnvironment, Helpers__NS__isSymlinkFileExitedOrUnexisted, Helpers__NS__isSymlinkThatMatchesUrl, Helpers__NS__isUnexistedLink, Helpers__NS__killOnPort, Helpers__NS__killProcess, Helpers__NS__killProcessByPort, Helpers__NS__linksToFolderFrom, Helpers__NS__linksToFoldersFrom, Helpers__NS__log, Helpers__NS__logError, Helpers__NS__logInfo, Helpers__NS__logProc, Helpers__NS__logSuccess, Helpers__NS__logWarn, Helpers__NS__mediaTypeFromSrc, Helpers__NS__mkdirp, Helpers__NS__modifyLineByLine, Helpers__NS__msgCacheClear, Helpers__NS__openFolderInFileExplorer, Helpers__NS__parse, Helpers__NS__pathContainLink, Helpers__NS__questionYesNo, Helpers__NS__readFile, Helpers__NS__readJson, Helpers__NS__readJson5, Helpers__NS__readJsonC, Helpers__NS__relative, Helpers__NS__remove, Helpers__NS__removeEmptyLineFromString, Helpers__NS__removeFileIfExists, Helpers__NS__removeFolderIfExists, Helpers__NS__removeIfExists, Helpers__NS__removeSlashAtBegin, Helpers__NS__removeSlashAtEnd, Helpers__NS__removeSymlinks, Helpers__NS__renderError, Helpers__NS__replaceLinesInFile, Helpers__NS__run, Helpers__NS__runAsyncIn, Helpers__NS__runSyncIn, Helpers__NS__runSyncOrAsync, Helpers__NS__sleep, Helpers__NS__stopApplication, Helpers__NS__stringify, Helpers__NS__success, Helpers__NS__taskDone, Helpers__NS__taskStarted, Helpers__NS__throwError, Helpers__NS__timeout, Helpers__NS__tryCatchError, Helpers__NS__tryReadFile, Helpers__NS__tryRemoveDir, Helpers__NS__values, Helpers__NS__wait, Helpers__NS__warn, Helpers__NS__writeFile, Helpers__NS__writeJson, Helpers__NS__writeJson5, Helpers__NS__writeJsonC, UtilsTerminal__NS__clearConsole, UtilsTerminal__NS__confirm, UtilsTerminal__NS__drawBigText, UtilsTerminal__NS__getTerminalHeight, UtilsTerminal__NS__input, UtilsTerminal__NS__isVerboseModeTaon, UtilsTerminal__NS__multiselect, UtilsTerminal__NS__multiselectActionAndExecute, UtilsTerminal__NS__pipeEnterToStdin, UtilsTerminal__NS__pressAnyKey, UtilsTerminal__NS__pressAnyKeyToContinueAsync, UtilsTerminal__NS__pressAnyKeyToTryAgainErrorOccurred, UtilsTerminal__NS__pressKeyAndContinueSync, UtilsTerminal__NS__previewLongList, UtilsTerminal__NS__previewLongListGitLogLike, UtilsTerminal__NS__select, UtilsTerminal__NS__selectActionAndExecute, UtilsTerminal__NS__SelectChoice, UtilsTerminal__NS__SelectChoiceValue, UtilsTerminal__NS__wait, UtilsTerminal__NS__waitForUserAnyKey, UtilsTerminal__NS__waitMilliseconds } from 'tnp-core/lib-prod';
9
-
10
- import { TaonController } from '../decorators/classes/controller-decorator';
11
- import { POST } from '../decorators/http/http-methods-decorators';
12
- import { Body, Path, Query } from '../decorators/http/http-params-decorators';
13
- import type { EndpointContext } from '../endpoint-context';
14
- import type { ContextsEndpointStorage } from '../endpoint-context-storage';
15
- import type { Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__ConnectionOptionsLogs, Models__NS__ContextOptions, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__DBRecreateMode, Models__NS__FrameworkMode, Models__NS__Http__NS__AsyncResponse, Models__NS__Http__NS__AuthCallBack, Models__NS__Http__NS__ClientAction, Models__NS__Http__NS__ContextENDPOINT, Models__NS__Http__NS__ExpressContext, Models__NS__Http__NS__FormlyFromType, Models__NS__Http__NS__MixResponse, Models__NS__Http__NS__Response, Models__NS__Http__NS__ResponseFuncOpt, Models__NS__Http__NS__SyncResponse, Models__NS__Http__NS__SyncResponseFunc, Models__NS__ISession, Models__NS__MiddlewareType, Models__NS__StartParams, Models__NS__TaonCtxCloneParams, Models__NS__TaonInitializeParams } from '../models';
16
-
17
- import { TaonBaseFileUploadMiddleware } from './base-file-upload.middleware';
18
- import { TaonBaseInjector } from './base-injector';
19
-
20
- export interface MulterFileUploadResponse {
21
- ok: boolean;
22
- originalName: string;
23
- /**
24
- * name change to this to avoid confusion with originalname
25
- * (similar to originalname with added uniq part)
26
- */
27
- savedAs: string;
28
- size: number;
29
- mimetype: string;
30
- }
31
-
32
- @TaonController<TaonBaseController>({
33
- className: 'TaonBaseController',
34
- })
35
- export class TaonBaseController<
36
- UPLOAD_FILE_QUERY_PARAMS = {},
37
- > extends TaonBaseInjector {
38
- /**
39
- * Hook that is called when taon app is inited
40
- * (all contexts are created and inited)
41
- */
42
- async afterAllCtxInited(options: {
43
- ctxStorage: ContextsEndpointStorage;
44
- }): Promise<void> {}
45
-
46
- //#region upload form data to server
47
- @POST({
48
- overrideContentType: 'multipart/form-data',
49
- middlewares: ({ parentMiddlewares }) => ({
50
- ...parentMiddlewares,
51
- TaonBaseFileUploadMiddleware,
52
- }),
53
- })
54
- uploadFormDataToServer(
55
- @Body() formData: FormData,
56
- @Query() queryParams?: UPLOAD_FILE_QUERY_PARAMS,
57
- ): Models__NS__Http__NS__Response<MulterFileUploadResponse[]> {
58
- //#region @backendFunc
59
- return async (req, res) => {
60
- const files = req.files;
61
- if (!files) {
62
- throw 'No file(s) received';
63
- }
64
- const responseArr = (files as any[]).map(f => {
65
- const savedAbs = crossPlatformPath(path.resolve(f.path));
66
- // const savedRel = crossPlatformPath(
67
- // path.relative(this.ctx.cwd, savedAbs),
68
- // );
69
- return {
70
- ok: true,
71
- originalName: f.originalname,
72
- savedAs: path.basename(savedAbs),
73
- // savedPath: void 0, // not needed
74
- size: f.size,
75
- mimetype: f.mimetype,
76
- };
77
- });
78
- // console.log(responseArr);
79
- for (const res of responseArr) {
80
- await this.afterFileUploadAction(res, queryParams || ({} as any));
81
- }
82
- return responseArr;
83
- };
84
- //#endregion
85
- }
86
- //#endregion
87
-
88
- //#region after file upload hook
89
- /**
90
- * Hook after file is uploaded
91
- * through `uploadFormDataToServer` or `uploadLocalFileToServer`
92
- */
93
- protected afterFileUploadAction(
94
- file?: MulterFileUploadResponse,
95
- queryParams?: UPLOAD_FILE_QUERY_PARAMS,
96
- ): void | Promise<void> {
97
- // empty
98
- }
99
-
100
- //#region upload local file to server
101
- async uploadLocalFileToServer(
102
- absFilePath: string,
103
- options?: Pick<Ng2RestModels__NS__Ng2RestAxiosRequestConfig, 'onUploadProgress'>,
104
- queryParams?: UPLOAD_FILE_QUERY_PARAMS,
105
- ): Promise<MulterFileUploadResponse[]> {
106
- //#region @backendFunc
107
- const stat = fse.statSync(absFilePath);
108
- const stream = fse.createReadStream(absFilePath);
109
-
110
- const form = new FormData();
111
- form.append('file', stream, {
112
- filename: path.basename(absFilePath),
113
- knownLength: stat.size,
114
- });
115
-
116
- const data = await this.uploadFormDataToServer(form, queryParams).request(
117
- options || {},
118
- );
119
- return data.body.json;
120
- //#endregion
121
- }
122
- //#endregion
123
-
124
- // async check() {
125
- // await this._waitForProperStatusChange({
126
- // request: () => this.uploadFormDataToServer(void 0, void 0).request(),
127
- // statusCheck: resp => resp.body.json[0].ok,
128
- // });
129
- // }
130
-
131
- /**
132
- * Easy way to wait for status change with http (1s default) pooling.
133
- *
134
- * example (in sub class):
135
- * ```ts
136
- async check() {
137
- await this.waitForProperStatusChange({
138
- request: () => this.uploadFormDataToServer(void 0, void 0).request(),
139
- statusCheck: resp => resp.body.json[0].ok,
140
- });
141
- }
142
- * ```
143
- */
144
- public async _waitForProperStatusChange<T>(options: {
145
- actionName: string;
146
- /**
147
- * Request for pooling
148
- */
149
- request: (opt?: {
150
- /**
151
- * optional index number to identify request in logs
152
- * (starts from 0 and increments by 1 on each try)
153
- */
154
- reqIndexNum?: number;
155
- httpErrorsCount?: number;
156
- }) => ReturnType<Models__NS__Http__NS__Response<T>['request']>;
157
- poolingInterval?: number;
158
- /**
159
- * default infinite tries
160
- */
161
- maxTries?: number;
162
- /**
163
- * default infiniti allowed http errors
164
- */
165
- allowedHttpErrors?: number;
166
- /**
167
- * condition to be met
168
- */
169
- statusCheck?: (
170
- response: Awaited<ReturnType<typeof options.request>>,
171
- ) => boolean;
172
- /**
173
- * if return true.. loop will continue
174
- * if false .. will exit the loop
175
- */
176
- loopRequestsOnBackendError?: (opt: {
177
- unknownError: Error;
178
- unknownHttpError: HttpResponseError<any>;
179
- taonError: HttpResponseError<RestErrorResponseWrapper>;
180
- reqIndexNum?: number;
181
- httpErrorsCount?: number;
182
- }) => boolean | Promise<boolean>;
183
- }): Promise<void> {
184
- const poolingInterval = options.poolingInterval || 1000;
185
- const taonRequest = options.request;
186
- let maxTries = options.maxTries || Number.POSITIVE_INFINITY;
187
- let i = 0;
188
- let httpErrorsCount = 0;
189
- while (true) {
190
- await UtilsTerminal__NS__waitMilliseconds(poolingInterval);
191
- try {
192
- const resp = await taonRequest({
193
- reqIndexNum: i,
194
- httpErrorsCount,
195
- });
196
- if (options.statusCheck && options.statusCheck(resp)) {
197
- return;
198
- }
199
- } catch (error: Error | HttpResponseError | any) {
200
- httpErrorsCount++;
201
- if (options.loopRequestsOnBackendError) {
202
- const isProperTaonError =
203
- error instanceof HttpResponseError &&
204
- error.body.json[CoreModels__NS__TaonHttpErrorCustomProp];
205
- const isHttpError =
206
- error instanceof HttpResponseError && !isProperTaonError;
207
- const isUnknownError = !(error instanceof HttpResponseError);
208
-
209
- const resBool = await options.loopRequestsOnBackendError({
210
- taonError: isProperTaonError ? error : void 0,
211
- unknownHttpError: isHttpError ? error : void 0,
212
- unknownError: isUnknownError ? (error as Error) : void 0,
213
- reqIndexNum: i,
214
- httpErrorsCount,
215
- });
216
- if (resBool) {
217
- i++;
218
- continue;
219
- } else {
220
- return;
221
- }
222
- }
223
- if (
224
- httpErrorsCount >
225
- (options.allowedHttpErrors || Number.POSITIVE_INFINITY)
226
- ) {
227
- throw new Error(
228
- `Too many http errors (${httpErrorsCount}) for "${options.actionName}".`,
229
- );
230
- }
231
- }
232
-
233
- if (i++ > maxTries) {
234
- throw new Error(
235
- `Timeout waiting for "${options.actionName}" to be finished. Waited for ${maxTries} seconds`,
236
- );
237
- }
238
- }
239
- }
240
- }
@@ -1,298 +0,0 @@
1
- //#region imports
2
- import { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith, Helpers__NS___fixCommand, Helpers__NS__bigMaxBuffer, Helpers__NS__checkProcess, Helpers__NS__cleanExit, Helpers__NS__clearConsole, Helpers__NS__command, Helpers__NS__commandOutputAsString, Helpers__NS__commandOutputAsStringAsync, Helpers__NS__compilationWrapper, Helpers__NS__contain, Helpers__NS__createFolder, Helpers__NS__createSymLink, Helpers__NS__error, Helpers__NS__execute, Helpers__NS__exists, Helpers__NS__filesFrom, Helpers__NS__foldersFrom, Helpers__NS__getFilesFrom, Helpers__NS__getFoldersFrom, Helpers__NS__getIsBrowser, Helpers__NS__getIsElectron, Helpers__NS__getIsNode, Helpers__NS__getIsRunningInGitBash, Helpers__NS__getIsSupportedTaonTerminal, Helpers__NS__getIsVerboseMode, Helpers__NS__getIsWebSQL, Helpers__NS__getIsWsl, Helpers__NS__getStdio, Helpers__NS__hideNodeWarnings, Helpers__NS__info, Helpers__NS__isBlob, Helpers__NS__isBuffer, Helpers__NS__isClass, Helpers__NS__isExistedSymlink, Helpers__NS__isFile, Helpers__NS__isFolder, Helpers__NS__isRunningInDocker, Helpers__NS__isRunningInLinuxGraphicsCapableEnvironment, Helpers__NS__isSymlinkFileExitedOrUnexisted, Helpers__NS__isSymlinkThatMatchesUrl, Helpers__NS__isUnexistedLink, Helpers__NS__killOnPort, Helpers__NS__killProcess, Helpers__NS__killProcessByPort, Helpers__NS__linksToFolderFrom, Helpers__NS__linksToFoldersFrom, Helpers__NS__log, Helpers__NS__logError, Helpers__NS__logInfo, Helpers__NS__logProc, Helpers__NS__logSuccess, Helpers__NS__logWarn, Helpers__NS__mediaTypeFromSrc, Helpers__NS__mkdirp, Helpers__NS__modifyLineByLine, Helpers__NS__msgCacheClear, Helpers__NS__openFolderInFileExplorer, Helpers__NS__parse, Helpers__NS__pathContainLink, Helpers__NS__questionYesNo, Helpers__NS__readFile, Helpers__NS__readJson, Helpers__NS__readJson5, Helpers__NS__readJsonC, Helpers__NS__relative, Helpers__NS__remove, Helpers__NS__removeEmptyLineFromString, Helpers__NS__removeFileIfExists, Helpers__NS__removeFolderIfExists, Helpers__NS__removeIfExists, Helpers__NS__removeSlashAtBegin, Helpers__NS__removeSlashAtEnd, Helpers__NS__removeSymlinks, Helpers__NS__renderError, Helpers__NS__replaceLinesInFile, Helpers__NS__run, Helpers__NS__runAsyncIn, Helpers__NS__runSyncIn, Helpers__NS__runSyncOrAsync, Helpers__NS__sleep, Helpers__NS__stopApplication, Helpers__NS__stringify, Helpers__NS__success, Helpers__NS__taskDone, Helpers__NS__taskStarted, Helpers__NS__throwError, Helpers__NS__timeout, Helpers__NS__tryCatchError, Helpers__NS__tryReadFile, Helpers__NS__tryRemoveDir, Helpers__NS__values, Helpers__NS__wait, Helpers__NS__warn, Helpers__NS__writeFile, Helpers__NS__writeJson, Helpers__NS__writeJson5, Helpers__NS__writeJsonC } from 'tnp-core/lib-prod';
3
-
4
- import { TaonController } from '../decorators/classes/controller-decorator';
5
- import { TaonEntityOptions } from '../decorators/classes/entity-decorator';
6
- import {
7
- GET,
8
- PUT,
9
- DELETE,
10
- POST,
11
- HEAD,
12
- PATCH,
13
- } from '../decorators/http/http-methods-decorators';
14
- import { Query, Path, Body } from '../decorators/http/http-params-decorators';
15
- import { ClassHelpers__NS__asyncHandler, ClassHelpers__NS__ensureClassConfig, ClassHelpers__NS__ensureMethodConfig, ClassHelpers__NS__getClassConfig, ClassHelpers__NS__getClassFnFromObject, ClassHelpers__NS__getControllerConfigs, ClassHelpers__NS__getFullInternalName, ClassHelpers__NS__getMethodsNames, ClassHelpers__NS__getName, ClassHelpers__NS__getOrginalClass, ClassHelpers__NS__getUniqueKey, ClassHelpers__NS__hasParentClassWithName, ClassHelpers__NS__isContextClassObject, ClassHelpers__NS__setName } from '../helpers/class-helpers';
16
- import { Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__ConnectionOptionsLogs, Models__NS__ContextOptions, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__DBRecreateMode, Models__NS__FrameworkMode, Models__NS__Http__NS__AsyncResponse, Models__NS__Http__NS__AuthCallBack, Models__NS__Http__NS__ClientAction, Models__NS__Http__NS__ContextENDPOINT, Models__NS__Http__NS__ExpressContext, Models__NS__Http__NS__FormlyFromType, Models__NS__Http__NS__MixResponse, Models__NS__Http__NS__Response, Models__NS__Http__NS__ResponseFuncOpt, Models__NS__Http__NS__SyncResponse, Models__NS__Http__NS__SyncResponseFunc, Models__NS__ISession, Models__NS__MiddlewareType, Models__NS__StartParams, Models__NS__TaonCtxCloneParams, Models__NS__TaonInitializeParams } from '../models';
17
- import { Symbols__NS__classMethodsNames, Symbols__NS__classNameStaticProperty, Symbols__NS__ctxInClassOrClassObj, Symbols__NS__fullClassNameStaticProperty, Symbols__NS__metadata, Symbols__NS__old, Symbols__NS__orignalClass, Symbols__NS__orignalClassClonesObj, Symbols__NS__REALTIME } from '../symbols';
18
- import { Validators__NS__checkIfMethodsWithReponseTYpeAlowed, Validators__NS__classNameVlidation, Validators__NS__preventUndefinedModel, Validators__NS__validateClassFunctions } from '../validators';
19
-
20
- import { TaonBaseController } from './base-controller';
21
- import { TaonBaseRepository } from './base-repository';
22
- //#endregion
23
-
24
- /**
25
- * Please override property entityClassFn with entity class.
26
- */
27
- @TaonController({ className: 'TaonBaseCrudController' })
28
- export abstract class TaonBaseCrudController<
29
- Entity,
30
- UPLOAD_FILE_QUERY_PARAMS = {},
31
- > extends TaonBaseController<UPLOAD_FILE_QUERY_PARAMS> {
32
- //#region fields
33
- protected db: TaonBaseRepository<Entity>;
34
-
35
- /**
36
- * Please provide entity as class property entityClassFn:
37
- * @returns class function
38
- *
39
- */
40
- abstract entityClassResolveFn: () => any;
41
- //#endregion
42
-
43
- //#region init
44
- async _(): Promise<void> {
45
- if (!___NS__isFunction(this.entityClassResolveFn)) {
46
- Helpers__NS__warn(
47
- `Skipping initing CRUD controller ${ClassHelpers__NS__getName(
48
- this,
49
- )} because entityClassResolveFn is not provided.`,
50
- );
51
- return;
52
- }
53
-
54
- let entityClassFn = this.entityClassResolveFn();
55
- this.db = this.injectRepo(entityClassFn);
56
-
57
- if (entityClassFn) {
58
- const configEntity = Reflect.getMetadata(
59
- Symbols__NS__metadata.options.entity,
60
- ClassHelpers__NS__getClassFnFromObject(this),
61
- ) as TaonEntityOptions;
62
- if (configEntity?.createTable === false) {
63
- Helpers__NS__warn(
64
- `Table for entity ${ClassHelpers__NS__getName(
65
- entityClassFn,
66
- )} will not be created. Crud will not work properly.`,
67
- );
68
- }
69
- } else {
70
- Helpers__NS__error(`Entity class not provided for controller ${ClassHelpers__NS__getName(
71
- this,
72
- )}.
73
-
74
- Please provide entity as class property entityClassFn:
75
-
76
- class ${ClassHelpers__NS__getName(this)} extends TaonBaseCrudController<Entity> {
77
- // ...
78
- entityClassResolveFn = ()=> MyEntityClass;
79
- // ...
80
- }
81
-
82
- `);
83
- }
84
- await super._();
85
- }
86
- //#endregion
87
-
88
- //#region bufferd changes
89
- @GET()
90
- bufforedChanges(
91
- @Query(`id`) id: number | string,
92
- @Query(`property`) property: string,
93
- @Query('alreadyLength') alreadyLength?: number,
94
- ): Models__NS__Http__NS__Response<string | any[]> {
95
- //#region @websqlFunc
96
- return async (request, response) => {
97
- const model = await this.db.getBy(id);
98
- if (model === void 0) {
99
- return;
100
- }
101
- Validators__NS__preventUndefinedModel(model, id);
102
- let value = model[property];
103
- let result: any;
104
- if (___NS__isString(value) || ___NS__isArray(value)) {
105
- result = (value as string).slice(alreadyLength);
106
- }
107
-
108
- return result;
109
- };
110
- //#endregion
111
- }
112
- //#endregion
113
-
114
- //#region pagintation
115
- @GET()
116
- pagination(
117
- @Query('pageNumber') pageNumber: number = 1,
118
- @Query('pageSize') pageSize: number = 10,
119
- @Query('search') search: string = '',
120
- ): Models__NS__Http__NS__Response<Entity[]> {
121
- //#region @websqlFunc
122
- return async (request, response) => {
123
- if (this.db.repositoryExists) {
124
- const query = {
125
- page: pageNumber,
126
- take: pageSize,
127
- keyword: search,
128
- };
129
- // console.log({
130
- // query
131
- // })
132
-
133
- const take = query.take || 10;
134
- const page = query.page || 1;
135
- const skip = (page - 1) * take;
136
- const keyword = query.keyword || '';
137
-
138
- const [result, total] = await this.db.findAndCount({
139
- // where: { name: Like('%' + keyword + '%') },
140
- // order: { name: "DESC" },
141
- take: take,
142
- skip: skip,
143
- });
144
-
145
- response?.setHeader(Symbols__NS__old.X_TOTAL_COUNT, total);
146
- // const lastPage = Math.ceil(total / take);
147
- // const nextPage = page + 1 > lastPage ? null : page + 1;
148
- // const prevPage = page - 1 < 1 ? null : page - 1;
149
-
150
- // console.log({
151
- // result,
152
- // total
153
- // })
154
-
155
- return result as Entity[];
156
- }
157
- return [];
158
- };
159
- //#endregion
160
- }
161
- //#endregion
162
-
163
- //#region get all
164
- @GET()
165
- getAll(): Models__NS__Http__NS__Response<Entity[]> {
166
- //#region @websqlFunc
167
- return async (request, response) => {
168
- if (this.db.repositoryExists) {
169
- const { models, totalCount } = await this.db.getAll();
170
- response?.setHeader(Symbols__NS__old.X_TOTAL_COUNT, totalCount);
171
- return models;
172
- }
173
- return [];
174
- };
175
- //#endregion
176
- }
177
- //#endregion
178
-
179
- //#region get by id
180
- @GET()
181
- getBy(@Query(`id`) id: number | string): Models__NS__Http__NS__Response<Entity> {
182
- //#region @websqlFunc
183
- return async () => {
184
- const model = await this.db.getBy(id);
185
- return model;
186
- };
187
- //#endregion
188
- }
189
- //#endregion
190
-
191
- //#region update by id
192
- @PUT()
193
- updateById(
194
- @Query(`id`) id: number | string,
195
- @Body() item: Entity,
196
- ): Models__NS__Http__NS__Response<Entity> {
197
- //#region @websqlFunc
198
-
199
- return async () => {
200
- const model = await this.db.updateById<Entity>(id, item as any);
201
- return model;
202
- };
203
- //#endregion
204
- }
205
- //#endregion
206
-
207
- //#region patch by id
208
- @PATCH()
209
- patchById(
210
- @Query(`id`) id: number | string,
211
- @Body() item: Entity,
212
- ): Models__NS__Http__NS__Response<Entity> {
213
- //#region @websqlFunc
214
-
215
- return async () => {
216
- const model = await this.db.updateById<Entity>(id, item as any);
217
- return model;
218
- };
219
- //#endregion
220
- }
221
- //#endregion
222
-
223
- //#region bulk update
224
- @PUT()
225
- bulkUpdate(@Body() items: Entity[]): Models__NS__Http__NS__Response<Entity[]> {
226
- //#region @websqlFunc
227
- return async () => {
228
- if (!Array.isArray(items) || items?.length === 0) {
229
- return [];
230
- }
231
- const { models } = await this.db.bulkUpdate(items);
232
- return models;
233
- };
234
- //#endregion
235
- }
236
- //#endregion
237
-
238
- //#region delete by id
239
- @DELETE()
240
- deleteById(@Query(`id`) id: number | string): Models__NS__Http__NS__Response<Entity> {
241
- //#region @websqlFunc
242
- return async () => {
243
- const model = await this.db.deleteById(id as any);
244
- return model;
245
- };
246
- //#endregion
247
- }
248
- //#endregion
249
-
250
- //#region bulk delete
251
- @DELETE()
252
- bulkDelete(
253
- @Query(`ids`) ids: (number | string)[],
254
- ): Models__NS__Http__NS__Response<(number | string | Entity)[]> {
255
- //#region @websqlFunc
256
- return async () => {
257
- const models = await this.db.bulkDelete(ids);
258
- return models;
259
- };
260
- //#endregion
261
- }
262
- //#endregion
263
-
264
- //#region bulk delete
265
- @DELETE()
266
- clearTable(): Models__NS__Http__NS__Response<void> {
267
- //#region @websqlFunc
268
- return async () => {
269
- await this.db.clear()
270
- };
271
- //#endregion
272
- }
273
- //#endregion
274
-
275
- //#region create
276
- @POST()
277
- save(@Body() item: Entity): Models__NS__Http__NS__Response<Entity> {
278
- //#region @websqlFunc
279
- return async () => {
280
- const model = await this.db.save(item);
281
- return model as Entity;
282
- };
283
- //#endregion
284
- }
285
- //#endregion
286
-
287
- //#region bulk create
288
- @POST()
289
- bulkCreate(@Body() items: Entity): Models__NS__Http__NS__Response<Entity[]> {
290
- //#region @websqlFunc
291
- return async () => {
292
- const models = await this.db.bulkCreate(items as any);
293
- return models as Entity[];
294
- };
295
- //#endregion
296
- }
297
- //#endregion
298
- }
@@ -1,10 +0,0 @@
1
- //#region imports
2
- import { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith } from 'tnp-core/lib-prod';
3
-
4
- import { TaonRepository } from '../decorators/classes/repository-decorator';
5
-
6
- import { TaonBaseInjector } from './base-injector';
7
- //#endregion
8
-
9
- @TaonRepository({ className: 'TaonBaseCustomRepository' })
10
- export abstract class TaonBaseCustomRepository extends TaonBaseInjector {}
@@ -1,28 +0,0 @@
1
- import { Entity } from 'taon-typeorm/lib-prod'; // @websql
2
- import { RelationPath } from 'taon-typeorm/lib-prod';
3
-
4
- import { TaonBaseClass } from './base-class';
5
-
6
- //#region @websql
7
- @Entity()
8
- //#endregion
9
- export abstract class TaonBaseEntity<
10
- /**
11
- * type for cloning
12
- */
13
- CloneT extends TaonBaseClass = any,
14
- > extends TaonBaseClass<CloneT> {
15
- /**
16
- * simple check if relation is ok
17
- */
18
- relation(relationName: RelationPath<CloneT>): string {
19
- return relationName as string;
20
- }
21
-
22
- /**
23
- * simple check if relation is ok
24
- */
25
- relations(relationNames: RelationPath<CloneT>[]): string[] {
26
- return relationNames as string[];
27
- }
28
- }