Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: remove usage of Uuid and RoleName from @standardnotes/common in favour of @standardnotes/domain-core value objects #2167

Merged
merged 1 commit into from Jan 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Binary file not shown.
Binary file not shown.
4 changes: 2 additions & 2 deletions packages/api/package.json
Expand Up @@ -36,8 +36,8 @@
"typescript": "*"
},
"dependencies": {
"@standardnotes/common": "^1.45.0",
"@standardnotes/domain-core": "^1.11.0",
"@standardnotes/common": "^1.46.3",
"@standardnotes/domain-core": "^1.11.1",
"@standardnotes/encryption": "workspace:*",
"@standardnotes/models": "workspace:*",
"@standardnotes/responses": "workspace:*",
Expand Down
Expand Up @@ -10,7 +10,6 @@ import { SubscriptionInviteAcceptResponse } from '../../Response/Subscription/Su

import { SubscriptionApiServiceInterface } from './SubscriptionApiServiceInterface'
import { SubscriptionApiOperations } from './SubscriptionApiOperations'
import { Uuid } from '@standardnotes/common'
import { AppleIAPConfirmResponse } from './../../Response/Subscription/AppleIAPConfirmResponse'
import { AppleIAPConfirmRequestParams } from '../../Request'

Expand Down Expand Up @@ -83,7 +82,7 @@ export class SubscriptionApiService implements SubscriptionApiServiceInterface {
}
}

async acceptInvite(inviteUuid: Uuid): Promise<SubscriptionInviteAcceptResponse> {
async acceptInvite(inviteUuid: string): Promise<SubscriptionInviteAcceptResponse> {
if (this.operationsInProgress.get(SubscriptionApiOperations.AcceptingInvite)) {
throw new ApiCallError(ErrorMessage.GenericInProgress)
}
Expand Down
@@ -1,5 +1,3 @@
import { Uuid } from '@standardnotes/common'

import { AppleIAPConfirmResponse } from './../../Response/Subscription/AppleIAPConfirmResponse'
import { AppleIAPConfirmRequestParams } from '../../Request'
import { SubscriptionInviteAcceptResponse } from '../../Response/Subscription/SubscriptionInviteAcceptResponse'
Expand All @@ -10,7 +8,7 @@ import { SubscriptionInviteResponse } from '../../Response/Subscription/Subscrip
export interface SubscriptionApiServiceInterface {
invite(inviteeEmail: string): Promise<SubscriptionInviteResponse>
listInvites(): Promise<SubscriptionInviteListResponse>
cancelInvite(inviteUuid: Uuid): Promise<SubscriptionInviteCancelResponse>
acceptInvite(inviteUuid: Uuid): Promise<SubscriptionInviteAcceptResponse>
cancelInvite(inviteUuid: string): Promise<SubscriptionInviteCancelResponse>
acceptInvite(inviteUuid: string): Promise<SubscriptionInviteAcceptResponse>
confirmAppleIAP(params: AppleIAPConfirmRequestParams): Promise<AppleIAPConfirmResponse>
}
@@ -1,4 +1,4 @@
import { UserRequestType, Uuid } from '@standardnotes/common'
import { UserRequestType } from '@standardnotes/common'
import { type RootKeyParamsInterface } from '@standardnotes/models'

import { UserDeletionResponse } from '../../Response/User/UserDeletionResponse'
Expand All @@ -12,6 +12,6 @@ export interface UserApiServiceInterface {
keyParams: RootKeyParamsInterface
ephemeral: boolean
}): Promise<UserRegistrationResponse>
submitUserRequest(dto: { userUuid: Uuid; requestType: UserRequestType }): Promise<UserRequestResponse>
submitUserRequest(dto: { userUuid: string; requestType: UserRequestType }): Promise<UserRequestResponse>
deleteAccount(userUuid: string): Promise<UserDeletionResponse>
}
@@ -1,4 +1,4 @@
import { Uuid, WorkspaceAccessLevel, WorkspaceType } from '@standardnotes/common'
import { WorkspaceAccessLevel, WorkspaceType } from '@standardnotes/common'

