@sync-in/server 1.7.0 → 1.8.1
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.
- package/CHANGELOG.md +173 -58
- package/environment/environment.dist.yaml +6 -3
- package/migrations/0003_giant_luckman.sql +6 -0
- package/migrations/meta/0003_snapshot.json +2463 -0
- package/migrations/meta/_journal.json +7 -0
- package/package.json +19 -17
- package/server/app.bootstrap.js +5 -2
- package/server/app.bootstrap.js.map +1 -1
- package/server/app.constants.js +0 -4
- package/server/app.constants.js.map +1 -1
- package/server/app.service.js +7 -6
- package/server/app.service.js.map +1 -1
- package/server/applications/files/constants/only-office.js +12 -0
- package/server/applications/files/constants/only-office.js.map +1 -1
- package/server/applications/files/files.config.js +5 -0
- package/server/applications/files/files.config.js.map +1 -1
- package/server/applications/files/files.controller.js +12 -4
- package/server/applications/files/files.controller.js.map +1 -1
- package/server/applications/files/files.controller.spec.js +18 -4
- package/server/applications/files/files.controller.spec.js.map +1 -1
- package/server/applications/files/services/files-content-manager.service.js +6 -6
- package/server/applications/files/services/files-content-manager.service.js.map +1 -1
- package/server/applications/files/services/files-manager.service.js +4 -4
- package/server/applications/files/services/files-manager.service.js.map +1 -1
- package/server/applications/files/services/files-methods.service.js +4 -7
- package/server/applications/files/services/files-methods.service.js.map +1 -1
- package/server/applications/files/services/files-only-office-manager.service.js +2 -2
- package/server/applications/files/services/files-only-office-manager.service.js.map +1 -1
- package/server/applications/files/services/files-parser.service.js +6 -3
- package/server/applications/files/services/files-parser.service.js.map +1 -1
- package/server/applications/files/services/files-scheduler.service.js +51 -3
- package/server/applications/files/services/files-scheduler.service.js.map +1 -1
- package/server/applications/files/services/files-search-manager.service.js +4 -0
- package/server/applications/files/services/files-search-manager.service.js.map +1 -1
- package/server/applications/files/utils/doc-textify/adapters/pdf.js +6 -8
- package/server/applications/files/utils/doc-textify/adapters/pdf.js.map +1 -1
- package/server/applications/notifications/i18n/de.js +56 -0
- package/server/applications/notifications/i18n/de.js.map +1 -0
- package/server/applications/notifications/i18n/es.js +52 -0
- package/server/applications/notifications/i18n/es.js.map +1 -0
- package/server/applications/notifications/i18n/hi.js +52 -0
- package/server/applications/notifications/i18n/hi.js.map +1 -0
- package/server/applications/notifications/i18n/index.js +73 -8
- package/server/applications/notifications/i18n/index.js.map +1 -1
- package/server/applications/notifications/i18n/it.js +52 -0
- package/server/applications/notifications/i18n/it.js.map +1 -0
- package/server/applications/notifications/i18n/ja.js +52 -0
- package/server/applications/notifications/i18n/ja.js.map +1 -0
- package/server/applications/notifications/i18n/ko.js +52 -0
- package/server/applications/notifications/i18n/ko.js.map +1 -0
- package/server/applications/notifications/i18n/pl.js +52 -0
- package/server/applications/notifications/i18n/pl.js.map +1 -0
- package/server/applications/notifications/i18n/pt.js +52 -0
- package/server/applications/notifications/i18n/pt.js.map +1 -0
- package/server/applications/notifications/i18n/pt_br.js +52 -0
- package/server/applications/notifications/i18n/pt_br.js.map +1 -0
- package/server/applications/notifications/i18n/ru.js +52 -0
- package/server/applications/notifications/i18n/ru.js.map +1 -0
- package/server/applications/notifications/i18n/tr.js +52 -0
- package/server/applications/notifications/i18n/tr.js.map +1 -0
- package/server/applications/notifications/i18n/zh.js +52 -0
- package/server/applications/notifications/i18n/zh.js.map +1 -0
- package/server/applications/notifications/mails/models.js +6 -7
- package/server/applications/notifications/mails/models.js.map +1 -1
- package/server/applications/notifications/services/notifications-manager.service.js.map +1 -1
- package/server/applications/shares/dto/create-or-update-share.dto.js +11 -0
- package/server/applications/shares/dto/create-or-update-share.dto.js.map +1 -1
- package/server/applications/shares/interfaces/share-props.interface.js.map +1 -1
- package/server/applications/shares/schemas/share.interface.js.map +1 -1
- package/server/applications/shares/schemas/shares.schema.js +9 -0
- package/server/applications/shares/schemas/shares.schema.js.map +1 -1
- package/server/applications/shares/services/shares-manager.service.js +46 -17
- package/server/applications/shares/services/shares-manager.service.js.map +1 -1
- package/server/applications/shares/services/shares-queries.service.js +24 -5
- package/server/applications/shares/services/shares-queries.service.js.map +1 -1
- package/server/applications/spaces/constants/cache.js +4 -0
- package/server/applications/spaces/constants/cache.js.map +1 -1
- package/server/applications/spaces/dto/create-or-update-space.dto.js +5 -0
- package/server/applications/spaces/dto/create-or-update-space.dto.js.map +1 -1
- package/server/applications/spaces/guards/space.guard.js +3 -3
- package/server/applications/spaces/guards/space.guard.js.map +1 -1
- package/server/applications/spaces/models/space-props.model.js.map +1 -1
- package/server/applications/spaces/models/space.model.js.map +1 -1
- package/server/applications/spaces/schemas/space.interface.js.map +1 -1
- package/server/applications/spaces/schemas/spaces.schema.js +1 -0
- package/server/applications/spaces/schemas/spaces.schema.js.map +1 -1
- package/server/applications/spaces/services/spaces-browser.service.js.map +1 -1
- package/server/applications/spaces/services/spaces-manager.service.js +34 -31
- package/server/applications/spaces/services/spaces-manager.service.js.map +1 -1
- package/server/applications/spaces/services/spaces-queries.service.js +23 -7
- package/server/applications/spaces/services/spaces-queries.service.js.map +1 -1
- package/server/applications/spaces/services/spaces-scheduler.service.js +21 -20
- package/server/applications/spaces/services/spaces-scheduler.service.js.map +1 -1
- package/server/applications/spaces/spaces.controller.js +4 -2
- package/server/applications/spaces/spaces.controller.js.map +1 -1
- package/server/applications/spaces/utils/paths.js +14 -16
- package/server/applications/spaces/utils/paths.js.map +1 -1
- package/server/applications/sync/services/sync-manager.service.js +4 -3
- package/server/applications/sync/services/sync-manager.service.js.map +1 -1
- package/server/applications/sync/services/sync-paths-manager.service.js +1 -1
- package/server/applications/sync/services/sync-paths-manager.service.js.map +1 -1
- package/server/applications/sync/services/sync-paths-manager.service.spec.js +1 -1
- package/server/applications/sync/services/sync-paths-manager.service.spec.js.map +1 -1
- package/server/applications/sync/sync.controller.js +2 -1
- package/server/applications/sync/sync.controller.js.map +1 -1
- package/server/applications/users/constants/routes.js +5 -0
- package/server/applications/users/constants/routes.js.map +1 -1
- package/server/applications/users/constants/user.js +0 -16
- package/server/applications/users/constants/user.js.map +1 -1
- package/server/applications/users/dto/user-properties.dto.js +10 -0
- package/server/applications/users/dto/user-properties.dto.js.map +1 -1
- package/server/applications/users/models/user.model.js.map +1 -1
- package/server/applications/users/schemas/user.interface.js.map +1 -1
- package/server/applications/users/schemas/users.schema.js +3 -2
- package/server/applications/users/schemas/users.schema.js.map +1 -1
- package/server/applications/users/services/admin-users-manager.service.js +1 -0
- package/server/applications/users/services/admin-users-manager.service.js.map +1 -1
- package/server/applications/users/services/admin-users-manager.service.spec.js +2 -1
- package/server/applications/users/services/admin-users-manager.service.spec.js.map +1 -1
- package/server/applications/users/services/users-manager.service.js +7 -2
- package/server/applications/users/services/users-manager.service.js.map +1 -1
- package/server/applications/users/services/users-manager.service.spec.js +1 -0
- package/server/applications/users/services/users-manager.service.spec.js.map +1 -1
- package/server/applications/users/services/users-queries.service.js +18 -4
- package/server/applications/users/services/users-queries.service.js.map +1 -1
- package/server/applications/users/users.controller.js +15 -0
- package/server/applications/users/users.controller.js.map +1 -1
- package/server/applications/users/users.gateway.js +6 -0
- package/server/applications/users/users.gateway.js.map +1 -1
- package/server/applications/users/utils/test.js +2 -2
- package/server/applications/users/utils/test.js.map +1 -1
- package/server/applications/webdav/constants/routes.js +2 -2
- package/server/applications/webdav/constants/routes.js.map +1 -1
- package/server/applications/webdav/constants/webdav.js +2 -2
- package/server/applications/webdav/constants/webdav.js.map +1 -1
- package/server/applications/webdav/filters/webdav.filter.js +2 -2
- package/server/applications/webdav/filters/webdav.filter.js.map +1 -1
- package/server/applications/webdav/filters/webdav.filter.spec.js +2 -2
- package/server/applications/webdav/filters/webdav.filter.spec.js.map +1 -1
- package/server/applications/webdav/services/webdav-methods.service.js +3 -2
- package/server/applications/webdav/services/webdav-methods.service.js.map +1 -1
- package/server/applications/webdav/utils/webdav.js +1 -2
- package/server/applications/webdav/utils/webdav.js.map +1 -1
- package/server/authentication/auth.config.js +2 -2
- package/server/authentication/auth.config.js.map +1 -1
- package/server/authentication/guards/auth-basic.strategy.js +2 -2
- package/server/authentication/guards/auth-basic.strategy.js.map +1 -1
- package/server/common/i18n.js +52 -0
- package/server/common/i18n.js.map +1 -0
- package/server/common/image.js +63 -43
- package/server/common/image.js.map +1 -1
- package/server/common/interfaces.js.map +1 -1
- package/server/common/shared.js +5 -2
- package/server/common/shared.js.map +1 -1
- package/server/configuration/config.validation.js +3 -3
- package/server/configuration/config.validation.js.map +1 -1
- package/server/infrastructure/cache/adapters/mysql-cache.adapter.js +8 -6
- package/server/infrastructure/cache/adapters/mysql-cache.adapter.js.map +1 -1
- package/server/infrastructure/cache/adapters/redis-cache.adapter.js +22 -17
- package/server/infrastructure/cache/adapters/redis-cache.adapter.js.map +1 -1
- package/server/infrastructure/cache/cache.e2e-spec.js +1 -0
- package/server/infrastructure/cache/cache.e2e-spec.js.map +1 -1
- package/server/infrastructure/cache/cache.module.js +1 -14
- package/server/infrastructure/cache/cache.module.js.map +1 -1
- package/server/infrastructure/cache/services/cache.service.js.map +1 -1
- package/server/infrastructure/database/database.module.js +20 -1
- package/server/infrastructure/database/database.module.js.map +1 -1
- package/server/infrastructure/database/utils.js +48 -0
- package/server/infrastructure/database/utils.js.map +1 -1
- package/server/infrastructure/scheduler/scheduler.module.js +1 -1
- package/server/infrastructure/scheduler/scheduler.module.js.map +1 -1
- package/server/infrastructure/websocket/adapters/cluster.adapter.js +1 -3
- package/server/infrastructure/websocket/adapters/cluster.adapter.js.map +1 -1
- package/static/3rdpartylicenses.txt +137 -163
- package/static/chunk-2KLC4T2Z.js +1 -0
- package/static/chunk-2VMSXRCB.js +12 -0
- package/static/chunk-3GMLWAFZ.js +1 -0
- package/static/chunk-3OHSRRKH.js +4 -0
- package/static/chunk-3R4WKOHQ.js +1 -0
- package/static/{chunk-7ITZXYYJ.js → chunk-3R74L4UU.js} +1 -1
- package/static/chunk-3XVM35O2.js +1 -0
- package/static/chunk-3YVRP3VM.js +2 -0
- package/static/chunk-5NMSIIQB.js +1 -0
- package/static/chunk-5UKZLU5H.js +1 -0
- package/static/chunk-AF24EYXU.js +1 -0
- package/static/chunk-AKQVEHO6.js +2 -0
- package/static/chunk-BCVX464U.js +2 -0
- package/static/chunk-BQV4FRM6.js +1 -0
- package/static/{chunk-EVIE5F2U.js → chunk-CETH7UYS.js} +1 -1
- package/static/chunk-CHJ64RJM.js +1 -0
- package/static/chunk-DIT6W7VM.js +562 -0
- package/static/chunk-DKSEQTMX.js +1 -0
- package/static/chunk-DM4NXKEP.js +1 -0
- package/static/chunk-DPUVSXRB.js +1 -0
- package/static/chunk-DSWEWLXJ.js +1 -0
- package/static/chunk-FJE6BOFL.js +1 -0
- package/static/chunk-FZ3JPGYZ.js +1 -0
- package/static/chunk-IQSKQXC3.js +1 -0
- package/static/chunk-ITUFI2BJ.js +1 -0
- package/static/chunk-JPT5WEAT.js +1 -0
- package/static/chunk-LCTZJ537.js +1 -0
- package/static/chunk-LK2UCQJ6.js +1 -0
- package/static/chunk-LNTUR3GU.js +1 -0
- package/static/chunk-LP5TBXEN.js +7 -0
- package/static/{chunk-IPAC4VAF.js → chunk-LVSNIS5P.js} +1 -1
- package/static/{chunk-SIPE37PA.js → chunk-MTVSJTIW.js} +1 -1
- package/static/chunk-N3U6637P.js +1 -0
- package/static/chunk-NNV4OXSB.js +1 -0
- package/static/chunk-O6FYXVHI.js +1 -0
- package/static/chunk-OOGP4WSH.js +2 -0
- package/static/chunk-PB4AIT7O.js +1 -0
- package/static/chunk-PCWDQPOM.js +2 -0
- package/static/chunk-PNR6M34W.js +1 -0
- package/static/chunk-PVDHBQRM.js +1 -0
- package/static/chunk-Q5KM7LTX.js +1 -0
- package/static/chunk-QHC6ZPQ4.js +1 -0
- package/static/chunk-QMRBZHE4.js +1 -0
- package/static/chunk-QO6BTONN.js +1 -0
- package/static/chunk-QSJRY3TF.js +1 -0
- package/static/chunk-QUUIRSYT.js +1 -0
- package/static/chunk-RFH46UW3.js +1 -0
- package/static/{chunk-PTGDOWV3.js → chunk-RSXHRKM5.js} +1 -1
- package/static/chunk-RV3VZJPZ.js +1 -0
- package/static/{chunk-QNJFQVYI.js → chunk-S7HNXVRB.js} +1 -1
- package/static/chunk-SBZ572Q4.js +2 -0
- package/static/chunk-SJR5R3Y4.js +1 -0
- package/static/chunk-SLHTEGRU.js +1 -0
- package/static/{chunk-SH5EVL4E.js → chunk-SSFF27P2.js} +1 -1
- package/static/chunk-UNCPXHHT.js +1 -0
- package/static/chunk-URHTCJ7G.js +1 -0
- package/static/chunk-V3LHHZYN.js +1 -0
- package/static/{chunk-DJYJ66UF.js → chunk-VJTXJ43D.js} +1 -1
- package/static/chunk-VQQKMY2C.js +1 -0
- package/static/{chunk-IQOALFYU.js → chunk-WSSU2HXE.js} +1 -1
- package/static/chunk-XDZGW64M.js +3 -0
- package/static/chunk-XTRDKGKG.js +1 -0
- package/static/chunk-YLWTEC3X.js +1 -0
- package/static/chunk-Z5J5F5SX.js +1 -0
- package/static/chunk-ZIJQRARU.js +1 -0
- package/static/index.html +2 -2
- package/static/main-4H5BJY3J.js +9 -0
- package/static/scripts-WRDOQIU5.js +24 -0
- package/static/{styles-A5VYX3CE.css → styles-2C2UNCNB.css} +1 -1
- package/server/applications/spaces/interfaces/space-quota.interface.js +0 -10
- package/server/applications/spaces/interfaces/space-quota.interface.js.map +0 -1
- package/static/chunk-22EANI6R.js +0 -1
- package/static/chunk-3GFGJYMK.js +0 -1
- package/static/chunk-4YGJGZZZ.js +0 -1
- package/static/chunk-5K7HEX3C.js +0 -27
- package/static/chunk-5KLMS6A4.js +0 -1
- package/static/chunk-ATP3BFHV.js +0 -562
- package/static/chunk-BB4G55KE.js +0 -1
- package/static/chunk-EWKSX76T.js +0 -1
- package/static/chunk-FHLACA7V.js +0 -1
- package/static/chunk-GCATNU55.js +0 -1
- package/static/chunk-GYODPCIE.js +0 -1
- package/static/chunk-HZTFYLM5.js +0 -1
- package/static/chunk-JSUKJT6Z.js +0 -1
- package/static/chunk-JXZCNFW7.js +0 -1
- package/static/chunk-LTGFCQR7.js +0 -1
- package/static/chunk-LV3PYKWO.js +0 -1
- package/static/chunk-N2WFNW6M.js +0 -7
- package/static/chunk-ORMRCEGT.js +0 -1
- package/static/chunk-OUTBJSMW.js +0 -1
- package/static/chunk-RS2PX32L.js +0 -1
- package/static/chunk-RSSWH3S2.js +0 -1
- package/static/chunk-RTRJ3KFH.js +0 -1
- package/static/chunk-TKTCBDOG.js +0 -1
- package/static/chunk-V6K2N46L.js +0 -1
- package/static/chunk-XLCCZSQL.js +0 -4
- package/static/chunk-YPEH66GG.js +0 -1
- package/static/chunk-YPOIUQ57.js +0 -1
- package/static/chunk-ZKCFO2OA.js +0 -4
- package/static/main-MZ7HWZXO.js +0 -9
- package/static/scripts-VZVAP2P4.js +0 -30
|
@@ -24,16 +24,7 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
24
24
|
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
25
25
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
26
26
|
}
|
|
27
|
-
function _ts_metadata(k, v) {
|
|
28
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
29
|
-
}
|
|
30
27
|
let CacheModule = class CacheModule {
|
|
31
|
-
async beforeApplicationShutdown() {
|
|
32
|
-
await this.cache.quit();
|
|
33
|
-
}
|
|
34
|
-
constructor(cache){
|
|
35
|
-
this.cache = cache;
|
|
36
|
-
}
|
|
37
28
|
};
|
|
38
29
|
CacheModule = _ts_decorate([
|
|
39
30
|
(0, _common.Global)(),
|
|
@@ -48,11 +39,7 @@ CacheModule = _ts_decorate([
|
|
|
48
39
|
exports: [
|
|
49
40
|
_cacheservice.Cache
|
|
50
41
|
]
|
|
51
|
-
})
|
|
52
|
-
_ts_metadata("design:type", Function),
|
|
53
|
-
_ts_metadata("design:paramtypes", [
|
|
54
|
-
typeof _cacheservice.Cache === "undefined" ? Object : _cacheservice.Cache
|
|
55
|
-
])
|
|
42
|
+
})
|
|
56
43
|
], CacheModule);
|
|
57
44
|
|
|
58
45
|
//# sourceMappingURL=cache.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../backend/src/infrastructure/cache/cache.module.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/infrastructure/cache/cache.module.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { Global, Module } from '@nestjs/common'\nimport { SchedulerRegistry } from '@nestjs/schedule'\nimport { configuration } from '../../configuration/config.environment'\nimport { MysqlCacheAdapter } from './adapters/mysql-cache.adapter'\nimport { RedisCacheAdapter } from './adapters/redis-cache.adapter'\nimport { Cache } from './services/cache.service'\n\n@Global()\n@Module({\n providers: [\n {\n provide: Cache,\n useClass: configuration.cache.adapter === 'mysql' ? MysqlCacheAdapter : RedisCacheAdapter\n },\n SchedulerRegistry\n ],\n exports: [Cache]\n})\nexport class CacheModule {}\n"],"names":["CacheModule","providers","provide","Cache","useClass","configuration","cache","adapter","MysqlCacheAdapter","RedisCacheAdapter","SchedulerRegistry","exports"],"mappings":"AAAA;;;;CAIC;;;;+BAoBYA;;;eAAAA;;;wBAlBkB;0BACG;mCACJ;mCACI;mCACA;8BACZ;;;;;;;AAaf,IAAA,AAAMA,cAAN,MAAMA;AAAa;;;;QATxBC,WAAW;YACT;gBACEC,SAASC,mBAAK;gBACdC,UAAUC,gCAAa,CAACC,KAAK,CAACC,OAAO,KAAK,UAAUC,oCAAiB,GAAGC,oCAAiB;YAC3F;YACAC,2BAAiB;SAClB;QACDC,SAAS;YAACR,mBAAK;SAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/infrastructure/cache/services/cache.service.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nexport abstract class Cache {\n abstract defaultTTL: number\n
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/infrastructure/cache/services/cache.service.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { OnModuleDestroy, OnModuleInit } from '@nestjs/common'\n\nexport abstract class Cache implements OnModuleInit, OnModuleDestroy {\n abstract defaultTTL: number\n abstract infiniteExpiration: number\n\n abstract onModuleInit(): void\n\n abstract onModuleDestroy(): void\n\n abstract has(key: string): Promise<boolean>\n\n /*\n pattern must use '*' as wildcard\n */\n abstract keys(pattern: string): Promise<string[]>\n\n abstract get(key: string): Promise<any>\n\n abstract mget(keys: string[]): Promise<any[]>\n\n /* ttl (seconds):\n - 0: infinite expiration\n - undefined: default ttl\n */\n abstract set(key: string, data: unknown, ttl?: number): Promise<boolean>\n\n abstract del(key: string): Promise<boolean>\n\n abstract mdel(keys: string[]): Promise<boolean>\n\n abstract genSlugKey(...args: any[]): string\n}\n"],"names":["Cache"],"mappings":"AAAA;;;;CAIC;;;;+BAIqBA;;;eAAAA;;;AAAf,IAAA,AAAeA,QAAf,MAAeA;AA8BtB"}
|
|
@@ -65,7 +65,21 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
65
65
|
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
66
66
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
67
67
|
}
|
|
68
|
+
function _ts_metadata(k, v) {
|
|
69
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
70
|
+
}
|
|
71
|
+
function _ts_param(paramIndex, decorator) {
|
|
72
|
+
return function(target, key) {
|
|
73
|
+
decorator(target, key, paramIndex);
|
|
74
|
+
};
|
|
75
|
+
}
|
|
68
76
|
let DatabaseModule = class DatabaseModule {
|
|
77
|
+
async beforeApplicationShutdown() {
|
|
78
|
+
await this.db.session.client.end();
|
|
79
|
+
}
|
|
80
|
+
constructor(db){
|
|
81
|
+
this.db = db;
|
|
82
|
+
}
|
|
69
83
|
};
|
|
70
84
|
DatabaseModule = _ts_decorate([
|
|
71
85
|
(0, _common.Global)(),
|
|
@@ -88,7 +102,12 @@ DatabaseModule = _ts_decorate([
|
|
|
88
102
|
})
|
|
89
103
|
})
|
|
90
104
|
]
|
|
91
|
-
})
|
|
105
|
+
}),
|
|
106
|
+
_ts_param(0, (0, _common.Inject)(_constants.DB_TOKEN_PROVIDER)),
|
|
107
|
+
_ts_metadata("design:type", Function),
|
|
108
|
+
_ts_metadata("design:paramtypes", [
|
|
109
|
+
Object
|
|
110
|
+
])
|
|
92
111
|
], DatabaseModule);
|
|
93
112
|
|
|
94
113
|
//# sourceMappingURL=database.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../backend/src/infrastructure/database/database.module.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { DrizzleMySqlConfig, DrizzleMySqlModule } from '@knaadh/nestjs-drizzle-mysql2'\nimport { Global, Module } from '@nestjs/common'\nimport { configuration } from '../../configuration/config.environment'\nimport { DB_TOKEN_PROVIDER } from './constants'\nimport { DatabaseLogger } from './database.logger'\nimport * as schema from './schema'\n\n@Global()\n@Module({\n imports: [\n DrizzleMySqlModule.registerAsync({\n tag: DB_TOKEN_PROVIDER,\n useFactory: async (): Promise<DrizzleMySqlConfig> => ({\n mysql: {\n connection: 'pool',\n config: configuration.mysql.url\n },\n config: {\n schema: { ...schema },\n mode: 'default',\n logger: configuration.mysql.logQueries ? new DatabaseLogger() : false\n }\n })\n })\n ]\n})\nexport class DatabaseModule {}\n"],"names":["DatabaseModule","imports","DrizzleMySqlModule","registerAsync","tag","DB_TOKEN_PROVIDER","useFactory","mysql","connection","config","configuration","url","schema","mode","logger","logQueries","DatabaseLogger"],"mappings":"AAAA;;;;CAIC;;;;+
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/infrastructure/database/database.module.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { DrizzleMySqlConfig, DrizzleMySqlModule } from '@knaadh/nestjs-drizzle-mysql2'\nimport { BeforeApplicationShutdown, Global, Inject, Module } from '@nestjs/common'\nimport { MySql2Client } from 'drizzle-orm/mysql2'\nimport { configuration } from '../../configuration/config.environment'\nimport { DB_TOKEN_PROVIDER } from './constants'\nimport { DatabaseLogger } from './database.logger'\nimport type { DBSchema } from './interfaces/database.interface'\nimport * as schema from './schema'\n\n@Global()\n@Module({\n imports: [\n DrizzleMySqlModule.registerAsync({\n tag: DB_TOKEN_PROVIDER,\n useFactory: async (): Promise<DrizzleMySqlConfig> => ({\n mysql: {\n connection: 'pool',\n config: configuration.mysql.url\n },\n config: {\n schema: { ...schema },\n mode: 'default',\n logger: configuration.mysql.logQueries ? new DatabaseLogger() : false\n }\n })\n })\n ]\n})\nexport class DatabaseModule implements BeforeApplicationShutdown {\n constructor(@Inject(DB_TOKEN_PROVIDER) private readonly db: DBSchema & { session: { client: MySql2Client } }) {}\n\n async beforeApplicationShutdown() {\n await this.db.session.client.end()\n }\n}\n"],"names":["DatabaseModule","beforeApplicationShutdown","db","session","client","end","imports","DrizzleMySqlModule","registerAsync","tag","DB_TOKEN_PROVIDER","useFactory","mysql","connection","config","configuration","url","schema","mode","logger","logQueries","DatabaseLogger"],"mappings":"AAAA;;;;CAIC;;;;+BA8BYA;;;eAAAA;;;qCA5B0C;wBACW;mCAEpC;2BACI;gCACH;gEAEP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBjB,IAAA,AAAMA,iBAAN,MAAMA;IAGX,MAAMC,4BAA4B;QAChC,MAAM,IAAI,CAACC,EAAE,CAACC,OAAO,CAACC,MAAM,CAACC,GAAG;IAClC;IAJA,YAAY,AAA4CH,EAAoD,CAAE;aAAtDA,KAAAA;IAAuD;AAKjH;;;;QAvBEI,SAAS;YACPC,uCAAkB,CAACC,aAAa,CAAC;gBAC/BC,KAAKC,4BAAiB;gBACtBC,YAAY,UAA0C,CAAA;wBACpDC,OAAO;4BACLC,YAAY;4BACZC,QAAQC,gCAAa,CAACH,KAAK,CAACI,GAAG;wBACjC;wBACAF,QAAQ;4BACNG,QAAQ;gCAAE,GAAGA,OAAM;4BAAC;4BACpBC,MAAM;4BACNC,QAAQJ,gCAAa,CAACH,KAAK,CAACQ,UAAU,GAAG,IAAIC,8BAAc,KAAK;wBAClE;oBACF,CAAA;YACF;SACD"}
|
|
@@ -36,10 +36,55 @@ _export(exports, {
|
|
|
36
36
|
},
|
|
37
37
|
get dbGetInsertedId () {
|
|
38
38
|
return dbGetInsertedId;
|
|
39
|
+
},
|
|
40
|
+
get getTablesWithFileIdColumn () {
|
|
41
|
+
return getTablesWithFileIdColumn;
|
|
39
42
|
}
|
|
40
43
|
});
|
|
41
44
|
const _drizzleorm = require("drizzle-orm");
|
|
42
45
|
const _constants = require("./constants");
|
|
46
|
+
const _schema = /*#__PURE__*/ _interop_require_wildcard(require("./schema"));
|
|
47
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
48
|
+
if (typeof WeakMap !== "function") return null;
|
|
49
|
+
var cacheBabelInterop = new WeakMap();
|
|
50
|
+
var cacheNodeInterop = new WeakMap();
|
|
51
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
52
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
53
|
+
})(nodeInterop);
|
|
54
|
+
}
|
|
55
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
56
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
57
|
+
return obj;
|
|
58
|
+
}
|
|
59
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
60
|
+
return {
|
|
61
|
+
default: obj
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
65
|
+
if (cache && cache.has(obj)) {
|
|
66
|
+
return cache.get(obj);
|
|
67
|
+
}
|
|
68
|
+
var newObj = {
|
|
69
|
+
__proto__: null
|
|
70
|
+
};
|
|
71
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
72
|
+
for(var key in obj){
|
|
73
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
74
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
75
|
+
if (desc && (desc.get || desc.set)) {
|
|
76
|
+
Object.defineProperty(newObj, key, desc);
|
|
77
|
+
} else {
|
|
78
|
+
newObj[key] = obj[key];
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
newObj.default = obj;
|
|
83
|
+
if (cache) {
|
|
84
|
+
cache.set(obj, newObj);
|
|
85
|
+
}
|
|
86
|
+
return newObj;
|
|
87
|
+
}
|
|
43
88
|
async function dbGetConnection(app, mode = 'pool') {
|
|
44
89
|
const db = await app.resolve(_constants.DB_TOKEN_PROVIDER);
|
|
45
90
|
let connection = db['session'].client;
|
|
@@ -113,5 +158,8 @@ function concatDistinctObjectsInArray(mustBeNotNull, object) {
|
|
|
113
158
|
expr.mapWith(JSON.parse);
|
|
114
159
|
return expr;
|
|
115
160
|
}
|
|
161
|
+
function getTablesWithFileIdColumn() {
|
|
162
|
+
return Object.entries(_schema).filter(([_table, columns])=>'fileId' in columns).map(([_table, columns])=>columns);
|
|
163
|
+
}
|
|
116
164
|
|
|
117
165
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../backend/src/infrastructure/database/utils.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { NestFastifyApplication } from '@nestjs/platform-fastify'\nimport { TestingModule } from '@nestjs/testing'\nimport { Column, eq, inArray, isNull, SQL, sql } from 'drizzle-orm'\nimport { MySqlDatabase } from 'drizzle-orm/mysql-core'\nimport { MySqlQueryResult } from 'drizzle-orm/mysql2'\nimport { DB_TOKEN_PROVIDER } from './constants'\n\nasync function dbGetConnection(app: NestFastifyApplication | TestingModule, mode: 'pool' | 'client' = 'pool') {\n const db: MySqlDatabase<any, any> = await app.resolve(DB_TOKEN_PROVIDER)\n let connection: any = db['session'].client\n if (mode === 'pool') {\n connection = connection.pool\n }\n return { db, connection }\n}\n\nexport async function dbCloseConnection(app: NestFastifyApplication | TestingModule, mode: 'pool' | 'client' = 'pool') {\n const connection = (await dbGetConnection(app, mode)).connection\n await connection.end()\n}\n\nexport async function dbCheckConnection(app: NestFastifyApplication | TestingModule, mode: 'pool' | 'client' = 'pool') {\n const db = (await dbGetConnection(app, mode)).db\n return Array.isArray(await db.execute(sql`select 1`))\n}\n\nexport function dbCheckAffectedRows(queryResult: MySqlQueryResult, expected: number, throwError = true): boolean {\n const affectedRows = queryResult.at(0).affectedRows\n if (affectedRows !== expected) {\n if (throwError) {\n throw new Error(`The number of rows affected does not match : ${affectedRows}`)\n }\n return false\n }\n return true\n}\n\nexport function dbGetInsertedId(queryResult: MySqlQueryResult): number {\n const insertedId = queryResult.at(0).insertId\n if (!insertedId) {\n throw new Error(`Record was not inserted : ${insertedId}`)\n }\n return insertedId\n}\n\nexport function convertToSelect<T>(table: T, fields: Partial<keyof T>[]) {\n const select = {} as Record<keyof T, any>\n for (const f of fields) {\n select[f] = table[f]\n }\n return select\n}\n\nexport function convertToWhere<T>(table: T, filters: Partial<Record<keyof T, any>>): SQL[] {\n // only handles AND operator\n return Object.entries(filters).map(([k, v]) => {\n if (v === null) return isNull(table[k])\n if (Array.isArray(v)) return inArray(table[k], v)\n return eq(table[k], v)\n })\n}\n\nexport const dateTimeUTC = (dateField: Column): SQL<string> => sql`CONCAT(${sql`${dateField}`}, 'Z')`\n\nexport function concatDistinctObjectsInArray(mustBeNotNull: Column, object: Record<string, Column | object>): SQL<any> {\n /* Concat json objects in array (only one nesting level is supported) */\n const expr: SQL<any> = sql`IFNULL(CONCAT('[', GROUP_CONCAT(DISTINCT IF(${mustBeNotNull} IS NULL, NULL, JSON_OBJECT(`\n const keys = Object.keys(object)\n keys.forEach((k, index) => {\n if (object[k].constructor.name === 'Object') {\n expr.append(sql`${sql.raw(`'${k}'`)},JSON_OBJECT(`)\n const subKeys = Object.keys(object[k])\n subKeys.forEach((subK, subIndex) => {\n expr.append(sql`${sql.raw(`'${subK}'`)},${sql`${object[k][subK]}`}${subIndex === subKeys.length - 1 ? sql`)` : sql`,`}`)\n })\n } else {\n expr.append(sql`${sql.raw(`'${k}'`)},${sql`${object[k]}`}`)\n }\n if (index !== keys.length - 1) {\n expr.append(sql`,`)\n }\n })\n expr.append(sql`))), ']'), JSON_ARRAY())`)\n expr.mapWith(JSON.parse)\n return expr\n}\n"],"names":["concatDistinctObjectsInArray","convertToSelect","convertToWhere","dateTimeUTC","dbCheckAffectedRows","dbCheckConnection","dbCloseConnection","dbGetInsertedId","dbGetConnection","app","mode","db","resolve","DB_TOKEN_PROVIDER","connection","client","pool","end","Array","isArray","execute","sql","queryResult","expected","throwError","affectedRows","at","Error","insertedId","insertId","table","fields","select","f","filters","Object","entries","map","k","v","isNull","inArray","eq","dateField","mustBeNotNull","object","expr","keys","forEach","index","name","append","raw","subKeys","subK","subIndex","length","mapWith","JSON","parse"],"mappings":"AAAA;;;;CAIC;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/infrastructure/database/utils.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { NestFastifyApplication } from '@nestjs/platform-fastify'\nimport { TestingModule } from '@nestjs/testing'\nimport { Column, eq, inArray, isNull, SQL, sql } from 'drizzle-orm'\nimport { MySqlDatabase, MySqlTableWithColumns } from 'drizzle-orm/mysql-core'\nimport { MySqlQueryResult } from 'drizzle-orm/mysql2'\nimport { DB_TOKEN_PROVIDER } from './constants'\nimport * as schema from './schema'\n\nasync function dbGetConnection(app: NestFastifyApplication | TestingModule, mode: 'pool' | 'client' = 'pool') {\n const db: MySqlDatabase<any, any> = await app.resolve(DB_TOKEN_PROVIDER)\n let connection: any = db['session'].client\n if (mode === 'pool') {\n connection = connection.pool\n }\n return { db, connection }\n}\n\nexport async function dbCloseConnection(app: NestFastifyApplication | TestingModule, mode: 'pool' | 'client' = 'pool') {\n const connection = (await dbGetConnection(app, mode)).connection\n await connection.end()\n}\n\nexport async function dbCheckConnection(app: NestFastifyApplication | TestingModule, mode: 'pool' | 'client' = 'pool') {\n const db = (await dbGetConnection(app, mode)).db\n return Array.isArray(await db.execute(sql`select 1`))\n}\n\nexport function dbCheckAffectedRows(queryResult: MySqlQueryResult, expected: number, throwError = true): boolean {\n const affectedRows = queryResult.at(0).affectedRows\n if (affectedRows !== expected) {\n if (throwError) {\n throw new Error(`The number of rows affected does not match : ${affectedRows}`)\n }\n return false\n }\n return true\n}\n\nexport function dbGetInsertedId(queryResult: MySqlQueryResult): number {\n const insertedId = queryResult.at(0).insertId\n if (!insertedId) {\n throw new Error(`Record was not inserted : ${insertedId}`)\n }\n return insertedId\n}\n\nexport function convertToSelect<T>(table: T, fields: Partial<keyof T>[]) {\n const select = {} as Record<keyof T, any>\n for (const f of fields) {\n select[f] = table[f]\n }\n return select\n}\n\nexport function convertToWhere<T>(table: T, filters: Partial<Record<keyof T, any>>): SQL[] {\n // only handles AND operator\n return Object.entries(filters).map(([k, v]) => {\n if (v === null) return isNull(table[k])\n if (Array.isArray(v)) return inArray(table[k], v)\n return eq(table[k], v)\n })\n}\n\nexport const dateTimeUTC = (dateField: Column): SQL<string> => sql`CONCAT(${sql`${dateField}`}, 'Z')`\n\nexport function concatDistinctObjectsInArray(mustBeNotNull: Column, object: Record<string, Column | object>): SQL<any> {\n /* Concat json objects in array (only one nesting level is supported) */\n const expr: SQL<any> = sql`IFNULL(CONCAT('[', GROUP_CONCAT(DISTINCT IF(${mustBeNotNull} IS NULL, NULL, JSON_OBJECT(`\n const keys = Object.keys(object)\n keys.forEach((k, index) => {\n if (object[k].constructor.name === 'Object') {\n expr.append(sql`${sql.raw(`'${k}'`)},JSON_OBJECT(`)\n const subKeys = Object.keys(object[k])\n subKeys.forEach((subK, subIndex) => {\n expr.append(sql`${sql.raw(`'${subK}'`)},${sql`${object[k][subK]}`}${subIndex === subKeys.length - 1 ? sql`)` : sql`,`}`)\n })\n } else {\n expr.append(sql`${sql.raw(`'${k}'`)},${sql`${object[k]}`}`)\n }\n if (index !== keys.length - 1) {\n expr.append(sql`,`)\n }\n })\n expr.append(sql`))), ']'), JSON_ARRAY())`)\n expr.mapWith(JSON.parse)\n return expr\n}\n\nexport function getTablesWithFileIdColumn(): MySqlTableWithColumns<any>[] {\n return Object.entries(schema)\n .filter(([_table, columns]) => 'fileId' in columns)\n .map(([_table, columns]) => columns as MySqlTableWithColumns<any>)\n}\n"],"names":["concatDistinctObjectsInArray","convertToSelect","convertToWhere","dateTimeUTC","dbCheckAffectedRows","dbCheckConnection","dbCloseConnection","dbGetInsertedId","getTablesWithFileIdColumn","dbGetConnection","app","mode","db","resolve","DB_TOKEN_PROVIDER","connection","client","pool","end","Array","isArray","execute","sql","queryResult","expected","throwError","affectedRows","at","Error","insertedId","insertId","table","fields","select","f","filters","Object","entries","map","k","v","isNull","inArray","eq","dateField","mustBeNotNull","object","expr","keys","forEach","index","name","append","raw","subKeys","subK","subIndex","length","mapWith","JSON","parse","schema","filter","_table","columns"],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@ let SchedulerModule = class SchedulerModule {
|
|
|
38
38
|
]
|
|
39
39
|
};
|
|
40
40
|
} else {
|
|
41
|
-
// do not initialize the ScheduleModule dependency
|
|
41
|
+
// do not initialize the ScheduleModule dependency; all calls to Interval, Cron ... will be ignored
|
|
42
42
|
return {
|
|
43
43
|
module: SchedulerModule
|
|
44
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../backend/src/infrastructure/scheduler/scheduler.module.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { DynamicModule, Module } from '@nestjs/common'\nimport { ScheduleModule as NestScheduleModule } from '@nestjs/schedule'\nimport cluster from 'node:cluster'\nimport { SCHEDULER_ENV, SCHEDULER_STATE } from './scheduler.constants'\n\n@Module({})\nexport class SchedulerModule {\n static register(): DynamicModule {\n if (cluster.isWorker && process.env[SCHEDULER_ENV] === SCHEDULER_STATE.ENABLED) {\n return {\n global: true,\n module: SchedulerModule,\n imports: [NestScheduleModule.forRoot()]\n }\n } else {\n // do not initialize the ScheduleModule dependency
|
|
1
|
+
{"version":3,"sources":["../../../../backend/src/infrastructure/scheduler/scheduler.module.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { DynamicModule, Module } from '@nestjs/common'\nimport { ScheduleModule as NestScheduleModule } from '@nestjs/schedule'\nimport cluster from 'node:cluster'\nimport { SCHEDULER_ENV, SCHEDULER_STATE } from './scheduler.constants'\n\n@Module({})\nexport class SchedulerModule {\n static register(): DynamicModule {\n if (cluster.isWorker && process.env[SCHEDULER_ENV] === SCHEDULER_STATE.ENABLED) {\n return {\n global: true,\n module: SchedulerModule,\n imports: [NestScheduleModule.forRoot()]\n }\n } else {\n // do not initialize the ScheduleModule dependency; all calls to Interval, Cron ... will be ignored\n return { module: SchedulerModule }\n }\n }\n}\n"],"names":["SchedulerModule","register","cluster","isWorker","process","env","SCHEDULER_ENV","SCHEDULER_STATE","ENABLED","global","module","imports","NestScheduleModule","forRoot"],"mappings":"AAAA;;;;CAIC;;;;+BAQYA;;;eAAAA;;;wBANyB;0BACe;oEACjC;oCAC2B;;;;;;;;;;;;AAGxC,IAAA,AAAMA,kBAAN,MAAMA;IACX,OAAOC,WAA0B;QAC/B,IAAIC,oBAAO,CAACC,QAAQ,IAAIC,QAAQC,GAAG,CAACC,iCAAa,CAAC,KAAKC,mCAAe,CAACC,OAAO,EAAE;YAC9E,OAAO;gBACLC,QAAQ;gBACRC,QAAQV;gBACRW,SAAS;oBAACC,wBAAkB,CAACC,OAAO;iBAAG;YACzC;QACF,OAAO;YACL,mGAAmG;YACnG,OAAO;gBAAEH,QAAQV;YAAgB;QACnC;IACF;AACF"}
|
|
@@ -28,9 +28,7 @@ let ClusterAdapter = class ClusterAdapter extends _platformsocketio.IoAdapter {
|
|
|
28
28
|
return server;
|
|
29
29
|
}
|
|
30
30
|
constructor(...args){
|
|
31
|
-
super(...args), this.clusterAdapter = (0, _clusteradapter.createAdapter)(
|
|
32
|
-
requestsTimeout: 60000
|
|
33
|
-
});
|
|
31
|
+
super(...args), this.clusterAdapter = (0, _clusteradapter.createAdapter)();
|
|
34
32
|
}
|
|
35
33
|
};
|
|
36
34
|
ClusterAdapter = _ts_decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../backend/src/infrastructure/websocket/adapters/cluster.adapter.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { Injectable } from '@nestjs/common'\nimport { IoAdapter } from '@nestjs/platform-socket.io'\nimport { createAdapter } from '@socket.io/cluster-adapter'\nimport { ServerOptions } from 'socket.io'\n\n@Injectable()\nexport class ClusterAdapter extends IoAdapter {\n private readonly clusterAdapter = createAdapter(
|
|
1
|
+
{"version":3,"sources":["../../../../../backend/src/infrastructure/websocket/adapters/cluster.adapter.ts"],"sourcesContent":["/*\n * Copyright (C) 2012-2025 Johan Legrand <johan.legrand@sync-in.com>\n * This file is part of Sync-in | The open source file sync and share solution\n * See the LICENSE file for licensing details\n */\n\nimport { Injectable } from '@nestjs/common'\nimport { IoAdapter } from '@nestjs/platform-socket.io'\nimport { createAdapter } from '@socket.io/cluster-adapter'\nimport { ServerOptions } from 'socket.io'\n\n@Injectable()\nexport class ClusterAdapter extends IoAdapter {\n private readonly clusterAdapter = createAdapter()\n\n createIOServer(port: number, options?: ServerOptions): any {\n const server = super.createIOServer(port, options)\n server.adapter(this.clusterAdapter)\n return server\n }\n}\n"],"names":["ClusterAdapter","IoAdapter","createIOServer","port","options","server","adapter","clusterAdapter","createAdapter"],"mappings":"AAAA;;;;CAIC;;;;+BAQYA;;;eAAAA;;;wBANc;kCACD;gCACI;;;;;;;AAIvB,IAAA,AAAMA,iBAAN,MAAMA,uBAAuBC,2BAAS;IAG3CC,eAAeC,IAAY,EAAEC,OAAuB,EAAO;QACzD,MAAMC,SAAS,KAAK,CAACH,eAAeC,MAAMC;QAC1CC,OAAOC,OAAO,CAAC,IAAI,CAACC,cAAc;QAClC,OAAOF;IACT;;QAPK,qBACYE,iBAAiBC,IAAAA,6BAAa;;AAOjD"}
|
|
@@ -1,4 +1,56 @@
|
|
|
1
1
|
|
|
2
|
+
--------------------------------------------------------------------------------
|
|
3
|
+
Package: codemirror
|
|
4
|
+
License: "MIT"
|
|
5
|
+
|
|
6
|
+
MIT License
|
|
7
|
+
|
|
8
|
+
Copyright (C) 2017 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
|
|
9
|
+
|
|
10
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
11
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
12
|
+
in the Software without restriction, including without limitation the rights
|
|
13
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
14
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
15
|
+
furnished to do so, subject to the following conditions:
|
|
16
|
+
|
|
17
|
+
The above copyright notice and this permission notice shall be included in
|
|
18
|
+
all copies or substantial portions of the Software.
|
|
19
|
+
|
|
20
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
21
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
22
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
23
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
24
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
25
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
26
|
+
THE SOFTWARE.
|
|
27
|
+
|
|
28
|
+
--------------------------------------------------------------------------------
|
|
29
|
+
Package: dayjs
|
|
30
|
+
License: "MIT"
|
|
31
|
+
|
|
32
|
+
MIT License
|
|
33
|
+
|
|
34
|
+
Copyright (c) 2018-present, iamkun
|
|
35
|
+
|
|
36
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
37
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
38
|
+
in the Software without restriction, including without limitation the rights
|
|
39
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
40
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
41
|
+
furnished to do so, subject to the following conditions:
|
|
42
|
+
|
|
43
|
+
The above copyright notice and this permission notice shall be included in all
|
|
44
|
+
copies or substantial portions of the Software.
|
|
45
|
+
|
|
46
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
47
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
48
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
49
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
50
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
51
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
52
|
+
SOFTWARE.
|
|
53
|
+
|
|
2
54
|
--------------------------------------------------------------------------------
|
|
3
55
|
Package: @angular/animations
|
|
4
56
|
License: "MIT"
|
|
@@ -249,32 +301,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
249
301
|
SOFTWARE.
|
|
250
302
|
|
|
251
303
|
|
|
252
|
-
--------------------------------------------------------------------------------
|
|
253
|
-
Package: codemirror
|
|
254
|
-
License: "MIT"
|
|
255
|
-
|
|
256
|
-
MIT License
|
|
257
|
-
|
|
258
|
-
Copyright (C) 2017 by Marijn Haverbeke <marijn@haverbeke.berlin> and others
|
|
259
|
-
|
|
260
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
261
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
262
|
-
in the Software without restriction, including without limitation the rights
|
|
263
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
264
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
265
|
-
furnished to do so, subject to the following conditions:
|
|
266
|
-
|
|
267
|
-
The above copyright notice and this permission notice shall be included in
|
|
268
|
-
all copies or substantial portions of the Software.
|
|
269
|
-
|
|
270
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
271
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
272
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
273
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
274
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
275
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
276
|
-
THE SOFTWARE.
|
|
277
|
-
|
|
278
304
|
--------------------------------------------------------------------------------
|
|
279
305
|
Package: @fortawesome/free-regular-svg-icons
|
|
280
306
|
License: "(CC-BY-4.0 AND MIT)"
|
|
@@ -445,32 +471,6 @@ trademarks does not indicate endorsement of the trademark holder by Font
|
|
|
445
471
|
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
|
|
446
472
|
to represent the company, product, or service to which they refer.**
|
|
447
473
|
|
|
448
|
-
--------------------------------------------------------------------------------
|
|
449
|
-
Package: mobx
|
|
450
|
-
License: "MIT"
|
|
451
|
-
|
|
452
|
-
The MIT License (MIT)
|
|
453
|
-
|
|
454
|
-
Copyright (c) 2015 Michel Weststrate
|
|
455
|
-
|
|
456
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
457
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
458
|
-
in the Software without restriction, including without limitation the rights
|
|
459
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
460
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
461
|
-
furnished to do so, subject to the following conditions:
|
|
462
|
-
|
|
463
|
-
The above copyright notice and this permission notice shall be included in all
|
|
464
|
-
copies or substantial portions of the Software.
|
|
465
|
-
|
|
466
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
467
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
468
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
469
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
470
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
471
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
472
|
-
SOFTWARE.
|
|
473
|
-
|
|
474
474
|
--------------------------------------------------------------------------------
|
|
475
475
|
Package: @ali-hm/angular-tree-component
|
|
476
476
|
License: "MIT"
|
|
@@ -533,6 +533,32 @@ Package: ngx-clipboard
|
|
|
533
533
|
License: "MIT"
|
|
534
534
|
|
|
535
535
|
|
|
536
|
+
--------------------------------------------------------------------------------
|
|
537
|
+
Package: @angular/router
|
|
538
|
+
License: "MIT"
|
|
539
|
+
|
|
540
|
+
The MIT License
|
|
541
|
+
|
|
542
|
+
Copyright (c) 2010-2025 Google LLC. https://angular.dev/license
|
|
543
|
+
|
|
544
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
545
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
546
|
+
in the Software without restriction, including without limitation the rights
|
|
547
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
548
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
549
|
+
furnished to do so, subject to the following conditions:
|
|
550
|
+
|
|
551
|
+
The above copyright notice and this permission notice shall be included in
|
|
552
|
+
all copies or substantial portions of the Software.
|
|
553
|
+
|
|
554
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
555
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
556
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
557
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
558
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
559
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
560
|
+
THE SOFTWARE.
|
|
561
|
+
|
|
536
562
|
--------------------------------------------------------------------------------
|
|
537
563
|
Package: socket.io-client
|
|
538
564
|
License: "MIT"
|
|
@@ -691,32 +717,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
691
717
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
692
718
|
SOFTWARE.
|
|
693
719
|
|
|
694
|
-
--------------------------------------------------------------------------------
|
|
695
|
-
Package: dayjs
|
|
696
|
-
License: "MIT"
|
|
697
|
-
|
|
698
|
-
MIT License
|
|
699
|
-
|
|
700
|
-
Copyright (c) 2018-present, iamkun
|
|
701
|
-
|
|
702
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
703
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
704
|
-
in the Software without restriction, including without limitation the rights
|
|
705
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
706
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
707
|
-
furnished to do so, subject to the following conditions:
|
|
708
|
-
|
|
709
|
-
The above copyright notice and this permission notice shall be included in all
|
|
710
|
-
copies or substantial portions of the Software.
|
|
711
|
-
|
|
712
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
713
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
714
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
715
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
716
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
717
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
718
|
-
SOFTWARE.
|
|
719
|
-
|
|
720
720
|
--------------------------------------------------------------------------------
|
|
721
721
|
Package: @angular/core
|
|
722
722
|
License: "MIT"
|
|
@@ -821,32 +821,6 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
821
821
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
822
822
|
SOFTWARE.
|
|
823
823
|
|
|
824
|
-
--------------------------------------------------------------------------------
|
|
825
|
-
Package: @angular/router
|
|
826
|
-
License: "MIT"
|
|
827
|
-
|
|
828
|
-
The MIT License
|
|
829
|
-
|
|
830
|
-
Copyright (c) 2010-2025 Google LLC. https://angular.dev/license
|
|
831
|
-
|
|
832
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
833
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
834
|
-
in the Software without restriction, including without limitation the rights
|
|
835
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
836
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
837
|
-
furnished to do so, subject to the following conditions:
|
|
838
|
-
|
|
839
|
-
The above copyright notice and this permission notice shall be included in
|
|
840
|
-
all copies or substantial portions of the Software.
|
|
841
|
-
|
|
842
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
843
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
844
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
845
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
846
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
847
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
848
|
-
THE SOFTWARE.
|
|
849
|
-
|
|
850
824
|
--------------------------------------------------------------------------------
|
|
851
825
|
Package: rxjs
|
|
852
826
|
License: "Apache-2.0"
|
|
@@ -1097,9 +1071,40 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
1097
1071
|
THE SOFTWARE.
|
|
1098
1072
|
|
|
1099
1073
|
--------------------------------------------------------------------------------
|
|
1100
|
-
Package: @
|
|
1074
|
+
Package: @angular/forms
|
|
1101
1075
|
License: "MIT"
|
|
1102
1076
|
|
|
1077
|
+
The MIT License
|
|
1078
|
+
|
|
1079
|
+
Copyright (c) 2010-2025 Google LLC. https://angular.dev/license
|
|
1080
|
+
|
|
1081
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
1082
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
1083
|
+
in the Software without restriction, including without limitation the rights
|
|
1084
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
1085
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
1086
|
+
furnished to do so, subject to the following conditions:
|
|
1087
|
+
|
|
1088
|
+
The above copyright notice and this permission notice shall be included in
|
|
1089
|
+
all copies or substantial portions of the Software.
|
|
1090
|
+
|
|
1091
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
1092
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
1093
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
1094
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
1095
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
1096
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
1097
|
+
THE SOFTWARE.
|
|
1098
|
+
|
|
1099
|
+
--------------------------------------------------------------------------------
|
|
1100
|
+
Package: angular-l10n
|
|
1101
|
+
License: "MIT"
|
|
1102
|
+
|
|
1103
|
+
|
|
1104
|
+
--------------------------------------------------------------------------------
|
|
1105
|
+
Package: @fortawesome/free-solid-svg-icons
|
|
1106
|
+
License: "(CC-BY-4.0 AND MIT)"
|
|
1107
|
+
|
|
1103
1108
|
Fonticons, Inc. (https://fontawesome.com)
|
|
1104
1109
|
|
|
1105
1110
|
--------------------------------------------------------------------------------
|
|
@@ -1267,66 +1272,9 @@ Awesome, nor vice versa. **Please do not use brand logos for any purpose except
|
|
|
1267
1272
|
to represent the company, product, or service to which they refer.**
|
|
1268
1273
|
|
|
1269
1274
|
--------------------------------------------------------------------------------
|
|
1270
|
-
Package: @fortawesome/
|
|
1271
|
-
License: "MIT"
|
|
1272
|
-
|
|
1273
|
-
MIT License
|
|
1274
|
-
|
|
1275
|
-
Copyright (c) 2018 Fonticons, Inc. and contributors
|
|
1276
|
-
|
|
1277
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
1278
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
1279
|
-
in the Software without restriction, including without limitation the rights
|
|
1280
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
1281
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
1282
|
-
furnished to do so, subject to the following conditions:
|
|
1283
|
-
|
|
1284
|
-
The above copyright notice and this permission notice shall be included in
|
|
1285
|
-
all copies or substantial portions of the Software.
|
|
1286
|
-
|
|
1287
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
1288
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
1289
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
1290
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
1291
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
1292
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
1293
|
-
THE SOFTWARE.
|
|
1294
|
-
|
|
1295
|
-
--------------------------------------------------------------------------------
|
|
1296
|
-
Package: @angular/forms
|
|
1297
|
-
License: "MIT"
|
|
1298
|
-
|
|
1299
|
-
The MIT License
|
|
1300
|
-
|
|
1301
|
-
Copyright (c) 2010-2025 Google LLC. https://angular.dev/license
|
|
1302
|
-
|
|
1303
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
1304
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
1305
|
-
in the Software without restriction, including without limitation the rights
|
|
1306
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
1307
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
1308
|
-
furnished to do so, subject to the following conditions:
|
|
1309
|
-
|
|
1310
|
-
The above copyright notice and this permission notice shall be included in
|
|
1311
|
-
all copies or substantial portions of the Software.
|
|
1312
|
-
|
|
1313
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
1314
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
1315
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
1316
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
1317
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
1318
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
1319
|
-
THE SOFTWARE.
|
|
1320
|
-
|
|
1321
|
-
--------------------------------------------------------------------------------
|
|
1322
|
-
Package: angular-l10n
|
|
1275
|
+
Package: @fortawesome/fontawesome-svg-core
|
|
1323
1276
|
License: "MIT"
|
|
1324
1277
|
|
|
1325
|
-
|
|
1326
|
-
--------------------------------------------------------------------------------
|
|
1327
|
-
Package: @fortawesome/free-solid-svg-icons
|
|
1328
|
-
License: "(CC-BY-4.0 AND MIT)"
|
|
1329
|
-
|
|
1330
1278
|
Fonticons, Inc. (https://fontawesome.com)
|
|
1331
1279
|
|
|
1332
1280
|
--------------------------------------------------------------------------------
|
|
@@ -1493,6 +1441,32 @@ trademarks does not indicate endorsement of the trademark holder by Font
|
|
|
1493
1441
|
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
|
|
1494
1442
|
to represent the company, product, or service to which they refer.**
|
|
1495
1443
|
|
|
1444
|
+
--------------------------------------------------------------------------------
|
|
1445
|
+
Package: @fortawesome/angular-fontawesome
|
|
1446
|
+
License: "MIT"
|
|
1447
|
+
|
|
1448
|
+
MIT License
|
|
1449
|
+
|
|
1450
|
+
Copyright (c) 2018 Fonticons, Inc. and contributors
|
|
1451
|
+
|
|
1452
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
1453
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
1454
|
+
in the Software without restriction, including without limitation the rights
|
|
1455
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
1456
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
1457
|
+
furnished to do so, subject to the following conditions:
|
|
1458
|
+
|
|
1459
|
+
The above copyright notice and this permission notice shall be included in
|
|
1460
|
+
all copies or substantial portions of the Software.
|
|
1461
|
+
|
|
1462
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
1463
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
1464
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
1465
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
1466
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
1467
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
1468
|
+
THE SOFTWARE.
|
|
1469
|
+
|
|
1496
1470
|
--------------------------------------------------------------------------------
|
|
1497
1471
|
Package: zone.js
|
|
1498
1472
|
License: "MIT"
|