diff --git a/.pnp.cjs b/.pnp.cjs index ca4208a31..9346c1dfd 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -2862,7 +2862,6 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/domain-events/",\ "packageDependencies": [\ ["@standardnotes/domain-events", "workspace:packages/domain-events"],\ - ["@standardnotes/common", "workspace:packages/common"],\ ["@standardnotes/features", "npm:1.53.1"],\ ["@standardnotes/predicates", "workspace:packages/predicates"],\ ["@standardnotes/security", "workspace:packages/security"],\ @@ -2870,7 +2869,6 @@ const RAW_RUNTIME_STATE = ["@typescript-eslint/eslint-plugin", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:5.30.5"],\ ["eslint-plugin-prettier", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:4.2.1"],\ ["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\ - ["reflect-metadata", "npm:0.1.13"],\ ["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\ ["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin::version=4.8.4&hash=701156"]\ ],\ @@ -2988,8 +2986,8 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["@standardnotes/files-server", "workspace:packages/files"],\ ["@sentry/node", "npm:7.28.1"],\ - ["@standardnotes/common", "workspace:packages/common"],\ ["@standardnotes/config", "npm:2.4.3"],\ + ["@standardnotes/domain-core", "workspace:packages/domain-core"],\ ["@standardnotes/domain-events", "workspace:packages/domain-events"],\ ["@standardnotes/domain-events-infra", "workspace:packages/domain-events-infra"],\ ["@standardnotes/security", "workspace:packages/security"],\ @@ -3081,12 +3079,10 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/predicates/",\ "packageDependencies": [\ ["@standardnotes/predicates", "workspace:packages/predicates"],\ - ["@standardnotes/common", "workspace:packages/common"],\ ["@types/jest", "npm:29.1.1"],\ ["@typescript-eslint/eslint-plugin", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:5.30.5"],\ ["eslint-plugin-prettier", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:4.2.1"],\ ["jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.1.2"],\ - ["reflect-metadata", "npm:0.1.13"],\ ["ts-jest", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:29.0.3"],\ ["typescript", "patch:typescript@npm%3A4.8.4#optional!builtin::version=4.8.4&hash=701156"]\ ],\ @@ -3169,7 +3165,6 @@ const RAW_RUNTIME_STATE = ["@standardnotes/scheduler-server", "workspace:packages/scheduler"],\ ["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\ ["@sentry/node", "npm:7.28.1"],\ - ["@standardnotes/common", "workspace:packages/common"],\ ["@standardnotes/domain-core", "workspace:packages/domain-core"],\ ["@standardnotes/domain-events", "workspace:packages/domain-events"],\ ["@standardnotes/domain-events-infra", "workspace:packages/domain-events-infra"],\ @@ -3205,7 +3200,6 @@ const RAW_RUNTIME_STATE = "packageLocation": "./packages/security/",\ "packageDependencies": [\ ["@standardnotes/security", "workspace:packages/security"],\ - ["@standardnotes/common", "workspace:packages/common"],\ ["@types/jest", "npm:29.1.1"],\ ["@types/jsonwebtoken", "npm:9.0.1"],\ ["@typescript-eslint/eslint-plugin", "virtual:fd909b174d079e30b336c4ce72c38a88c1e447767b1a8dd7655e07719a1e31b97807f0931368724fc78897ff15e6a6d00b83316c0f76d11f85111f342e08bb79#npm:5.30.5"],\ @@ -3398,7 +3392,6 @@ const RAW_RUNTIME_STATE = ["@newrelic/winston-enricher", "virtual:c66bf20e88479ada0172094776519a9f51acc4731d22079b60a295bcec7ea42d5545cbce58a77a50d932bf953298799135e99707486e343da6d99ba1d167bdbd#npm:4.0.0"],\ ["@sentry/node", "npm:7.28.1"],\ ["@standardnotes/api", "npm:1.19.0"],\ - ["@standardnotes/common", "workspace:packages/common"],\ ["@standardnotes/domain-core", "workspace:packages/domain-core"],\ ["@standardnotes/domain-events", "workspace:packages/domain-events"],\ ["@standardnotes/domain-events-infra", "workspace:packages/domain-events-infra"],\ diff --git a/packages/analytics/src/Domain/Entity/AnalyticsEntityRepositoryInterface.ts b/packages/analytics/src/Domain/Entity/AnalyticsEntityRepositoryInterface.ts index f9744d46d..ba98e4e98 100644 --- a/packages/analytics/src/Domain/Entity/AnalyticsEntityRepositoryInterface.ts +++ b/packages/analytics/src/Domain/Entity/AnalyticsEntityRepositoryInterface.ts @@ -1,9 +1,8 @@ -import { Uuid } from '@standardnotes/common' import { AnalyticsEntity } from './AnalyticsEntity' export interface AnalyticsEntityRepositoryInterface { save(analyticsEntity: AnalyticsEntity): Promise remove(analyticsEntity: AnalyticsEntity): Promise - findOneByUserUuid(userUuid: Uuid): Promise + findOneByUserUuid(userUuid: string): Promise findOneByUserEmail(email: string): Promise } diff --git a/packages/analytics/src/Domain/UseCase/GetUserAnalyticsId/GetUserAnalyticsIdDTO.ts b/packages/analytics/src/Domain/UseCase/GetUserAnalyticsId/GetUserAnalyticsIdDTO.ts index 0255c9b8a..14e5f7b6f 100644 --- a/packages/analytics/src/Domain/UseCase/GetUserAnalyticsId/GetUserAnalyticsIdDTO.ts +++ b/packages/analytics/src/Domain/UseCase/GetUserAnalyticsId/GetUserAnalyticsIdDTO.ts @@ -1,8 +1,8 @@ -import { Either, Uuid } from '@standardnotes/common' +import { Either } from '@standardnotes/common' export type GetUserAnalyticsIdDTO = Either< { - userUuid: Uuid + userUuid: string }, { userEmail: string diff --git a/packages/analytics/src/Infra/MySQL/MySQLAnalyticsEntityRepository.ts b/packages/analytics/src/Infra/MySQL/MySQLAnalyticsEntityRepository.ts index 77717867a..4ebeed3d9 100644 --- a/packages/analytics/src/Infra/MySQL/MySQLAnalyticsEntityRepository.ts +++ b/packages/analytics/src/Infra/MySQL/MySQLAnalyticsEntityRepository.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { inject, injectable } from 'inversify' import { Repository } from 'typeorm' @@ -20,7 +19,7 @@ export class MySQLAnalyticsEntityRepository implements AnalyticsEntityRepository .getOne() } - async findOneByUserUuid(userUuid: Uuid): Promise { + async findOneByUserUuid(userUuid: string): Promise { return this.ormRepository .createQueryBuilder('analytics_entity') .where('analytics_entity.user_uuid = :userUuid', { userUuid }) diff --git a/packages/auth/src/Bootstrap/Container.ts b/packages/auth/src/Bootstrap/Container.ts index 4580ff621..65e176c05 100644 --- a/packages/auth/src/Bootstrap/Container.ts +++ b/packages/auth/src/Bootstrap/Container.ts @@ -121,14 +121,7 @@ import { RedisOfflineSubscriptionTokenRepository } from '../Infra/Redis/RedisOff import { CreateOfflineSubscriptionToken } from '../Domain/UseCase/CreateOfflineSubscriptionToken/CreateOfflineSubscriptionToken' import { AuthenticateOfflineSubscriptionToken } from '../Domain/UseCase/AuthenticateOfflineSubscriptionToken/AuthenticateOfflineSubscriptionToken' import { SubscriptionCancelledEventHandler } from '../Domain/Handler/SubscriptionCancelledEventHandler' -import { - ContentDecoder, - ContentDecoderInterface, - ProtocolVersion, - Uuid, - UuidValidator, - ValidatorInterface, -} from '@standardnotes/common' +import { ContentDecoder, ContentDecoderInterface, ProtocolVersion } from '@standardnotes/common' import { GetUserOfflineSubscription } from '../Domain/UseCase/GetUserOfflineSubscription/GetUserOfflineSubscription' import { ApiGatewayOfflineAuthMiddleware } from '../Controller/ApiGatewayOfflineAuthMiddleware' import { UserEmailChangedEventHandler } from '../Domain/Handler/UserEmailChangedEventHandler' @@ -532,7 +525,6 @@ export class ContainerConfigLoader { .bind>(TYPES.BooleanSelector) .toConstantValue(new DeterministicSelector()) container.bind(TYPES.UserSubscriptionService).to(UserSubscriptionService) - container.bind>(TYPES.UuidValidator).toConstantValue(new UuidValidator()) if (env.get('SNS_TOPIC_ARN', true)) { container diff --git a/packages/auth/src/Bootstrap/Types.ts b/packages/auth/src/Bootstrap/Types.ts index 5a3ea5778..0fdf729d5 100644 --- a/packages/auth/src/Bootstrap/Types.ts +++ b/packages/auth/src/Bootstrap/Types.ts @@ -207,7 +207,6 @@ const TYPES = { ProtocolVersionSelector: Symbol.for('ProtocolVersionSelector'), BooleanSelector: Symbol.for('BooleanSelector'), UserSubscriptionService: Symbol.for('UserSubscriptionService'), - UuidValidator: Symbol.for('UuidValidator'), } export default TYPES diff --git a/packages/auth/src/Controller/ValetTokenController.spec.ts b/packages/auth/src/Controller/ValetTokenController.spec.ts index 7ffdffb79..d8f379cdd 100644 --- a/packages/auth/src/Controller/ValetTokenController.spec.ts +++ b/packages/auth/src/Controller/ValetTokenController.spec.ts @@ -4,27 +4,22 @@ import { Request, Response } from 'express' import { results } from 'inversify-express-utils' import { ValetTokenController } from './ValetTokenController' import { CreateValetToken } from '../Domain/UseCase/CreateValetToken/CreateValetToken' -import { Uuid, ValidatorInterface } from '@standardnotes/common' describe('ValetTokenController', () => { let createValetToken: CreateValetToken - let uuidValidator: ValidatorInterface let request: Request let response: Response - const createController = () => new ValetTokenController(createValetToken, uuidValidator) + const createController = () => new ValetTokenController(createValetToken) beforeEach(() => { createValetToken = {} as jest.Mocked createValetToken.execute = jest.fn().mockReturnValue({ success: true, valetToken: 'foobar' }) - uuidValidator = {} as jest.Mocked> - uuidValidator.validate = jest.fn().mockReturnValue(true) - request = { body: { operation: 'write', - resources: ['1-2-3/2-3-4'], + resources: [{ remoteIdentifier: '00000000-0000-0000-0000-000000000000' }], }, } as jest.Mocked @@ -42,13 +37,13 @@ describe('ValetTokenController', () => { expect(createValetToken.execute).toHaveBeenCalledWith({ operation: 'write', userUuid: '1-2-3', - resources: ['1-2-3/2-3-4'], + resources: [{ remoteIdentifier: '00000000-0000-0000-0000-000000000000' }], }) expect(await result.content.readAsStringAsync()).toEqual('{"success":true,"valetToken":"foobar"}') }) it('should not create a valet token if the remote resource identifier is not a valid uuid', async () => { - uuidValidator.validate = jest.fn().mockReturnValue(false) + request.body.resources = ['00000000-0000-0000-0000-000000000000', 'invalid-uuid'] const httpResponse = await createController().create(request, response) const result = await httpResponse.executeAsync() @@ -68,7 +63,7 @@ describe('ValetTokenController', () => { expect(createValetToken.execute).toHaveBeenCalledWith({ operation: 'read', userUuid: '1-2-3', - resources: ['1-2-3/2-3-4'], + resources: [{ remoteIdentifier: '00000000-0000-0000-0000-000000000000' }], }) expect(await result.content.readAsStringAsync()).toEqual('{"success":true,"valetToken":"foobar"}') }) @@ -106,7 +101,7 @@ describe('ValetTokenController', () => { expect(createValetToken.execute).toHaveBeenCalledWith({ operation: 'write', userUuid: '1-2-3', - resources: ['1-2-3/2-3-4'], + resources: [{ remoteIdentifier: '00000000-0000-0000-0000-000000000000' }], }) expect(await result.content.readAsStringAsync()).toEqual('{"success":false}') diff --git a/packages/auth/src/Controller/ValetTokenController.ts b/packages/auth/src/Controller/ValetTokenController.ts index 0f7b4226a..47aa30579 100644 --- a/packages/auth/src/Controller/ValetTokenController.ts +++ b/packages/auth/src/Controller/ValetTokenController.ts @@ -11,15 +11,13 @@ import { CreateValetTokenPayload } from '@standardnotes/responses' import TYPES from '../Bootstrap/Types' import { CreateValetToken } from '../Domain/UseCase/CreateValetToken/CreateValetToken' -import { ErrorTag, Uuid, ValidatorInterface } from '@standardnotes/common' +import { ErrorTag } from '@standardnotes/common' import { ValetTokenOperation } from '@standardnotes/security' +import { Uuid } from '@standardnotes/domain-core' @controller('/valet-tokens', TYPES.ApiGatewayAuthMiddleware) export class ValetTokenController extends BaseHttpController { - constructor( - @inject(TYPES.CreateValetToken) private createValetKey: CreateValetToken, - @inject(TYPES.UuidValidator) private uuidValitor: ValidatorInterface, - ) { + constructor(@inject(TYPES.CreateValetToken) private createValetKey: CreateValetToken) { super() } @@ -40,7 +38,8 @@ export class ValetTokenController extends BaseHttpController { } for (const resource of payload.resources) { - if (!this.uuidValitor.validate(resource.remoteIdentifier)) { + const resourceUuidOrError = Uuid.create(resource.remoteIdentifier) + if (resourceUuidOrError.isFailed()) { return this.json( { error: { diff --git a/packages/auth/src/Domain/Auth/AuthResponse.ts b/packages/auth/src/Domain/Auth/AuthResponse.ts index fd3cde18a..cb61d0dd1 100644 --- a/packages/auth/src/Domain/Auth/AuthResponse.ts +++ b/packages/auth/src/Domain/Auth/AuthResponse.ts @@ -1,8 +1,8 @@ -import { ProtocolVersion, Uuid } from '@standardnotes/common' +import { ProtocolVersion } from '@standardnotes/common' export interface AuthResponse { user: { - uuid: Uuid + uuid: string email: string protocolVersion: ProtocolVersion } diff --git a/packages/auth/src/Domain/Auth/AuthResponseFactory20161215.ts b/packages/auth/src/Domain/Auth/AuthResponseFactory20161215.ts index a1ee17453..632ceb06d 100644 --- a/packages/auth/src/Domain/Auth/AuthResponseFactory20161215.ts +++ b/packages/auth/src/Domain/Auth/AuthResponseFactory20161215.ts @@ -1,5 +1,5 @@ import { SessionTokenData, TokenEncoderInterface } from '@standardnotes/security' -import { ProtocolVersion, Uuid } from '@standardnotes/common' +import { ProtocolVersion } from '@standardnotes/common' import * as crypto from 'crypto' import { inject, injectable } from 'inversify' @@ -40,7 +40,7 @@ export class AuthResponseFactory20161215 implements AuthResponseFactoryInterface return { user: this.userProjector.projectSimple(dto.user) as { - uuid: Uuid + uuid: string email: string protocolVersion: ProtocolVersion }, diff --git a/packages/auth/src/Domain/Auth/AuthResponseFactory20200115.ts b/packages/auth/src/Domain/Auth/AuthResponseFactory20200115.ts index 2bbf4821f..0eb71037c 100644 --- a/packages/auth/src/Domain/Auth/AuthResponseFactory20200115.ts +++ b/packages/auth/src/Domain/Auth/AuthResponseFactory20200115.ts @@ -3,7 +3,7 @@ import { SessionTokenData, TokenEncoderInterface, } from '@standardnotes/security' -import { ProtocolVersion, Uuid } from '@standardnotes/common' +import { ProtocolVersion } from '@standardnotes/common' import { SessionBody } from '@standardnotes/responses' import { inject, injectable } from 'inversify' import { Logger } from 'winston' @@ -49,7 +49,7 @@ export class AuthResponseFactory20200115 extends AuthResponseFactory20190520 { session: sessionPayload, key_params: this.keyParamsFactory.create(dto.user, true), user: this.userProjector.projectSimple(dto.user) as { - uuid: Uuid + uuid: string email: string protocolVersion: ProtocolVersion }, diff --git a/packages/auth/src/Domain/Event/DomainEventFactory.ts b/packages/auth/src/Domain/Event/DomainEventFactory.ts index c0a9321f8..6f41a1242 100644 --- a/packages/auth/src/Domain/Event/DomainEventFactory.ts +++ b/packages/auth/src/Domain/Event/DomainEventFactory.ts @@ -1,6 +1,6 @@ /* istanbul ignore file */ -import { JSONString, ProtocolVersion, Uuid } from '@standardnotes/common' +import { ProtocolVersion } from '@standardnotes/common' import { AccountDeletionRequestedEvent, UserEmailChangedEvent, @@ -105,7 +105,7 @@ export class DomainEventFactory implements DomainEventFactoryInterface { } } - createWebSocketMessageRequestedEvent(dto: { userUuid: Uuid; message: JSONString }): WebSocketMessageRequestedEvent { + createWebSocketMessageRequestedEvent(dto: { userUuid: string; message: string }): WebSocketMessageRequestedEvent { return { type: 'WEB_SOCKET_MESSAGE_REQUESTED', createdAt: this.timer.getUTCDate(), @@ -142,7 +142,7 @@ export class DomainEventFactory implements DomainEventFactoryInterface { } createPredicateVerifiedEvent(dto: { - userUuid: Uuid + userUuid: string predicate: Predicate predicateVerificationResult: PredicateVerificationResult }): PredicateVerifiedEvent { @@ -164,10 +164,10 @@ export class DomainEventFactory implements DomainEventFactoryInterface { createSharedSubscriptionInvitationCanceledEvent(dto: { inviterEmail: string inviterSubscriptionId: number - inviterSubscriptionUuid: Uuid + inviterSubscriptionUuid: string inviteeIdentifier: string inviteeIdentifierType: InviteeIdentifierType - sharedSubscriptionInvitationUuid: Uuid + sharedSubscriptionInvitationUuid: string }): SharedSubscriptionInvitationCanceledEvent { return { type: 'SHARED_SUBSCRIPTION_INVITATION_CANCELED', @@ -291,9 +291,9 @@ export class DomainEventFactory implements DomainEventFactoryInterface { } createAccountDeletionRequestedEvent(dto: { - userUuid: Uuid + userUuid: string userCreatedAtTimestamp: number - regularSubscriptionUuid: Uuid | undefined + regularSubscriptionUuid: string | undefined }): AccountDeletionRequestedEvent { return { type: 'ACCOUNT_DELETION_REQUESTED', diff --git a/packages/auth/src/Domain/Event/DomainEventFactoryInterface.ts b/packages/auth/src/Domain/Event/DomainEventFactoryInterface.ts index b003bb895..c878227bf 100644 --- a/packages/auth/src/Domain/Event/DomainEventFactoryInterface.ts +++ b/packages/auth/src/Domain/Event/DomainEventFactoryInterface.ts @@ -1,4 +1,4 @@ -import { Uuid, ProtocolVersion, JSONString } from '@standardnotes/common' +import { ProtocolVersion, JSONString } from '@standardnotes/common' import { Predicate, PredicateVerificationResult } from '@standardnotes/predicates' import { AccountDeletionRequestedEvent, @@ -23,7 +23,7 @@ import { InviteeIdentifierType } from '../SharedSubscription/InviteeIdentifierTy export interface DomainEventFactoryInterface { createUserContentSizeRecalculationRequestedEvent(userUuid: string): UserContentSizeRecalculationRequestedEvent - createWebSocketMessageRequestedEvent(dto: { userUuid: Uuid; message: JSONString }): WebSocketMessageRequestedEvent + createWebSocketMessageRequestedEvent(dto: { userUuid: string; message: JSONString }): WebSocketMessageRequestedEvent createEmailRequestedEvent(dto: { userEmail: string messageIdentifier: string @@ -50,14 +50,14 @@ export interface DomainEventFactoryInterface { userHasEmailsMuted: boolean, ): CloudBackupRequestedEvent createAccountDeletionRequestedEvent(dto: { - userUuid: Uuid + userUuid: string userCreatedAtTimestamp: number - regularSubscriptionUuid: Uuid | undefined + regularSubscriptionUuid: string | undefined }): AccountDeletionRequestedEvent createUserRolesChangedEvent(userUuid: string, email: string, currentRoles: string[]): UserRolesChangedEvent createUserEmailChangedEvent(userUuid: string, fromEmail: string, toEmail: string): UserEmailChangedEvent createUserDisabledSessionUserAgentLoggingEvent(dto: { - userUuid: Uuid + userUuid: string email: string }): UserDisabledSessionUserAgentLoggingEvent createSharedSubscriptionInvitationCreatedEvent(dto: { @@ -70,13 +70,13 @@ export interface DomainEventFactoryInterface { createSharedSubscriptionInvitationCanceledEvent(dto: { inviterEmail: string inviterSubscriptionId: number - inviterSubscriptionUuid: Uuid + inviterSubscriptionUuid: string inviteeIdentifier: string inviteeIdentifierType: InviteeIdentifierType - sharedSubscriptionInvitationUuid: Uuid + sharedSubscriptionInvitationUuid: string }): SharedSubscriptionInvitationCanceledEvent createPredicateVerifiedEvent(dto: { - userUuid: Uuid + userUuid: string predicate: Predicate predicateVerificationResult: PredicateVerificationResult }): PredicateVerifiedEvent diff --git a/packages/auth/src/Domain/Handler/SubscriptionExpiredEventHandler.ts b/packages/auth/src/Domain/Handler/SubscriptionExpiredEventHandler.ts index 6531f5d3a..124497cb2 100644 --- a/packages/auth/src/Domain/Handler/SubscriptionExpiredEventHandler.ts +++ b/packages/auth/src/Domain/Handler/SubscriptionExpiredEventHandler.ts @@ -1,4 +1,3 @@ -import { SubscriptionName } from '@standardnotes/common' import { DomainEventHandlerInterface, SubscriptionExpiredEvent } from '@standardnotes/domain-events' import { inject, injectable } from 'inversify' import { Logger } from 'winston' @@ -38,10 +37,7 @@ export class SubscriptionExpiredEventHandler implements DomainEventHandlerInterf await this.removeRoleFromSubscriptionUsers(event.payload.subscriptionId, event.payload.subscriptionName) } - private async removeRoleFromSubscriptionUsers( - subscriptionId: number, - subscriptionName: SubscriptionName, - ): Promise { + private async removeRoleFromSubscriptionUsers(subscriptionId: number, subscriptionName: string): Promise { const userSubscriptions = await this.userSubscriptionRepository.findBySubscriptionId(subscriptionId) for (const userSubscription of userSubscriptions) { await this.roleService.removeUserRole(await userSubscription.user, subscriptionName) diff --git a/packages/auth/src/Domain/Handler/SubscriptionPurchasedEventHandler.ts b/packages/auth/src/Domain/Handler/SubscriptionPurchasedEventHandler.ts index 21af90117..b874e8f39 100644 --- a/packages/auth/src/Domain/Handler/SubscriptionPurchasedEventHandler.ts +++ b/packages/auth/src/Domain/Handler/SubscriptionPurchasedEventHandler.ts @@ -1,4 +1,3 @@ -import { SubscriptionName } from '@standardnotes/common' import { DomainEventHandlerInterface, SubscriptionPurchasedEvent } from '@standardnotes/domain-events' import { inject, injectable } from 'inversify' import { Logger } from 'winston' @@ -65,7 +64,7 @@ export class SubscriptionPurchasedEventHandler implements DomainEventHandlerInte ) } - private async addUserRole(user: User, subscriptionName: SubscriptionName): Promise { + private async addUserRole(user: User, subscriptionName: string): Promise { await this.roleService.addUserRole(user, subscriptionName) } diff --git a/packages/auth/src/Domain/Handler/SubscriptionReassignedEventHandler.ts b/packages/auth/src/Domain/Handler/SubscriptionReassignedEventHandler.ts index cb5abd69a..e4f22aeaa 100644 --- a/packages/auth/src/Domain/Handler/SubscriptionReassignedEventHandler.ts +++ b/packages/auth/src/Domain/Handler/SubscriptionReassignedEventHandler.ts @@ -1,4 +1,3 @@ -import { SubscriptionName } from '@standardnotes/common' import { DomainEventHandlerInterface, SubscriptionReassignedEvent } from '@standardnotes/domain-events' import { inject, injectable } from 'inversify' import { Logger } from 'winston' @@ -62,7 +61,7 @@ export class SubscriptionReassignedEventHandler implements DomainEventHandlerInt ) } - private async addUserRole(user: User, subscriptionName: SubscriptionName): Promise { + private async addUserRole(user: User, subscriptionName: string): Promise { await this.roleService.addUserRole(user, subscriptionName) } diff --git a/packages/auth/src/Domain/Handler/SubscriptionRefundedEventHandler.ts b/packages/auth/src/Domain/Handler/SubscriptionRefundedEventHandler.ts index 952a784ce..bc3c194f9 100644 --- a/packages/auth/src/Domain/Handler/SubscriptionRefundedEventHandler.ts +++ b/packages/auth/src/Domain/Handler/SubscriptionRefundedEventHandler.ts @@ -1,4 +1,3 @@ -import { SubscriptionName } from '@standardnotes/common' import { DomainEventHandlerInterface, SubscriptionRefundedEvent } from '@standardnotes/domain-events' import { inject, injectable } from 'inversify' import { Logger } from 'winston' @@ -38,10 +37,7 @@ export class SubscriptionRefundedEventHandler implements DomainEventHandlerInter await this.removeRoleFromSubscriptionUsers(event.payload.subscriptionId, event.payload.subscriptionName) } - private async removeRoleFromSubscriptionUsers( - subscriptionId: number, - subscriptionName: SubscriptionName, - ): Promise { + private async removeRoleFromSubscriptionUsers(subscriptionId: number, subscriptionName: string): Promise { const userSubscriptions = await this.userSubscriptionRepository.findBySubscriptionId(subscriptionId) for (const userSubscription of userSubscriptions) { await this.roleService.removeUserRole(await userSubscription.user, subscriptionName) diff --git a/packages/auth/src/Domain/Handler/SubscriptionRenewedEventHandler.ts b/packages/auth/src/Domain/Handler/SubscriptionRenewedEventHandler.ts index 1e05208cb..b20d33d71 100644 --- a/packages/auth/src/Domain/Handler/SubscriptionRenewedEventHandler.ts +++ b/packages/auth/src/Domain/Handler/SubscriptionRenewedEventHandler.ts @@ -4,7 +4,6 @@ import { inject, injectable } from 'inversify' import TYPES from '../../Bootstrap/Types' import { UserSubscriptionRepositoryInterface } from '../Subscription/UserSubscriptionRepositoryInterface' import { OfflineUserSubscriptionRepositoryInterface } from '../Subscription/OfflineUserSubscriptionRepositoryInterface' -import { SubscriptionName } from '@standardnotes/common' import { RoleServiceInterface } from '../Role/RoleServiceInterface' import { UserRepositoryInterface } from '../User/UserRepositoryInterface' import { Logger } from 'winston' @@ -61,7 +60,7 @@ export class SubscriptionRenewedEventHandler implements DomainEventHandlerInterf await this.addRoleToSubscriptionUsers(event.payload.subscriptionId, event.payload.subscriptionName) } - private async addRoleToSubscriptionUsers(subscriptionId: number, subscriptionName: SubscriptionName): Promise { + private async addRoleToSubscriptionUsers(subscriptionId: number, subscriptionName: string): Promise { const userSubscriptions = await this.userSubscriptionRepository.findBySubscriptionId(subscriptionId) for (const userSubscription of userSubscriptions) { const user = await userSubscription.user diff --git a/packages/auth/src/Domain/Role/RoleServiceInterface.ts b/packages/auth/src/Domain/Role/RoleServiceInterface.ts index 1a86a151c..9f2fb5514 100644 --- a/packages/auth/src/Domain/Role/RoleServiceInterface.ts +++ b/packages/auth/src/Domain/Role/RoleServiceInterface.ts @@ -1,11 +1,10 @@ -import { SubscriptionName } from '@standardnotes/common' import { PermissionName } from '@standardnotes/features' import { OfflineUserSubscription } from '../Subscription/OfflineUserSubscription' import { User } from '../User/User' export interface RoleServiceInterface { - addUserRole(user: User, subscriptionName: SubscriptionName): Promise + addUserRole(user: User, subscriptionName: string): Promise setOfflineUserRole(offlineUserSubscription: OfflineUserSubscription): Promise - removeUserRole(user: User, subscriptionName: SubscriptionName): Promise + removeUserRole(user: User, subscriptionName: string): Promise userHasPermission(userUuid: string, permissionName: PermissionName): Promise } diff --git a/packages/auth/src/Domain/Session/RevokedSessionRepositoryInterface.ts b/packages/auth/src/Domain/Session/RevokedSessionRepositoryInterface.ts index d9fc1db0e..b73d848cb 100644 --- a/packages/auth/src/Domain/Session/RevokedSessionRepositoryInterface.ts +++ b/packages/auth/src/Domain/Session/RevokedSessionRepositoryInterface.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { RevokedSession } from './RevokedSession' export interface RevokedSessionRepositoryInterface { @@ -6,5 +5,5 @@ export interface RevokedSessionRepositoryInterface { findAllByUserUuid(userUuid: string): Promise> save(revokedSession: RevokedSession): Promise remove(revokedSession: RevokedSession): Promise - clearUserAgentByUserUuid(userUuid: Uuid): Promise + clearUserAgentByUserUuid(userUuid: string): Promise } diff --git a/packages/auth/src/Domain/Session/SessionRepositoryInterface.ts b/packages/auth/src/Domain/Session/SessionRepositoryInterface.ts index 12bc29bd9..0fe5d54a4 100644 --- a/packages/auth/src/Domain/Session/SessionRepositoryInterface.ts +++ b/packages/auth/src/Domain/Session/SessionRepositoryInterface.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { Session } from './Session' export interface SessionRepositoryInterface { @@ -12,5 +11,5 @@ export interface SessionRepositoryInterface { updatedTokenExpirationDates(uuid: string, accessExpiration: Date, refreshExpiration: Date): Promise save(session: Session): Promise remove(session: Session): Promise - clearUserAgentByUserUuid(userUuid: Uuid): Promise + clearUserAgentByUserUuid(userUuid: string): Promise } diff --git a/packages/auth/src/Domain/Session/SessionService.ts b/packages/auth/src/Domain/Session/SessionService.ts index 230cb6e1e..1557c2f07 100644 --- a/packages/auth/src/Domain/Session/SessionService.ts +++ b/packages/auth/src/Domain/Session/SessionService.ts @@ -7,7 +7,6 @@ import { TimerInterface } from '@standardnotes/time' import { Logger } from 'winston' import { LogSessionUserAgentOption, SettingName } from '@standardnotes/settings' import { SessionBody } from '@standardnotes/responses' -import { Uuid } from '@standardnotes/common' import { CryptoNode } from '@standardnotes/sncrypto-node' import TYPES from '../../Bootstrap/Types' @@ -226,7 +225,7 @@ export class SessionService implements SessionServiceInterface { return this.revokedSessionRepository.save(revokedSession) } - async deleteSessionByToken(token: string): Promise { + async deleteSessionByToken(token: string): Promise { const session = await this.getSessionFromToken(token) if (session) { diff --git a/packages/auth/src/Domain/Session/SessionServiceInterface.ts b/packages/auth/src/Domain/Session/SessionServiceInterface.ts index 9ba90dfaa..79a61e30a 100644 --- a/packages/auth/src/Domain/Session/SessionServiceInterface.ts +++ b/packages/auth/src/Domain/Session/SessionServiceInterface.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { SessionBody } from '@standardnotes/responses' import { User } from '../User/User' import { RevokedSession } from './RevokedSession' @@ -21,7 +20,7 @@ export interface SessionServiceInterface { getSessionFromToken(token: string): Promise getRevokedSessionFromToken(token: string): Promise markRevokedSessionAsReceived(revokedSession: RevokedSession): Promise - deleteSessionByToken(token: string): Promise + deleteSessionByToken(token: string): Promise isRefreshTokenValid(session: Session, token: string): boolean getDeviceInfo(session: Session): string getOperatingSystemInfoFromUserAgent(userAgent: string): string diff --git a/packages/auth/src/Domain/Setting/DeleteSettingDto.ts b/packages/auth/src/Domain/Setting/DeleteSettingDto.ts index 65543831d..850b5c0fc 100644 --- a/packages/auth/src/Domain/Setting/DeleteSettingDto.ts +++ b/packages/auth/src/Domain/Setting/DeleteSettingDto.ts @@ -1,6 +1,4 @@ -import { Uuid } from '@standardnotes/common' - export type DeleteSettingDto = { settingName: string - userUuid: Uuid + userUuid: string } diff --git a/packages/auth/src/Domain/Setting/FindSettingDTO.ts b/packages/auth/src/Domain/Setting/FindSettingDTO.ts index d341870bb..2e811f365 100644 --- a/packages/auth/src/Domain/Setting/FindSettingDTO.ts +++ b/packages/auth/src/Domain/Setting/FindSettingDTO.ts @@ -1,8 +1,7 @@ -import { Uuid } from '@standardnotes/common' import { SettingName } from '@standardnotes/settings' export type FindSettingDTO = { userUuid: string settingName: SettingName - settingUuid?: Uuid + settingUuid?: string } diff --git a/packages/auth/src/Domain/Setting/FindSubscriptionSettingDTO.ts b/packages/auth/src/Domain/Setting/FindSubscriptionSettingDTO.ts index 549137efc..e89f51786 100644 --- a/packages/auth/src/Domain/Setting/FindSubscriptionSettingDTO.ts +++ b/packages/auth/src/Domain/Setting/FindSubscriptionSettingDTO.ts @@ -1,9 +1,8 @@ -import { Uuid } from '@standardnotes/common' import { SubscriptionSettingName } from '@standardnotes/settings' export type FindSubscriptionSettingDTO = { - userUuid: Uuid - userSubscriptionUuid: Uuid + userUuid: string + userSubscriptionUuid: string subscriptionSettingName: SubscriptionSettingName - settingUuid?: Uuid + settingUuid?: string } diff --git a/packages/auth/src/Domain/Setting/SettingDecrypterInterface.ts b/packages/auth/src/Domain/Setting/SettingDecrypterInterface.ts index bc48a350d..c36feab8a 100644 --- a/packages/auth/src/Domain/Setting/SettingDecrypterInterface.ts +++ b/packages/auth/src/Domain/Setting/SettingDecrypterInterface.ts @@ -1,7 +1,6 @@ -import { Uuid } from '@standardnotes/common' import { Setting } from './Setting' import { SubscriptionSetting } from './SubscriptionSetting' export interface SettingDecrypterInterface { - decryptSettingValue(setting: Setting | SubscriptionSetting, userUuid: Uuid): Promise + decryptSettingValue(setting: Setting | SubscriptionSetting, userUuid: string): Promise } diff --git a/packages/auth/src/Domain/Setting/SubscriptionSettingService.ts b/packages/auth/src/Domain/Setting/SubscriptionSettingService.ts index 22ccd3c72..17e7a21f1 100644 --- a/packages/auth/src/Domain/Setting/SubscriptionSettingService.ts +++ b/packages/auth/src/Domain/Setting/SubscriptionSettingService.ts @@ -1,4 +1,4 @@ -import { SubscriptionName, Uuid } from '@standardnotes/common' +import { SubscriptionName } from '@standardnotes/common' import { SubscriptionSettingName } from '@standardnotes/settings' import { inject, injectable } from 'inversify' import { Logger } from 'winston' @@ -34,7 +34,7 @@ export class SubscriptionSettingService implements SubscriptionSettingServiceInt async applyDefaultSubscriptionSettingsForSubscription( userSubscription: UserSubscription, subscriptionName: SubscriptionName, - userUuid: Uuid, + userUuid: string, ): Promise { const defaultSettingsWithValues = await this.subscriptionSettingAssociationService.getDefaultSettingsAndValuesForSubscriptionName(subscriptionName) @@ -129,8 +129,8 @@ export class SubscriptionSettingService implements SubscriptionSettingServiceInt private async findPreviousSubscriptionSetting( settingName: SubscriptionSettingName, - currentUserSubscriptionUuid: Uuid, - userUuid: Uuid, + currentUserSubscriptionUuid: string, + userUuid: string, ): Promise { const userSubscriptions = await this.userSubscriptionRepository.findByUserUuid(userUuid) const previousSubscriptions = userSubscriptions.filter( diff --git a/packages/auth/src/Domain/Setting/SubscriptionSettingServiceInterface.ts b/packages/auth/src/Domain/Setting/SubscriptionSettingServiceInterface.ts index 7d086b034..1f010d42a 100644 --- a/packages/auth/src/Domain/Setting/SubscriptionSettingServiceInterface.ts +++ b/packages/auth/src/Domain/Setting/SubscriptionSettingServiceInterface.ts @@ -1,4 +1,3 @@ -import { SubscriptionName, Uuid } from '@standardnotes/common' import { UserSubscription } from '../Subscription/UserSubscription' import { CreateOrReplaceSubscriptionSettingDTO } from './CreateOrReplaceSubscriptionSettingDTO' @@ -9,8 +8,8 @@ import { SubscriptionSetting } from './SubscriptionSetting' export interface SubscriptionSettingServiceInterface { applyDefaultSubscriptionSettingsForSubscription( userSubscription: UserSubscription, - subscriptionName: SubscriptionName, - userUuid: Uuid, + subscriptionName: string, + userUuid: string, ): Promise createOrReplace(dto: CreateOrReplaceSubscriptionSettingDTO): Promise findSubscriptionSettingWithDecryptedValue(dto: FindSubscriptionSettingDTO): Promise diff --git a/packages/auth/src/Domain/SharedSubscription/SharedSubscriptionInvitationRepositoryInterface.ts b/packages/auth/src/Domain/SharedSubscription/SharedSubscriptionInvitationRepositoryInterface.ts index 10be95f12..3d48e3a24 100644 --- a/packages/auth/src/Domain/SharedSubscription/SharedSubscriptionInvitationRepositoryInterface.ts +++ b/packages/auth/src/Domain/SharedSubscription/SharedSubscriptionInvitationRepositoryInterface.ts @@ -1,15 +1,14 @@ -import { Uuid } from '@standardnotes/common' import { InvitationStatus } from './InvitationStatus' import { SharedSubscriptionInvitation } from './SharedSubscriptionInvitation' export interface SharedSubscriptionInvitationRepositoryInterface { save(sharedSubscriptionInvitation: SharedSubscriptionInvitation): Promise - findOneByUuidAndStatus(uuid: Uuid, status: InvitationStatus): Promise - findOneByUuid(uuid: Uuid): Promise + findOneByUuidAndStatus(uuid: string, status: InvitationStatus): Promise + findOneByUuid(uuid: string): Promise findByInviterEmail(inviterEmail: string): Promise findOneByInviteeAndInviterEmail( inviteeEmail: string, inviterEmail: string, ): Promise - countByInviterEmailAndStatus(inviterEmail: Uuid, statuses: InvitationStatus[]): Promise + countByInviterEmailAndStatus(inviterEmail: string, statuses: InvitationStatus[]): Promise } diff --git a/packages/auth/src/Domain/Subscription/SubscriptionTokenRepositoryInterface.ts b/packages/auth/src/Domain/Subscription/SubscriptionTokenRepositoryInterface.ts index d6fd8a262..7fd10900e 100644 --- a/packages/auth/src/Domain/Subscription/SubscriptionTokenRepositoryInterface.ts +++ b/packages/auth/src/Domain/Subscription/SubscriptionTokenRepositoryInterface.ts @@ -1,8 +1,6 @@ -import { Uuid } from '@standardnotes/common' - import { SubscriptionToken } from './SubscriptionToken' export interface SubscriptionTokenRepositoryInterface { save(subscriptionToken: SubscriptionToken): Promise - getUserUuidByToken(token: string): Promise + getUserUuidByToken(token: string): Promise } diff --git a/packages/auth/src/Domain/Subscription/UserSubscriptionRepositoryInterface.ts b/packages/auth/src/Domain/Subscription/UserSubscriptionRepositoryInterface.ts index 5a9e7bbd3..1d3fdae5a 100644 --- a/packages/auth/src/Domain/Subscription/UserSubscriptionRepositoryInterface.ts +++ b/packages/auth/src/Domain/Subscription/UserSubscriptionRepositoryInterface.ts @@ -1,13 +1,12 @@ -import { Uuid } from '@standardnotes/common' import { UserSubscription } from './UserSubscription' import { UserSubscriptionType } from './UserSubscriptionType' export interface UserSubscriptionRepositoryInterface { - findOneByUuid(uuid: Uuid): Promise - countByUserUuid(userUuid: Uuid): Promise - findOneByUserUuid(userUuid: Uuid): Promise - findByUserUuid(userUuid: Uuid): Promise - findOneByUserUuidAndSubscriptionId(userUuid: Uuid, subscriptionId: number): Promise + findOneByUuid(uuid: string): Promise + countByUserUuid(userUuid: string): Promise + findOneByUserUuid(userUuid: string): Promise + findByUserUuid(userUuid: string): Promise + findOneByUserUuidAndSubscriptionId(userUuid: string, subscriptionId: number): Promise findBySubscriptionIdAndType(subscriptionId: number, type: UserSubscriptionType): Promise findBySubscriptionId(subscriptionId: number): Promise updateEndsAt(subscriptionId: number, endsAt: number, updatedAt: number): Promise diff --git a/packages/auth/src/Domain/Subscription/UserSubscriptionService.ts b/packages/auth/src/Domain/Subscription/UserSubscriptionService.ts index 8e94191fb..3acd0a6a2 100644 --- a/packages/auth/src/Domain/Subscription/UserSubscriptionService.ts +++ b/packages/auth/src/Domain/Subscription/UserSubscriptionService.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { inject, injectable } from 'inversify' import TYPES from '../../Bootstrap/Types' @@ -21,7 +20,7 @@ export class UserSubscriptionService implements UserSubscriptionServiceInterface return this.findRegularSubscription(userSubscription) } - async findRegularSubscriptionForUuid(uuid: Uuid): Promise { + async findRegularSubscriptionForUuid(uuid: string): Promise { const userSubscription = await this.userSubscriptionRepository.findOneByUuid(uuid) return this.findRegularSubscription(userSubscription) diff --git a/packages/auth/src/Domain/Subscription/UserSubscriptionServiceInterface.ts b/packages/auth/src/Domain/Subscription/UserSubscriptionServiceInterface.ts index 7cf7d48e7..e37602bd8 100644 --- a/packages/auth/src/Domain/Subscription/UserSubscriptionServiceInterface.ts +++ b/packages/auth/src/Domain/Subscription/UserSubscriptionServiceInterface.ts @@ -1,7 +1,6 @@ -import { Uuid } from '@standardnotes/common' import { FindRegularSubscriptionResponse } from './FindRegularSubscriptionResponse' export interface UserSubscriptionServiceInterface { - findRegularSubscriptionForUuid(uuid: Uuid): Promise - findRegularSubscriptionForUserUuid(userUuid: Uuid): Promise + findRegularSubscriptionForUuid(uuid: string): Promise + findRegularSubscriptionForUserUuid(userUuid: string): Promise } diff --git a/packages/auth/src/Domain/UseCase/CancelSharedSubscriptionInvitation/CancelSharedSubscriptionInvitationDTO.ts b/packages/auth/src/Domain/UseCase/CancelSharedSubscriptionInvitation/CancelSharedSubscriptionInvitationDTO.ts index c380cc811..630b18367 100644 --- a/packages/auth/src/Domain/UseCase/CancelSharedSubscriptionInvitation/CancelSharedSubscriptionInvitationDTO.ts +++ b/packages/auth/src/Domain/UseCase/CancelSharedSubscriptionInvitation/CancelSharedSubscriptionInvitationDTO.ts @@ -1,6 +1,4 @@ -import { Uuid } from '@standardnotes/common' - export type CancelSharedSubscriptionInvitationDTO = { - sharedSubscriptionInvitationUuid: Uuid + sharedSubscriptionInvitationUuid: string inviterEmail: string } diff --git a/packages/auth/src/Domain/UseCase/CreateCrossServiceToken/CreateCrossServiceTokenDTO.ts b/packages/auth/src/Domain/UseCase/CreateCrossServiceToken/CreateCrossServiceTokenDTO.ts index a6451f96e..c79b7ee1a 100644 --- a/packages/auth/src/Domain/UseCase/CreateCrossServiceToken/CreateCrossServiceTokenDTO.ts +++ b/packages/auth/src/Domain/UseCase/CreateCrossServiceToken/CreateCrossServiceTokenDTO.ts @@ -1,4 +1,4 @@ -import { Either, Uuid } from '@standardnotes/common' +import { Either } from '@standardnotes/common' import { Session } from '../../Session/Session' import { User } from '../../User/User' @@ -8,6 +8,6 @@ export type CreateCrossServiceTokenDTO = Either< session?: Session }, { - userUuid: Uuid + userUuid: string } > diff --git a/packages/auth/src/Domain/UseCase/DeleteSetting/DeleteSettingDto.ts b/packages/auth/src/Domain/UseCase/DeleteSetting/DeleteSettingDto.ts index 46a260a16..ca384e9b8 100644 --- a/packages/auth/src/Domain/UseCase/DeleteSetting/DeleteSettingDto.ts +++ b/packages/auth/src/Domain/UseCase/DeleteSetting/DeleteSettingDto.ts @@ -1,7 +1,5 @@ -import { Uuid } from '@standardnotes/common' - export type DeleteSettingDto = { - userUuid: Uuid + userUuid: string settingName: string uuid?: string timestamp?: number diff --git a/packages/auth/src/Domain/UseCase/DeleteSetting/DeleteSettingResponse.ts b/packages/auth/src/Domain/UseCase/DeleteSetting/DeleteSettingResponse.ts index 57770eab0..9be0574bd 100644 --- a/packages/auth/src/Domain/UseCase/DeleteSetting/DeleteSettingResponse.ts +++ b/packages/auth/src/Domain/UseCase/DeleteSetting/DeleteSettingResponse.ts @@ -1,9 +1,7 @@ -import { Uuid } from '@standardnotes/common' - export type DeleteSettingResponse = | { success: true - userUuid: Uuid + userUuid: string settingName: string } | { diff --git a/packages/auth/src/Domain/UseCase/GetSetting/GetSettingDto.ts b/packages/auth/src/Domain/UseCase/GetSetting/GetSettingDto.ts index 7c0acba8c..b0e008933 100644 --- a/packages/auth/src/Domain/UseCase/GetSetting/GetSettingDto.ts +++ b/packages/auth/src/Domain/UseCase/GetSetting/GetSettingDto.ts @@ -1,7 +1,5 @@ -import { Uuid } from '@standardnotes/common' - export type GetSettingDto = { - userUuid: Uuid + userUuid: string settingName: string allowSensitiveRetrieval?: boolean } diff --git a/packages/auth/src/Domain/UseCase/GetSetting/GetSettingResponse.ts b/packages/auth/src/Domain/UseCase/GetSetting/GetSettingResponse.ts index 3e65381bb..48ea4f74d 100644 --- a/packages/auth/src/Domain/UseCase/GetSetting/GetSettingResponse.ts +++ b/packages/auth/src/Domain/UseCase/GetSetting/GetSettingResponse.ts @@ -1,11 +1,9 @@ -import { Uuid } from '@standardnotes/common' - import { SimpleSetting } from '../../Setting/SimpleSetting' export type GetSettingResponse = | { success: true - userUuid: Uuid + userUuid: string setting: SimpleSetting } | { diff --git a/packages/auth/src/Domain/UseCase/GetSettings/GetSettingsDto.ts b/packages/auth/src/Domain/UseCase/GetSettings/GetSettingsDto.ts index 381bf371b..b37ae8652 100644 --- a/packages/auth/src/Domain/UseCase/GetSettings/GetSettingsDto.ts +++ b/packages/auth/src/Domain/UseCase/GetSettings/GetSettingsDto.ts @@ -1,7 +1,5 @@ -import { Uuid } from '@standardnotes/common' - export type GetSettingsDto = { - userUuid: Uuid + userUuid: string settingName?: string allowSensitiveRetrieval?: boolean updatedAfter?: number diff --git a/packages/auth/src/Domain/UseCase/GetSettings/GetSettingsResponse.ts b/packages/auth/src/Domain/UseCase/GetSettings/GetSettingsResponse.ts index b48b6a7ed..d90b3bc67 100644 --- a/packages/auth/src/Domain/UseCase/GetSettings/GetSettingsResponse.ts +++ b/packages/auth/src/Domain/UseCase/GetSettings/GetSettingsResponse.ts @@ -1,11 +1,9 @@ -import { Uuid } from '@standardnotes/common' - import { SimpleSetting } from '../../Setting/SimpleSetting' export type GetSettingsResponse = | { success: true - userUuid: Uuid + userUuid: string settings: SimpleSetting[] } | { diff --git a/packages/auth/src/Domain/UseCase/GetSubscriptionSetting/GetSubscriptionSettingDTO.ts b/packages/auth/src/Domain/UseCase/GetSubscriptionSetting/GetSubscriptionSettingDTO.ts index d2b9e8ae5..d5cfd11d6 100644 --- a/packages/auth/src/Domain/UseCase/GetSubscriptionSetting/GetSubscriptionSettingDTO.ts +++ b/packages/auth/src/Domain/UseCase/GetSubscriptionSetting/GetSubscriptionSettingDTO.ts @@ -1,8 +1,7 @@ -import { Uuid } from '@standardnotes/common' import { SubscriptionSettingName } from '@standardnotes/settings' export type GetSubscriptionSettingDTO = { - userUuid: Uuid + userUuid: string subscriptionSettingName: SubscriptionSettingName allowSensitiveRetrieval?: boolean } diff --git a/packages/auth/src/Domain/UseCase/GetUserFeatures/GetUserFeaturesDto.ts b/packages/auth/src/Domain/UseCase/GetUserFeatures/GetUserFeaturesDto.ts index 5bd5cee60..92f854c57 100644 --- a/packages/auth/src/Domain/UseCase/GetUserFeatures/GetUserFeaturesDto.ts +++ b/packages/auth/src/Domain/UseCase/GetUserFeatures/GetUserFeaturesDto.ts @@ -1,8 +1,6 @@ -import { Uuid } from '@standardnotes/common' - export type GetUserFeaturesDto = | { - userUuid: Uuid + userUuid: string offline: false } | { diff --git a/packages/auth/src/Domain/UseCase/GetUserSubscription/GetUserSubscriptionDto.ts b/packages/auth/src/Domain/UseCase/GetUserSubscription/GetUserSubscriptionDto.ts index 9cdd207ab..ff502b64a 100644 --- a/packages/auth/src/Domain/UseCase/GetUserSubscription/GetUserSubscriptionDto.ts +++ b/packages/auth/src/Domain/UseCase/GetUserSubscription/GetUserSubscriptionDto.ts @@ -1,5 +1,3 @@ -import { Uuid } from '@standardnotes/common' - export type GetUserSubscriptionDto = { - userUuid: Uuid + userUuid: string } diff --git a/packages/auth/src/Domain/UseCase/InviteToSharedSubscription/InviteToSharedSubscriptionDTO.ts b/packages/auth/src/Domain/UseCase/InviteToSharedSubscription/InviteToSharedSubscriptionDTO.ts index d91ae3d67..1aad7e044 100644 --- a/packages/auth/src/Domain/UseCase/InviteToSharedSubscription/InviteToSharedSubscriptionDTO.ts +++ b/packages/auth/src/Domain/UseCase/InviteToSharedSubscription/InviteToSharedSubscriptionDTO.ts @@ -1,8 +1,6 @@ -import { Uuid } from '@standardnotes/common' - export type InviteToSharedSubscriptionDTO = { inviterEmail: string - inviterUuid: Uuid + inviterUuid: string inviterRoles: string[] inviteeIdentifier: string } diff --git a/packages/auth/src/Domain/UseCase/InviteToSharedSubscription/InviteToSharedSubscriptionResult.ts b/packages/auth/src/Domain/UseCase/InviteToSharedSubscription/InviteToSharedSubscriptionResult.ts index e0cb3fb1d..ccb3e5ad1 100644 --- a/packages/auth/src/Domain/UseCase/InviteToSharedSubscription/InviteToSharedSubscriptionResult.ts +++ b/packages/auth/src/Domain/UseCase/InviteToSharedSubscription/InviteToSharedSubscriptionResult.ts @@ -1,9 +1,7 @@ -import { Uuid } from '@standardnotes/common' - export type InviteToSharedSubscriptionResult = | { success: true - sharedSubscriptionInvitationUuid: Uuid + sharedSubscriptionInvitationUuid: string } | { success: false diff --git a/packages/auth/src/Domain/UseCase/ProcessUserRequest/ProcessUserRequestDTO.ts b/packages/auth/src/Domain/UseCase/ProcessUserRequest/ProcessUserRequestDTO.ts index 2abd911f1..c52b58fac 100644 --- a/packages/auth/src/Domain/UseCase/ProcessUserRequest/ProcessUserRequestDTO.ts +++ b/packages/auth/src/Domain/UseCase/ProcessUserRequest/ProcessUserRequestDTO.ts @@ -1,7 +1,7 @@ -import { UserRequestType, Uuid } from '@standardnotes/common' +import { UserRequestType } from '@standardnotes/common' export type ProcessUserRequestDTO = { - userUuid: Uuid + userUuid: string userEmail: string requestType: UserRequestType } diff --git a/packages/auth/src/Domain/UseCase/UpdateSetting/UpdateSettingDto.ts b/packages/auth/src/Domain/UseCase/UpdateSetting/UpdateSettingDto.ts index ad20cbcb8..9df456531 100644 --- a/packages/auth/src/Domain/UseCase/UpdateSetting/UpdateSettingDto.ts +++ b/packages/auth/src/Domain/UseCase/UpdateSetting/UpdateSettingDto.ts @@ -1,8 +1,6 @@ -import { Uuid } from '@standardnotes/common' - import { SettingProps } from '../../Setting/SettingProps' export type UpdateSettingDto = { - userUuid: Uuid + userUuid: string props: SettingProps } diff --git a/packages/auth/src/Domain/UseCase/VerifyPredicate/VerifyPredicate.ts b/packages/auth/src/Domain/UseCase/VerifyPredicate/VerifyPredicate.ts index ebb5a10cb..f94350a7f 100644 --- a/packages/auth/src/Domain/UseCase/VerifyPredicate/VerifyPredicate.ts +++ b/packages/auth/src/Domain/UseCase/VerifyPredicate/VerifyPredicate.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { PredicateName, PredicateVerificationResult } from '@standardnotes/predicates' import { EmailBackupFrequency, SettingName } from '@standardnotes/settings' import { inject, injectable } from 'inversify' @@ -33,13 +32,13 @@ export class VerifyPredicate implements UseCaseInterface { } } - private async hasUserBoughtASubscription(userUuid: Uuid): Promise { + private async hasUserBoughtASubscription(userUuid: string): Promise { const subscription = await this.userSubscriptionRepository.findOneByUserUuid(userUuid) return subscription !== null } - private async hasUserEnabledEmailBackups(userUuid: Uuid): Promise { + private async hasUserEnabledEmailBackups(userUuid: string): Promise { const setting = await this.settingRepository.findOneByNameAndUserUuid(SettingName.EmailBackupFrequency, userUuid) if (setting === null || setting.value === EmailBackupFrequency.Disabled) { diff --git a/packages/auth/src/Domain/UseCase/VerifyPredicate/VerifyPredicateDTO.ts b/packages/auth/src/Domain/UseCase/VerifyPredicate/VerifyPredicateDTO.ts index a10799fe1..3f99b4f4f 100644 --- a/packages/auth/src/Domain/UseCase/VerifyPredicate/VerifyPredicateDTO.ts +++ b/packages/auth/src/Domain/UseCase/VerifyPredicate/VerifyPredicateDTO.ts @@ -1,7 +1,6 @@ -import { Uuid } from '@standardnotes/common' import { Predicate } from '@standardnotes/predicates' export type VerifyPredicateDTO = { predicate: Predicate - userUuid: Uuid + userUuid: string } diff --git a/packages/auth/src/Infra/MySQL/MySQLUserSubscriptionRepository.ts b/packages/auth/src/Infra/MySQL/MySQLUserSubscriptionRepository.ts index f3819fbbb..404df4f85 100644 --- a/packages/auth/src/Infra/MySQL/MySQLUserSubscriptionRepository.ts +++ b/packages/auth/src/Infra/MySQL/MySQLUserSubscriptionRepository.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { TimerInterface } from '@standardnotes/time' import { inject, injectable } from 'inversify' import { Repository } from 'typeorm' @@ -34,7 +33,7 @@ export class MySQLUserSubscriptionRepository implements UserSubscriptionReposito .getMany() } - async countByUserUuid(userUuid: Uuid): Promise { + async countByUserUuid(userUuid: string): Promise { return await this.ormRepository .createQueryBuilder() .where('user_uuid = :user_uuid', { @@ -47,7 +46,7 @@ export class MySQLUserSubscriptionRepository implements UserSubscriptionReposito return this.ormRepository.save(subscription) } - async findOneByUserUuidAndSubscriptionId(userUuid: Uuid, subscriptionId: number): Promise { + async findOneByUserUuidAndSubscriptionId(userUuid: string, subscriptionId: number): Promise { return await this.ormRepository .createQueryBuilder() .where('user_uuid = :userUuid AND subscription_id = :subscriptionId', { @@ -78,7 +77,7 @@ export class MySQLUserSubscriptionRepository implements UserSubscriptionReposito .getMany() } - async findOneByUuid(uuid: Uuid): Promise { + async findOneByUuid(uuid: string): Promise { return await this.ormRepository .createQueryBuilder() .where('uuid = :uuid', { @@ -87,7 +86,7 @@ export class MySQLUserSubscriptionRepository implements UserSubscriptionReposito .getOne() } - async findOneByUserUuid(userUuid: Uuid): Promise { + async findOneByUserUuid(userUuid: string): Promise { const subscriptions = await this.ormRepository .createQueryBuilder() .where('user_uuid = :user_uuid', { diff --git a/packages/common/src/Domain/DataType/Uuid.ts b/packages/common/src/Domain/DataType/Uuid.ts deleted file mode 100644 index 3bf240f9d..000000000 --- a/packages/common/src/Domain/DataType/Uuid.ts +++ /dev/null @@ -1 +0,0 @@ -export type Uuid = string diff --git a/packages/common/src/Domain/Validator/UuidValidator.spec.ts b/packages/common/src/Domain/Validator/UuidValidator.spec.ts deleted file mode 100644 index 409823ce3..000000000 --- a/packages/common/src/Domain/Validator/UuidValidator.spec.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { UuidValidator } from './UuidValidator' - -describe('UuidValidator', () => { - const createValidator = () => new UuidValidator() - - const validUuids = [ - '2221101c-1da9-4d2b-9b32-b8be2a8d1c82', - 'c08f2f29-a74b-42b4-aefd-98af9832391c', - 'b453fa64-1493-443b-b5bb-bca7b9c696c7', - ] - - const invalidUuids = [ - 123, - 'someone@127.0.0.1', - '', - null, - 'b453fa64-1493-443b-b5bb-ca7b9c696c7', - 'c08f*f29-a74b-42b4-aefd-98af9832391c', - 'c08f*f29-a74b-42b4-aefd-98af9832391c', - '../../escaped.sh', - ] - - it('should validate proper uuids', () => { - for (const validUuid of validUuids) { - expect(createValidator().validate(validUuid)).toBeTruthy() - } - }) - - it('should not validate invalid uuids', () => { - for (const invalidUuid of invalidUuids) { - expect(createValidator().validate(invalidUuid as string)).toBeFalsy() - } - }) -}) diff --git a/packages/common/src/Domain/Validator/UuidValidator.ts b/packages/common/src/Domain/Validator/UuidValidator.ts deleted file mode 100644 index ac9eb07d1..000000000 --- a/packages/common/src/Domain/Validator/UuidValidator.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Uuid } from '../DataType/Uuid' -import { ValidatorInterface } from './ValidatorInterface' - -export class UuidValidator implements ValidatorInterface { - private readonly UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i - - validate(data: Uuid): boolean { - return String(data).toLowerCase().match(this.UUID_REGEX) !== null - } -} diff --git a/packages/common/src/Domain/Validator/ValidatorInterface.ts b/packages/common/src/Domain/Validator/ValidatorInterface.ts deleted file mode 100644 index 663ac9777..000000000 --- a/packages/common/src/Domain/Validator/ValidatorInterface.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface ValidatorInterface { - validate(data: T): boolean -} diff --git a/packages/common/src/Domain/index.ts b/packages/common/src/Domain/index.ts index c46bade9e..2f411c602 100644 --- a/packages/common/src/Domain/index.ts +++ b/packages/common/src/Domain/index.ts @@ -4,7 +4,6 @@ export * from './Content/ContentDecoderInterface' export * from './DataType/AnyRecord' export * from './DataType/JSONString' export * from './DataType/MicrosecondsTimestamp' -export * from './DataType/Uuid' export * from './DataType/ApplicationIdentifier' export * from './Email/EmailMessageIdentifier' export * from './Error/ErrorTag' @@ -22,8 +21,6 @@ export * from './Subscription/SubscriptionName' export * from './Type/Either' export * from './Type/Only' export * from './User/UserRequestType' -export * from './Validator/UuidValidator' -export * from './Validator/ValidatorInterface' export * from './Workspace/WorkspaceAccessLevel' export * from './Workspace/WorkspaceType' export * from './Workspace/WorkspaceUserStatus' diff --git a/packages/domain-events/package.json b/packages/domain-events/package.json index b7dc06cac..2dc4a3a41 100644 --- a/packages/domain-events/package.json +++ b/packages/domain-events/package.json @@ -23,11 +23,9 @@ "test": "jest spec --coverage --passWithNoTests" }, "dependencies": { - "@standardnotes/common": "workspace:*", "@standardnotes/features": "^1.52.1", "@standardnotes/predicates": "workspace:*", - "@standardnotes/security": "workspace:*", - "reflect-metadata": "^0.1.13" + "@standardnotes/security": "workspace:*" }, "devDependencies": { "@types/jest": "^29.1.1", diff --git a/packages/domain-events/src/Domain/Event/AccountDeletionRequestedEventPayload.ts b/packages/domain-events/src/Domain/Event/AccountDeletionRequestedEventPayload.ts index 9a7c4f91b..fcbbb7a70 100644 --- a/packages/domain-events/src/Domain/Event/AccountDeletionRequestedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/AccountDeletionRequestedEventPayload.ts @@ -1,7 +1,5 @@ -import { Uuid } from '@standardnotes/common' - export interface AccountDeletionRequestedEventPayload { userUuid: string userCreatedAtTimestamp: number - regularSubscriptionUuid: Uuid | undefined + regularSubscriptionUuid: string | undefined } diff --git a/packages/domain-events/src/Domain/Event/ExtensionKeyGrantedEventPayload.ts b/packages/domain-events/src/Domain/Event/ExtensionKeyGrantedEventPayload.ts index 24e1de2ba..207a5d9d6 100644 --- a/packages/domain-events/src/Domain/Event/ExtensionKeyGrantedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/ExtensionKeyGrantedEventPayload.ts @@ -1,12 +1,10 @@ -import { SubscriptionName } from '@standardnotes/common' - export interface ExtensionKeyGrantedEventPayload { userEmail: string extensionKey: string timestamp: number offline: boolean origin: 'create-user' | 'update-subscription' - subscriptionName: SubscriptionName | null + subscriptionName: string | null offlineFeaturesToken: string | null payAmount: number | null billingEveryNMonths: number | null diff --git a/packages/domain-events/src/Domain/Event/FileRemovedEventPayload.ts b/packages/domain-events/src/Domain/Event/FileRemovedEventPayload.ts index 68702a05d..ab5e37120 100644 --- a/packages/domain-events/src/Domain/Event/FileRemovedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/FileRemovedEventPayload.ts @@ -1,8 +1,6 @@ -import { Uuid } from '@standardnotes/common' - export interface FileRemovedEventPayload { - userUuid: Uuid - regularSubscriptionUuid: Uuid + userUuid: string + regularSubscriptionUuid: string fileByteSize: number filePath: string fileName: string diff --git a/packages/domain-events/src/Domain/Event/SharedSubscriptionInvitationCanceledEventPayload.ts b/packages/domain-events/src/Domain/Event/SharedSubscriptionInvitationCanceledEventPayload.ts index b1870ae19..5cd00f2ab 100644 --- a/packages/domain-events/src/Domain/Event/SharedSubscriptionInvitationCanceledEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/SharedSubscriptionInvitationCanceledEventPayload.ts @@ -1,9 +1,7 @@ -import { Uuid } from '@standardnotes/common' - export interface SharedSubscriptionInvitationCanceledEventPayload { inviterEmail: string inviterSubscriptionId: number - inviterSubscriptionUuid: Uuid + inviterSubscriptionUuid: string inviteeIdentifier: string inviteeIdentifierType: 'email' | 'hash' | 'uuid' sharedSubscriptionInvitationUuid: string diff --git a/packages/domain-events/src/Domain/Event/SubscriptionCancelledEventPayload.ts b/packages/domain-events/src/Domain/Event/SubscriptionCancelledEventPayload.ts index 1a46999be..c939c275c 100644 --- a/packages/domain-events/src/Domain/Event/SubscriptionCancelledEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/SubscriptionCancelledEventPayload.ts @@ -1,9 +1,7 @@ -import { SubscriptionName } from '@standardnotes/common' - export interface SubscriptionCancelledEventPayload { userEmail: string subscriptionId: number - subscriptionName: SubscriptionName + subscriptionName: string subscriptionCreatedAt: number subscriptionUpdatedAt: number lastPayedAt: number diff --git a/packages/domain-events/src/Domain/Event/SubscriptionExpiredEventPayload.ts b/packages/domain-events/src/Domain/Event/SubscriptionExpiredEventPayload.ts index eeefd573d..50523cc65 100644 --- a/packages/domain-events/src/Domain/Event/SubscriptionExpiredEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/SubscriptionExpiredEventPayload.ts @@ -1,9 +1,7 @@ -import { SubscriptionName } from '@standardnotes/common' - export interface SubscriptionExpiredEventPayload { userEmail: string subscriptionId: number - subscriptionName: SubscriptionName + subscriptionName: string timestamp: number offline: boolean totalActiveSubscriptionsCount: number diff --git a/packages/domain-events/src/Domain/Event/SubscriptionPurchasedEventPayload.ts b/packages/domain-events/src/Domain/Event/SubscriptionPurchasedEventPayload.ts index 689eef552..20c28bcc2 100644 --- a/packages/domain-events/src/Domain/Event/SubscriptionPurchasedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/SubscriptionPurchasedEventPayload.ts @@ -1,9 +1,7 @@ -import { SubscriptionName } from '@standardnotes/common' - export interface SubscriptionPurchasedEventPayload { userEmail: string subscriptionId: number - subscriptionName: SubscriptionName + subscriptionName: string subscriptionExpiresAt: number timestamp: number offline: boolean diff --git a/packages/domain-events/src/Domain/Event/SubscriptionReactivatedEventPayload.ts b/packages/domain-events/src/Domain/Event/SubscriptionReactivatedEventPayload.ts index 3928db4b9..c358a4b90 100644 --- a/packages/domain-events/src/Domain/Event/SubscriptionReactivatedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/SubscriptionReactivatedEventPayload.ts @@ -1,10 +1,8 @@ -import { SubscriptionName } from '@standardnotes/common' - export interface SubscriptionReactivatedEventPayload { userEmail: string previousSubscriptionId: number currentSubscriptionId: number - subscriptionName: SubscriptionName + subscriptionName: string subscriptionExpiresAt: number discountCode: string | null } diff --git a/packages/domain-events/src/Domain/Event/SubscriptionReassignedEventPayload.ts b/packages/domain-events/src/Domain/Event/SubscriptionReassignedEventPayload.ts index 73fabf950..ef87878a6 100644 --- a/packages/domain-events/src/Domain/Event/SubscriptionReassignedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/SubscriptionReassignedEventPayload.ts @@ -1,11 +1,9 @@ -import { SubscriptionName } from '@standardnotes/common' - export interface SubscriptionReassignedEventPayload { userEmail: string extensionKey: string offline: boolean subscriptionId: number - subscriptionName: SubscriptionName + subscriptionName: string subscriptionExpiresAt: number timestamp: number } diff --git a/packages/domain-events/src/Domain/Event/SubscriptionRefundedEventPayload.ts b/packages/domain-events/src/Domain/Event/SubscriptionRefundedEventPayload.ts index f99eb4691..8deecc8e6 100644 --- a/packages/domain-events/src/Domain/Event/SubscriptionRefundedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/SubscriptionRefundedEventPayload.ts @@ -1,9 +1,7 @@ -import { SubscriptionName } from '@standardnotes/common' - export interface SubscriptionRefundedEventPayload { userEmail: string subscriptionId: number - subscriptionName: SubscriptionName + subscriptionName: string userExistingSubscriptionsCount: number totalActiveSubscriptionsCount: number timestamp: number diff --git a/packages/domain-events/src/Domain/Event/SubscriptionRenewedEventPayload.ts b/packages/domain-events/src/Domain/Event/SubscriptionRenewedEventPayload.ts index 557090403..6a55cfd32 100644 --- a/packages/domain-events/src/Domain/Event/SubscriptionRenewedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/SubscriptionRenewedEventPayload.ts @@ -1,9 +1,7 @@ -import { SubscriptionName } from '@standardnotes/common' - export interface SubscriptionRenewedEventPayload { userEmail: string subscriptionId: number - subscriptionName: SubscriptionName + subscriptionName: string subscriptionExpiresAt: number timestamp: number offline: boolean diff --git a/packages/domain-events/src/Domain/Event/SubscriptionSyncRequestedEventPayload.ts b/packages/domain-events/src/Domain/Event/SubscriptionSyncRequestedEventPayload.ts index 6009ce57c..064d69768 100644 --- a/packages/domain-events/src/Domain/Event/SubscriptionSyncRequestedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/SubscriptionSyncRequestedEventPayload.ts @@ -1,9 +1,7 @@ -import { SubscriptionName } from '@standardnotes/common' - export interface SubscriptionSyncRequestedEventPayload { userEmail: string subscriptionId: number - subscriptionName: SubscriptionName + subscriptionName: string subscriptionExpiresAt: number timestamp: number offline: boolean diff --git a/packages/domain-events/src/Domain/Event/UserContentSizeRecalculationRequestedEventPayload.ts b/packages/domain-events/src/Domain/Event/UserContentSizeRecalculationRequestedEventPayload.ts index 4862f4b16..4e201adc5 100644 --- a/packages/domain-events/src/Domain/Event/UserContentSizeRecalculationRequestedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/UserContentSizeRecalculationRequestedEventPayload.ts @@ -1,5 +1,3 @@ -import { Uuid } from '@standardnotes/common' - export interface UserContentSizeRecalculationRequestedEventPayload { - userUuid: Uuid + userUuid: string } diff --git a/packages/domain-events/src/Domain/Event/WebSocketMessageRequestedEventPayload.ts b/packages/domain-events/src/Domain/Event/WebSocketMessageRequestedEventPayload.ts index 1589cb24a..028696733 100644 --- a/packages/domain-events/src/Domain/Event/WebSocketMessageRequestedEventPayload.ts +++ b/packages/domain-events/src/Domain/Event/WebSocketMessageRequestedEventPayload.ts @@ -1,6 +1,4 @@ -import { JSONString, Uuid } from '@standardnotes/common' - export interface WebSocketMessageRequestedEventPayload { - userUuid: Uuid - message: JSONString + userUuid: string + message: string } diff --git a/packages/files/package.json b/packages/files/package.json index 3ed99025a..6b17b8b17 100644 --- a/packages/files/package.json +++ b/packages/files/package.json @@ -26,7 +26,7 @@ }, "dependencies": { "@sentry/node": "^7.28.1", - "@standardnotes/common": "workspace:*", + "@standardnotes/domain-core": "workspace:^", "@standardnotes/domain-events": "workspace:*", "@standardnotes/domain-events-infra": "workspace:*", "@standardnotes/security": "workspace:*", diff --git a/packages/files/src/Bootstrap/Container.ts b/packages/files/src/Bootstrap/Container.ts index 971e1fe22..e643973a6 100644 --- a/packages/files/src/Bootstrap/Container.ts +++ b/packages/files/src/Bootstrap/Container.ts @@ -44,7 +44,6 @@ import { import { MarkFilesToBeRemoved } from '../Domain/UseCase/MarkFilesToBeRemoved/MarkFilesToBeRemoved' import { AccountDeletionRequestedEventHandler } from '../Domain/Handler/AccountDeletionRequestedEventHandler' import { SharedSubscriptionInvitationCanceledEventHandler } from '../Domain/Handler/SharedSubscriptionInvitationCanceledEventHandler' -import { Uuid, UuidValidator, ValidatorInterface } from '@standardnotes/common' export class ContainerConfigLoader { async load(): Promise { @@ -108,7 +107,6 @@ export class ContainerConfigLoader { .toConstantValue(new FSFileUploader(container.get(TYPES.FILE_UPLOAD_PATH), container.get(TYPES.Logger))) container.bind(TYPES.FileRemover).to(FSFileRemover) } - container.bind>(TYPES.UuidValidator).toConstantValue(new UuidValidator()) if (env.get('SNS_TOPIC_ARN', true)) { const snsConfig: AWS.SNS.Types.ClientConfiguration = { diff --git a/packages/files/src/Bootstrap/Types.ts b/packages/files/src/Bootstrap/Types.ts index bfefb0e99..ab087e4b1 100644 --- a/packages/files/src/Bootstrap/Types.ts +++ b/packages/files/src/Bootstrap/Types.ts @@ -23,7 +23,6 @@ const TYPES = { FileUploader: Symbol.for('FileUploader'), FileDownloader: Symbol.for('FileDownloader'), FileRemover: Symbol.for('FileRemover'), - UuidValidator: Symbol.for('UuidValidator'), // repositories UploadRepository: Symbol.for('UploadRepository'), diff --git a/packages/files/src/Controller/ValetTokenAuthMiddleware.spec.ts b/packages/files/src/Controller/ValetTokenAuthMiddleware.spec.ts index d94792f14..71a6582ae 100644 --- a/packages/files/src/Controller/ValetTokenAuthMiddleware.spec.ts +++ b/packages/files/src/Controller/ValetTokenAuthMiddleware.spec.ts @@ -4,11 +4,9 @@ import { ValetTokenAuthMiddleware } from './ValetTokenAuthMiddleware' import { NextFunction, Request, Response } from 'express' import { Logger } from 'winston' import { TokenDecoderInterface, ValetTokenData } from '@standardnotes/security' -import { Uuid, ValidatorInterface } from '@standardnotes/common' describe('ValetTokenAuthMiddleware', () => { let tokenDecoder: TokenDecoderInterface - let uuidValidator: ValidatorInterface let request: Request let response: Response let next: NextFunction @@ -17,7 +15,7 @@ describe('ValetTokenAuthMiddleware', () => { debug: jest.fn(), } as unknown as jest.Mocked - const createMiddleware = () => new ValetTokenAuthMiddleware(tokenDecoder, uuidValidator, logger) + const createMiddleware = () => new ValetTokenAuthMiddleware(tokenDecoder, logger) beforeEach(() => { tokenDecoder = {} as jest.Mocked> @@ -25,7 +23,7 @@ describe('ValetTokenAuthMiddleware', () => { userUuid: '1-2-3', permittedResources: [ { - remoteIdentifier: '1-2-3/2-3-4', + remoteIdentifier: '00000000-0000-0000-0000-000000000000', unencryptedFileSize: 30, }, ], @@ -34,9 +32,6 @@ describe('ValetTokenAuthMiddleware', () => { uploadBytesUsed: 80, }) - uuidValidator = {} as jest.Mocked> - uuidValidator.validate = jest.fn().mockReturnValue(true) - request = { headers: {}, query: {}, @@ -55,7 +50,7 @@ describe('ValetTokenAuthMiddleware', () => { userUuid: '1-2-3', permittedResources: [ { - remoteIdentifier: '1-2-3/2-3-4', + remoteIdentifier: '00000000-0000-0000-0000-000000000000', unencryptedFileSize: 30, }, ], @@ -73,7 +68,7 @@ describe('ValetTokenAuthMiddleware', () => { permittedOperation: 'write', permittedResources: [ { - remoteIdentifier: '1-2-3/2-3-4', + remoteIdentifier: '00000000-0000-0000-0000-000000000000', unencryptedFileSize: 30, }, ], @@ -90,7 +85,7 @@ describe('ValetTokenAuthMiddleware', () => { userUuid: '1-2-3', permittedResources: [ { - remoteIdentifier: '1-2-3/2-3-4', + remoteIdentifier: '00000000-0000-0000-0000-000000000000', unencryptedFileSize: 10, }, ], @@ -106,7 +101,7 @@ describe('ValetTokenAuthMiddleware', () => { permittedOperation: 'write', permittedResources: [ { - remoteIdentifier: '1-2-3/2-3-4', + remoteIdentifier: '00000000-0000-0000-0000-000000000000', unencryptedFileSize: 10, }, ], @@ -123,7 +118,7 @@ describe('ValetTokenAuthMiddleware', () => { userUuid: '1-2-3', permittedResources: [ { - remoteIdentifier: '1-2-3/2-3-4', + remoteIdentifier: '00000000-0000-0000-0000-000000000000', unencryptedFileSize: 21, }, ], @@ -145,7 +140,7 @@ describe('ValetTokenAuthMiddleware', () => { userUuid: '1-2-3', permittedResources: [ { - remoteIdentifier: '1-2-3/2-3-4', + remoteIdentifier: '00000000-0000-0000-0000-000000000000', unencryptedFileSize: 21, }, ], @@ -161,7 +156,7 @@ describe('ValetTokenAuthMiddleware', () => { permittedOperation: 'read', permittedResources: [ { - remoteIdentifier: '1-2-3/2-3-4', + remoteIdentifier: '00000000-0000-0000-0000-000000000000', unencryptedFileSize: 21, }, ], @@ -184,7 +179,7 @@ describe('ValetTokenAuthMiddleware', () => { userUuid: '1-2-3', permittedResources: [ { - remoteIdentifier: '1-2-3/2-3-4', + remoteIdentifier: '1-2-3', unencryptedFileSize: 30, }, ], @@ -195,8 +190,6 @@ describe('ValetTokenAuthMiddleware', () => { request.headers['x-valet-token'] = 'valet-token' - uuidValidator.validate = jest.fn().mockReturnValue(false) - await createMiddleware().handler(request, response, next) expect(response.status).toHaveBeenCalledWith(401) diff --git a/packages/files/src/Controller/ValetTokenAuthMiddleware.ts b/packages/files/src/Controller/ValetTokenAuthMiddleware.ts index ae92f4128..e8cac43ea 100644 --- a/packages/files/src/Controller/ValetTokenAuthMiddleware.ts +++ b/packages/files/src/Controller/ValetTokenAuthMiddleware.ts @@ -1,5 +1,5 @@ -import { Uuid, ValidatorInterface } from '@standardnotes/common' import { TokenDecoderInterface, ValetTokenData } from '@standardnotes/security' +import { Uuid } from '@standardnotes/domain-core' import { NextFunction, Request, Response } from 'express' import { inject, injectable } from 'inversify' import { BaseMiddleware } from 'inversify-express-utils' @@ -10,7 +10,6 @@ import TYPES from '../Bootstrap/Types' export class ValetTokenAuthMiddleware extends BaseMiddleware { constructor( @inject(TYPES.ValetTokenDecoder) private tokenDecoder: TokenDecoderInterface, - @inject(TYPES.UuidValidator) private uuidValidator: ValidatorInterface, @inject(TYPES.Logger) private logger: Logger, ) { super() @@ -48,7 +47,8 @@ export class ValetTokenAuthMiddleware extends BaseMiddleware { } for (const resource of valetTokenData.permittedResources) { - if (!this.uuidValidator.validate(resource.remoteIdentifier)) { + const resourceUuidOrError = Uuid.create(resource.remoteIdentifier) + if (resourceUuidOrError.isFailed()) { this.logger.debug('Invalid remote resource identifier in token.') response.status(401).send({ diff --git a/packages/files/src/Domain/Event/DomainEventFactory.ts b/packages/files/src/Domain/Event/DomainEventFactory.ts index 09bb26c3e..478d86c4f 100644 --- a/packages/files/src/Domain/Event/DomainEventFactory.ts +++ b/packages/files/src/Domain/Event/DomainEventFactory.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { FileUploadedEvent, FileRemovedEvent, DomainEventService } from '@standardnotes/domain-events' import { TimerInterface } from '@standardnotes/time' import { inject, injectable } from 'inversify' @@ -15,7 +14,7 @@ export class DomainEventFactory implements DomainEventFactoryInterface { filePath: string fileName: string fileByteSize: number - regularSubscriptionUuid: Uuid + regularSubscriptionUuid: string }): FileRemovedEvent { return { type: 'FILE_REMOVED', diff --git a/packages/files/src/Domain/Event/DomainEventFactoryInterface.ts b/packages/files/src/Domain/Event/DomainEventFactoryInterface.ts index 8c9fdbac5..da7ac674c 100644 --- a/packages/files/src/Domain/Event/DomainEventFactoryInterface.ts +++ b/packages/files/src/Domain/Event/DomainEventFactoryInterface.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { FileUploadedEvent, FileRemovedEvent } from '@standardnotes/domain-events' export interface DomainEventFactoryInterface { @@ -13,6 +12,6 @@ export interface DomainEventFactoryInterface { filePath: string fileName: string fileByteSize: number - regularSubscriptionUuid: Uuid + regularSubscriptionUuid: string }): FileRemovedEvent } diff --git a/packages/files/src/Domain/File/RemovedFileDescription.ts b/packages/files/src/Domain/File/RemovedFileDescription.ts index 6925326fe..22c8e4ec0 100644 --- a/packages/files/src/Domain/File/RemovedFileDescription.ts +++ b/packages/files/src/Domain/File/RemovedFileDescription.ts @@ -1,7 +1,5 @@ -import { Uuid } from '@standardnotes/common' - export type RemovedFileDescription = { - userUuid: Uuid + userUuid: string filePath: string fileName: string fileByteSize: number diff --git a/packages/files/src/Domain/UseCase/CreateUploadSession/CreateUploadSessionDTO.ts b/packages/files/src/Domain/UseCase/CreateUploadSession/CreateUploadSessionDTO.ts index 486f7691d..f6a5597e5 100644 --- a/packages/files/src/Domain/UseCase/CreateUploadSession/CreateUploadSessionDTO.ts +++ b/packages/files/src/Domain/UseCase/CreateUploadSession/CreateUploadSessionDTO.ts @@ -1,6 +1,4 @@ -import { Uuid } from '@standardnotes/common' - export type CreateUploadSessionDTO = { - userUuid: Uuid + userUuid: string resourceRemoteIdentifier: string } diff --git a/packages/files/src/Domain/UseCase/FinishUploadSession/FinishUploadSessionDTO.ts b/packages/files/src/Domain/UseCase/FinishUploadSession/FinishUploadSessionDTO.ts index d57245a22..47df0dcad 100644 --- a/packages/files/src/Domain/UseCase/FinishUploadSession/FinishUploadSessionDTO.ts +++ b/packages/files/src/Domain/UseCase/FinishUploadSession/FinishUploadSessionDTO.ts @@ -1,7 +1,5 @@ -import { Uuid } from '@standardnotes/common' - export type FinishUploadSessionDTO = { - userUuid: Uuid + userUuid: string resourceRemoteIdentifier: string uploadBytesUsed: number uploadBytesLimit: number diff --git a/packages/files/src/Domain/UseCase/MarkFilesToBeRemoved/MarkFilesToBeRemovedDTO.ts b/packages/files/src/Domain/UseCase/MarkFilesToBeRemoved/MarkFilesToBeRemovedDTO.ts index 75067ddcc..ae37df330 100644 --- a/packages/files/src/Domain/UseCase/MarkFilesToBeRemoved/MarkFilesToBeRemovedDTO.ts +++ b/packages/files/src/Domain/UseCase/MarkFilesToBeRemoved/MarkFilesToBeRemovedDTO.ts @@ -1,5 +1,3 @@ -import { Uuid } from '@standardnotes/common' - export type MarkFilesToBeRemovedDTO = { - userUuid: Uuid + userUuid: string } diff --git a/packages/files/src/Domain/UseCase/RemoveFile/RemoveFileDTO.ts b/packages/files/src/Domain/UseCase/RemoveFile/RemoveFileDTO.ts index 5e3d10c49..84c951bd2 100644 --- a/packages/files/src/Domain/UseCase/RemoveFile/RemoveFileDTO.ts +++ b/packages/files/src/Domain/UseCase/RemoveFile/RemoveFileDTO.ts @@ -1,7 +1,5 @@ -import { Uuid } from '@standardnotes/common' - export type RemoveFileDTO = { - userUuid: Uuid + userUuid: string resourceRemoteIdentifier: string - regularSubscriptionUuid: Uuid + regularSubscriptionUuid: string } diff --git a/packages/predicates/package.json b/packages/predicates/package.json index a65b52b43..2d581d914 100644 --- a/packages/predicates/package.json +++ b/packages/predicates/package.json @@ -31,9 +31,5 @@ "jest": "^29.1.2", "ts-jest": "^29.0.3", "typescript": "^4.8.4" - }, - "dependencies": { - "@standardnotes/common": "workspace:*", - "reflect-metadata": "^0.1.13" } } diff --git a/packages/predicates/src/Domain/Predicate/Predicate.ts b/packages/predicates/src/Domain/Predicate/Predicate.ts index 4f181519d..d67d73d3c 100644 --- a/packages/predicates/src/Domain/Predicate/Predicate.ts +++ b/packages/predicates/src/Domain/Predicate/Predicate.ts @@ -1,10 +1,8 @@ -import { Uuid } from '@standardnotes/common' - import { PredicateAuthority } from './PredicateAuthority' import { PredicateName } from './PredicateName' export type Predicate = { - jobUuid: Uuid + jobUuid: string name: PredicateName authority: PredicateAuthority } diff --git a/packages/scheduler/package.json b/packages/scheduler/package.json index 2d2642be7..0aec1165b 100644 --- a/packages/scheduler/package.json +++ b/packages/scheduler/package.json @@ -26,7 +26,6 @@ "dependencies": { "@newrelic/winston-enricher": "^4.0.0", "@sentry/node": "^7.28.1", - "@standardnotes/common": "workspace:*", "@standardnotes/domain-core": "workspace:^", "@standardnotes/domain-events": "workspace:*", "@standardnotes/domain-events-infra": "workspace:*", diff --git a/packages/scheduler/src/Domain/Job/JobDoneInterpreterInterface.ts b/packages/scheduler/src/Domain/Job/JobDoneInterpreterInterface.ts index eb09f7434..07ee0d6a7 100644 --- a/packages/scheduler/src/Domain/Job/JobDoneInterpreterInterface.ts +++ b/packages/scheduler/src/Domain/Job/JobDoneInterpreterInterface.ts @@ -1,5 +1,3 @@ -import { Uuid } from '@standardnotes/common' - export interface JobDoneInterpreterInterface { - interpret(jobUuid: Uuid): Promise + interpret(jobUuid: string): Promise } diff --git a/packages/scheduler/src/Domain/Job/JobRepositoryInterface.ts b/packages/scheduler/src/Domain/Job/JobRepositoryInterface.ts index 48a97195d..7c8589bab 100644 --- a/packages/scheduler/src/Domain/Job/JobRepositoryInterface.ts +++ b/packages/scheduler/src/Domain/Job/JobRepositoryInterface.ts @@ -1,9 +1,8 @@ -import { Uuid } from '@standardnotes/common' import { Job } from './Job' export interface JobRepositoryInterface { - markJobAsDone(jobUuid: Uuid): Promise - findOneByUuid(uuid: Uuid): Promise + markJobAsDone(jobUuid: string): Promise + findOneByUuid(uuid: string): Promise findPendingOverdue(timestamp: number): Promise save(job: Job): Promise } diff --git a/packages/scheduler/src/Domain/Predicate/PredicateRepositoryInterface.ts b/packages/scheduler/src/Domain/Predicate/PredicateRepositoryInterface.ts index b2c2bc62b..51c041c3f 100644 --- a/packages/scheduler/src/Domain/Predicate/PredicateRepositoryInterface.ts +++ b/packages/scheduler/src/Domain/Predicate/PredicateRepositoryInterface.ts @@ -1,8 +1,6 @@ -import { Uuid } from '@standardnotes/common' - import { Predicate } from './Predicate' export interface PredicateRepositoryInterface { - findByJobUuid(jobUuid: Uuid): Promise + findByJobUuid(jobUuid: string): Promise save(predicate: Predicate): Promise } diff --git a/packages/security/package.json b/packages/security/package.json index c17060142..71ac13e07 100644 --- a/packages/security/package.json +++ b/packages/security/package.json @@ -25,7 +25,6 @@ "test": "jest spec --coverage" }, "dependencies": { - "@standardnotes/common": "workspace:*", "jsonwebtoken": "^9.0.0", "reflect-metadata": "^0.1.13" }, diff --git a/packages/security/src/Domain/Role/Role.ts b/packages/security/src/Domain/Role/Role.ts index a0023a164..1e766197a 100644 --- a/packages/security/src/Domain/Role/Role.ts +++ b/packages/security/src/Domain/Role/Role.ts @@ -1,6 +1,4 @@ -import { Uuid } from '@standardnotes/common' - export type Role = { - uuid: Uuid + uuid: string name: string } diff --git a/packages/security/src/Domain/Subscription/Subscription.ts b/packages/security/src/Domain/Subscription/Subscription.ts index c645a3e44..e749413a9 100644 --- a/packages/security/src/Domain/Subscription/Subscription.ts +++ b/packages/security/src/Domain/Subscription/Subscription.ts @@ -1,7 +1,5 @@ -import { SubscriptionName } from '@standardnotes/common' - export type Subscription = { - planName: SubscriptionName + planName: string endsAt: number createdAt: number updatedAt: number diff --git a/packages/security/src/Domain/Token/CrossServiceTokenData.ts b/packages/security/src/Domain/Token/CrossServiceTokenData.ts index 0153a82a1..e29820a10 100644 --- a/packages/security/src/Domain/Token/CrossServiceTokenData.ts +++ b/packages/security/src/Domain/Token/CrossServiceTokenData.ts @@ -1,15 +1,13 @@ -import { Uuid } from '@standardnotes/common' - import { Role } from '../Role/Role' export type CrossServiceTokenData = { user: { - uuid: Uuid + uuid: string email: string } roles: Array session?: { - uuid: Uuid + uuid: string api_version: string created_at: string updated_at: string diff --git a/packages/security/src/Domain/Token/ValetTokenData.ts b/packages/security/src/Domain/Token/ValetTokenData.ts index 9acd46dfe..6178a0874 100644 --- a/packages/security/src/Domain/Token/ValetTokenData.ts +++ b/packages/security/src/Domain/Token/ValetTokenData.ts @@ -1,11 +1,9 @@ -import { Uuid } from '@standardnotes/common' - import { ValetTokenOperation } from './ValetTokenOperation' export type ValetTokenData = { - userUuid: Uuid - sharedSubscriptionUuid: Uuid | undefined - regularSubscriptionUuid: Uuid + userUuid: string + sharedSubscriptionUuid: string | undefined + regularSubscriptionUuid: string permittedOperation: ValetTokenOperation permittedResources: Array<{ remoteIdentifier: string diff --git a/packages/security/src/Domain/Token/WebSocketConnectionToken.ts b/packages/security/src/Domain/Token/WebSocketConnectionToken.ts index 7fe75ff47..53a3afc7e 100644 --- a/packages/security/src/Domain/Token/WebSocketConnectionToken.ts +++ b/packages/security/src/Domain/Token/WebSocketConnectionToken.ts @@ -1,5 +1,3 @@ -import { Uuid } from '@standardnotes/common' - export type WebSocketConnectionTokenData = { - userUuid: Uuid + userUuid: string } diff --git a/packages/syncing-server/src/Domain/Item/Item.ts b/packages/syncing-server/src/Domain/Item/Item.ts index 6f3c56b56..cb5ea5490 100644 --- a/packages/syncing-server/src/Domain/Item/Item.ts +++ b/packages/syncing-server/src/Domain/Item/Item.ts @@ -1,4 +1,4 @@ -import { ContentType, Uuid } from '@standardnotes/common' +import { ContentType } from '@standardnotes/common' import { Column, Entity, Index, OneToMany, PrimaryGeneratedColumn } from 'typeorm' import { Revision } from '../Revision/Revision' @@ -124,5 +124,5 @@ export class Item { length: 36, nullable: true, }) - declare updatedWithSession: Uuid | null + declare updatedWithSession: string | null } diff --git a/packages/syncing-server/src/Domain/Item/ItemFactory.ts b/packages/syncing-server/src/Domain/Item/ItemFactory.ts index 16eddcc39..2e2a9e039 100644 --- a/packages/syncing-server/src/Domain/Item/ItemFactory.ts +++ b/packages/syncing-server/src/Domain/Item/ItemFactory.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { TimerInterface } from '@standardnotes/time' import { inject, injectable } from 'inversify' @@ -16,7 +15,7 @@ export class ItemFactory implements ItemFactoryInterface { @inject(TYPES.ItemProjector) private itemProjector: ProjectorInterface, ) {} - createStub(dto: { userUuid: string; itemHash: ItemHash; sessionUuid: Uuid | null }): Item { + createStub(dto: { userUuid: string; itemHash: ItemHash; sessionUuid: string | null }): Item { const item = this.create(dto) if (dto.itemHash.content === undefined) { @@ -34,7 +33,7 @@ export class ItemFactory implements ItemFactoryInterface { return item } - create(dto: { userUuid: string; itemHash: ItemHash; sessionUuid: Uuid | null }): Item { + create(dto: { userUuid: string; itemHash: ItemHash; sessionUuid: string | null }): Item { const newItem = new Item() newItem.uuid = dto.itemHash.uuid newItem.updatedWithSession = dto.sessionUuid diff --git a/packages/syncing-server/src/Domain/Item/ItemFactoryInterface.ts b/packages/syncing-server/src/Domain/Item/ItemFactoryInterface.ts index c1a16ae26..e94c1bb13 100644 --- a/packages/syncing-server/src/Domain/Item/ItemFactoryInterface.ts +++ b/packages/syncing-server/src/Domain/Item/ItemFactoryInterface.ts @@ -1,9 +1,7 @@ -import { Uuid } from '@standardnotes/common' - import { Item } from './Item' import { ItemHash } from './ItemHash' export interface ItemFactoryInterface { - create(dto: { userUuid: string; itemHash: ItemHash; sessionUuid: Uuid | null }): Item - createStub(dto: { userUuid: string; itemHash: ItemHash; sessionUuid: Uuid | null }): Item + create(dto: { userUuid: string; itemHash: ItemHash; sessionUuid: string | null }): Item + createStub(dto: { userUuid: string; itemHash: ItemHash; sessionUuid: string | null }): Item } diff --git a/packages/syncing-server/src/Domain/Item/ItemService.ts b/packages/syncing-server/src/Domain/Item/ItemService.ts index 1ac8014ba..c364d3920 100644 --- a/packages/syncing-server/src/Domain/Item/ItemService.ts +++ b/packages/syncing-server/src/Domain/Item/ItemService.ts @@ -1,6 +1,6 @@ import { DomainEventPublisherInterface } from '@standardnotes/domain-events' import { Time, TimerInterface } from '@standardnotes/time' -import { ContentType, Uuid } from '@standardnotes/common' +import { ContentType } from '@standardnotes/common' import { inject, injectable } from 'inversify' import { Logger } from 'winston' @@ -193,7 +193,7 @@ export class ItemService implements ItemServiceInterface { private async updateExistingItem(dto: { existingItem: Item itemHash: ItemHash - sessionUuid: Uuid | null + sessionUuid: string | null }): Promise { dto.existingItem.updatedWithSession = dto.sessionUuid dto.existingItem.contentSize = 0 @@ -267,7 +267,7 @@ export class ItemService implements ItemServiceInterface { return savedItem } - private async saveNewItem(dto: { userUuid: string; itemHash: ItemHash; sessionUuid: Uuid | null }): Promise { + private async saveNewItem(dto: { userUuid: string; itemHash: ItemHash; sessionUuid: string | null }): Promise { const newItem = this.itemFactory.create(dto) const savedItem = await this.itemRepository.save(newItem) diff --git a/packages/syncing-server/src/Domain/Item/ItemTransferCalculator.ts b/packages/syncing-server/src/Domain/Item/ItemTransferCalculator.ts index 9f13afc9d..db4126755 100644 --- a/packages/syncing-server/src/Domain/Item/ItemTransferCalculator.ts +++ b/packages/syncing-server/src/Domain/Item/ItemTransferCalculator.ts @@ -1,5 +1,4 @@ import { inject, injectable } from 'inversify' -import { Uuid } from '@standardnotes/common' import { Logger } from 'winston' import TYPES from '../../Bootstrap/Types' @@ -15,7 +14,7 @@ export class ItemTransferCalculator implements ItemTransferCalculatorInterface { @inject(TYPES.Logger) private logger: Logger, ) {} - async computeItemUuidsToFetch(itemQuery: ItemQuery, bytesTransferLimit: number): Promise> { + async computeItemUuidsToFetch(itemQuery: ItemQuery, bytesTransferLimit: number): Promise> { const itemUuidsToFetch = [] const itemContentSizes = await this.itemRepository.findContentSizeForComputingTransferLimit(itemQuery) let totalContentSizeInBytes = 0 @@ -40,7 +39,7 @@ export class ItemTransferCalculator implements ItemTransferCalculatorInterface { return itemUuidsToFetch } - async computeItemUuidBundlesToFetch(itemQuery: ItemQuery, bytesTransferLimit: number): Promise>> { + async computeItemUuidBundlesToFetch(itemQuery: ItemQuery, bytesTransferLimit: number): Promise>> { let itemUuidsToFetch = [] const itemContentSizes = await this.itemRepository.findContentSizeForComputingTransferLimit(itemQuery) let totalContentSizeInBytes = 0 @@ -75,7 +74,7 @@ export class ItemTransferCalculator implements ItemTransferCalculatorInterface { private isTransferLimitBreached(dto: { totalContentSizeInBytes: number bytesTransferLimit: number - itemUuidsToFetch: Array + itemUuidsToFetch: Array itemContentSizes: Array<{ uuid: string; contentSize: number | null }> }): boolean { const transferLimitBreached = dto.totalContentSizeInBytes >= dto.bytesTransferLimit diff --git a/packages/syncing-server/src/Domain/Item/ItemTransferCalculatorInterface.ts b/packages/syncing-server/src/Domain/Item/ItemTransferCalculatorInterface.ts index 937018c76..3c362f68b 100644 --- a/packages/syncing-server/src/Domain/Item/ItemTransferCalculatorInterface.ts +++ b/packages/syncing-server/src/Domain/Item/ItemTransferCalculatorInterface.ts @@ -1,8 +1,6 @@ -import { Uuid } from '@standardnotes/common' - import { ItemQuery } from './ItemQuery' export interface ItemTransferCalculatorInterface { - computeItemUuidsToFetch(itemQuery: ItemQuery, bytesTransferLimit: number): Promise> - computeItemUuidBundlesToFetch(itemQuery: ItemQuery, bytesTransferLimit: number): Promise>> + computeItemUuidsToFetch(itemQuery: ItemQuery, bytesTransferLimit: number): Promise> + computeItemUuidBundlesToFetch(itemQuery: ItemQuery, bytesTransferLimit: number): Promise>> } diff --git a/packages/syncing-server/src/Domain/Item/SaveItemsDTO.ts b/packages/syncing-server/src/Domain/Item/SaveItemsDTO.ts index 3c9c5134e..2b771b379 100644 --- a/packages/syncing-server/src/Domain/Item/SaveItemsDTO.ts +++ b/packages/syncing-server/src/Domain/Item/SaveItemsDTO.ts @@ -1,5 +1,3 @@ -import { Uuid } from '@standardnotes/common' - import { ItemHash } from './ItemHash' export type SaveItemsDTO = { @@ -7,5 +5,5 @@ export type SaveItemsDTO = { userUuid: string apiVersion: string readOnlyAccess: boolean - sessionUuid: Uuid | null + sessionUuid: string | null } diff --git a/packages/syncing-server/src/Domain/UseCase/CheckIntegrity/CheckIntegrityDTO.ts b/packages/syncing-server/src/Domain/UseCase/CheckIntegrity/CheckIntegrityDTO.ts index bf3f5f48c..0f5445d32 100644 --- a/packages/syncing-server/src/Domain/UseCase/CheckIntegrity/CheckIntegrityDTO.ts +++ b/packages/syncing-server/src/Domain/UseCase/CheckIntegrity/CheckIntegrityDTO.ts @@ -1,8 +1,7 @@ -import { Uuid } from '@standardnotes/common' import { IntegrityPayload } from '@standardnotes/payloads' export type CheckIntegrityDTO = { - userUuid: Uuid + userUuid: string integrityPayloads: IntegrityPayload[] freeUser: boolean } diff --git a/packages/syncing-server/src/Domain/UseCase/GetItem/GetItemDTO.ts b/packages/syncing-server/src/Domain/UseCase/GetItem/GetItemDTO.ts index e95be0ae5..13eb68106 100644 --- a/packages/syncing-server/src/Domain/UseCase/GetItem/GetItemDTO.ts +++ b/packages/syncing-server/src/Domain/UseCase/GetItem/GetItemDTO.ts @@ -1,6 +1,4 @@ -import { Uuid } from '@standardnotes/common' - export type GetItemDTO = { - userUuid: Uuid - itemUuid: Uuid + userUuid: string + itemUuid: string } diff --git a/packages/syncing-server/src/Domain/UseCase/SyncItemsDTO.ts b/packages/syncing-server/src/Domain/UseCase/SyncItemsDTO.ts index 1def1d589..6e57bac14 100644 --- a/packages/syncing-server/src/Domain/UseCase/SyncItemsDTO.ts +++ b/packages/syncing-server/src/Domain/UseCase/SyncItemsDTO.ts @@ -1,4 +1,3 @@ -import { Uuid } from '@standardnotes/common' import { ItemHash } from '../Item/ItemHash' export type SyncItemsDTO = { @@ -11,5 +10,5 @@ export type SyncItemsDTO = { contentType?: string apiVersion: string readOnlyAccess: boolean - sessionUuid: Uuid | null + sessionUuid: string | null } diff --git a/packages/syncing-server/src/Projection/ItemProjection.ts b/packages/syncing-server/src/Projection/ItemProjection.ts index 7cfd4ca18..ec1fbc8d5 100644 --- a/packages/syncing-server/src/Projection/ItemProjection.ts +++ b/packages/syncing-server/src/Projection/ItemProjection.ts @@ -1,5 +1,3 @@ -import { Uuid } from '@standardnotes/common' - export type ItemProjection = { uuid: string items_key_id: string | null @@ -13,5 +11,5 @@ export type ItemProjection = { created_at_timestamp: number updated_at: string updated_at_timestamp: number - updated_with_session: Uuid | null + updated_with_session: string | null } diff --git a/packages/websockets/package.json b/packages/websockets/package.json index 87ef8bb37..742cfbcf4 100644 --- a/packages/websockets/package.json +++ b/packages/websockets/package.json @@ -25,7 +25,6 @@ "@newrelic/winston-enricher": "^4.0.0", "@sentry/node": "^7.28.1", "@standardnotes/api": "^1.19.0", - "@standardnotes/common": "workspace:^", "@standardnotes/domain-core": "workspace:^", "@standardnotes/domain-events": "workspace:^", "@standardnotes/domain-events-infra": "workspace:^", diff --git a/packages/websockets/src/Client/ClientMessengerInterface.ts b/packages/websockets/src/Client/ClientMessengerInterface.ts index f1adf74cb..d952ec6cc 100644 --- a/packages/websockets/src/Client/ClientMessengerInterface.ts +++ b/packages/websockets/src/Client/ClientMessengerInterface.ts @@ -1,5 +1,3 @@ -import { JSONString, Uuid } from '@standardnotes/common' - export interface ClientMessengerInterface { - send(userUuid: Uuid, message: JSONString): Promise + send(userUuid: string, message: string): Promise } diff --git a/packages/websockets/src/Infra/WebSockets/WebSocketsClientMessenger.ts b/packages/websockets/src/Infra/WebSockets/WebSocketsClientMessenger.ts index 42313b007..86b969a62 100644 --- a/packages/websockets/src/Infra/WebSockets/WebSocketsClientMessenger.ts +++ b/packages/websockets/src/Infra/WebSockets/WebSocketsClientMessenger.ts @@ -1,5 +1,4 @@ import { AxiosInstance } from 'axios' -import { JSONString, Uuid } from '@standardnotes/common' import { inject, injectable } from 'inversify' import TYPES from '../../Bootstrap/Types' @@ -15,7 +14,7 @@ export class WebSocketsClientMessenger implements ClientMessengerInterface { @inject(TYPES.WEBSOCKETS_API_URL) private webSocketsApiUrl: string, ) {} - async send(userUuid: Uuid, message: JSONString): Promise { + async send(userUuid: string, message: string): Promise { const userConnections = await this.webSocketsConnectionRepository.findAllByUserUuid(userUuid) for (const connectionUuid of userConnections) { diff --git a/packages/workspace/src/Controller/WorkspacesController.ts b/packages/workspace/src/Controller/WorkspacesController.ts index f03f6be73..3d17604db 100644 --- a/packages/workspace/src/Controller/WorkspacesController.ts +++ b/packages/workspace/src/Controller/WorkspacesController.ts @@ -14,7 +14,7 @@ import { WorkspaceKeyshareInitiatingRequestParams, WorkspaceKeyshareInitiatingResponse, } from '@standardnotes/api' -import { Uuid, WorkspaceAccessLevel } from '@standardnotes/common' +import { WorkspaceAccessLevel } from '@standardnotes/common' import TYPES from '../Bootstrap/Types' import { CreateWorkspace } from '../Domain/UseCase/CreateWorkspace/CreateWorkspace' @@ -51,7 +51,7 @@ export class WorkspacesController implements WorkspaceServerInterface { userUuid: params.userUuid, workspaceUuid: params.workspaceUuid, encryptedWorkspaceKey: params.encryptedWorkspaceKey, - performingUserUuid: params.performingUserUuid as Uuid, + performingUserUuid: params.performingUserUuid as string, }) if (!result.success) { @@ -77,7 +77,7 @@ export class WorkspacesController implements WorkspaceServerInterface { const { invite } = await this.doInviteToWorkspace.execute({ inviteeEmail: params.inviteeEmail, workspaceUuid: params.workspaceUuid, - inviterUuid: params.inviterUuid as Uuid, + inviterUuid: params.inviterUuid as string, accessLevel: params.accessLevel as WorkspaceAccessLevel, }) @@ -105,7 +105,7 @@ export class WorkspacesController implements WorkspaceServerInterface { async listWorkspaces(params: WorkspaceListRequestParams): Promise { const { ownedWorkspaces, joinedWorkspaces } = await this.doListWorkspaces.execute({ - userUuid: params.userUuid as Uuid, + userUuid: params.userUuid as string, }) const ownedWorkspacesProjections = [] @@ -126,7 +126,7 @@ export class WorkspacesController implements WorkspaceServerInterface { async listWorkspaceUsers(params: WorkspaceUserListRequestParams): Promise { const { workspaceUsers } = await this.doListWorkspaceUsers.execute({ - userUuid: params.userUuid as Uuid, + userUuid: params.userUuid as string, workspaceUuid: params.workspaceUuid, }) diff --git a/packages/workspace/src/Domain/Invite/WorkspaceInviteRepositoryInterface.ts b/packages/workspace/src/Domain/Invite/WorkspaceInviteRepositoryInterface.ts index 6f4848d6f..4989e9538 100644 --- a/packages/workspace/src/Domain/Invite/WorkspaceInviteRepositoryInterface.ts +++ b/packages/workspace/src/Domain/Invite/WorkspaceInviteRepositoryInterface.ts @@ -1,8 +1,6 @@ -import { Uuid } from '@standardnotes/common' - import { WorkspaceInvite } from './WorkspaceInvite' export interface WorkspaceInviteRepositoryInterface { - findOneByUuid(uuid: Uuid): Promise + findOneByUuid(uuid: string): Promise save(workspace: WorkspaceInvite): Promise } diff --git a/packages/workspace/src/Domain/UseCase/AcceptInvitation/AcceptInvitationDTO.ts b/packages/workspace/src/Domain/UseCase/AcceptInvitation/AcceptInvitationDTO.ts index b36db28ea..893d2111b 100644 --- a/packages/workspace/src/Domain/UseCase/AcceptInvitation/AcceptInvitationDTO.ts +++ b/packages/workspace/src/Domain/UseCase/AcceptInvitation/AcceptInvitationDTO.ts @@ -1,8 +1,6 @@ -import { Uuid } from '@standardnotes/common' - export type AcceptInvitationDTO = { - invitationUuid: Uuid - acceptingUserUuid: Uuid + invitationUuid: string + acceptingUserUuid: string publicKey: string encryptedPrivateKey: string } diff --git a/packages/workspace/src/Domain/UseCase/CreateWorkspace/CreateWorkspaceDTO.ts b/packages/workspace/src/Domain/UseCase/CreateWorkspace/CreateWorkspaceDTO.ts index fa80d4b5f..cdefccae8 100644 --- a/packages/workspace/src/Domain/UseCase/CreateWorkspace/CreateWorkspaceDTO.ts +++ b/packages/workspace/src/Domain/UseCase/CreateWorkspace/CreateWorkspaceDTO.ts @@ -1,7 +1,7 @@ -import { Uuid, WorkspaceType } from '@standardnotes/common' +import { WorkspaceType } from '@standardnotes/common' export type CreateWorkspaceDTO = { - ownerUuid: Uuid + ownerUuid: string type: WorkspaceType encryptedWorkspaceKey?: string encryptedPrivateKey?: string diff --git a/packages/workspace/src/Domain/UseCase/InitiateKeyShare/InitiateKeyShareDTO.ts b/packages/workspace/src/Domain/UseCase/InitiateKeyShare/InitiateKeyShareDTO.ts index 8c296b5c8..aa1ffc45d 100644 --- a/packages/workspace/src/Domain/UseCase/InitiateKeyShare/InitiateKeyShareDTO.ts +++ b/packages/workspace/src/Domain/UseCase/InitiateKeyShare/InitiateKeyShareDTO.ts @@ -1,8 +1,6 @@ -import { Uuid } from '@standardnotes/common' - export type InitiateKeyShareDTO = { - workspaceUuid: Uuid - userUuid: Uuid - performingUserUuid: Uuid + workspaceUuid: string + userUuid: string + performingUserUuid: string encryptedWorkspaceKey: string } diff --git a/packages/workspace/src/Domain/UseCase/InviteToWorkspace/InviteToWorkspaceDTO.ts b/packages/workspace/src/Domain/UseCase/InviteToWorkspace/InviteToWorkspaceDTO.ts index d1639f820..ee18267be 100644 --- a/packages/workspace/src/Domain/UseCase/InviteToWorkspace/InviteToWorkspaceDTO.ts +++ b/packages/workspace/src/Domain/UseCase/InviteToWorkspace/InviteToWorkspaceDTO.ts @@ -1,8 +1,8 @@ -import { Uuid, WorkspaceAccessLevel } from '@standardnotes/common' +import { WorkspaceAccessLevel } from '@standardnotes/common' export type InviteToWorkspaceDTO = { - workspaceUuid: Uuid - inviterUuid: Uuid + workspaceUuid: string + inviterUuid: string inviteeEmail: string accessLevel: WorkspaceAccessLevel } diff --git a/packages/workspace/src/Domain/UseCase/ListWorkspaceUsers/ListWorkspaceUsersDTO.ts b/packages/workspace/src/Domain/UseCase/ListWorkspaceUsers/ListWorkspaceUsersDTO.ts index bff27c6d5..6e9430ded 100644 --- a/packages/workspace/src/Domain/UseCase/ListWorkspaceUsers/ListWorkspaceUsersDTO.ts +++ b/packages/workspace/src/Domain/UseCase/ListWorkspaceUsers/ListWorkspaceUsersDTO.ts @@ -1,6 +1,4 @@ -import { Uuid } from '@standardnotes/common' - export type ListWorkspaceUsersDTO = { - workspaceUuid: Uuid - userUuid: Uuid + workspaceUuid: string + userUuid: string } diff --git a/packages/workspace/src/Domain/UseCase/ListWorkspaces/ListWorkspacesDTO.ts b/packages/workspace/src/Domain/UseCase/ListWorkspaces/ListWorkspacesDTO.ts index b70037c69..71a4c020d 100644 --- a/packages/workspace/src/Domain/UseCase/ListWorkspaces/ListWorkspacesDTO.ts +++ b/packages/workspace/src/Domain/UseCase/ListWorkspaces/ListWorkspacesDTO.ts @@ -1,5 +1,3 @@ -import { Uuid } from '@standardnotes/common' - export type ListWorkspacesDTO = { - userUuid: Uuid + userUuid: string } diff --git a/packages/workspace/src/Domain/Workspace/WorkspaceRepositoryInterface.ts b/packages/workspace/src/Domain/Workspace/WorkspaceRepositoryInterface.ts index ce389c721..0f8d77de0 100644 --- a/packages/workspace/src/Domain/Workspace/WorkspaceRepositoryInterface.ts +++ b/packages/workspace/src/Domain/Workspace/WorkspaceRepositoryInterface.ts @@ -1,8 +1,7 @@ -import { Uuid } from '@standardnotes/common' import { Workspace } from './Workspace' export interface WorkspaceRepositoryInterface { save(workspace: Workspace): Promise - findByUuids(uuids: Uuid[]): Promise - findOneByUuid(uuid: Uuid): Promise + findByUuids(uuids: string[]): Promise + findOneByUuid(uuid: string): Promise } diff --git a/packages/workspace/src/Domain/Workspace/WorkspaceUserRepositoryInterface.ts b/packages/workspace/src/Domain/Workspace/WorkspaceUserRepositoryInterface.ts index a982ab9f6..f296386a0 100644 --- a/packages/workspace/src/Domain/Workspace/WorkspaceUserRepositoryInterface.ts +++ b/packages/workspace/src/Domain/Workspace/WorkspaceUserRepositoryInterface.ts @@ -1,9 +1,8 @@ -import { Uuid } from '@standardnotes/common' import { WorkspaceUser } from './WorkspaceUser' export interface WorkspaceUserRepositoryInterface { save(workspace: WorkspaceUser): Promise - findByUserUuid(userUuid: Uuid): Promise - findByWorkspaceUuid(workspaceUuid: Uuid): Promise - findOneByUserUuidAndWorkspaceUuid(dto: { workspaceUuid: Uuid; userUuid: Uuid }): Promise + findByUserUuid(userUuid: string): Promise + findByWorkspaceUuid(workspaceUuid: string): Promise + findOneByUserUuidAndWorkspaceUuid(dto: { workspaceUuid: string; userUuid: string }): Promise } diff --git a/yarn.lock b/yarn.lock index 415f712d9..355b60891 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2116,7 +2116,6 @@ __metadata: version: 0.0.0-use.local resolution: "@standardnotes/domain-events@workspace:packages/domain-events" dependencies: - "@standardnotes/common": "workspace:*" "@standardnotes/features": "npm:^1.52.1" "@standardnotes/predicates": "workspace:*" "@standardnotes/security": "workspace:*" @@ -2124,7 +2123,6 @@ __metadata: "@typescript-eslint/eslint-plugin": "npm:^5.30.0" eslint-plugin-prettier: "npm:^4.2.1" jest: "npm:^29.1.2" - reflect-metadata: "npm:^0.1.13" ts-jest: "npm:^29.0.3" typescript: "npm:^4.8.4" languageName: unknown @@ -2214,8 +2212,8 @@ __metadata: resolution: "@standardnotes/files-server@workspace:packages/files" dependencies: "@sentry/node": "npm:^7.28.1" - "@standardnotes/common": "workspace:*" "@standardnotes/config": "npm:2.4.3" + "@standardnotes/domain-core": "workspace:^" "@standardnotes/domain-events": "workspace:*" "@standardnotes/domain-events-infra": "workspace:*" "@standardnotes/security": "workspace:*" @@ -2304,12 +2302,10 @@ __metadata: version: 0.0.0-use.local resolution: "@standardnotes/predicates@workspace:packages/predicates" dependencies: - "@standardnotes/common": "workspace:*" "@types/jest": "npm:^29.1.1" "@typescript-eslint/eslint-plugin": "npm:^5.30.0" eslint-plugin-prettier: "npm:^4.2.1" jest: "npm:^29.1.2" - reflect-metadata: "npm:^0.1.13" ts-jest: "npm:^29.0.3" typescript: "npm:^4.8.4" languageName: unknown @@ -2388,7 +2384,6 @@ __metadata: dependencies: "@newrelic/winston-enricher": "npm:^4.0.0" "@sentry/node": "npm:^7.28.1" - "@standardnotes/common": "workspace:*" "@standardnotes/domain-core": "workspace:^" "@standardnotes/domain-events": "workspace:*" "@standardnotes/domain-events-infra": "workspace:*" @@ -2422,7 +2417,6 @@ __metadata: version: 0.0.0-use.local resolution: "@standardnotes/security@workspace:packages/security" dependencies: - "@standardnotes/common": "workspace:*" "@types/jest": "npm:^29.1.1" "@types/jsonwebtoken": "npm:^9.0.1" "@typescript-eslint/eslint-plugin": "npm:^5.30.0" @@ -2602,7 +2596,6 @@ __metadata: "@newrelic/winston-enricher": "npm:^4.0.0" "@sentry/node": "npm:^7.28.1" "@standardnotes/api": "npm:^1.19.0" - "@standardnotes/common": "workspace:^" "@standardnotes/domain-core": "workspace:^" "@standardnotes/domain-events": "workspace:^" "@standardnotes/domain-events-infra": "workspace:^"