mirror of
https://github.com/standardnotes/server
synced 2026-07-14 00:01:54 -04:00
22 lines
740 B
TypeScript
22 lines
740 B
TypeScript
import { Result, ValueObject } from '@standardnotes/domain-core'
|
|
|
|
import { SubscriptionPlanNameProps } from './SubscriptionPlanNameProps'
|
|
|
|
export class SubscriptionPlanName extends ValueObject<SubscriptionPlanNameProps> {
|
|
get value(): string {
|
|
return this.props.value
|
|
}
|
|
|
|
private constructor(props: SubscriptionPlanNameProps) {
|
|
super(props)
|
|
}
|
|
|
|
static create(subscriptionPlanName: string): Result<SubscriptionPlanName> {
|
|
if (!['PRO_PLAN', 'PLUS_PLAN'].includes(subscriptionPlanName)) {
|
|
return Result.fail<SubscriptionPlanName>(`Invalid subscription plan name ${subscriptionPlanName}`)
|
|
} else {
|
|
return Result.ok<SubscriptionPlanName>(new SubscriptionPlanName({ value: subscriptionPlanName }))
|
|
}
|
|
}
|
|
}
|