|
@@ -12,6 +12,7 @@ import { GetRegularSubscriptionForUser } from '../GetRegularSubscriptionForUser/
|
|
import { GetSharedSubscriptionForUser } from '../GetSharedSubscriptionForUser/GetSharedSubscriptionForUser'
|
|
import { GetSharedSubscriptionForUser } from '../GetSharedSubscriptionForUser/GetSharedSubscriptionForUser'
|
|
import { GetSubscriptionSetting } from '../GetSubscriptionSetting/GetSubscriptionSetting'
|
|
import { GetSubscriptionSetting } from '../GetSubscriptionSetting/GetSubscriptionSetting'
|
|
import { SettingName } from '@standardnotes/domain-core'
|
|
import { SettingName } from '@standardnotes/domain-core'
|
|
|
|
+import { UserSubscription } from '../../Subscription/UserSubscription'
|
|
|
|
|
|
export class CreateValetToken implements UseCaseInterface {
|
|
export class CreateValetToken implements UseCaseInterface {
|
|
constructor(
|
|
constructor(
|
|
@@ -27,8 +28,17 @@ export class CreateValetToken implements UseCaseInterface {
|
|
async execute(dto: CreateValetTokenDTO): Promise<CreateValetTokenResponseData> {
|
|
async execute(dto: CreateValetTokenDTO): Promise<CreateValetTokenResponseData> {
|
|
const { userUuid, ...payload } = dto
|
|
const { userUuid, ...payload } = dto
|
|
|
|
|
|
|
|
+ let sharedSubscription: UserSubscription | undefined
|
|
|
|
+ const sharedSubscriptionOrError = await this.getSharedSubscription.execute({
|
|
|
|
+ userUuid,
|
|
|
|
+ })
|
|
|
|
+ if (!sharedSubscriptionOrError.isFailed()) {
|
|
|
|
+ sharedSubscription = sharedSubscriptionOrError.getValue()
|
|
|
|
+ }
|
|
|
|
+
|
|
const regularSubscriptionOrError = await this.getRegularSubscription.execute({
|
|
const regularSubscriptionOrError = await this.getRegularSubscription.execute({
|
|
- userUuid: dto.userUuid,
|
|
|
|
|
|
+ userUuid: sharedSubscription ? undefined : dto.userUuid,
|
|
|
|
+ subscriptionId: sharedSubscription ? (sharedSubscription.subscriptionId as number) : undefined,
|
|
})
|
|
})
|
|
if (regularSubscriptionOrError.isFailed()) {
|
|
if (regularSubscriptionOrError.isFailed()) {
|
|
return {
|
|
return {
|
|
@@ -77,22 +87,13 @@ export class CreateValetToken implements UseCaseInterface {
|
|
uploadBytesLimit = +(overwriteWithUserUploadBytesLimitSetting.setting.props.value as string)
|
|
uploadBytesLimit = +(overwriteWithUserUploadBytesLimitSetting.setting.props.value as string)
|
|
}
|
|
}
|
|
|
|
|
|
- let sharedSubscriptionUuid = undefined
|
|
|
|
- const sharedSubscriptionOrError = await this.getSharedSubscription.execute({
|
|
|
|
- userUuid,
|
|
|
|
- })
|
|
|
|
- if (!sharedSubscriptionOrError.isFailed()) {
|
|
|
|
- const sharedSubscription = sharedSubscriptionOrError.getValue()
|
|
|
|
- sharedSubscriptionUuid = sharedSubscription.uuid
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
const tokenData: ValetTokenData = {
|
|
const tokenData: ValetTokenData = {
|
|
userUuid: dto.userUuid,
|
|
userUuid: dto.userUuid,
|
|
permittedOperation: dto.operation,
|
|
permittedOperation: dto.operation,
|
|
permittedResources: dto.resources,
|
|
permittedResources: dto.resources,
|
|
uploadBytesUsed,
|
|
uploadBytesUsed,
|
|
uploadBytesLimit,
|
|
uploadBytesLimit,
|
|
- sharedSubscriptionUuid,
|
|
|
|
|
|
+ sharedSubscriptionUuid: sharedSubscription ? sharedSubscription.uuid : undefined,
|
|
regularSubscriptionUuid: regularSubscription.uuid,
|
|
regularSubscriptionUuid: regularSubscription.uuid,
|
|
}
|
|
}
|
|
|
|
|