refactor(server): auth delete device (#4720)

* refactor(server): auth delete device

* fix: person e2e
This commit is contained in:
Jason Rasmussen
2023-10-30 11:48:38 -04:00
committed by GitHub
parent ce04e9e07a
commit 603b056512
11 changed files with 76 additions and 20 deletions
@@ -1,16 +1,25 @@
import { IAccessRepository } from '@app/domain';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm';
import { AlbumEntity, AssetEntity, LibraryEntity, PartnerEntity, PersonEntity, SharedLinkEntity } from '../entities';
import {
AlbumEntity,
AssetEntity,
LibraryEntity,
PartnerEntity,
PersonEntity,
SharedLinkEntity,
UserTokenEntity,
} from '../entities';
export class AccessRepository implements IAccessRepository {
constructor(
@InjectRepository(AssetEntity) private assetRepository: Repository<AssetEntity>,
@InjectRepository(AlbumEntity) private albumRepository: Repository<AlbumEntity>,
@InjectRepository(LibraryEntity) private libraryRepository: Repository<LibraryEntity>,
@InjectRepository(PartnerEntity) private partnerRepository: Repository<PartnerEntity>,
@InjectRepository(PersonEntity) private personRepository: Repository<PersonEntity>,
@InjectRepository(SharedLinkEntity) private sharedLinkRepository: Repository<SharedLinkEntity>,
@InjectRepository(LibraryEntity) private libraryRepository: Repository<LibraryEntity>,
@InjectRepository(UserTokenEntity) private tokenRepository: Repository<UserTokenEntity>,
) {}
library = {
@@ -148,6 +157,17 @@ export class AccessRepository implements IAccessRepository {
},
};
authDevice = {
hasOwnerAccess: (userId: string, deviceId: string): Promise<boolean> => {
return this.tokenRepository.exist({
where: {
userId,
id: deviceId,
},
});
},
};
album = {
hasOwnerAccess: (userId: string, albumId: string): Promise<boolean> => {
return this.albumRepository.exist({
@@ -35,7 +35,7 @@ export class UserTokenRepository implements IUserTokenRepository {
return this.repository.save(userToken);
}
async delete(userId: string, id: string): Promise<void> {
await this.repository.delete({ userId, id });
async delete(id: string): Promise<void> {
await this.repository.delete({ id });
}
}