Skip to content

Commit 81fd183

Browse files
committed
chore: Some changes for developing
1 parent a8c6f83 commit 81fd183

File tree

12 files changed

+98
-78
lines changed

12 files changed

+98
-78
lines changed

apps/json-api-front/src/app/app.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { Component, inject, OnInit } from '@angular/core';
22
import { NxWelcomeComponent } from './nx-welcome.component';
33
import { JsonApiSdkService } from 'json-api-nestjs-sdk';
4-
import { AtomicFactory } from 'json-api-nestjs-sdk/json-api-nestjs-sdk.module';
4+
import { AtomicFactory } from 'json-api-nestjs-sdk/ngModule';
55
import {
66
JSON_RPC,
77
RPC_BATCH,
88
Rpc,
9-
} from '@klerick/nestjs-json-rpc-sdk/json-rpc-sdk.module';
9+
} from '@klerick/nestjs-json-rpc-sdk/ngModule';
1010

1111
import { RpcService as IRpcService } from '@nestjs-json-api/type-for-rpc';
1212
import { switchMap } from 'rxjs';

apps/json-api-front/src/app/app.config.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,17 @@ import {
33
importProvidersFrom,
44
InjectionToken,
55
} from '@angular/core';
6-
import { JsonApiAngular } from 'json-api-nestjs-sdk/json-api-nestjs-sdk.module';
6+
import { JsonApiAngular, provideJsonApi } from 'json-api-nestjs-sdk/ngModule';
77
import {
88
JsonRpcAngular,
99
JsonRpcAngularConfig,
1010
TransportType,
11-
} from '@klerick/nestjs-json-rpc-sdk/json-rpc-sdk.module';
11+
provideJsonRpc,
12+
} from '@klerick/nestjs-json-rpc-sdk/ngModule';
1213
import { Subject } from 'rxjs';
1314
import { webSocket } from 'rxjs/webSocket';
1415
import { io } from 'socket.io-client';
16+
import { provideHttpClient, withInterceptors } from '@angular/common/http';
1517