import { ErrorMessage } from '../../Error/ErrorMessage'
import { ApiCallError } from '../../Error/ApiCallError'
Expand Down Expand Up @@ -96,7 +96,7 @@ export class WorkspaceApiService implements WorkspaceApiServiceInterface {

async inviteToWorkspace(dto: {
inviteeEmail: string
workspaceUuid: Uuid
workspaceUuid: string
accessLevel: WorkspaceAccessLevel
}): Promise<WorkspaceInvitationResponse> {
this.lockOperation(WorkspaceApiOperations.Inviting)
Expand Down
@@ -1,4 +1,4 @@
import { Uuid, WorkspaceAccessLevel, WorkspaceType } from '@standardnotes/common'
import { WorkspaceAccessLevel, WorkspaceType } from '@standardnotes/common'

import { WorkspaceKeyshareInitiatingResponse } from '../../Response/Workspace/WorkspaceKeyshareInitiatingResponse'
import { WorkspaceCreationResponse } from '../../Response/Workspace/WorkspaceCreationResponse'
Expand All @@ -17,20 +17,20 @@ export interface WorkspaceApiServiceInterface {
}): Promise<WorkspaceCreationResponse>
inviteToWorkspace(dto: {
inviteeEmail: string
workspaceUuid: Uuid
workspaceUuid: string
accessLevel: WorkspaceAccessLevel
}): Promise<WorkspaceInvitationResponse>
acceptInvite(dto: {
inviteUuid: Uuid
userUuid: Uuid
inviteUuid: string
userUuid: string
publicKey: string
encryptedPrivateKey: string
}): Promise<WorkspaceInvitationAcceptingResponse>
listWorkspaces(): Promise<WorkspaceListResponse>
listWorkspaceUsers(dto: { workspaceUuid: Uuid }): Promise<WorkspaceUserListResponse>
listWorkspaceUsers(dto: { workspaceUuid: string }): Promise<WorkspaceUserListResponse>
initiateKeyshare(dto: {
workspaceUuid: Uuid
userUuid: Uuid
workspaceUuid: string
userUuid: string
encryptedWorkspaceKey: string
}): Promise<WorkspaceKeyshareInitiatingResponse>
}
8 changes: 4 additions & 4 deletions packages/api/src/Domain/Client/Workspace/WorkspaceUser.ts
@@ -1,11 +1,11 @@
import { Uuid, WorkspaceAccessLevel, WorkspaceUserStatus } from '@standardnotes/common'
import { WorkspaceAccessLevel, WorkspaceUserStatus } from '@standardnotes/common'

