Skip to content

Commit 7054e93

Browse files
committed
feat(json-api-server): Use new signature
1 parent 1a1c859 commit 7054e93

File tree

14 files changed

+77
-41
lines changed

14 files changed

+77
-41
lines changed

.eslintrc.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@
1919
]
2020
}
2121
},
22+
{
23+
"files": ["*.test-d.ts"],
24+
"rules": {
25+
"@typescript-eslint/ban-ts-comment": "off"
26+
}
27+
},
2228
{
2329
"files": ["*.ts", "*.tsx"],
2430
"rules": {}

apps/json-api-server/project.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,6 @@
2020
}
2121
}
2222
},
23-
"tags": []
23+
"tags": [],
24+
"implicitDependencies": ["json-api-nestjs-typeorm", "json-api-nestjs-microorm"]
2425
}

apps/json-api-server/src/app/app.module.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import { MicroOrmDatabaseModule } from '@nestjs-json-api/microorm-database';
66
import { ResourcesTypeModule } from './resources/type-orm/resources-type.module';
77
import { ResourcesMicroModule } from './resources/micro-orm/resources-micro.module';
88
import { RpcModule } from './rpc/rpc.module';
9-
import * as process from 'process';
109

1110
const ormModule =
1211
process.env['ORM_TYPE'] === 'typeorm'
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import { ParseUUIDPipe } from '@nestjs/common';
22
import { JsonApi, JsonBaseController } from '@klerick/json-api-nestjs';
3-
43
import { BookList } from '@nestjs-json-api/microorm-database';
4+
55
@JsonApi(BookList, {
66
pipeForId: ParseUUIDPipe,
77
overrideRoute: 'override-book-list',
88
allowMethod: ['getOne', 'postOne', 'deleteOne'],
99
})
10-
export class ExtendBookListController extends JsonBaseController<BookList> {}
10+
export class ExtendBookListController extends JsonBaseController<
11+
BookList,
12+
'id'
13+
> {}

