first commit

This commit is contained in:
Bastian Wagner
2026-07-31 21:02:47 +02:00
commit 6bea4f766a
512 changed files with 64459 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
import {
Column,
CreateDateColumn,
Entity,
Index,
ManyToOne,
PrimaryGeneratedColumn,
DeleteDateColumn,
} from 'typeorm';
import { User } from '../../users/entities/user.entity';
import { Allow } from 'class-validator';
import { EntityHelper } from 'src/utils/entity-helper';
@Entity()
export class Forgot extends EntityHelper {
@PrimaryGeneratedColumn()
id: number;
@Allow()
@Column()
@Index()
hash: string;
@Allow()
@ManyToOne(() => User, {
eager: true,
})
user: User;
@CreateDateColumn()
createdAt: Date;
@DeleteDateColumn()
deletedAt: Date;
}

View File

@@ -0,0 +1,11 @@
import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Forgot } from './entities/forgot.entity';
import { ForgotService } from './forgot.service';
@Module({
imports: [TypeOrmModule.forFeature([Forgot])],
providers: [ForgotService],
exports: [ForgotService],
})
export class ForgotModule {}

View File

@@ -0,0 +1,34 @@
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { DeepPartial } from 'src/utils/types/deep-partial.type';
import { FindOptions } from 'src/utils/types/find-options.type';
import { Repository } from 'typeorm';
import { Forgot } from './entities/forgot.entity';
@Injectable()
export class ForgotService {
constructor(
@InjectRepository(Forgot)
private forgotRepository: Repository<Forgot>,
) {}
async findOne(options: FindOptions<Forgot>) {
return this.forgotRepository.findOne({
where: options.where,
});
}
async findMany(options: FindOptions<Forgot>) {
return this.forgotRepository.find({
where: options.where,
});
}
async create(data: DeepPartial<Forgot>) {
return this.forgotRepository.save(this.forgotRepository.create(data));
}
async softDelete(id: number): Promise<void> {
await this.forgotRepository.softDelete(id);
}
}