@minecraft-docker/shared 1.6.1 → 1.6.3

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 (164) hide show
  1. package/dist/application/ports/inbound/IWorldManagementUseCase.d.ts +41 -0
  2. package/dist/application/ports/inbound/IWorldManagementUseCase.d.ts.map +1 -1
  3. package/dist/application/ports/inbound/index.d.ts +1 -1
  4. package/dist/application/ports/inbound/index.d.ts.map +1 -1
  5. package/dist/application/ports/index.d.ts +2 -2
  6. package/dist/application/ports/index.d.ts.map +1 -1
  7. package/dist/application/ports/outbound/IModSourcePort.d.ts +71 -0
  8. package/dist/application/ports/outbound/IModSourcePort.d.ts.map +1 -0
  9. package/dist/application/ports/outbound/IModSourcePort.js +19 -0
  10. package/dist/application/ports/outbound/IModSourcePort.js.map +1 -0
  11. package/dist/application/ports/outbound/IPromptPort.d.ts +12 -0
  12. package/dist/application/ports/outbound/IPromptPort.d.ts.map +1 -1
  13. package/dist/application/ports/outbound/IServiceManagerPort.d.ts +115 -0
  14. package/dist/application/ports/outbound/IServiceManagerPort.d.ts.map +1 -0
  15. package/dist/application/ports/outbound/IServiceManagerPort.js +2 -0
  16. package/dist/application/ports/outbound/IServiceManagerPort.js.map +1 -0
  17. package/dist/application/ports/outbound/IShellPort.d.ts +10 -2
  18. package/dist/application/ports/outbound/IShellPort.d.ts.map +1 -1
  19. package/dist/application/ports/outbound/IUserRepository.d.ts +42 -0
  20. package/dist/application/ports/outbound/IUserRepository.d.ts.map +1 -0
  21. package/dist/application/ports/outbound/IUserRepository.js +2 -0
  22. package/dist/application/ports/outbound/IUserRepository.js.map +1 -0
  23. package/dist/application/ports/outbound/IWorldRepository.d.ts +19 -0
  24. package/dist/application/ports/outbound/IWorldRepository.d.ts.map +1 -1
  25. package/dist/application/ports/outbound/index.d.ts +4 -1
  26. package/dist/application/ports/outbound/index.d.ts.map +1 -1
  27. package/dist/application/use-cases/CreateServerUseCase.d.ts.map +1 -1
  28. package/dist/application/use-cases/CreateServerUseCase.js +2 -3
  29. package/dist/application/use-cases/CreateServerUseCase.js.map +1 -1
  30. package/dist/application/use-cases/DeleteServerUseCase.js +5 -5
  31. package/dist/application/use-cases/DeleteServerUseCase.js.map +1 -1
  32. package/dist/application/use-cases/WorldManagementUseCase.d.ts +18 -1
  33. package/dist/application/use-cases/WorldManagementUseCase.d.ts.map +1 -1
  34. package/dist/application/use-cases/WorldManagementUseCase.js +332 -0
  35. package/dist/application/use-cases/WorldManagementUseCase.js.map +1 -1
  36. package/dist/docker/index.d.ts +51 -1
  37. package/dist/docker/index.d.ts.map +1 -1
  38. package/dist/docker/index.js +194 -4
  39. package/dist/docker/index.js.map +1 -1
  40. package/dist/domain/entities/User.d.ts +77 -0
  41. package/dist/domain/entities/User.d.ts.map +1 -0
  42. package/dist/domain/entities/User.js +121 -0
  43. package/dist/domain/entities/User.js.map +1 -0
  44. package/dist/domain/entities/World.d.ts +7 -1
  45. package/dist/domain/entities/World.d.ts.map +1 -1
  46. package/dist/domain/entities/World.js +14 -1
  47. package/dist/domain/entities/World.js.map +1 -1
  48. package/dist/domain/entities/index.d.ts +1 -0
  49. package/dist/domain/entities/index.d.ts.map +1 -1
  50. package/dist/domain/entities/index.js +1 -0
  51. package/dist/domain/entities/index.js.map +1 -1
  52. package/dist/domain/index.d.ts +2 -2
  53. package/dist/domain/index.d.ts.map +1 -1
  54. package/dist/domain/index.js +4 -2
  55. package/dist/domain/index.js.map +1 -1
  56. package/dist/domain/mod/ModDependency.d.ts +18 -0
  57. package/dist/domain/mod/ModDependency.d.ts.map +1 -0
  58. package/dist/domain/mod/ModDependency.js +5 -0
  59. package/dist/domain/mod/ModDependency.js.map +1 -0
  60. package/dist/domain/mod/ModFile.d.ts +27 -0
  61. package/dist/domain/mod/ModFile.d.ts.map +1 -0
  62. package/dist/domain/mod/ModFile.js +5 -0
  63. package/dist/domain/mod/ModFile.js.map +1 -0
  64. package/dist/domain/mod/ModProject.d.ts +36 -0
  65. package/dist/domain/mod/ModProject.d.ts.map +1 -0
  66. package/dist/domain/mod/ModProject.js +5 -0
  67. package/dist/domain/mod/ModProject.js.map +1 -0
  68. package/dist/domain/mod/ModSearchResult.d.ts +18 -0
  69. package/dist/domain/mod/ModSearchResult.d.ts.map +1 -0
  70. package/dist/domain/mod/ModSearchResult.js +5 -0
  71. package/dist/domain/mod/ModSearchResult.js.map +1 -0
  72. package/dist/domain/mod/ModVersion.d.ts +36 -0
  73. package/dist/domain/mod/ModVersion.d.ts.map +1 -0
  74. package/dist/domain/mod/ModVersion.js +5 -0
  75. package/dist/domain/mod/ModVersion.js.map +1 -0
  76. package/dist/domain/mod/index.d.ts +11 -0
  77. package/dist/domain/mod/index.d.ts.map +1 -0
  78. package/dist/domain/mod/index.js +6 -0
  79. package/dist/domain/mod/index.js.map +1 -0
  80. package/dist/domain/mod/types.d.ts +43 -0
  81. package/dist/domain/mod/types.d.ts.map +1 -0
  82. package/dist/domain/mod/types.js +6 -0
  83. package/dist/domain/mod/types.js.map +1 -0
  84. package/dist/domain/value-objects/ProcessInfo.d.ts +99 -0
  85. package/dist/domain/value-objects/ProcessInfo.d.ts.map +1 -0
  86. package/dist/domain/value-objects/ProcessInfo.js +171 -0
  87. package/dist/domain/value-objects/ProcessInfo.js.map +1 -0
  88. package/dist/domain/value-objects/Role.d.ts +41 -0
  89. package/dist/domain/value-objects/Role.d.ts.map +1 -0
  90. package/dist/domain/value-objects/Role.js +66 -0
  91. package/dist/domain/value-objects/Role.js.map +1 -0
  92. package/dist/domain/value-objects/ServerType.d.ts +1 -0
  93. package/dist/domain/value-objects/ServerType.d.ts.map +1 -1
  94. package/dist/domain/value-objects/ServerType.js +8 -0
  95. package/dist/domain/value-objects/ServerType.js.map +1 -1
  96. package/dist/domain/value-objects/ServiceStatus.d.ts +64 -0
  97. package/dist/domain/value-objects/ServiceStatus.d.ts.map +1 -0
  98. package/dist/domain/value-objects/ServiceStatus.js +99 -0
  99. package/dist/domain/value-objects/ServiceStatus.js.map +1 -0
  100. package/dist/domain/value-objects/UserId.d.ts +21 -0
  101. package/dist/domain/value-objects/UserId.d.ts.map +1 -0
  102. package/dist/domain/value-objects/UserId.js +43 -0
  103. package/dist/domain/value-objects/UserId.js.map +1 -0
  104. package/dist/domain/value-objects/Username.d.ts +16 -0
  105. package/dist/domain/value-objects/Username.d.ts.map +1 -0
  106. package/dist/domain/value-objects/Username.js +46 -0
  107. package/dist/domain/value-objects/Username.js.map +1 -0
  108. package/dist/domain/value-objects/index.d.ts +5 -0
  109. package/dist/domain/value-objects/index.d.ts.map +1 -1
  110. package/dist/domain/value-objects/index.js +7 -0
  111. package/dist/domain/value-objects/index.js.map +1 -1
  112. package/dist/index.d.ts +4 -2
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.js +9 -3
  115. package/dist/index.js.map +1 -1
  116. package/dist/infrastructure/adapters/ApiPromptAdapter.d.ts +115 -0
  117. package/dist/infrastructure/adapters/ApiPromptAdapter.d.ts.map +1 -0
  118. package/dist/infrastructure/adapters/ApiPromptAdapter.js +268 -0
  119. package/dist/infrastructure/adapters/ApiPromptAdapter.js.map +1 -0
  120. package/dist/infrastructure/adapters/ServerRepository.js +3 -3
  121. package/dist/infrastructure/adapters/ServerRepository.js.map +1 -1
  122. package/dist/infrastructure/adapters/ShellAdapter.d.ts +4 -2
  123. package/dist/infrastructure/adapters/ShellAdapter.d.ts.map +1 -1
  124. package/dist/infrastructure/adapters/ShellAdapter.js +15 -5
  125. package/dist/infrastructure/adapters/ShellAdapter.js.map +1 -1
  126. package/dist/infrastructure/adapters/SqliteUserRepository.d.ts +70 -0
  127. package/dist/infrastructure/adapters/SqliteUserRepository.d.ts.map +1 -0
  128. package/dist/infrastructure/adapters/SqliteUserRepository.js +149 -0
  129. package/dist/infrastructure/adapters/SqliteUserRepository.js.map +1 -0
  130. package/dist/infrastructure/adapters/WorldRepository.d.ts +12 -0
  131. package/dist/infrastructure/adapters/WorldRepository.d.ts.map +1 -1
  132. package/dist/infrastructure/adapters/WorldRepository.js +73 -3
  133. package/dist/infrastructure/adapters/WorldRepository.js.map +1 -1
  134. package/dist/infrastructure/adapters/YamlUserRepository.d.ts +67 -0
  135. package/dist/infrastructure/adapters/YamlUserRepository.d.ts.map +1 -0
  136. package/dist/infrastructure/adapters/YamlUserRepository.js +161 -0
  137. package/dist/infrastructure/adapters/YamlUserRepository.js.map +1 -0
  138. package/dist/infrastructure/adapters/index.d.ts +3 -0
  139. package/dist/infrastructure/adapters/index.d.ts.map +1 -1
  140. package/dist/infrastructure/adapters/index.js +3 -0
  141. package/dist/infrastructure/adapters/index.js.map +1 -1
  142. package/dist/infrastructure/config/Pm2EcosystemConfig.d.ts +192 -0
  143. package/dist/infrastructure/config/Pm2EcosystemConfig.d.ts.map +1 -0
  144. package/dist/infrastructure/config/Pm2EcosystemConfig.js +48 -0
  145. package/dist/infrastructure/config/Pm2EcosystemConfig.js.map +1 -0
  146. package/dist/infrastructure/config/index.d.ts +6 -0
  147. package/dist/infrastructure/config/index.d.ts.map +1 -0
  148. package/dist/infrastructure/config/index.js +6 -0
  149. package/dist/infrastructure/config/index.js.map +1 -0
  150. package/dist/infrastructure/factories/ModSourceFactory.d.ts +73 -0
  151. package/dist/infrastructure/factories/ModSourceFactory.d.ts.map +1 -0
  152. package/dist/infrastructure/factories/ModSourceFactory.js +98 -0
  153. package/dist/infrastructure/factories/ModSourceFactory.js.map +1 -0
  154. package/dist/infrastructure/factories/index.d.ts +5 -0
  155. package/dist/infrastructure/factories/index.d.ts.map +1 -0
  156. package/dist/infrastructure/factories/index.js +5 -0
  157. package/dist/infrastructure/factories/index.js.map +1 -0
  158. package/dist/infrastructure/index.d.ts +1 -0
  159. package/dist/infrastructure/index.d.ts.map +1 -1
  160. package/dist/infrastructure/index.js +1 -0
  161. package/dist/infrastructure/index.js.map +1 -1
  162. package/dist/types/index.d.ts +1 -1
  163. package/dist/types/index.d.ts.map +1 -1
  164. package/package.json +10 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EAEd,SAAS,EACT,MAAM,EACN,YAAY,EACZ,cAAc,GAEf,MAAM,0BAA0B,CAAC;AAElC,WAAW;AACX,OAAO,EACL,MAAM,EACN,YAAY,EAEZ,KAAK,EACL,eAAe,GAEhB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EAEd,SAAS,EACT,MAAM,EACN,YAAY,EACZ,cAAc,EAEd,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,QAAQ;AACR,mCAAmC;AACnC,aAAa,EACb,iBAAiB,EACjB,WAAW,GAGZ,MAAM,0BAA0B,CAAC;AAElC,WAAW;AACX,OAAO,EACL,MAAM,EACN,YAAY,EAEZ,KAAK,EACL,eAAe,EAEf,IAAI,GAEL,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * ModDependency - Domain model for mod dependency