apps/json-api-server/src/app/resources/micro-orm/controllers/extend-user/extend-user.controller.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ import {
1515
JsonApiService,
1616
Query as QueryType,
1717
QueryOne,
18-
ResourceObject,
19-
EntityRelation,
2018
PatchRelationshipData,
21-
ResourceObjectRelationships,
2219
PostData,
2320
} from '@klerick/json-api-nestjs';
21+
import {
22+
ResourceObjectRelationships,
23+
ResourceObject,
24+
RelationKeys,
25+
} from '@klerick/json-api-nestjs-shared';
2426
import { ExamplePipe } from '../../service/example.pipe';
2527
import { ExampleService } from '../../service/example.service';
2628
import { ControllerInterceptor } from '../../service/controller.interceptor';
@@ -38,36 +40,36 @@ import { AtomicInterceptor } from '../../service/atomic.interceptor';
3840
@UseFilters(new HttpExceptionFilter())
3941
@UseInterceptors(ControllerInterceptor)
4042
@JsonApi(Users)
41-
export class ExtendUserController extends JsonBaseController<Users> {
43+
export class ExtendUserController extends JsonBaseController<Users, 'id'> {
4244
@InjectService() public service: JsonApiService<Users>;
4345
@Inject(ExampleService) protected exampleService: ExampleService;
4446
override getOne(
4547
id: string | number,
46-
query: QueryOne<Users>
48+
query: QueryOne<Users, 'id'>
4749
): Promise<ResourceObject<Users>> {
4850
const t = query.fields?.target;
4951

5052
return super.getOne(id, query);
5153
}
5254

53-
patchRelationship<Rel extends EntityRelation<Users>>(
55+
patchRelationship<Rel extends RelationKeys<Users>>(
5456
id: string | number,
5557
relName: Rel,
5658
input: PatchRelationshipData
57-
): Promise<ResourceObjectRelationships<Users, Rel>> {
59+
): Promise<ResourceObjectRelationships<Users, 'id', Rel>> {
5860
return super.patchRelationship(id, relName, input);
5961
}
6062

6163
// @UseInterceptors(AtomicInterceptor)
62-
postOne(inputData: PostData<Users>): Promise<ResourceObject<Users>> {
64+
postOne(inputData: PostData<Users, 'id'>): Promise<ResourceObject<Users>> {
6365
return super.postOne(inputData);
6466
}
6567

6668
@EntityName('Users')
6769
@UseFilters(HttpExceptionMethodFilter)
6870
@UseInterceptors(MethodInterceptor)
6971
getAll(
70-
@Query(ExamplePipe) query: QueryType<Users>
72+
@Query(ExamplePipe) query: QueryType<Users, 'id'>
7173
): Promise<ResourceObject<Users, 'array'>> {
7274
return super.getAll(query);
7375
}

apps/json-api-server/src/app/resources/micro-orm/resources-micro.module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Module } from '@nestjs/common';
2-
import { JsonApiModule, MicroOrmJsonApiModule } from '@klerick/json-api-nestjs';
2+
import { JsonApiModule } from '@klerick/json-api-nestjs';
3+
import { MicroOrmJsonApiModule } from '@klerick/json-api-nestjs-microorm';
34
import {
45
Users,
56
Addresses,

apps/json-api-server/src/app/resources/micro-orm/service/example.pipe.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,13 @@ import {
77
import { Query } from '@klerick/json-api-nestjs';
88
import { Users } from '@nestjs-json-api/microorm-database';
99

10-
export class ExamplePipe implements PipeTransform<Query<Users>, Query<Users>> {
11-
transform(value: Query<Users>, metadata: ArgumentMetadata): Query<Users> {
10+
export class ExamplePipe
11+
implements PipeTransform<Query<Users, 'id'>, Query<Users, 'id'>>
12+
{
13+
transform(
14+
value: Query<Users, 'id'>,
15+
metadata: ArgumentMetadata
16+
): Query<Users, 'id'> {
1217
if (value.filter.target?.firstName?.eq === 'testCustomPipe') {
1318
const error = {
1419
code: 'invalid_arguments',
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import { ParseUUIDPipe } from '@nestjs/common';
22
import { JsonApi, JsonBaseController } from '@klerick/json-api-nestjs';
3-
43
import { BookList } from '@nestjs-json-api/typeorm-database';
4+
55
@JsonApi(BookList, {
66
pipeForId: ParseUUIDPipe,
77
overrideRoute: 'override-book-list',
88
allowMethod: ['getOne', 'postOne', 'deleteOne'],
99
})
10-
export class ExtendBookListController extends JsonBaseController<BookList> {}
10+
export class ExtendBookListController extends JsonBaseController<
11+
BookList,
12+
'id'
13+
> {}

apps/json-api-server/src/app/resources/type-orm/controllers/extend-user/extend-user.controller.ts

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,14 @@ import {
1515
JsonApiService,
1616
Query as QueryType,
1717
QueryOne,
18-
ResourceObject,
19-
EntityRelation,
2018
PatchRelationshipData,
21-
ResourceObjectRelationships,
2219
PostData,
2320
} from '@klerick/json-api-nestjs';
21+
import {
22+
ResourceObjectRelationships,
23+
ResourceObject,
24+
RelationKeys,
25+
} from '@klerick/json-api-nestjs-shared';
2426
import { ExamplePipe } from '../../service/example.pipe';
2527
import { ExampleService } from '../../service/example.service';
2628
import { ControllerInterceptor } from '../../service/controller.interceptor';
@@ -38,34 +40,34 @@ import { AtomicInterceptor } from '../../service/atomic.interceptor';
3840
@UseFilters(new HttpExceptionFilter())
3941
@UseInterceptors(ControllerInterceptor)
4042
@JsonApi(Users)
41-
export class ExtendUserController extends JsonBaseController<Users> {
43+
export class ExtendUserController extends JsonBaseController<Users, 'id'> {
4244
@InjectService() public service: JsonApiService<Users>;
4345
@Inject(ExampleService) protected exampleService: ExampleService;
4446
override getOne(
4547
id: string | number,
46-
query: QueryOne<Users>
48+
query: QueryOne<Users, 'id'>
4749
): Promise<ResourceObject<Users>> {
4850
return super.getOne(id, query);
4951
}
5052

51-
patchRelationship<Rel extends EntityRelation<Users>>(
53+
patchRelationship<Rel extends RelationKeys<Users>>(
5254
id: string | number,
5355
relName: Rel,
5456
input: PatchRelationshipData
55-
): Promise<ResourceObjectRelationships<Users, Rel>> {
57+
): Promise<ResourceObjectRelationships<Users, 'id', Rel>> {
5658
return super.patchRelationship(id, relName, input);
5759
}
5860

5961
// @UseInterceptors(AtomicInterceptor)
60-
postOne(inputData: PostData<Users>): Promise<ResourceObject<Users>> {
62+
postOne(inputData: PostData<Users, 'id'>): Promise<ResourceObject<Users>> {
6163
return super.postOne(inputData);
6264
}
6365

6466
@EntityName('Users')
6567
@UseFilters(HttpExceptionMethodFilter)
6668
@UseInterceptors(MethodInterceptor)
6769
getAll(
68-
@Query(ExamplePipe) query: QueryType<Users>
70+
@Query(ExamplePipe) query: QueryType<Users, 'id'>
6971
): Promise<ResourceObject<Users, 'array'>> {
7072
return super.getAll(query);
7173
}

apps/json-api-server/src/app/resources/type-orm/resources-type.module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { Module } from '@nestjs/common';
2-
import { JsonApiModule, TypeOrmJsonApiModule } from '@klerick/json-api-nestjs';
2+
import { JsonApiModule } from '@klerick/json-api-nestjs';
3+
import { TypeOrmJsonApiModule } from '@klerick/json-api-nestjs-typeorm';
34
import {
45
Users,
56
Addresses,

0 commit comments

Comments
 (0)