@minecraft-docker/shared 1.6.0 → 1.6.2
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/dist/application/index.d.ts +3 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +5 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/ports/inbound/IBackupUseCase.d.ts +69 -0
- package/dist/application/ports/inbound/IBackupUseCase.d.ts.map +1 -0
- package/dist/application/ports/inbound/IBackupUseCase.js +2 -0
- package/dist/application/ports/inbound/IBackupUseCase.js.map +1 -0
- package/dist/application/ports/inbound/ICreateServerUseCase.d.ts +32 -0
- package/dist/application/ports/inbound/ICreateServerUseCase.d.ts.map +1 -0
- package/dist/application/ports/inbound/ICreateServerUseCase.js +2 -0
- package/dist/application/ports/inbound/ICreateServerUseCase.js.map +1 -0
- package/dist/application/ports/inbound/IDeleteServerUseCase.d.ts +26 -0
- package/dist/application/ports/inbound/IDeleteServerUseCase.d.ts.map +1 -0
- package/dist/application/ports/inbound/IDeleteServerUseCase.js +2 -0
- package/dist/application/ports/inbound/IDeleteServerUseCase.js.map +1 -0
- package/dist/application/ports/inbound/IPlayerLookupUseCase.d.ts +47 -0
- package/dist/application/ports/inbound/IPlayerLookupUseCase.d.ts.map +1 -0
- package/dist/application/ports/inbound/IPlayerLookupUseCase.js +2 -0
- package/dist/application/ports/inbound/IPlayerLookupUseCase.js.map +1 -0
- package/dist/application/ports/inbound/IServerStatusUseCase.d.ts +34 -0
- package/dist/application/ports/inbound/IServerStatusUseCase.d.ts.map +1 -0
- package/dist/application/ports/inbound/IServerStatusUseCase.js +2 -0
- package/dist/application/ports/inbound/IServerStatusUseCase.js.map +1 -0
- package/dist/application/ports/inbound/IWorldManagementUseCase.d.ts +97 -0
- package/dist/application/ports/inbound/IWorldManagementUseCase.d.ts.map +1 -0
- package/dist/application/ports/inbound/IWorldManagementUseCase.js +2 -0
- package/dist/application/ports/inbound/IWorldManagementUseCase.js.map +1 -0
- package/dist/application/ports/inbound/index.d.ts +7 -0
- package/dist/application/ports/inbound/index.d.ts.map +1 -0
- package/dist/application/ports/inbound/index.js +2 -0
- package/dist/application/ports/inbound/index.js.map +1 -0
- package/dist/application/ports/index.d.ts +3 -0
- package/dist/application/ports/index.d.ts.map +1 -0
- package/dist/application/ports/index.js +2 -0
- package/dist/application/ports/index.js.map +1 -0
- package/dist/application/ports/outbound/IDocProvider.d.ts +73 -0
- package/dist/application/ports/outbound/IDocProvider.d.ts.map +1 -0
- package/dist/application/ports/outbound/IDocProvider.js +2 -0
- package/dist/application/ports/outbound/IDocProvider.js.map +1 -0
- package/dist/application/ports/outbound/IModSourcePort.d.ts +71 -0
- package/dist/application/ports/outbound/IModSourcePort.d.ts.map +1 -0
- package/dist/application/ports/outbound/IModSourcePort.js +19 -0
- package/dist/application/ports/outbound/IModSourcePort.js.map +1 -0
- package/dist/application/ports/outbound/IPromptPort.d.ts +148 -0
- package/dist/application/ports/outbound/IPromptPort.d.ts.map +1 -0
- package/dist/application/ports/outbound/IPromptPort.js +2 -0
- package/dist/application/ports/outbound/IPromptPort.js.map +1 -0
- package/dist/application/ports/outbound/IServerRepository.d.ts +54 -0
- package/dist/application/ports/outbound/IServerRepository.d.ts.map +1 -0
- package/dist/application/ports/outbound/IServerRepository.js +2 -0
- package/dist/application/ports/outbound/IServerRepository.js.map +1 -0
- package/dist/application/ports/outbound/IServiceManagerPort.d.ts +115 -0
- package/dist/application/ports/outbound/IServiceManagerPort.d.ts.map +1 -0
- package/dist/application/ports/outbound/IServiceManagerPort.js +2 -0
- package/dist/application/ports/outbound/IServiceManagerPort.js.map +1 -0
- package/dist/application/ports/outbound/IShellPort.d.ts +114 -0
- package/dist/application/ports/outbound/IShellPort.d.ts.map +1 -0
- package/dist/application/ports/outbound/IShellPort.js +2 -0
- package/dist/application/ports/outbound/IShellPort.js.map +1 -0
- package/dist/application/ports/outbound/IUserRepository.d.ts +42 -0
- package/dist/application/ports/outbound/IUserRepository.d.ts.map +1 -0
- package/dist/application/ports/outbound/IUserRepository.js +2 -0
- package/dist/application/ports/outbound/IUserRepository.js.map +1 -0
- package/dist/application/ports/outbound/IWorldRepository.d.ts +90 -0
- package/dist/application/ports/outbound/IWorldRepository.d.ts.map +1 -0
- package/dist/application/ports/outbound/IWorldRepository.js +2 -0
- package/dist/application/ports/outbound/IWorldRepository.js.map +1 -0
- package/dist/application/ports/outbound/index.d.ts +9 -0
- package/dist/application/ports/outbound/index.d.ts.map +1 -0
- package/dist/application/ports/outbound/index.js +2 -0
- package/dist/application/ports/outbound/index.js.map +1 -0
- package/dist/application/use-cases/BackupUseCase.d.ts +35 -0
- package/dist/application/use-cases/BackupUseCase.d.ts.map +1 -0
- package/dist/application/use-cases/BackupUseCase.js +222 -0
- package/dist/application/use-cases/BackupUseCase.js.map +1 -0
- package/dist/application/use-cases/CreateServerUseCase.d.ts +22 -0
- package/dist/application/use-cases/CreateServerUseCase.d.ts.map +1 -0
- package/dist/application/use-cases/CreateServerUseCase.js +144 -0
- package/dist/application/use-cases/CreateServerUseCase.js.map +1 -0
- package/dist/application/use-cases/DeleteServerUseCase.d.ts +24 -0
- package/dist/application/use-cases/DeleteServerUseCase.d.ts.map +1 -0
- package/dist/application/use-cases/DeleteServerUseCase.js +108 -0
- package/dist/application/use-cases/DeleteServerUseCase.js.map +1 -0
- package/dist/application/use-cases/PlayerLookupUseCase.d.ts +23 -0
- package/dist/application/use-cases/PlayerLookupUseCase.d.ts.map +1 -0
- package/dist/application/use-cases/PlayerLookupUseCase.js +130 -0
- package/dist/application/use-cases/PlayerLookupUseCase.js.map +1 -0
- package/dist/application/use-cases/ServerStatusUseCase.d.ts +30 -0
- package/dist/application/use-cases/ServerStatusUseCase.d.ts.map +1 -0
- package/dist/application/use-cases/ServerStatusUseCase.js +117 -0
- package/dist/application/use-cases/ServerStatusUseCase.js.map +1 -0
- package/dist/application/use-cases/WorldManagementUseCase.d.ts +50 -0
- package/dist/application/use-cases/WorldManagementUseCase.d.ts.map +1 -0
- package/dist/application/use-cases/WorldManagementUseCase.js +571 -0
- package/dist/application/use-cases/WorldManagementUseCase.js.map +1 -0
- package/dist/application/use-cases/index.d.ts +7 -0
- package/dist/application/use-cases/index.d.ts.map +1 -0
- package/dist/application/use-cases/index.js +7 -0
- package/dist/application/use-cases/index.js.map +1 -0
- package/dist/docker/index.d.ts +125 -0
- package/dist/docker/index.d.ts.map +1 -0
- package/dist/docker/index.js +557 -0
- package/dist/docker/index.js.map +1 -0
- package/dist/domain/entities/Server.d.ts +77 -0
- package/dist/domain/entities/Server.d.ts.map +1 -0
- package/dist/domain/entities/Server.js +138 -0
- package/dist/domain/entities/Server.js.map +1 -0
- package/dist/domain/entities/User.d.ts +77 -0
- package/dist/domain/entities/User.d.ts.map +1 -0
- package/dist/domain/entities/User.js +121 -0
- package/dist/domain/entities/User.js.map +1 -0
- package/dist/domain/entities/World.d.ts +76 -0
- package/dist/domain/entities/World.d.ts.map +1 -0
- package/dist/domain/entities/World.js +141 -0
- package/dist/domain/entities/World.js.map +1 -0
- package/dist/domain/entities/index.d.ts +4 -0
- package/dist/domain/entities/index.d.ts.map +1 -0
- package/dist/domain/entities/index.js +4 -0
- package/dist/domain/entities/index.js.map +1 -0
- package/dist/domain/index.d.ts +3 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +7 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/mod/ModDependency.d.ts +18 -0
- package/dist/domain/mod/ModDependency.d.ts.map +1 -0
- package/dist/domain/mod/ModDependency.js +5 -0
- package/dist/domain/mod/ModDependency.js.map +1 -0
- package/dist/domain/mod/ModFile.d.ts +27 -0
- package/dist/domain/mod/ModFile.d.ts.map +1 -0
- package/dist/domain/mod/ModFile.js +5 -0
- package/dist/domain/mod/ModFile.js.map +1 -0
- package/dist/domain/mod/ModProject.d.ts +36 -0
- package/dist/domain/mod/ModProject.d.ts.map +1 -0
- package/dist/domain/mod/ModProject.js +5 -0
- package/dist/domain/mod/ModProject.js.map +1 -0
- package/dist/domain/mod/ModSearchResult.d.ts +18 -0
- package/dist/domain/mod/ModSearchResult.d.ts.map +1 -0
- package/dist/domain/mod/ModSearchResult.js +5 -0
- package/dist/domain/mod/ModSearchResult.js.map +1 -0
- package/dist/domain/mod/ModVersion.d.ts +36 -0
- package/dist/domain/mod/ModVersion.d.ts.map +1 -0
- package/dist/domain/mod/ModVersion.js +5 -0
- package/dist/domain/mod/ModVersion.js.map +1 -0
- package/dist/domain/mod/index.d.ts +11 -0
- package/dist/domain/mod/index.d.ts.map +1 -0
- package/dist/domain/mod/index.js +6 -0
- package/dist/domain/mod/index.js.map +1 -0
- package/dist/domain/mod/types.d.ts +43 -0
- package/dist/domain/mod/types.d.ts.map +1 -0
- package/dist/domain/mod/types.js +6 -0
- package/dist/domain/mod/types.js.map +1 -0
- package/dist/domain/value-objects/McVersion.d.ts +35 -0
- package/dist/domain/value-objects/McVersion.d.ts.map +1 -0
- package/dist/domain/value-objects/McVersion.js +117 -0
- package/dist/domain/value-objects/McVersion.js.map +1 -0
- package/dist/domain/value-objects/Memory.d.ts +37 -0
- package/dist/domain/value-objects/Memory.d.ts.map +1 -0
- package/dist/domain/value-objects/Memory.js +107 -0
- package/dist/domain/value-objects/Memory.js.map +1 -0
- package/dist/domain/value-objects/ProcessInfo.d.ts +99 -0
- package/dist/domain/value-objects/ProcessInfo.d.ts.map +1 -0
- package/dist/domain/value-objects/ProcessInfo.js +171 -0
- package/dist/domain/value-objects/ProcessInfo.js.map +1 -0
- package/dist/domain/value-objects/Role.d.ts +41 -0
- package/dist/domain/value-objects/Role.d.ts.map +1 -0
- package/dist/domain/value-objects/Role.js +66 -0
- package/dist/domain/value-objects/Role.js.map +1 -0
- package/dist/domain/value-objects/ServerName.d.ts +21 -0
- package/dist/domain/value-objects/ServerName.d.ts.map +1 -0
- package/dist/domain/value-objects/ServerName.js +58 -0
- package/dist/domain/value-objects/ServerName.js.map +1 -0
- package/dist/domain/value-objects/ServerType.d.ts +40 -0
- package/dist/domain/value-objects/ServerType.d.ts.map +1 -0
- package/dist/domain/value-objects/ServerType.js +136 -0
- package/dist/domain/value-objects/ServerType.js.map +1 -0
- package/dist/domain/value-objects/ServiceStatus.d.ts +64 -0
- package/dist/domain/value-objects/ServiceStatus.d.ts.map +1 -0
- package/dist/domain/value-objects/ServiceStatus.js +99 -0
- package/dist/domain/value-objects/ServiceStatus.js.map +1 -0
- package/dist/domain/value-objects/UserId.d.ts +21 -0
- package/dist/domain/value-objects/UserId.d.ts.map +1 -0
- package/dist/domain/value-objects/UserId.js +43 -0
- package/dist/domain/value-objects/UserId.js.map +1 -0
- package/dist/domain/value-objects/Username.d.ts +16 -0
- package/dist/domain/value-objects/Username.d.ts.map +1 -0
- package/dist/domain/value-objects/Username.js +46 -0
- package/dist/domain/value-objects/Username.js.map +1 -0
- package/dist/domain/value-objects/WorldOptions.d.ts +49 -0
- package/dist/domain/value-objects/WorldOptions.d.ts.map +1 -0
- package/dist/domain/value-objects/WorldOptions.js +149 -0
- package/dist/domain/value-objects/WorldOptions.js.map +1 -0
- package/dist/domain/value-objects/index.d.ts +11 -0
- package/dist/domain/value-objects/index.d.ts.map +1 -0
- package/dist/domain/value-objects/index.js +13 -0
- package/dist/domain/value-objects/index.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/adapters/ApiPromptAdapter.d.ts +115 -0
- package/dist/infrastructure/adapters/ApiPromptAdapter.d.ts.map +1 -0
- package/dist/infrastructure/adapters/ApiPromptAdapter.js +268 -0
- package/dist/infrastructure/adapters/ApiPromptAdapter.js.map +1 -0
- package/dist/infrastructure/adapters/DocsAdapter.d.ts +45 -0
- package/dist/infrastructure/adapters/DocsAdapter.d.ts.map +1 -0
- package/dist/infrastructure/adapters/DocsAdapter.js +490 -0
- package/dist/infrastructure/adapters/DocsAdapter.js.map +1 -0
- package/dist/infrastructure/adapters/ServerRepository.d.ts +49 -0
- package/dist/infrastructure/adapters/ServerRepository.d.ts.map +1 -0
- package/dist/infrastructure/adapters/ServerRepository.js +206 -0
- package/dist/infrastructure/adapters/ServerRepository.js.map +1 -0
- package/dist/infrastructure/adapters/ShellAdapter.d.ts +41 -0
- package/dist/infrastructure/adapters/ShellAdapter.d.ts.map +1 -0
- package/dist/infrastructure/adapters/ShellAdapter.js +198 -0
- package/dist/infrastructure/adapters/ShellAdapter.js.map +1 -0
- package/dist/infrastructure/adapters/SqliteUserRepository.d.ts +70 -0
- package/dist/infrastructure/adapters/SqliteUserRepository.d.ts.map +1 -0
- package/dist/infrastructure/adapters/SqliteUserRepository.js +149 -0
- package/dist/infrastructure/adapters/SqliteUserRepository.js.map +1 -0
- package/dist/infrastructure/adapters/WorldRepository.d.ts +67 -0
- package/dist/infrastructure/adapters/WorldRepository.d.ts.map +1 -0
- package/dist/infrastructure/adapters/WorldRepository.js +283 -0
- package/dist/infrastructure/adapters/WorldRepository.js.map +1 -0
- package/dist/infrastructure/adapters/YamlUserRepository.d.ts +67 -0
- package/dist/infrastructure/adapters/YamlUserRepository.d.ts.map +1 -0
- package/dist/infrastructure/adapters/YamlUserRepository.js +161 -0
- package/dist/infrastructure/adapters/YamlUserRepository.js.map +1 -0
- package/dist/infrastructure/adapters/index.d.ts +12 -0
- package/dist/infrastructure/adapters/index.d.ts.map +1 -0
- package/dist/infrastructure/adapters/index.js +12 -0
- package/dist/infrastructure/adapters/index.js.map +1 -0
- package/dist/infrastructure/config/Pm2EcosystemConfig.d.ts +192 -0
- package/dist/infrastructure/config/Pm2EcosystemConfig.d.ts.map +1 -0
- package/dist/infrastructure/config/Pm2EcosystemConfig.js +48 -0
- package/dist/infrastructure/config/Pm2EcosystemConfig.js.map +1 -0
- package/dist/infrastructure/config/index.d.ts +6 -0
- package/dist/infrastructure/config/index.d.ts.map +1 -0
- package/dist/infrastructure/config/index.js +6 -0
- package/dist/infrastructure/config/index.js.map +1 -0
- package/dist/infrastructure/factories/ModSourceFactory.d.ts +73 -0
- package/dist/infrastructure/factories/ModSourceFactory.d.ts.map +1 -0
- package/dist/infrastructure/factories/ModSourceFactory.js +98 -0
- package/dist/infrastructure/factories/ModSourceFactory.js.map +1 -0
- package/dist/infrastructure/factories/index.d.ts +5 -0
- package/dist/infrastructure/factories/index.d.ts.map +1 -0
- package/dist/infrastructure/factories/index.js +5 -0
- package/dist/infrastructure/factories/index.js.map +1 -0
- package/dist/infrastructure/index.d.ts +7 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +7 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/types/index.d.ts +151 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/index.d.ts +81 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +200 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +10 -2
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ServerType Value Object
|
|
3
|
+
* Represents Minecraft server types supported by itzg/minecraft-server
|
|
4
|
+
*/
|
|
5
|
+
export declare enum ServerTypeEnum {
|
|
6
|
+
PAPER = "PAPER",
|
|
7
|
+
VANILLA = "VANILLA",
|
|
8
|
+
FORGE = "FORGE",
|
|
9
|
+
NEOFORGE = "NEOFORGE",
|
|
10
|
+
FABRIC = "FABRIC",
|
|
11
|
+
SPIGOT = "SPIGOT",
|
|
12
|
+
BUKKIT = "BUKKIT",
|
|
13
|
+
PURPUR = "PURPUR",
|
|
14
|
+
QUILT = "QUILT"
|
|
15
|
+
}
|
|
16
|
+
export interface ServerTypeInfo {
|
|
17
|
+
value: ServerTypeEnum;
|
|
18
|
+
label: string;
|
|
19
|
+
description: string;
|
|
20
|
+
supportsPlugins: boolean;
|
|
21
|
+
supportsMods: boolean;
|
|
22
|
+
recommended: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare class ServerType {
|
|
25
|
+
private readonly _value;
|
|
26
|
+
private constructor();
|
|
27
|
+
get value(): ServerTypeEnum;
|
|
28
|
+
get info(): ServerTypeInfo;
|
|
29
|
+
get label(): string;
|
|
30
|
+
get description(): string;
|
|
31
|
+
get supportsPlugins(): boolean;
|
|
32
|
+
get supportsMods(): boolean;
|
|
33
|
+
static create(value: string): ServerType;
|
|
34
|
+
static fromEnum(value: ServerTypeEnum): ServerType;
|
|
35
|
+
static getAll(): ServerTypeInfo[];
|
|
36
|
+
static getRecommended(): ServerType;
|
|
37
|
+
equals(other: ServerType): boolean;
|
|
38
|
+
toString(): string;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=ServerType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerType.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/ServerType.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,cAAc;IACxB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB;AAoED,qBAAa,UAAU;IACD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA3C,OAAO;IAIP,IAAI,KAAK,IAAI,cAAc,CAE1B;IAED,IAAI,IAAI,IAAI,cAAc,CAKzB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;IAWxC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,UAAU;IAIlD,MAAM,CAAC,MAAM,IAAI,cAAc,EAAE;IAOjC,MAAM,CAAC,cAAc,IAAI,UAAU;IAInC,MAAM,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;IAIlC,QAAQ,IAAI,MAAM;CAGnB"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ServerType Value Object
|
|
3
|
+
* Represents Minecraft server types supported by itzg/minecraft-server
|
|
4
|
+
*/
|
|
5
|
+
export var ServerTypeEnum;
|
|
6
|
+
(function (ServerTypeEnum) {
|
|
7
|
+
ServerTypeEnum["PAPER"] = "PAPER";
|
|
8
|
+
ServerTypeEnum["VANILLA"] = "VANILLA";
|
|
9
|
+
ServerTypeEnum["FORGE"] = "FORGE";
|
|
10
|
+
ServerTypeEnum["NEOFORGE"] = "NEOFORGE";
|
|
11
|
+
ServerTypeEnum["FABRIC"] = "FABRIC";
|
|
12
|
+
ServerTypeEnum["SPIGOT"] = "SPIGOT";
|
|
13
|
+
ServerTypeEnum["BUKKIT"] = "BUKKIT";
|
|
14
|
+
ServerTypeEnum["PURPUR"] = "PURPUR";
|
|
15
|
+
ServerTypeEnum["QUILT"] = "QUILT";
|
|
16
|
+
})(ServerTypeEnum || (ServerTypeEnum = {}));
|
|
17
|
+
const SERVER_TYPE_INFO = {
|
|
18
|
+
[ServerTypeEnum.PAPER]: {
|
|
19
|
+
label: 'Paper',
|
|
20
|
+
description: 'High performance server with plugin support (Recommended)',
|
|
21
|
+
supportsPlugins: true,
|
|
22
|
+
supportsMods: false,
|
|
23
|
+
recommended: true,
|
|
24
|
+
},
|
|
25
|
+
[ServerTypeEnum.VANILLA]: {
|
|
26
|
+
label: 'Vanilla',
|
|
27
|
+
description: 'Official Minecraft server',
|
|
28
|
+
supportsPlugins: false,
|
|
29
|
+
supportsMods: false,
|
|
30
|
+
recommended: false,
|
|
31
|
+
},
|
|
32
|
+
[ServerTypeEnum.FORGE]: {
|
|
33
|
+
label: 'Forge',
|
|
34
|
+
description: 'Modded server for Forge mods',
|
|
35
|
+
supportsPlugins: false,
|
|
36
|
+
supportsMods: true,
|
|
37
|
+
recommended: false,
|
|
38
|
+
},
|
|
39
|
+
[ServerTypeEnum.NEOFORGE]: {
|
|
40
|
+
label: 'NeoForge',
|
|
41
|
+
description: 'Modern Forge fork for Minecraft 1.20.1+',
|
|
42
|
+
supportsPlugins: false,
|
|
43
|
+
supportsMods: true,
|
|
44
|
+
recommended: false,
|
|
45
|
+
},
|
|
46
|
+
[ServerTypeEnum.FABRIC]: {
|
|
47
|
+
label: 'Fabric',
|
|
48
|
+
description: 'Lightweight modded server',
|
|
49
|
+
supportsPlugins: false,
|
|
50
|
+
supportsMods: true,
|
|
51
|
+
recommended: false,
|
|
52
|
+
},
|
|
53
|
+
[ServerTypeEnum.SPIGOT]: {
|
|
54
|
+
label: 'Spigot',
|
|
55
|
+
description: 'Modified Bukkit server with plugin support',
|
|
56
|
+
supportsPlugins: true,
|
|
57
|
+
supportsMods: false,
|
|
58
|
+
recommended: false,
|
|
59
|
+
},
|
|
60
|
+
[ServerTypeEnum.BUKKIT]: {
|
|
61
|
+
label: 'Bukkit',
|
|
62
|
+
description: 'Classic plugin server',
|
|
63
|
+
supportsPlugins: true,
|
|
64
|
+
supportsMods: false,
|
|
65
|
+
recommended: false,
|
|
66
|
+
},
|
|
67
|
+
[ServerTypeEnum.PURPUR]: {
|
|
68
|
+
label: 'Purpur',
|
|
69
|
+
description: 'Paper fork with additional features',
|
|
70
|
+
supportsPlugins: true,
|
|
71
|
+
supportsMods: false,
|
|
72
|
+
recommended: false,
|
|
73
|
+
},
|
|
74
|
+
[ServerTypeEnum.QUILT]: {
|
|
75
|
+
label: 'Quilt',
|
|
76
|
+
description: 'Modern modding toolchain',
|
|
77
|
+
supportsPlugins: false,
|
|
78
|
+
supportsMods: true,
|
|
79
|
+
recommended: false,
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
export class ServerType {
|
|
83
|
+
_value;
|
|
84
|
+
constructor(_value) {
|
|
85
|
+
this._value = _value;
|
|
86
|
+
Object.freeze(this);
|
|
87
|
+
}
|
|
88
|
+
get value() {
|
|
89
|
+
return this._value;
|
|
90
|
+
}
|
|
91
|
+
get info() {
|
|
92
|
+
return {
|
|
93
|
+
value: this._value,
|
|
94
|
+
...SERVER_TYPE_INFO[this._value],
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
get label() {
|
|
98
|
+
return SERVER_TYPE_INFO[this._value].label;
|
|
99
|
+
}
|
|
100
|
+
get description() {
|
|
101
|
+
return SERVER_TYPE_INFO[this._value].description;
|
|
102
|
+
}
|
|
103
|
+
get supportsPlugins() {
|
|
104
|
+
return SERVER_TYPE_INFO[this._value].supportsPlugins;
|
|
105
|
+
}
|
|
106
|
+
get supportsMods() {
|
|
107
|
+
return SERVER_TYPE_INFO[this._value].supportsMods;
|
|
108
|
+
}
|
|
109
|
+
static create(value) {
|
|
110
|
+
const upperValue = value.toUpperCase().trim();
|
|
111
|
+
if (!Object.values(ServerTypeEnum).includes(upperValue)) {
|
|
112
|
+
const validTypes = Object.values(ServerTypeEnum).join(', ');
|
|
113
|
+
throw new Error(`Invalid server type: ${value}. Valid types are: ${validTypes}`);
|
|
114
|
+
}
|
|
115
|
+
return new ServerType(upperValue);
|
|
116
|
+
}
|
|
117
|
+
static fromEnum(value) {
|
|
118
|
+
return new ServerType(value);
|
|
119
|
+
}
|
|
120
|
+
static getAll() {
|
|
121
|
+
return Object.values(ServerTypeEnum).map((type) => ({
|
|
122
|
+
value: type,
|
|
123
|
+
...SERVER_TYPE_INFO[type],
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
static getRecommended() {
|
|
127
|
+
return new ServerType(ServerTypeEnum.PAPER);
|
|
128
|
+
}
|
|
129
|
+
equals(other) {
|
|
130
|
+
return this._value === other._value;
|
|
131
|
+
}
|
|
132
|
+
toString() {
|
|
133
|
+
return this._value;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=ServerType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServerType.js","sourceRoot":"","sources":["../../../src/domain/value-objects/ServerType.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service Status Enum
|
|
3
|
+
* Defines possible states for a managed service process
|
|
4
|
+
*/
|
|
5
|
+
export declare enum ServiceStatusEnum {
|
|
6
|
+
ONLINE = "online",
|
|
7
|
+
STOPPING = "stopping",
|
|
8
|
+
STOPPED = "stopped",
|
|
9
|
+
ERRORED = "errored",
|
|
10
|
+
ONE_LAUNCH_STATUS = "one-launch-status"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* ServiceStatus Value Object
|
|
14
|
+
* Represents a validated service status
|
|
15
|
+
*/
|
|
16
|
+
export declare class ServiceStatus {
|
|
17
|
+
private readonly _value;
|
|
18
|
+
private static readonly VALID_STATUSES;
|
|
19
|
+
private constructor();
|
|
20
|
+
get value(): ServiceStatusEnum;
|
|
21
|
+
/**
|
|
22
|
+
* Create a ServiceStatus from a string value
|
|
23
|
+
*/
|
|
24
|
+
static create(value: string): ServiceStatus;
|
|
25
|
+
/**
|
|
26
|
+
* Create an online status
|
|
27
|
+
*/
|
|
28
|
+
static online(): ServiceStatus;
|
|
29
|
+
/**
|
|
30
|
+
* Create a stopped status
|
|
31
|
+
*/
|
|
32
|
+
static stopped(): ServiceStatus;
|
|
33
|
+
/**
|
|
34
|
+
* Create a stopping status
|
|
35
|
+
*/
|
|
36
|
+
static stopping(): ServiceStatus;
|
|
37
|
+
/**
|
|
38
|
+
* Create an errored status
|
|
39
|
+
*/
|
|
40
|
+
static errored(): ServiceStatus;
|
|
41
|
+
/**
|
|
42
|
+
* Check if service is online
|
|
43
|
+
*/
|
|
44
|
+
get isOnline(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Check if service is stopped
|
|
47
|
+
*/
|
|
48
|
+
get isStopped(): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Check if service is stopping
|
|
51
|
+
*/
|
|
52
|
+
get isStopping(): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Check if service has errored
|
|
55
|
+
*/
|
|
56
|
+
get isErrored(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Check if service is running (online or stopping)
|
|
59
|
+
*/
|
|
60
|
+
get isRunning(): boolean;
|
|
61
|
+
equals(other: ServiceStatus): boolean;
|
|
62
|
+
toString(): string;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=ServiceStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceStatus.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/ServiceStatus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,iBAAiB,sBAAsB;CACxC;AAED;;;GAGG;AACH,qBAAa,aAAa;IAGJ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAF3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAA6C;IAEnF,OAAO;IAIP,IAAI,KAAK,IAAI,iBAAiB,CAE7B;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa;IAa3C;;OAEG;IACH,MAAM,CAAC,MAAM,IAAI,aAAa;IAI9B;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,aAAa;IAI/B;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,aAAa;IAIhC;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,aAAa;IAI/B;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO;IAIrC,QAAQ,IAAI,MAAM;CAGnB"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service Status Enum
|
|
3
|
+
* Defines possible states for a managed service process
|
|
4
|
+
*/
|
|
5
|
+
export var ServiceStatusEnum;
|
|
6
|
+
(function (ServiceStatusEnum) {
|
|
7
|
+
ServiceStatusEnum["ONLINE"] = "online";
|
|
8
|
+
ServiceStatusEnum["STOPPING"] = "stopping";
|
|
9
|
+
ServiceStatusEnum["STOPPED"] = "stopped";
|
|
10
|
+
ServiceStatusEnum["ERRORED"] = "errored";
|
|
11
|
+
ServiceStatusEnum["ONE_LAUNCH_STATUS"] = "one-launch-status";
|
|
12
|
+
})(ServiceStatusEnum || (ServiceStatusEnum = {}));
|
|
13
|
+
/**
|
|
14
|
+
* ServiceStatus Value Object
|
|
15
|
+
* Represents a validated service status
|
|
16
|
+
*/
|
|
17
|
+
export class ServiceStatus {
|
|
18
|
+
_value;
|
|
19
|
+
static VALID_STATUSES = new Set(Object.values(ServiceStatusEnum));
|
|
20
|
+
constructor(_value) {
|
|
21
|
+
this._value = _value;
|
|
22
|
+
Object.freeze(this);
|
|
23
|
+
}
|
|
24
|
+
get value() {
|
|
25
|
+
return this._value;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a ServiceStatus from a string value
|
|
29
|
+
*/
|
|
30
|
+
static create(value) {
|
|
31
|
+
const normalized = value.trim().toLowerCase();
|
|
32
|
+
if (!ServiceStatus.VALID_STATUSES.has(normalized)) {
|
|
33
|
+
const validStatuses = Array.from(ServiceStatus.VALID_STATUSES).join(', ');
|
|
34
|
+
throw new Error(`Invalid service status: ${value}. Valid statuses are: ${validStatuses}`);
|
|
35
|
+
}
|
|
36
|
+
return new ServiceStatus(normalized);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Create an online status
|
|
40
|
+
*/
|
|
41
|
+
static online() {
|
|
42
|
+
return new ServiceStatus(ServiceStatusEnum.ONLINE);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Create a stopped status
|
|
46
|
+
*/
|
|
47
|
+
static stopped() {
|
|
48
|
+
return new ServiceStatus(ServiceStatusEnum.STOPPED);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Create a stopping status
|
|
52
|
+
*/
|
|
53
|
+
static stopping() {
|
|
54
|
+
return new ServiceStatus(ServiceStatusEnum.STOPPING);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create an errored status
|
|
58
|
+
*/
|
|
59
|
+
static errored() {
|
|
60
|
+
return new ServiceStatus(ServiceStatusEnum.ERRORED);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Check if service is online
|
|
64
|
+
*/
|
|
65
|
+
get isOnline() {
|
|
66
|
+
return this._value === ServiceStatusEnum.ONLINE;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Check if service is stopped
|
|
70
|
+
*/
|
|
71
|
+
get isStopped() {
|
|
72
|
+
return this._value === ServiceStatusEnum.STOPPED;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Check if service is stopping
|
|
76
|
+
*/
|
|
77
|
+
get isStopping() {
|
|
78
|
+
return this._value === ServiceStatusEnum.STOPPING;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Check if service has errored
|
|
82
|
+
*/
|
|
83
|
+
get isErrored() {
|
|
84
|
+
return this._value === ServiceStatusEnum.ERRORED;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Check if service is running (online or stopping)
|
|
88
|
+
*/
|
|
89
|
+
get isRunning() {
|
|
90
|
+
return this._value === ServiceStatusEnum.ONLINE || this._value === ServiceStatusEnum.STOPPING;
|
|
91
|
+
}
|
|
92
|
+
equals(other) {
|
|
93
|
+
return this._value === other._value;
|
|
94
|
+
}
|
|
95
|
+
toString() {
|
|
96
|
+
return this._value;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=ServiceStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceStatus.js","sourceRoot":"","sources":["../../../src/domain/value-objects/ServiceStatus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;IACrB,wCAAmB,CAAA;IACnB,wCAAmB,CAAA;IACnB,4DAAuC,CAAA;AACzC,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED;;;GAGG;AACH,MAAM,OAAO,aAAa;IAGa;IAF7B,MAAM,CAAU,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEnF,YAAqC,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;QAC5D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAuB,CAAC;QAEnE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1E,MAAM,IAAI,KAAK,CACb,2BAA2B,KAAK,yBAAyB,aAAa,EAAE,CACzE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,OAAO,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,QAAQ,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,OAAO,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,iBAAiB,CAAC,QAAQ,CAAC;IAChG,CAAC;IAED,MAAM,CAAC,KAAoB;QACzB,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UserId Value Object
|
|
3
|
+
* Represents a validated UUID-based user identifier
|
|
4
|
+
*/
|
|
5
|
+
export declare class UserId {
|
|
6
|
+
private readonly _value;
|
|
7
|
+
private static readonly UUID_REGEX;
|
|
8
|
+
private constructor();
|
|
9
|
+
get value(): string;
|
|
10
|
+
/**
|
|
11
|
+
* Create a UserId from an existing UUID string
|
|
12
|
+
*/
|
|
13
|
+
static create(value: string): UserId;
|
|
14
|
+
/**
|
|
15
|
+
* Generate a new random UserId
|
|
16
|
+
*/
|
|
17
|
+
static generate(): UserId;
|
|
18
|
+
equals(other: UserId): boolean;
|
|
19
|
+
toString(): string;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=UserId.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserId.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/UserId.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,MAAM;IAIG,OAAO,CAAC,QAAQ,CAAC,MAAM;IAH3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAC6C;IAE/E,OAAO;IAIP,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAcpC;;OAEG;IACH,MAAM,CAAC,QAAQ,IAAI,MAAM;IAMzB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAI9B,QAAQ,IAAI,MAAM;CAGnB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UserId Value Object
|
|
3
|
+
* Represents a validated UUID-based user identifier
|
|
4
|
+
*/
|
|
5
|
+
export class UserId {
|
|
6
|
+
_value;
|
|
7
|
+
static UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
8
|
+
constructor(_value) {
|
|
9
|
+
this._value = _value;
|
|
10
|
+
Object.freeze(this);
|
|
11
|
+
}
|
|
12
|
+
get value() {
|
|
13
|
+
return this._value;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Create a UserId from an existing UUID string
|
|
17
|
+
*/
|
|
18
|
+
static create(value) {
|
|
19
|
+
const trimmed = value.trim().toLowerCase();
|
|
20
|
+
if (!trimmed) {
|
|
21
|
+
throw new Error('User ID cannot be empty');
|
|
22
|
+
}
|
|
23
|
+
if (!UserId.UUID_REGEX.test(trimmed)) {
|
|
24
|
+
throw new Error('User ID must be a valid UUID format');
|
|
25
|
+
}
|
|
26
|
+
return new UserId(trimmed);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Generate a new random UserId
|
|
30
|
+
*/
|
|
31
|
+
static generate() {
|
|
32
|
+
// Use crypto.randomUUID() for UUID v4 generation
|
|
33
|
+
const uuid = crypto.randomUUID();
|
|
34
|
+
return new UserId(uuid.toLowerCase());
|
|
35
|
+
}
|
|
36
|
+
equals(other) {
|
|
37
|
+
return this._value === other._value;
|
|
38
|
+
}
|
|
39
|
+
toString() {
|
|
40
|
+
return this._value;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=UserId.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserId.js","sourceRoot":"","sources":["../../../src/domain/value-objects/UserId.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,MAAM;IAIoB;IAH7B,MAAM,CAAU,UAAU,GAChC,4EAA4E,CAAC;IAE/E,YAAqC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ;QACb,iDAAiD;QACjD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Username Value Object
|
|
3
|
+
* Represents a validated username (3-50 characters, alphanumeric + underscore)
|
|
4
|
+
*/
|
|
5
|
+
export declare class Username {
|
|
6
|
+
private readonly _value;
|
|
7
|
+
private static readonly MIN_LENGTH;
|
|
8
|
+
private static readonly MAX_LENGTH;
|
|
9
|
+
private static readonly PATTERN;
|
|
10
|
+
private constructor();
|
|
11
|
+
get value(): string;
|
|
12
|
+
static create(value: string): Username;
|
|
13
|
+
equals(other: Username): boolean;
|
|
14
|
+
toString(): string;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=Username.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Username.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/Username.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,QAAQ;IAMC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAL3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAK;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAEpD,OAAO;IAIP,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ;IAiCtC,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAKhC,QAAQ,IAAI,MAAM;CAGnB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Username Value Object
|
|
3
|
+
* Represents a validated username (3-50 characters, alphanumeric + underscore)
|
|
4
|
+
*/
|
|
5
|
+
export class Username {
|
|
6
|
+
_value;
|
|
7
|
+
static MIN_LENGTH = 3;
|
|
8
|
+
static MAX_LENGTH = 50;
|
|
9
|
+
// Alphanumeric characters and underscores only
|
|
10
|
+
static PATTERN = /^[a-zA-Z0-9_]+$/;
|
|
11
|
+
constructor(_value) {
|
|
12
|
+
this._value = _value;
|
|
13
|
+
Object.freeze(this);
|
|
14
|
+
}
|
|
15
|
+
get value() {
|
|
16
|
+
return this._value;
|
|
17
|
+
}
|
|
18
|
+
static create(value) {
|
|
19
|
+
const trimmed = value.trim();
|
|
20
|
+
if (!trimmed) {
|
|
21
|
+
throw new Error('Username cannot be empty');
|
|
22
|
+
}
|
|
23
|
+
if (trimmed.length < Username.MIN_LENGTH) {
|
|
24
|
+
throw new Error(`Username must be at least ${Username.MIN_LENGTH} characters`);
|
|
25
|
+
}
|
|
26
|
+
if (trimmed.length > Username.MAX_LENGTH) {
|
|
27
|
+
throw new Error(`Username cannot exceed ${Username.MAX_LENGTH} characters`);
|
|
28
|
+
}
|
|
29
|
+
if (!Username.PATTERN.test(trimmed)) {
|
|
30
|
+
throw new Error('Username must contain only alphanumeric characters and underscores');
|
|
31
|
+
}
|
|
32
|
+
// Username must start with a letter
|
|
33
|
+
if (!/^[a-zA-Z]/.test(trimmed)) {
|
|
34
|
+
throw new Error('Username must start with a letter');
|
|
35
|
+
}
|
|
36
|
+
return new Username(trimmed);
|
|
37
|
+
}
|
|
38
|
+
equals(other) {
|
|
39
|
+
// Case-insensitive comparison for usernames
|
|
40
|
+
return this._value.toLowerCase() === other._value.toLowerCase();
|
|
41
|
+
}
|
|
42
|
+
toString() {
|
|
43
|
+
return this._value;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=Username.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Username.js","sourceRoot":"","sources":["../../../src/domain/value-objects/Username.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,QAAQ;IAMkB;IAL7B,MAAM,CAAU,UAAU,GAAG,CAAC,CAAC;IAC/B,MAAM,CAAU,UAAU,GAAG,EAAE,CAAC;IACxC,+CAA+C;IACvC,MAAM,CAAU,OAAO,GAAG,iBAAiB,CAAC;IAEpD,YAAqC,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACjD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAE7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,6BAA6B,QAAQ,CAAC,UAAU,aAAa,CAC9D,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,0BAA0B,QAAQ,CAAC,UAAU,aAAa,CAC3D,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,oCAAoC;QACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,KAAe;QACpB,4CAA4C;QAC5C,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorldOptions Value Object
|
|
3
|
+
* Represents world configuration options for server creation
|
|
4
|
+
*/
|
|
5
|
+
export declare enum WorldSetupType {
|
|
6
|
+
NEW = "new",
|
|
7
|
+
EXISTING = "existing",
|
|
8
|
+
DOWNLOAD = "download"
|
|
9
|
+
}
|
|
10
|
+
export interface WorldOptionsData {
|
|
11
|
+
setupType: WorldSetupType;
|
|
12
|
+
seed?: string;
|
|
13
|
+
worldName?: string;
|
|
14
|
+
downloadUrl?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class WorldOptions {
|
|
17
|
+
private readonly _data;
|
|
18
|
+
private constructor();
|
|
19
|
+
get setupType(): WorldSetupType;
|
|
20
|
+
get seed(): string | undefined;
|
|
21
|
+
get worldName(): string | undefined;
|
|
22
|
+
get downloadUrl(): string | undefined;
|
|
23
|
+
get isNewWorld(): boolean;
|
|
24
|
+
get isExistingWorld(): boolean;
|
|
25
|
+
get isDownloadWorld(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Convert to CLI arguments for create-server.sh
|
|
28
|
+
*/
|
|
29
|
+
toCliArgs(): string[];
|
|
30
|
+
/**
|
|
31
|
+
* Create new world options (optionally with seed)
|
|
32
|
+
*/
|
|
33
|
+
static newWorld(seed?: string): WorldOptions;
|
|
34
|
+
/**
|
|
35
|
+
* Use existing world from worlds/ directory
|
|
36
|
+
*/
|
|
37
|
+
static existingWorld(worldName: string): WorldOptions;
|
|
38
|
+
/**
|
|
39
|
+
* Download world from URL (ZIP file)
|
|
40
|
+
*/
|
|
41
|
+
static downloadWorld(url: string): WorldOptions;
|
|
42
|
+
/**
|
|
43
|
+
* Default: new world without seed
|
|
44
|
+
*/
|
|
45
|
+
static default(): WorldOptions;
|
|
46
|
+
equals(other: WorldOptions): boolean;
|
|
47
|
+
toString(): string;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=WorldOptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorldOptions.d.ts","sourceRoot":"","sources":["../../../src/domain/value-objects/WorldOptions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,cAAc,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,YAAY;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK;IAA1C,OAAO;IAKP,IAAI,SAAS,IAAI,cAAc,CAE9B;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,SAAS,IAAI,MAAM,EAAE;IAwBrB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY;IAkB5C;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY;IAoBrD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IA2B/C;;OAEG;IACH,MAAM,CAAC,OAAO,IAAI,YAAY;IAI9B,MAAM,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO;IASpC,QAAQ,IAAI,MAAM;CAUnB"}
|