3
+ */
4
+ import type { ModDependencyType } from './types.js';
5
+ /**
6
+ * Represents a mod dependency relationship
7
+ */
8
+ export interface ModDependency {
9
+ /** Project ID of the dependency */
10
+ projectId: string;
11
+ /** Project slug (if available) */
12
+ projectSlug?: string;
13
+ /** Dependency type */
14
+ dependencyType: ModDependencyType;
15
+ /** Specific version ID (if pinned) */
16
+ versionId?: string;
17
+ }
18
+ //# sourceMappingURL=ModDependency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModDependency.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/ModDependency.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,sBAAsB;IACtB,cAAc,EAAE,iBAAiB,CAAC;IAElC,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ModDependency - Domain model for mod dependency
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=ModDependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModDependency.js","sourceRoot":"","sources":["../../../src/domain/mod/ModDependency.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * ModFile - Domain model for downloadable mod file
3
+ */
4
+ /**
5
+ * File hash information
6
+ */
7
+ export interface ModFileHashes {
8
+ sha1?: string;
9
+ sha512?: string;
10
+ md5?: string;
11
+ }
12
+ /**
13
+ * Represents a downloadable mod file
14
+ */
15
+ export interface ModFile {
16
+ /** Direct download URL */
17
+ url: string;
18
+ /** File name */
19
+ filename: string;
20
+ /** File size in bytes */
21
+ size: number;
22
+ /** File hashes for verification */
23
+ hashes: ModFileHashes;
24
+ /** Whether this is the primary file */
25
+ primary: boolean;
26
+ }
27
+ //# sourceMappingURL=ModFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModFile.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/ModFile.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IAEZ,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IAEjB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,MAAM,EAAE,aAAa,CAAC;IAEtB,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ModFile - Domain model for downloadable mod file
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=ModFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModFile.js","sourceRoot":"","sources":["../../../src/domain/mod/ModFile.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * ModProject - Domain model for mod/plugin project
3
+ */
4
+ import type { ModSideSupport, ModProjectType } from './types.js';
5
+ /**
6
+ * Represents a mod/plugin project from any source
7
+ */
8
+ export interface ModProject {
9
+ /** Unique slug identifier */
10
+ slug: string;
11
+ /** Display title */
12
+ title: string;
13
+ /** Short description */
14
+ description: string;
15
+ /** Total download count */
16
+ downloads: number;
17
+ /** Icon/logo URL */
18
+ iconUrl: string | null;
19
+ /** Server-side support requirement */
20
+ serverSide: ModSideSupport;
21
+ /** Client-side support requirement */
22
+ clientSide: ModSideSupport;
23
+ /** Project type */
24
+ projectType: ModProjectType;
25
+ /** Category tags */
26
+ categories: string[];
27
+ /** Author/owner name */
28
+ author: string;
29
+ /** License identifier */
30
+ license: string;
31
+ /** Source-specific project ID */
32
+ sourceId: string;
33
+ /** Source name (modrinth, curseforge, spiget) */
34
+ sourceName: string;
35
+ }
36
+ //# sourceMappingURL=ModProject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModProject.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/ModProject.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IAEb,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IAEd,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,2BAA2B;IAC3B,SAAS,EAAE,MAAM,CAAC;IAElB,oBAAoB;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,sCAAsC;IACtC,UAAU,EAAE,cAAc,CAAC;IAE3B,sCAAsC;IACtC,UAAU,EAAE,cAAc,CAAC;IAE3B,mBAAmB;IACnB,WAAW,EAAE,cAAc,CAAC;IAE5B,oBAAoB;IACpB,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IAEf,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IAEjB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ModProject - Domain model for mod/plugin project
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=ModProject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModProject.js","sourceRoot":"","sources":["../../../src/domain/mod/ModProject.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * ModSearchResult - Domain model for search results
3
+ */
4
+ import type { ModProject } from './ModProject.js';
5
+ /**
6
+ * Represents paginated search results
7
+ */
8
+ export interface ModSearchResult {
9
+ /** Found projects */
10
+ hits: ModProject[];
11
+ /** Total number of matches */
12
+ totalHits: number;
13
+ /** Current offset */
14
+ offset: number;
15
+ /** Results per page */
16
+ limit: number;
17
+ }
18
+ //# sourceMappingURL=ModSearchResult.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModSearchResult.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/ModSearchResult.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,IAAI,EAAE,UAAU,EAAE,CAAC;IAEnB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IAEf,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ModSearchResult - Domain model for search results
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=ModSearchResult.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModSearchResult.js","sourceRoot":"","sources":["../../../src/domain/mod/ModSearchResult.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * ModVersion - Domain model for mod version
3
+ */
4
+ import type { ModVersionType } from './types.js';
5
+ import type { ModFile } from './ModFile.js';
6
+ import type { ModDependency } from './ModDependency.js';
7
+ /**
8
+ * Represents a specific version of a mod
9
+ */
10
+ export interface ModVersion {
11
+ /** Version ID */
12
+ id: string;
13
+ /** Parent project ID */
14
+ projectId: string;
15
+ /** Version display name */
16
+ name: string;
17
+ /** Semantic version number */
18
+ versionNumber: string;
19
+ /** Release type */
20
+ versionType: ModVersionType;
21
+ /** Supported Minecraft versions */
22
+ gameVersions: string[];
23
+ /** Supported mod loaders */
24
+ loaders: string[];
25
+ /** Downloadable files */
26
+ files: ModFile[];
27
+ /** Dependencies */
28
+ dependencies: ModDependency[];
29
+ /** Download count for this version */
30
+ downloads: number;
31
+ /** Publication date (ISO string) */
32
+ datePublished: string;
33
+ /** Changelog (may be empty) */
34
+ changelog?: string;
35
+ }
36
+ //# sourceMappingURL=ModVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModVersion.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/ModVersion.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iBAAiB;IACjB,EAAE,EAAE,MAAM,CAAC;IAEX,wBAAwB;IACxB,SAAS,EAAE,MAAM,CAAC;IAElB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IAEtB,mBAAmB;IACnB,WAAW,EAAE,cAAc,CAAC;IAE5B,mCAAmC;IACnC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,yBAAyB;IACzB,KAAK,EAAE,OAAO,EAAE,CAAC;IAEjB,mBAAmB;IACnB,YAAY,EAAE,aAAa,EAAE,CAAC;IAE9B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAElB,oCAAoC;IACpC,aAAa,EAAE,MAAM,CAAC;IAEtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ModVersion - Domain model for mod version
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=ModVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModVersion.js","sourceRoot":"","sources":["../../../src/domain/mod/ModVersion.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Mod Domain Models
3
+ * Re-export all mod-related domain types
4
+ */
5
+ export type { ModSideSupport, ModProjectType, ModVersionType, ModDependencyType, ModSearchIndex, ModSearchOptions, ModVersionOptions, } from './types.js';
6
+ export type { ModProject } from './ModProject.js';
7
+ export type { ModVersion } from './ModVersion.js';
8
+ export type { ModFile, ModFileHashes } from './ModFile.js';
9
+ export type { ModDependency } from './ModDependency.js';
10
+ export type { ModSearchResult } from './ModSearchResult.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Mod Domain Models
3
+ * Re-export all mod-related domain types
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/mod/index.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Mod Domain Types
3
+ * Common types and enums for mod management
4
+ */
5
+ /**
6
+ * Side support for mods (client/server)
7
+ */
8
+ export type ModSideSupport = 'required' | 'optional' | 'unsupported';
9
+ /**
10
+ * Project type
11
+ */
12
+ export type ModProjectType = 'mod' | 'modpack' | 'resourcepack' | 'shader' | 'plugin';
13
+ /**
14
+ * Version release type
15
+ */
16
+ export type ModVersionType = 'release' | 'beta' | 'alpha';
17
+ /**
18
+ * Dependency type
19
+ */
20
+ export type ModDependencyType = 'required' | 'optional' | 'incompatible' | 'embedded';
21
+ /**
22
+ * Search result sort index
23
+ */
24
+ export type ModSearchIndex = 'relevance' | 'downloads' | 'follows' | 'newest' | 'updated';
25
+ /**
26
+ * Search options
27
+ */
28
+ export interface ModSearchOptions {
29
+ limit?: number;
30
+ offset?: number;
31
+ gameVersions?: string[];
32
+ loaders?: string[];
33
+ index?: ModSearchIndex;
34
+ }
35
+ /**
36
+ * Version filter options
37
+ */
38
+ export interface ModVersionOptions {
39
+ gameVersions?: string[];
40
+ loaders?: string[];
41
+ featured?: boolean;
42
+ }
43
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain/mod/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,SAAS,GAAG,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,UAAU,GAAG,cAAc,GAAG,UAAU,CAAC;AAEtF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE1F;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Mod Domain Types
3
+ * Common types and enums for mod management
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domain/mod/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,99 @@
1
+ import { ServiceStatus, ServiceStatusEnum } from './ServiceStatus.js';
2
+ /**
3
+ * Process monitoring metrics
4
+ */
5
+ export interface ProcessMetrics {
6
+ memory: number;
7
+ cpu: number;
8
+ }
9
+ /**
10
+ * Process information data interface
11
+ */
12
+ export interface ProcessInfoData {
13
+ pmId: number;
14
+ name: string;
15
+ status: ServiceStatusEnum;
16
+ pid?: number;
17
+ cpu?: number;
18
+ memory?: number;
19
+ uptime?: number;
20
+ restarts?: number;
21
+ createdAt?: Date;
22
+ interpreter?: string;
23
+ scriptPath?: string;
24
+ }
25
+ /**
26
+ * ProcessInfo Value Object
27
+ * Represents information about a managed service process
28
+ */
29
+ export declare class ProcessInfo {
30
+ private readonly _data;
31
+ private constructor();
32
+ get pmId(): number;
33
+ get name(): string;
34
+ get status(): ServiceStatus;
35
+ get statusValue(): ServiceStatusEnum;
36
+ get pid(): number | undefined;
37
+ get cpu(): number | undefined;
38
+ get memory(): number | undefined;
39
+ get uptime(): number | undefined;
40
+ get restarts(): number | undefined;
41
+ get createdAt(): Date | undefined;
42
+ get interpreter(): string | undefined;
43
+ get scriptPath(): string | undefined;
44
+ /**
45
+ * Check if process is online
46
+ */
47
+ get isOnline(): boolean;
48
+ /**
49
+ * Check if process is stopped
50
+ */
51
+ get isStopped(): boolean;
52
+ /**
53
+ * Check if process has errored
54
+ */
55
+ get isErrored(): boolean;
56
+ /**
57
+ * Get formatted memory usage string
58
+ */
59
+ get memoryFormatted(): string;
60
+ /**
61
+ * Get formatted uptime string
62
+ */
63
+ get uptimeFormatted(): string;
64
+ /**
65
+ * Get metrics object
66
+ */
67
+ get metrics(): ProcessMetrics | null;
68
+ /**
69
+ * Create a ProcessInfo from data
70
+ */
71
+ static create(data: ProcessInfoData): ProcessInfo;
72
+ /**
73
+ * Create from PM2 process description
74
+ */
75
+ static fromPm2(pm2Process: {
76
+ pm_id?: number;
77
+ name?: string;
78
+ pm2_env?: {
79
+ status?: string;
80
+ pm_uptime?: number;
81
+ restart_time?: number;
82
+ created_at?: number;
83
+ exec_interpreter?: string;
84
+ pm_exec_path?: string;
85
+ };
86
+ pid?: number;
87
+ monit?: {
88
+ cpu?: number;
89
+ memory?: number;
90
+ };
91
+ }): ProcessInfo;
92
+ /**
93
+ * Convert to plain object
94
+ */
95
+ toJSON(): ProcessInfoData;
96
+ equals(other: ProcessInfo): boolean;
97
+ toString(): string;
98
+ }
99
+ //# sourceMappingURL=ProcessInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessInfo.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/ProcessInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACF,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAIP,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,MAAM,IAAI,aAAa,CAE1B;IAED,IAAI,WAAW,IAAI,iBAAiB,CAEnC;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,IAAI,GAAG,IAAI,MAAM,GAAG,SAAS,CAE5B;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED,IAAI,SAAS,IAAI,IAAI,GAAG,SAAS,CAEhC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,UAAU,IAAI,MAAM,GAAG,SAAS,CAEnC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAG5B;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAG5B;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,cAAc,GAAG,IAAI,CAQnC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW;IAUjD;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;QACzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE;YACR,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC;QACF,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE;YACN,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,GAAG,WAAW;IAmBf;;OAEG;IACH,MAAM,IAAI,eAAe;IAIzB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO;IAInC,QAAQ,IAAI,MAAM;CAGnB"}
@@ -0,0 +1,171 @@
1
+ import { ServiceStatus, ServiceStatusEnum } from './ServiceStatus.js';
2
+ /**
3
+ * ProcessInfo Value Object
4
+ * Represents information about a managed service process
5
+ */
6
+ export class ProcessInfo {
7
+ _data;
8
+ constructor(_data) {
9
+ this._data = _data;
10
+ Object.freeze(this);
11
+ }
12
+ get pmId() {
13
+ return this._data.pmId;
14
+ }
15
+ get name() {
16
+ return this._data.name;
17
+ }
18
+ get status() {
19
+ return ServiceStatus.create(this._data.status);
20
+ }
21
+ get statusValue() {
22
+ return this._data.status;
23
+ }
24
+ get pid() {
25
+ return this._data.pid;
26
+ }
27
+ get cpu() {
28
+ return this._data.cpu;
29
+ }
30
+ get memory() {
31
+ return this._data.memory;
32
+ }
33
+ get uptime() {
34
+ return this._data.uptime;
35
+ }
36
+ get restarts() {
37
+ return this._data.restarts;
38
+ }
39
+ get createdAt() {
40
+ return this._data.createdAt;
41
+ }
42
+ get interpreter() {
43
+ return this._data.interpreter;
44
+ }
45
+ get scriptPath() {
46
+ return this._data.scriptPath;
47
+ }
48
+ /**
49
+ * Check if process is online
50
+ */
51
+ get isOnline() {
52
+ return this._data.status === ServiceStatusEnum.ONLINE;
53
+ }
54
+ /**
55
+ * Check if process is stopped
56
+ */
57
+ get isStopped() {
58
+ return this._data.status === ServiceStatusEnum.STOPPED;
59
+ }
60
+ /**
61
+ * Check if process has errored
62
+ */
63
+ get isErrored() {
64
+ return this._data.status === ServiceStatusEnum.ERRORED;
65
+ }
66
+ /**
67
+ * Get formatted memory usage string
68
+ */
69
+ get memoryFormatted() {
70
+ if (this._data.memory === undefined)
71
+ return 'N/A';
72
+ return formatBytes(this._data.memory);
73
+ }
74
+ /**
75
+ * Get formatted uptime string
76
+ */
77
+ get uptimeFormatted() {
78
+ if (this._data.uptime === undefined)
79
+ return 'N/A';
80
+ return formatDuration(this._data.uptime);
81
+ }
82
+ /**
83
+ * Get metrics object
84
+ */
85
+ get metrics() {
86
+ if (this._data.cpu === undefined || this._data.memory === undefined) {
87
+ return null;
88
+ }
89
+ return {
90
+ cpu: this._data.cpu,
91
+ memory: this._data.memory,
92
+ };
93
+ }
94
+ /**
95
+ * Create a ProcessInfo from data
96
+ */
97
+ static create(data) {
98
+ if (data.pmId < 0) {
99
+ throw new Error('PM2 ID cannot be negative');
100
+ }
101
+ if (!data.name || data.name.trim() === '') {
102
+ throw new Error('Process name is required');
103
+ }
104
+ return new ProcessInfo(data);
105
+ }
106
+ /**
107
+ * Create from PM2 process description
108
+ */
109
+ static fromPm2(pm2Process) {
110
+ const env = pm2Process.pm2_env || {};
111
+ const monit = pm2Process.monit || {};
112
+ return ProcessInfo.create({
113
+ pmId: pm2Process.pm_id ?? 0,
114
+ name: pm2Process.name ?? 'unknown',
115
+ status: env.status ?? ServiceStatusEnum.STOPPED,
116
+ pid: pm2Process.pid,
117
+ cpu: monit.cpu,
118
+ memory: monit.memory,
119
+ uptime: env.pm_uptime,
120
+ restarts: env.restart_time,
121
+ createdAt: env.created_at ? new Date(env.created_at) : undefined,
122
+ interpreter: env.exec_interpreter,
123
+ scriptPath: env.pm_exec_path,
124
+ });
125
+ }
126
+ /**
127
+ * Convert to plain object
128
+ */
129
+ toJSON() {
130
+ return { ...this._data };
131
+ }
132
+ equals(other) {
133
+ return this._data.pmId === other._data.pmId && this._data.name === other._data.name;
134
+ }
135
+ toString() {
136
+ return `${this._data.name} (PM2 ID: ${this._data.pmId}, Status: ${this._data.status})`;
137
+ }
138
+ }
139
+ /**
140
+ * Format bytes to human readable string
141
+ */
142
+ function formatBytes(bytes) {
143
+ const units = ['B', 'KB', 'MB', 'GB', 'TB'];
144
+ let unitIndex = 0;
145
+ let size = bytes;
146
+ while (size >= 1024 && unitIndex < units.length - 1) {
147
+ size /= 1024;
148
+ unitIndex++;
149
+ }
150
+ return `${size.toFixed(1)} ${units[unitIndex]}`;
151
+ }
152
+ /**
153
+ * Format duration in milliseconds to human readable string
154
+ */
155
+ function formatDuration(ms) {
156
+ const seconds = Math.floor(ms / 1000);
157
+ const minutes = Math.floor(seconds / 60);
158
+ const hours = Math.floor(minutes / 60);
159
+ const days = Math.floor(hours / 24);
160
+ if (days > 0) {
161
+ return `${days}d ${hours % 24}h`;
162
+ }
163
+ if (hours > 0) {
164
+ return `${hours}h ${minutes % 60}m`;
165
+ }
166
+ if (minutes > 0) {
167
+ return `${minutes}m ${seconds % 60}s`;
168
+ }
169
+ return `${seconds}s`;
170
+ }
171
+ //# sourceMappingURL=ProcessInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessInfo.js","sourceRoot":"","sources":["../../../src/domain/value-objects/ProcessInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AA2BtE;;;GAGG;AACH,MAAM,OAAO,WAAW;IACe;IAArC,YAAqC,KAAsB;QAAtB,UAAK,GAAL,KAAK,CAAiB;QACzD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACxB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,OAAO,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,OAAO,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAClD,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAClD,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;YACnB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,IAAqB;QACjC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,UAgBd;QACC,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;QAErC,OAAO,WAAW,CAAC,MAAM,CAAC;YACxB,IAAI,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;YAC3B,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,SAAS;YAClC,MAAM,EAAG,GAAG,CAAC,MAA4B,IAAI,iBAAiB,CAAC,OAAO;YACtE,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,GAAG,CAAC,SAAS;YACrB,QAAQ,EAAE,GAAG,CAAC,YAAY;YAC1B,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;YAChE,WAAW,EAAE,GAAG,CAAC,gBAAgB;YACjC,UAAU,EAAE,GAAG,CAAC,YAAY;SAC7B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,KAAkB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;IACtF,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;IACzF,CAAC;CACF;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,OAAO,IAAI,IAAI,IAAI,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,IAAI,CAAC;QACb,SAAS,EAAE,CAAC;IACd,CAAC;IAED,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,EAAU;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IAEpC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,GAAG,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,GAAG,KAAK,KAAK,OAAO,GAAG,EAAE,GAAG,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,GAAG,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,OAAO,GAAG,CAAC;AACvB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Role Enum
3
+ * Defines available user roles in the system
4
+ */
5
+ export declare enum RoleEnum {
6
+ ADMIN = "admin",
7
+ VIEWER = "viewer"
8
+ }
9
+ /**
10
+ * Role Value Object
11
+ * Represents a validated user role
12
+ */
13
+ export declare class Role {
14
+ private readonly _value;
15
+ private static readonly VALID_ROLES;
16
+ private constructor();
17
+ get value(): RoleEnum;
18
+ /**
19
+ * Create a Role from a string value
20
+ */
21
+ static create(value: string): Role;
22
+ /**
23
+ * Create an admin role
24
+ */
25
+ static admin(): Role;
26
+ /**
27
+ * Create a viewer role
28
+ */
29
+ static viewer(): Role;
30
+ /**
31
+ * Check if this role is admin
32
+ */
33
+ get isAdmin(): boolean;
34
+ /**
35
+ * Check if this role is viewer
36
+ */
37
+ get isViewer(): boolean;
38
+ equals(other: Role): boolean;
39
+ toString(): string;
40
+ }
41
+ //# sourceMappingURL=Role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Role.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/Role.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED;;;GAGG;AACH,qBAAa,IAAI;IAGK,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAEvE,OAAO;IAIP,IAAI,KAAK,IAAI,QAAQ,CAEpB;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAalC;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,IAAI;IAIrB;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;IAI5B,QAAQ,IAAI,MAAM;CAGnB"}