feat: add User domain layer / Userドメイン層の追加 - #489
Merged
Conversation
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Content
AgeRangeenum representing user age bracket categoriesSubscriptionvalue object withSubscriptionTierenum and active/expired/free state logicUserEntityvalue object aggregating user identity and subscriptionSubscriptionFactoryandUserEntityFactoryfor constructing domain objects from raw dataChanges
AgeRange.phpSubscription/SubscriptionTier.phpSubscription/Subscription.phpisActive(),isExpired(),isFree()UserEntity.phpFactory/SubscriptionFactory.phpSubscriptionfrom raw array, handles string→DateTimeImmutable castFactory/UserEntityFactory.phpUserEntityfrom raw array viaSubscriptionFactory概要
内容
AgeRangeenum — ユーザーの年齢帯を表す列挙型Subscription値オブジェクト —SubscriptionTierenumとisActive()/isExpired()/isFree()のサブスクリプション状態ロジックUserEntity値オブジェクト — ユーザーの識別情報とサブスクリプションを集約SubscriptionFactory/UserEntityFactory— 生データからドメインオブジェクトを構築するファクトリ変更内容
AgeRange.phpSubscription/SubscriptionTier.phpSubscription/Subscription.phpisActive()・isExpired()・isFree()を持つ値オブジェクトUserEntity.phpFactory/SubscriptionFactory.phpSubscriptionを生成(文字列→DateTimeImmutableのキャスト含む)Factory/UserEntityFactory.phpSubscriptionFactoryを介して生配列からUserEntityを生成