soft delete

This commit is contained in:
Peter Maquiran
2024-08-26 14:47:03 +01:00
parent 0f94af5f4e
commit 021d1c5277
31 changed files with 125 additions and 92 deletions
@@ -6,7 +6,7 @@ import { Logger } from 'src/app/services/logger/main/service';
// Define a type for the Result of repository operations
type RepositoryResult<T, E> = Result<T, Error | ZodError<E>>;
export class DexieRepository<T> {
export class DexieRepository<T, R> {
private table: EntityTable<any, any>;
private ZodSchema: ZodSchema<T>
private ZodPartialSchema: ZodSchema<T>
@@ -94,17 +94,16 @@ export class DexieRepository<T> {
}
}
async find(filter: Object): Promise<RepositoryResult<T[], T[]>> {
async find(filter: Partial<T>): Promise<RepositoryResult<R[], T[]>> {
try {
const documents: any = await this.table.where(filter).toArray();
console.log('documents', {documents})
return ok(documents);
} catch (error) {
return err(new Error('Failed to find documents: ' + error.message));
}
}
async findOne(filter: Object): Promise<RepositoryResult<T | undefined, T>> {
async findOne(filter: Partial<T>): Promise<RepositoryResult<T | undefined, T>> {
try {
const document = await this.table.where(filter).first();
return ok(document);