diff --git a/src/domain/aggregates/event/Event.ts b/src/domain/aggregates/event/Event.ts index f455029..f0cc4ff 100644 --- a/src/domain/aggregates/event/Event.ts +++ b/src/domain/aggregates/event/Event.ts @@ -3,8 +3,9 @@ import { ExhibitHasMemberException, ExhibitNotFoundException, } from "#domain/exceptions"; -import type { LightningTalkDuration, Url } from "#domain/value-objects"; import type { Exhibit } from "./Exhibit"; +import type { LightningTalkDuration } from "./LightningTalkDuration"; +import type { Url } from "./Url"; export class Event { private exhibits: Exhibit[] = []; diff --git a/src/domain/aggregates/event/Exhibit.ts b/src/domain/aggregates/event/Exhibit.ts index 48570ad..b5b965a 100644 --- a/src/domain/aggregates/event/Exhibit.ts +++ b/src/domain/aggregates/event/Exhibit.ts @@ -2,8 +2,9 @@ import { LightningTalkExhibitIdMismatchException, LightningTalkNotFoundException, } from "#domain/exceptions"; -import type { LightningTalkDuration, Url } from "#domain/value-objects"; import type { LightningTalk } from "./LightningTalk"; +import type { LightningTalkDuration } from "./LightningTalkDuration"; +import type { Url } from "./Url"; export class Exhibit { private lightningTalk?: LightningTalk; private memberIds: Set = new Set(); diff --git a/src/domain/aggregates/event/LightningTalk.ts b/src/domain/aggregates/event/LightningTalk.ts index c5b3a16..6245aa1 100644 --- a/src/domain/aggregates/event/LightningTalk.ts +++ b/src/domain/aggregates/event/LightningTalk.ts @@ -1,4 +1,5 @@ -import type { LightningTalkDuration, Url } from "#domain/value-objects"; +import type { LightningTalkDuration } from "./LightningTalkDuration"; +import type { Url } from "./Url"; export class LightningTalk { constructor( diff --git a/src/domain/value-objects/LightningTalkDuration.ts b/src/domain/aggregates/event/LightningTalkDuration.ts similarity index 83% rename from src/domain/value-objects/LightningTalkDuration.ts rename to src/domain/aggregates/event/LightningTalkDuration.ts index a4bc60f..063cb13 100644 --- a/src/domain/value-objects/LightningTalkDuration.ts +++ b/src/domain/aggregates/event/LightningTalkDuration.ts @@ -1,5 +1,5 @@ +import { ValueObject } from "#domain/base/ValueObject"; import { InvalidLightningTalkDurationException } from "#domain/exceptions"; -import { ValueObject } from "./ValueObject"; export class LightningTalkDuration extends ValueObject { protected validate(): void { diff --git a/src/domain/value-objects/Url.ts b/src/domain/aggregates/event/Url.ts similarity index 89% rename from src/domain/value-objects/Url.ts rename to src/domain/aggregates/event/Url.ts index 379c279..d9eda6a 100644 --- a/src/domain/value-objects/Url.ts +++ b/src/domain/aggregates/event/Url.ts @@ -1,8 +1,8 @@ +import { ValueObject } from "#domain/base/ValueObject"; import { InvalidUrlException, InvalidUrlProtocolException, } from "#domain/exceptions"; -import { ValueObject } from "./ValueObject"; export class Url extends ValueObject { protected validate(): void { diff --git a/src/domain/aggregates/event/index.ts b/src/domain/aggregates/event/index.ts index 496d586..670b15a 100644 --- a/src/domain/aggregates/event/index.ts +++ b/src/domain/aggregates/event/index.ts @@ -2,3 +2,5 @@ export * from "./Event"; export * from "./EventRepository"; export * from "./Exhibit"; export * from "./LightningTalk"; +export * from "./LightningTalkDuration"; +export * from "./Url"; diff --git a/src/domain/value-objects/Departments.ts b/src/domain/aggregates/member/Departments.ts similarity index 91% rename from src/domain/value-objects/Departments.ts rename to src/domain/aggregates/member/Departments.ts index 1ace451..e3aede6 100644 --- a/src/domain/value-objects/Departments.ts +++ b/src/domain/aggregates/member/Departments.ts @@ -1,5 +1,5 @@ +import { ValueObject } from "#domain/base/ValueObject"; import { InvalidDepartmentException } from "#domain/exceptions"; -import { ValueObject } from "./ValueObject"; type AllowedDepartment = "CS" | "BI" | "IA" | "GRADUATE" | "ALUMNI" | "OTHERS"; diff --git a/src/domain/value-objects/Email.ts b/src/domain/aggregates/member/Email.ts similarity index 85% rename from src/domain/value-objects/Email.ts rename to src/domain/aggregates/member/Email.ts index 0bc3a69..812461b 100644 --- a/src/domain/value-objects/Email.ts +++ b/src/domain/aggregates/member/Email.ts @@ -1,5 +1,5 @@ +import { ValueObject } from "#domain/base/ValueObject"; import { InvalidEmailFormatException } from "#domain/exceptions"; -import { ValueObject } from "./ValueObject"; export class Email extends ValueObject { protected validate(): void { diff --git a/src/domain/aggregates/member/Member.ts b/src/domain/aggregates/member/Member.ts index ed4e6d4..27329ad 100644 --- a/src/domain/aggregates/member/Member.ts +++ b/src/domain/aggregates/member/Member.ts @@ -2,8 +2,10 @@ import { DiscordAccountAlreadyConnectedException, DiscordAccountNotConnectedException, } from "#domain/exceptions"; -import type { Department, Email, UniversityEmail } from "#domain/value-objects"; +import type { Department } from "./Departments"; import type { DiscordAccount } from "./DiscordAccount"; +import type { Email } from "./Email"; +import type { UniversityEmail } from "./UniversityEmail"; export class Member { private discordAccounts: DiscordAccount[] = []; diff --git a/src/domain/value-objects/UniversityEmail.ts b/src/domain/aggregates/member/UniversityEmail.ts similarity index 100% rename from src/domain/value-objects/UniversityEmail.ts rename to src/domain/aggregates/member/UniversityEmail.ts diff --git a/src/domain/aggregates/member/index.ts b/src/domain/aggregates/member/index.ts index da8da1c..313d0e9 100644 --- a/src/domain/aggregates/member/index.ts +++ b/src/domain/aggregates/member/index.ts @@ -1,3 +1,6 @@ export * from "./Member"; export * from "./MemberRepository"; export * from "./DiscordAccount"; +export * from "./Departments"; +export * from "./Email"; +export * from "./UniversityEmail"; diff --git a/src/domain/value-objects/ValueObject.ts b/src/domain/base/ValueObject.ts similarity index 100% rename from src/domain/value-objects/ValueObject.ts rename to src/domain/base/ValueObject.ts diff --git a/src/domain/base/index.ts b/src/domain/base/index.ts new file mode 100644 index 0000000..1bb7a73 --- /dev/null +++ b/src/domain/base/index.ts @@ -0,0 +1 @@ +export * from "./ValueObject"; diff --git a/src/domain/index.ts b/src/domain/index.ts index edb2e8c..569c894 100644 --- a/src/domain/index.ts +++ b/src/domain/index.ts @@ -1,3 +1,3 @@ -export * from "./value-objects"; +export * from "./base"; export * from "./exceptions"; export * from "./aggregates"; diff --git a/src/domain/value-objects/index.ts b/src/domain/value-objects/index.ts deleted file mode 100644 index 82b73d1..0000000 --- a/src/domain/value-objects/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./Departments"; -export * from "./Email"; -export * from "./LightningTalkDuration"; -export * from "./UniversityEmail"; -export * from "./Url"; -export * from "./ValueObject";