1618
const destroySubject = new Subject<boolean>();
1719
setTimeout(() => {

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {
2929
HttpExceptionMethodFilter,
3030
} from '../../service/http-exception.filter';
3131
import { GuardService, EntityName } from '../../service/guard.service';
32+
import { AtomicInterceptor } from '../../service/atomic.interceptor';
3233

3334
@UseGuards(GuardService)
3435
@UseFilters(new HttpExceptionFilter())
@@ -52,6 +53,7 @@ export class ExtendUserController extends JsonBaseController<Users> {
5253
return super.patchRelationship(id, relName, input);
5354
}
5455

56+
// @UseInterceptors(AtomicInterceptor)
5557
postOne(inputData: PostData<Users>): Promise<ResourceObject<Users>> {
5658
return super.postOne(inputData);
5759
}

apps/json-api-server/src/main.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ async function bootstrap() {
2525
SwaggerModule.setup(
2626
'swagger',
2727
app,
28-
() => SwaggerModule.createDocument(app, config),
28+
() => ({
29+
...SwaggerModule.createDocument(app, config),
30+
openapi: '3.1.0',
31+
}),
2932
{}
3033
);
3134
await app.init();

libs/database/src/lib/config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { TypeOrmModuleOptions } from '@nestjs/typeorm';
22

33
import { config as ormConfig } from './config-cli';
4-
import { Roles, Comments, Users, Addresses, BookList } from './entities';
4+
import * as allEntities from './entities';
55

66
export const config: TypeOrmModuleOptions = {
77
...ormConfig,
88
...{
9-
entities: [Roles, Comments, Users, Addresses, BookList],
9+
entities: Object.values(allEntities) as any,
1010
},
1111
};

libs/json-api/json-api-nestjs/src/lib/mock-utils/db-for-test

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,8 @@ CREATE TABLE public.users (
300300
first_name character varying,
301301
last_name character varying,
302302
is_active boolean DEFAULT false,
303+
test_real real[],
304+
test_array_null real[],
303305
manager_id integer,
304306
addresses_id integer,
305307
user_groups_id integer,

libs/json-api/json-api-nestjs/src/lib/mock-utils/entities/pods.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {
33
CreateDateColumn,
44
Entity,
55
ManyToMany,
6-
PrimaryGeneratedColumn,
6+
PrimaryColumn,
77
UpdateDateColumn,
88
} from 'typeorm';
99

@@ -13,8 +13,8 @@ export type IPods = Pods;
1313

1414
@Entity('pods')
1515
export class Pods {
16-
@PrimaryGeneratedColumn()
17-
public id!: number;
16+
@PrimaryColumn()
17+
public id!: string;
1818

1919
@Column({
2020
type: 'varchar',

libs/json-api/json-api-nestjs/src/lib/mock-utils/entities/users.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,22 @@ export class Users {
3737
})
3838
public firstName!: string;
3939

40+
@Column({
41+
name: 'test_real',
42+
type: 'real',
43+
array: true,
44+
default: [],
45+
})
46+
public testReal!: number[];
47+
48+
@Column({
49+
name: 'test_array_null',
50+
type: 'real',
51+
array: true,
52+
nullable: true,
53+
})
54+
public testArrayNull!: number[] | null;
55+
4056
@Column({
4157
name: 'last_name',
4258
type: 'varchar',

libs/json-api/json-api-nestjs/src/lib/mock-utils/utils/provider-entities.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
Comments,
88
Entities,
99
Notes,
10+
Pods,
1011
Roles,
1112
UserGroups,
1213
} from '../entities';
@@ -52,12 +53,17 @@ export function getRepository(module: TestingModule) {
5253
getRepositoryToken(UserGroups, DEFAULT_CONNECTION_NAME)
5354
);
5455

56+
const podsRepository = module.get<Repository<Pods>>(
57+
getRepositoryToken(Pods, DEFAULT_CONNECTION_NAME)
58+
);
59+
5560
return {
5661
userRepository,
5762
addressesRepository,
5863
notesRepository,
5964
commentsRepository,
6065
rolesRepository,
6166
userGroupRepository,
67+
podsRepository,
6268
};
6369
}

libs/json-api/json-api-nestjs/src/lib/mock-utils/utils/pull-data.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ export async function pullUser(userPero: Repository<Users>) {
5151
lastName: user.lastName,
5252
firstName: user.firstName,
5353
});
54+
user.testReal = [faker.number.float({ fractionDigits: 4 })];
55+
user.testArrayNull = null;
56+
5457
user.testDate = faker.date.anytime();
5558

5659
return userPero.save(user);
Lines changed: 34 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { readFileSync, writeFileSync, unlinkSync } from 'fs';
2-
import {sep, join} from 'path'
2+
import { sep, join } from 'path';
33

44
import devkit from '@nx/devkit';
55
const { readCachedProjectGraph } = devkit;
@@ -11,21 +11,17 @@ function invariant(condition, message) {
1111
}
1212
}
1313

14-
function readJson(type = 'mjs'){
14+
function readJson(type = 'mjs') {
1515
try {
1616
return JSON.parse(readFileSync(`${type}/package.json`).toString());
1717
} catch (e) {
1818
console.error(`Error reading package.json file from library build output.`);
1919
}
2020
}
2121

22-
function addTypeToPath(path, type = 'mjs'){
23-
const [dot, ...other] = path.split(sep)
24-
return [
25-
dot,
26-
type,
27-
...other
28-
].join(sep)
22+
function addTypeToPath(path, type = 'mjs') {
23+
const [dot, ...other] = path.split(sep);
24+
return [dot, type, ...other].join(sep);
2925
}
3026

3127
const [, , name] = process.argv;
@@ -46,65 +42,54 @@ invariant(
4642
process.chdir(outputPath);
4743

4844
const angularModuleMap = {
49-
'nestjs-json-rpc-sdk': 'json-rpc-sdk.module',
50-
'json-api-nestjs-sdk': 'json-api-nestjs-sdk.module'
51-
}
45+
'nestjs-json-rpc-sdk': 'ngModule',
46+
'json-api-nestjs-sdk': 'ngModule',
47+
};
5248

5349
const mjsJson = readJson();
50+
5451
const angularModule = angularModuleMap[name];
5552
const angularModulePath = `./${angularModule}`;
5653

57-
const angularPath = mjsJson.exports[angularModulePath]
54+
const angularPath = mjsJson.exports[angularModulePath];
5855

59-
mjsJson.module = addTypeToPath(mjsJson.main)
60-
mjsJson.main = addTypeToPath(mjsJson.main, 'cjs')
61-
mjsJson.es2015 = mjsJson.module
62-
mjsJson.types = "./mjs/src/index.d.ts";
63-
mjsJson.exports[angularModulePath] = addTypeToPath(angularPath)
56+
mjsJson.module = addTypeToPath(mjsJson.main);
57+
mjsJson.main = addTypeToPath(mjsJson.main, 'cjs');
58+
mjsJson.es2015 = mjsJson.module;
59+
mjsJson.types = './mjs/src/index.d.ts';
60+
mjsJson.exports[angularModulePath] = addTypeToPath(angularPath);
6461
mjsJson.exports['.'] = {
6562
types: mjsJson.types,
6663
node: mjsJson.main,
6764
require: mjsJson.main,
6865
es2015: mjsJson.es2015,
6966
default: mjsJson.es2015,
70-
}
67+
};
7168
mjsJson.peerDependencies = {
7269
...mjsJson.dependencies,
73-
...mjsJson.peerDependencies
74-
}
70+
...mjsJson.peerDependencies,
71+
};
7572
mjsJson.typesVersions = {
76-
"*": {
73+
'*': {
7774
[angularModule]: [
78-
mjsJson.exports[angularModulePath].replace('.js', '.d.ts')
79-
]
80-
}
81-
}
82-
delete mjsJson.type
83-
delete mjsJson.dependencies
75+
mjsJson.exports[angularModulePath].replace('.js', '.d.ts'),
76+
],
77+
},
78+
};
79+
delete mjsJson.type;
80+
delete mjsJson.dependencies;
8481

8582
writeFileSync(`package.json`, JSON.stringify(mjsJson, null, 2));
86-
writeFileSync(
87-
'README.md',
88-
readFileSync(join('mjs', 'README.md').toString()),
89-
)
83+
writeFileSync('README.md', readFileSync(join('mjs', 'README.md').toString()));
9084
try {
91-
unlinkSync(join('cjs', 'package.json'))
92-
93-
} catch (e) {
94-
95-
}
85+
unlinkSync(join('cjs', 'package.json'));
86+
} catch (e) {}
9687
try {
97-
unlinkSync(join('mjs', 'package.json'))
98-
} catch (e) {
99-
100-
}
88+
unlinkSync(join('mjs', 'package.json'));
89+
} catch (e) {}
10190
try {
102-
unlinkSync(join('mjs', 'README.md'))
103-
} catch (e) {
104-
105-
}
91+
unlinkSync(join('mjs', 'README.md'));
92+
} catch (e) {}
10693
try {
107-
unlinkSync(join('cjs', 'README.md'))
108-
} catch (e) {
109-
110-
}
94+
unlinkSync(join('cjs', 'README.md'));
95+
} catch (e) {}

