1
0
forked from Yara724/api

Added fileMaker and fileReviewer for new flow

This commit is contained in:
SepehrYahyaee
2026-06-30 13:54:21 +03:30
parent f3686575ca
commit 65e7476642
16 changed files with 1232 additions and 2 deletions

View File

@@ -0,0 +1,63 @@
import { Injectable } from "@nestjs/common";
import { InjectModel } from "@nestjs/mongoose";
import { FilterQuery, Model, Types } from "mongoose";
import { FileMakerModel } from "../schema/file-maker.schema";
@Injectable()
export class FileMakerDbService {
constructor(
@InjectModel(FileMakerModel.name)
private readonly fileMakerModel: Model<FileMakerModel>,
) {}
async create(
user: Partial<FileMakerModel> & { password: string },
): Promise<FileMakerModel> {
return await this.fileMakerModel.create(user);
}
async findOne(
filter: FilterQuery<FileMakerModel>,
): Promise<FileMakerModel | null> {
return await this.fileMakerModel.findOne(filter);
}
async findByLoginIdentifier(
identifier: string,
): Promise<FileMakerModel | null> {
const id = identifier.trim();
const or: FilterQuery<FileMakerModel>[] = [
{ email: id },
{ username: id },
];
if (/^\d{10}$/.test(id)) {
or.push({ nationalCode: id });
}
return await this.fileMakerModel.findOne({ $or: or });
}
async findById(userId: string): Promise<FileMakerModel | null> {
return await this.fileMakerModel.findOne({
_id: new Types.ObjectId(userId),
});
}
async findOneAndUpdate(
filter: FilterQuery<FileMakerModel>,
update: FilterQuery<FileMakerModel>,
) {
return await this.fileMakerModel.findOneAndUpdate(filter, update, {
new: true,
});
}
async findAll(
filter: FilterQuery<FileMakerModel>,
): Promise<(FileMakerModel & { _id: Types.ObjectId })[]> {
return await this.fileMakerModel.find(filter).lean();
}
async updateOne(filter: FilterQuery<FileMakerModel>, update: any) {
return this.fileMakerModel.updateOne(filter, update);
}
}