Skip to content

Commit cd84397

Browse files
Merge branch 'master' of github.com:InSantoshMahto/mongoose into InSantoshMahto-master
2 parents 808bf41 + f3d3d25 commit cd84397

File tree

4 files changed

+33
-0
lines changed

4 files changed

+33
-0
lines changed

lib/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ export * from './factories';
55
export * from './interfaces';
66
export * from './mongoose.module';
77
export * from './utils';
8+
export * from './pipes';

lib/pipes/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export * from './is-object-id.pipe'
2+
export * from './parse-object-id.pipe'

lib/pipes/is-object-id.pipe.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { ArgumentMetadata, BadRequestException, Injectable, PipeTransform } from '@nestjs/common';
2+
import { Types } from 'mongoose';
3+
4+
@Injectable()
5+
export class IsObjectIdPipe implements PipeTransform {
6+
transform(value: string, metadata: ArgumentMetadata): string {
7+
const isValidObjectId = Types.ObjectId.isValid(value);
8+
9+
if (!isValidObjectId) {
10+
throw new BadRequestException("Invalid ObjectId");
11+
}
12+
13+
return value;
14+
}
15+
}

lib/pipes/parse-object-id.pipe.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { ArgumentMetadata, BadRequestException, Injectable, PipeTransform } from '@nestjs/common';
2+
import { Types } from 'mongoose';
3+
4+
@Injectable()
5+
export class ParseObjectIdPipe implements PipeTransform {
6+
transform(value: string, metadata: ArgumentMetadata): Types.ObjectId {
7+
const isValidObjectId = Types.ObjectId.isValid(value);
8+
9+
if (!isValidObjectId) {
10+
throw new BadRequestException("Invalid ObjectId");
11+
}
12+
13+
return new Types.ObjectId(value);
14+
}
15+
}

0 commit comments

Comments
 (0)