tools/scripts/prepare-for-angular.mjs

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,32 @@ const graph = readCachedProjectGraph();
1111
const project = graph.nodes[name];
1212

1313
const outputPath = project.data?.targets?.build?.options?.outputPath;
14-
const sourceRoot = project.data?.sourceRoot
14+
const sourceRoot = project.data?.sourceRoot;
1515

16-
const packageJson = JSON.parse(readFileSync(`${outputPath}/package.json`).toString());
17-
const angularFile = Object.keys(packageJson.exports).filter(i => !['./package.json', '.'].includes(i)).pop().replace('./', '')
18-
const [_, ...pathToModule] = sourceRoot.split('/')
19-
20-
const [nameSpace] = pathToModule
16+
const packageJson = JSON.parse(
17+
readFileSync(`${outputPath}/package.json`).toString()
18+
);
19+
const angularFile = Object.keys(packageJson.exports)
20+
.filter((i) => !['./package.json', '.'].includes(i))
21+
.pop()
22+
.replace('./', '');
23+
const [_, ...pathToModule] = sourceRoot.split('/');
2124

22-
const TEMP_FILE_PATH = 'libs/index.ts'
23-
const ANGULAR_MODULE_PATH = `tmp/angular-lib/${name}/esm2022/${nameSpace}/${name}/src/lib/${angularName}.mjs`
24-
const LIB_ANGULAR_MODULE_PATH = `${outputPath}/mjs/src/lib/${angularName}.js`
25+
const [nameSpace] = pathToModule;
2526

27+
const TEMP_FILE_PATH = 'libs/index.ts';
28+
const ANGULAR_MODULE_PATH = `tmp/angular-lib/ngModule/esm2022/${nameSpace}/${name}/src/lib/${angularName}.mjs`;
29+
const LIB_ANGULAR_MODULE_PATH = `${outputPath}/mjs/src/lib/${angularName}.js`;
2630

2731
writeFileSync(
2832
TEMP_FILE_PATH,
2933
`export * from './${pathToModule.join('/')}/${angularFile}';`
3034
);
3135

32-
promisify(exec)(
33-
`nx run ${name}:compile-for-angular`
34-
).then(r => {
35-
writeFileSync(LIB_ANGULAR_MODULE_PATH, readFileSync(ANGULAR_MODULE_PATH))
36-
}).finally(() => {
37-
unlinkSync(TEMP_FILE_PATH)
38-
})
39-
40-
41-
36+
promisify(exec)(`nx run ${name}:compile-for-angular`)
37+
.then((r) => {
38+
writeFileSync(LIB_ANGULAR_MODULE_PATH, readFileSync(ANGULAR_MODULE_PATH));
39+
})
40+
.finally(() => {
41+
unlinkSync(TEMP_FILE_PATH);
42+
});

0 commit comments

Comments
 (0)