mirror of
https://github.com/standardnotes/server
synced 2026-10-18 15:03:08 -04:00
feat: add creating shared vault file valet tokens. (#635)
Co-authored-by: Mo <[email protected]>
This commit is contained in:
@@ -3,6 +3,12 @@ import { Result, ValueObject } from '@standardnotes/domain-core'
|
||||
import { SharedVaultUserPermissionProps } from './SharedVaultUserPermissionProps'
|
||||
|
||||
export class SharedVaultUserPermission extends ValueObject<SharedVaultUserPermissionProps> {
|
||||
static readonly PERMISSIONS = {
|
||||
Read: 'read',
|
||||
Write: 'write',
|
||||
Admin: 'admin',
|
||||
}
|
||||
|
||||
get value(): string {
|
||||
return this.props.value
|
||||
}
|
||||
@@ -12,7 +18,8 @@ export class SharedVaultUserPermission extends ValueObject<SharedVaultUserPermis
|
||||
}
|
||||
|
||||
static create(sharedVaultUserPermission: string): Result<SharedVaultUserPermission> {
|
||||
if (!['read', 'write', 'admin'].includes(sharedVaultUserPermission)) {
|
||||
const isValidPermission = Object.values(this.PERMISSIONS).includes(sharedVaultUserPermission)
|
||||
if (!isValidPermission) {
|
||||
return Result.fail<SharedVaultUserPermission>(`Invalid shared vault user permission ${sharedVaultUserPermission}`)
|
||||
} else {
|
||||
return Result.ok<SharedVaultUserPermission>(new SharedVaultUserPermission({ value: sharedVaultUserPermission }))
|
||||
|
||||
+1
@@ -6,4 +6,5 @@ export interface SharedVaultUserRepositoryInterface {
|
||||
findByUuid(sharedVaultUserUuid: Uuid): Promise<SharedVaultUser | null>
|
||||
save(sharedVaultUser: SharedVaultUser): Promise<void>
|
||||
remove(sharedVault: SharedVaultUser): Promise<void>
|
||||
findByUserUuidAndSharedVaultUuid(dto: { userUuid: Uuid; sharedVaultUuid: Uuid }): Promise<SharedVaultUser | null>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user