src/datablocks/datablocks.service.ts
Methods |
constructor(datablockModel: Model<DatablockDocument>, request: Request)
|
|||||||||
|
Defined in src/datablocks/datablocks.service.ts:13
|
|||||||||
|
Parameters :
|
| Async create | ||||||
create(createDatablockDto: CreateDatablockDto)
|
||||||
|
Defined in src/datablocks/datablocks.service.ts:20
|
||||||
|
Parameters :
Returns :
Promise<Datablock>
|
| Async findAll | ||||||
findAll(filter: FilterQuery<DatablockDocument>)
|
||||||
|
Defined in src/datablocks/datablocks.service.ts:28
|
||||||
|
Parameters :
Returns :
Promise<Datablock[]>
|
| Async findOne | ||||||
findOne(filter: FilterQuery<DatablockDocument>)
|
||||||
|
Defined in src/datablocks/datablocks.service.ts:32
|
||||||
|
Parameters :
Returns :
Promise<Datablock | null>
|
| Async remove | ||||||
remove(filter: FilterQuery<DatablockDocument>)
|
||||||
|
Defined in src/datablocks/datablocks.service.ts:54
|
||||||
|
Parameters :
Returns :
Promise<>
|
| Async update | |||||||||
update(filter: FilterQuery<DatablockDocument>, updateDatablockDto: UpdateDatablockDto)
|
|||||||||
|
Defined in src/datablocks/datablocks.service.ts:38
|
|||||||||
|
Parameters :
Returns :
Promise<Datablock | null>
|
import { Inject, Injectable } from "@nestjs/common";
import { REQUEST } from "@nestjs/core";
import { Request } from "express";
import { InjectModel } from "@nestjs/mongoose";
import { FilterQuery, Model } from "mongoose";
import { addCreatedByFields, addUpdatedByField } from "src/common/utils";
import { CreateDatablockDto } from "./dto/create-datablock.dto";
import { UpdateDatablockDto } from "./dto/update-datablock.dto";
import { Datablock, DatablockDocument } from "./schemas/datablock.schema";
import { JWTUser } from "src/auth/interfaces/jwt-user.interface";
@Injectable()
export class DatablocksService {
constructor(
@InjectModel(Datablock.name)
private datablockModel: Model<DatablockDocument>,
@Inject(REQUEST) private request: Request,
) {}
async create(createDatablockDto: CreateDatablockDto): Promise<Datablock> {
const username = (this.request.user as JWTUser).username;
const createdDatablock = new this.datablockModel(
addCreatedByFields<CreateDatablockDto>(createDatablockDto, username),
);
return createdDatablock.save();
}
async findAll(filter: FilterQuery<DatablockDocument>): Promise<Datablock[]> {
return this.datablockModel.find(filter).exec();
}
async findOne(
filter: FilterQuery<DatablockDocument>,
): Promise<Datablock | null> {
return this.datablockModel.findOne(filter).exec();
}
async update(
filter: FilterQuery<DatablockDocument>,
updateDatablockDto: UpdateDatablockDto,
): Promise<Datablock | null> {
const username = (this.request.user as JWTUser).username;
return this.datablockModel
.findOneAndUpdate(
filter,
addUpdatedByField(updateDatablockDto, username),
{
new: true,
},
)
.exec();
}
async remove(filter: FilterQuery<DatablockDocument>): Promise<unknown> {
return this.datablockModel.findOneAndRemove(filter).exec();
}
}