src/cloud/csam/csam.service.ts
Properties |
Methods |
|
constructor(configService: ConfigService)
|
||||||
|
Defined in src/cloud/csam/csam.service.ts:8
|
||||||
|
Parameters :
|
| Public Async isSafe |
isSafe(buf: Buffer, name: string, mime: string)
|
|
Defined in src/cloud/csam/csam.service.ts:16
|
|
Returns :
Promise<boolean>
|
| Private Readonly filter |
Type : Filter
|
|
Defined in src/cloud/csam/csam.service.ts:7
|
| Private Readonly logger |
Default value : new Logger(CsamService.name)
|
|
Defined in src/cloud/csam/csam.service.ts:8
|
import { Injectable, Logger } from '@nestjs/common';
import Filter from '@fileglass/arach-node';
import { ConfigService } from '@nestjs/config';
@Injectable()
export class CsamService {
private readonly filter: Filter;
private readonly logger = new Logger(CsamService.name);
constructor(configService: ConfigService) {
this.filter = new Filter({ apikey: configService.get("ARACH_KEY"), url: configService.get("ARACH_URL"), trueOnError: true })
this.filter.onError((err) => {
this.logger.error('Arachnid error', err);
});
}
public async isSafe(
buf: Buffer,
name: string,
mime: string,
): Promise<boolean> {
const { safe, rawResponse, errored } = await this.filter.isImageSafe<
true,
true
>(buf, name, mime);
return safe;
}
}