export type WorkspaceUser = {
uuid: Uuid
uuid: string
accessLevel: WorkspaceAccessLevel
userUuid: Uuid
userUuid: string
userDisplayName: string | null
workspaceUuid: Uuid
workspaceUuid: string
encryptedWorkspaceKey: string | null
publicKey: string | null
encryptedPrivateKey: string | null
Expand Down
3 changes: 1 addition & 2 deletions packages/api/src/Domain/Http/HttpResponseMeta.ts
@@ -1,9 +1,8 @@
import { Role } from '@standardnotes/security'
import { Uuid } from '@standardnotes/common'

export type HttpResponseMeta = {
auth: {
userUuid?: Uuid
userUuid?: string
roles?: Role[]
}
server: {
Expand Down
@@ -1,6 +1,4 @@
import { Uuid } from '@standardnotes/common'

export type SubscriptionInviteAcceptRequestParams = {
inviteUuid: Uuid
inviteUuid: string
[additionalParam: string]: unknown
}
@@ -1,10 +1,8 @@
import { Uuid } from '@standardnotes/common'

import { ApiEndpointParam } from '../ApiEndpointParam'
import { ApiVersion } from '../../Api/ApiVersion'

export type SubscriptionInviteCancelRequestParams = {
[ApiEndpointParam.ApiVersion]: ApiVersion.v0
inviteUuid: Uuid
inviteUuid: string
[additionalParam: string]: unknown
}
@@ -1,10 +1,8 @@
import { Uuid } from '@standardnotes/common'

import { ApiEndpointParam } from '../ApiEndpointParam'
import { ApiVersion } from '../../Api/ApiVersion'

export type SubscriptionInviteDeclineRequestParams = {
[ApiEndpointParam.ApiVersion]: ApiVersion.v0
inviteUuid: Uuid
inviteUuid: string
[additionalParam: string]: unknown
}
@@ -1,6 +1,4 @@
import { Uuid } from '@standardnotes/common'

export type UserDeletionRequestParams = {
userUuid: Uuid
userUuid: string
[additionalParam: string]: unknown
}
@@ -1,7 +1,7 @@
import { UserRequestType, Uuid } from '@standardnotes/common'
import { UserRequestType } from '@standardnotes/common'

export type UserRequestRequestParams = {
userUuid: Uuid
userUuid: string
requestType: UserRequestType
[additionalParam: string]: unknown
}
@@ -1,8 +1,6 @@
import { Uuid } from '@standardnotes/common'

export type WorkspaceInvitationAcceptingRequestParams = {
inviteUuid: Uuid
userUuid: Uuid
inviteUuid: string
userUuid: string
publicKey: string
encryptedPrivateKey: string
[additionalParam: string]: unknown
Expand Down
@@ -1,7 +1,7 @@
import { Uuid, WorkspaceAccessLevel } from '@standardnotes/common'
import { WorkspaceAccessLevel } from '@standardnotes/common'

export type WorkspaceInvitationRequestParams = {
workspaceUuid: Uuid
workspaceUuid: string
inviteeEmail: string
accessLevel: WorkspaceAccessLevel
[additionalParam: string]: unknown
Expand Down
@@ -1,8 +1,6 @@
import { Uuid } from '@standardnotes/common'

export type WorkspaceKeyshareInitiatingRequestParams = {
userUuid: Uuid
workspaceUuid: Uuid
userUuid: string
workspaceUuid: string
encryptedWorkspaceKey: string
[additionalParam: string]: unknown
}
@@ -1,6 +1,4 @@
import { Uuid } from '@standardnotes/common'

export type WorkspaceUserListRequestParams = {
workspaceUuid: Uuid
workspaceUuid: string
[additionalParam: string]: unknown
}
@@ -1,9 +1,7 @@
import { Uuid } from '@standardnotes/common'

export type SubscriptionInviteResponseBody =
| {
success: true
sharedSubscriptionInvitationUuid: Uuid
sharedSubscriptionInvitationUuid: string
}
| {
success: false
Expand Down
@@ -1,11 +1,10 @@
import { Uuid } from '@standardnotes/common'
import { KeyParamsData, SessionBody } from '@standardnotes/responses'

export type UserRegistrationResponseBody = {
session: SessionBody
key_params: KeyParamsData
user: {
uuid: Uuid
uuid: string
email: string
}
}
8 changes: 3 additions & 5 deletions packages/api/src/Domain/Server/Subscription/Paths.ts
@@ -1,10 +1,8 @@
import { Uuid } from '@standardnotes/common'

const SharingPaths = {
invite: '/v1/subscription-invites',
acceptInvite: (inviteUuid: Uuid) => `/v1/subscription-invites/${inviteUuid}/accept`,
declineInvite: (inviteUuid: Uuid) => `/v1/subscription-invites/${inviteUuid}/decline`,
cancelInvite: (inviteUuid: Uuid) => `/v1/subscription-invites/${inviteUuid}`,
acceptInvite: (inviteUuid: string) => `/v1/subscription-invites/${inviteUuid}/accept`,
declineInvite: (inviteUuid: string) => `/v1/subscription-invites/${inviteUuid}/decline`,
cancelInvite: (inviteUuid: string) => `/v1/subscription-invites/${inviteUuid}`,
listInvites: '/v1/subscription-invites',
}

Expand Down
4 changes: 1 addition & 3 deletions packages/api/src/Domain/Server/User/Paths.ts
@@ -1,8 +1,6 @@
import { Uuid } from '@standardnotes/common'

const UserPaths = {
register: '/v1/users',
deleteAccount: (userUuid: Uuid) => `/v1/users/${userUuid}`,
deleteAccount: (userUuid: string) => `/v1/users/${userUuid}`,
}

export const Paths = {
Expand Down
4 changes: 1 addition & 3 deletions packages/api/src/Domain/Server/UserRequest/Paths.ts
@@ -1,7 +1,5 @@
import { Uuid } from '@standardnotes/common'

const UserRequestPaths = {
submitUserRequest: (userUuid: Uuid) => `/v1/users/${userUuid}/requests`,
submitUserRequest: (userUuid: string) => `/v1/users/${userUuid}/requests`,
}

export const Paths = {
Expand Down
10 changes: 4 additions & 6 deletions packages/api/src/Domain/Server/Workspace/Paths.ts
@@ -1,13 +1,11 @@
import { Uuid } from '@standardnotes/common'

const WorkspacePaths = {
createWorkspace: '/v1/workspaces',
listWorkspaces: '/v1/workspaces',
listWorkspaceUsers: (uuid: Uuid) => `/v1/workspaces/${uuid}/users`,
initiateKeyshare: (worksapceUuid: Uuid, userUuid: Uuid) =>
listWorkspaceUsers: (uuid: string) => `/v1/workspaces/${uuid}/users`,
initiateKeyshare: (worksapceUuid: string, userUuid: string) =>
`/v1/workspaces/${worksapceUuid}/users/${userUuid}/keyshare`,
inviteToWorkspace: (uuid: Uuid) => `/v1/workspaces/${uuid}/invites`,
acceptInvite: (uuid: Uuid) => `/v1/invites/${uuid}/accept`,
inviteToWorkspace: (uuid: string) => `/v1/workspaces/${uuid}/invites`,
acceptInvite: (uuid: string) => `/v1/invites/${uuid}/accept`,
}

export const Paths = {
Expand Down
2 changes: 1 addition & 1 deletion packages/encryption/package.json
Expand Up @@ -35,7 +35,7 @@
"typescript": "*"
},
"dependencies": {
"@standardnotes/common": "^1.45.0",
"@standardnotes/common": "^1.46.3",
"@standardnotes/models": "workspace:*",
"@standardnotes/responses": "workspace:*",
"@standardnotes/sncrypto-common": "workspace:*",
Expand Down
5 changes: 2 additions & 3 deletions packages/encryption/src/Domain/Split/EncryptionSplit.ts
@@ -1,4 +1,3 @@
import { Uuid } from '@standardnotes/common'
import { DecryptedPayloadInterface, EncryptedPayloadInterface, PayloadInterface } from '@standardnotes/models'
import { EncryptionTypeSplit } from './EncryptionTypeSplit'
import { KeyedDecryptionSplit } from './KeyedDecryptionSplit'
Expand Down Expand Up @@ -36,7 +35,7 @@ export function CreateDecryptionSplitWithKeyLookup(
return result
}

export function FindPayloadInEncryptionSplit(uuid: Uuid, split: KeyedEncryptionSplit): DecryptedPayloadInterface {
export function FindPayloadInEncryptionSplit(uuid: string, split: KeyedEncryptionSplit): DecryptedPayloadInterface {
const inUsesItemsKey = split.usesItemsKey?.items.find((item: PayloadInterface) => item.uuid === uuid)
if (inUsesItemsKey) {
return inUsesItemsKey
Expand All @@ -60,7 +59,7 @@ export function FindPayloadInEncryptionSplit(uuid: Uuid, split: KeyedEncryptionS
throw Error('Cannot find payload in encryption split')
}

export function FindPayloadInDecryptionSplit(uuid: Uuid, split: KeyedDecryptionSplit): EncryptedPayloadInterface {
export function FindPayloadInDecryptionSplit(uuid: string, split: KeyedDecryptionSplit): EncryptedPayloadInterface {
const inUsesItemsKey = split.usesItemsKey?.items.find((item: PayloadInterface) => item.uuid === uuid)
if (inUsesItemsKey) {
return inUsesItemsKey
Expand Down
4 changes: 2 additions & 2 deletions packages/encryption/src/Domain/Types/ItemAuthenticatedData.ts
@@ -1,6 +1,6 @@
import { ProtocolVersion, Uuid } from '@standardnotes/common'
import { ProtocolVersion } from '@standardnotes/common'

export type ItemAuthenticatedData = {
u: Uuid
u: string
v: ProtocolVersion
}
3 changes: 2 additions & 1 deletion packages/features/package.json
Expand Up @@ -26,7 +26,8 @@
},
"dependencies": {
"@standardnotes/auth": "^3.19.4",
"@standardnotes/common": "^1.45.0",
"@standardnotes/common": "^1.46.3",
"@standardnotes/domain-core": "^1.11.1",
"@standardnotes/security": "^1.7.0",
"reflect-metadata": "^0.1.13"
},
Expand Down
6 changes: 3 additions & 3 deletions packages/features/src/Domain/Feature/FeatureDescription.ts
@@ -1,5 +1,5 @@
import { ComponentPermission } from '../Component/ComponentPermission'
import { ContentType, RoleName, SubscriptionName } from '@standardnotes/common'
import { ContentType, SubscriptionName } from '@standardnotes/common'
import { ComponentArea } from '../Component/ComponentArea'
import { PermissionName } from '../Permission/PermissionName'
import { FeatureIdentifier } from './FeatureIdentifier'
Expand All @@ -9,11 +9,11 @@ import { ThemeDockIcon } from '../Component/ThemeDockIcon'

type RoleFields = {
/** Server populated */
role_name?: RoleName
role_name?: string

/** Statically populated. Non-influencing; used as a reference by other static consumers (such as email service) */
availableInSubscriptions: SubscriptionName[]
availableInRoles?: RoleName[]
availableInRoles?: string[]
}

export type BaseFeatureDescription = RoleFields & {
Expand Down
5 changes: 3 additions & 2 deletions packages/features/src/Domain/Lists/ClientFeatures.ts
@@ -1,7 +1,8 @@
import { ClientFeatureDescription } from '../Feature/FeatureDescription'
import { PermissionName } from '../Permission/PermissionName'
import { FeatureIdentifier } from '../Feature/FeatureIdentifier'
import { RoleName, SubscriptionName } from '@standardnotes/common'
import { SubscriptionName } from '@standardnotes/common'
import { RoleName } from '@standardnotes/domain-core'

export function clientFeatures(): ClientFeatureDescription[] {
return [
Expand All @@ -19,7 +20,7 @@ export function clientFeatures(): ClientFeatureDescription[] {
permission_name: PermissionName.SuperEditor,
description:
'Type / to bring up the block selection menu, or @ to embed images or link other tags and notes. Type - then space to start a list, or [] then space to start a checklist. Drag and drop an image or file to embed it in your note.',
availableInRoles: [RoleName.PlusUser, RoleName.ProUser],
availableInRoles: [RoleName.NAMES.PlusUser, RoleName.NAMES.ProUser],
},
{
availableInSubscriptions: [SubscriptionName.PlusPlan, SubscriptionName.ProPlan],
Expand Down
4 changes: 1 addition & 3 deletions packages/features/src/Domain/Permission/Permission.ts
@@ -1,8 +1,6 @@
import { Uuid } from '@standardnotes/common'

import { PermissionName } from './PermissionName'

export type Permission = {
uuid: Uuid
uuid: string
name: PermissionName
}