forked from Yara724/api
Initial commit after migration to gitea
This commit is contained in:
37
src/lookups/entities/db-service/lookup.db.service.ts
Normal file
37
src/lookups/entities/db-service/lookup.db.service.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { InjectModel } from "@nestjs/mongoose";
|
||||
import { FilterQuery, Model, UpdateQuery } from "mongoose";
|
||||
import { LookupModel } from "../schema/lookup.schema";
|
||||
|
||||
@Injectable()
|
||||
export class LookupDbService {
|
||||
constructor(
|
||||
@InjectModel(LookupModel.name)
|
||||
private readonly lookupModel: Model<LookupModel>,
|
||||
) {}
|
||||
|
||||
async create(lookupData: Partial<LookupModel>): Promise<LookupModel> {
|
||||
return await this.lookupModel.create(lookupData);
|
||||
}
|
||||
|
||||
async findOne(
|
||||
filter: FilterQuery<LookupModel>,
|
||||
): Promise<LookupModel | null> {
|
||||
return await this.lookupModel.findOne(filter).lean();
|
||||
}
|
||||
|
||||
async findOneAndUpdate(
|
||||
filter: FilterQuery<LookupModel>,
|
||||
update: UpdateQuery<LookupModel>,
|
||||
): Promise<LookupModel | null> {
|
||||
return await this.lookupModel.findOneAndUpdate(filter, update, {
|
||||
new: true,
|
||||
upsert: true,
|
||||
});
|
||||
}
|
||||
|
||||
async findById(id: string): Promise<LookupModel | null> {
|
||||
return await this.lookupModel.findById(id).lean();
|
||||
}
|
||||
}
|
||||
|
||||
32
src/lookups/entities/schema/lookup.schema.ts
Normal file
32
src/lookups/entities/schema/lookup.schema.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { Prop, Schema, SchemaFactory } from "@nestjs/mongoose";
|
||||
import { Document } from "mongoose";
|
||||
|
||||
export type LookupDocument = LookupModel & Document;
|
||||
|
||||
@Schema({ versionKey: false, collection: "lookups", timestamps: true })
|
||||
export class LookupModel {
|
||||
@Prop({ required: true })
|
||||
url: string;
|
||||
|
||||
@Prop({ required: true })
|
||||
authenticationToken: string;
|
||||
|
||||
@Prop({ required: true })
|
||||
name: string;
|
||||
|
||||
@Prop({ type: Object, required: true })
|
||||
response: any;
|
||||
|
||||
@Prop()
|
||||
createdAt: Date;
|
||||
|
||||
@Prop()
|
||||
updatedAt: Date;
|
||||
}
|
||||
|
||||
export const LookupSchema = SchemaFactory.createForClass(LookupModel);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user