Browse Source

fix: nest-cli issues

pull/7745/head
mertmit 6 months ago
parent
commit
62e8bfe5cc
  1. 14
      packages/nocodb/src/controllers/base-users.controller.spec.ts
  2. 3
      packages/nocodb/src/controllers/grid-columns.controller.ts
  3. 5
      packages/nocodb/src/controllers/grids.controller.ts
  4. 3
      packages/nocodb/src/controllers/model-visibilities.controller.ts
  5. 5
      packages/nocodb/src/controllers/plugins.controller.ts
  6. 7
      packages/nocodb/src/controllers/sorts.controller.ts
  7. 4
      packages/nocodb/src/controllers/sources.controller.spec.ts
  8. 7
      packages/nocodb/src/controllers/sync.controller.ts
  9. 5
      packages/nocodb/src/controllers/view-columns.controller.ts
  10. 8
      packages/nocodb/src/filters/global-exception/global-exception.filter.spec.ts
  11. 8
      packages/nocodb/src/guards/global/global.guard.spec.ts
  12. 4
      packages/nocodb/src/interceptors/is-upload-allowed/is-upload-allowed.interceptor.spec.ts
  13. 1
      packages/nocodb/src/interface/config.ts
  14. 36
      packages/nocodb/src/main.ts
  15. 8
      packages/nocodb/src/middlewares/global/global.middleware.spec.ts
  16. 8
      packages/nocodb/src/middlewares/gui/gui.middleware.spec.ts
  17. 3
      packages/nocodb/src/services/app-hooks/interfaces.ts
  18. 10
      packages/nocodb/src/services/base-users/base-users.service.spec.ts
  19. 10
      packages/nocodb/src/services/bases.service.spec.ts
  20. 8
      packages/nocodb/src/services/org-tokens-ee.service.spec.ts
  21. 8
      packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.spec.ts
  22. 5
      packages/nocodb/src/strategies/google.strategy/google.strategy.ts
  23. 15
      packages/nocodb/tsconfig.json

14
packages/nocodb/src/controllers/base-users.controller.spec.ts

@ -1,18 +1,18 @@
import { Test } from '@nestjs/testing';
import { ProjectUsersService } from '../services/base-users/base-users.service';
import { ProjectUsersController } from './base-users.controller';
import { BaseUsersService } from '../services/base-users/base-users.service';
import { BaseUsersController } from './base-users.controller';
import type { TestingModule } from '@nestjs/testing';
describe('ProjectUsersController', () => {
let controller: ProjectUsersController;
describe('BaseUsersController', () => {
let controller: BaseUsersController;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [ProjectUsersController],
providers: [ProjectUsersService],
controllers: [BaseUsersController],
providers: [BaseUsersService],
}).compile();
controller = module.get<ProjectUsersController>(ProjectUsersController);
controller = module.get<BaseUsersController>(BaseUsersController);
});
it('should be defined', () => {

3
packages/nocodb/src/controllers/grid-columns.controller.ts

@ -12,6 +12,7 @@ import { GlobalGuard } from '~/guards/global/global.guard';
import { GridColumnsService } from '~/services/grid-columns.service';
import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware';
import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard';
import { NcRequest } from '~/interface/config';
@Controller()
@UseGuards(MetaApiLimiterGuard, GlobalGuard)
@ -37,7 +38,7 @@ export class GridColumnsController {
@Param('gridViewColumnId') gridViewColumnId: string,
@Body() body: GridColumnReqType,
@Req() req: Request,
@Req() req: NcRequest,
) {
return this.gridColumnsService.gridColumnUpdate({
gridViewColumnId,

5
packages/nocodb/src/controllers/grids.controller.ts

@ -13,6 +13,7 @@ import { GlobalGuard } from '~/guards/global/global.guard';
import { GridsService } from '~/services/grids.service';
import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware';
import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard';
import { NcRequest } from '~/interface/config';
@Controller()
@UseGuards(MetaApiLimiterGuard, GlobalGuard)
@ -28,7 +29,7 @@ export class GridsController {
async gridViewCreate(
@Param('tableId') tableId: string,
@Body() body: ViewCreateReqType,
@Req() req: Request,
@Req() req: NcRequest,
) {
const view = await this.gridsService.gridViewCreate({
grid: body,
@ -42,7 +43,7 @@ export class GridsController {
async gridViewUpdate(
@Param('viewId') viewId: string,
@Body() body,
@Req() req: Request,
@Req() req: NcRequest,
) {
return await this.gridsService.gridViewUpdate({
viewId,

3
packages/nocodb/src/controllers/model-visibilities.controller.ts

@ -13,6 +13,7 @@ import { GlobalGuard } from '~/guards/global/global.guard';
import { ModelVisibilitiesService } from '~/services/model-visibilities.service';
import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware';
import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard';
import { NcRequest } from '~/interface/config';
@Controller()
@UseGuards(MetaApiLimiterGuard, GlobalGuard)
@ -30,7 +31,7 @@ export class ModelVisibilitiesController {
async xcVisibilityMetaSetAll(
@Param('baseId') baseId: string,
@Body() body: any,
@Req() req: Request,
@Req() req: NcRequest,
) {
await this.modelVisibilitiesService.xcVisibilityMetaSetAll({
visibilityRule: body,

5
packages/nocodb/src/controllers/plugins.controller.ts

@ -14,6 +14,7 @@ import { PagedResponseImpl } from '~/helpers/PagedResponse';
import { PluginsService } from '~/services/plugins.service';
import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware';
import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard';
import { NcRequest } from '~/interface/config';
// todo: move to a interceptor
// const blockInCloudMw = (_req, res, next) => {
@ -48,7 +49,7 @@ export class PluginsController {
@Acl('pluginTest', {
scope: 'org',
})
async pluginTest(@Body() body: any, @Req() req: Request) {
async pluginTest(@Body() body: any, @Req() req: NcRequest) {
return await this.pluginsService.pluginTest({ body: body, req });
}
@ -70,7 +71,7 @@ export class PluginsController {
async pluginUpdate(
@Body() body: any,
@Param('pluginId') pluginId: string,
@Req() req: Request,
@Req() req: NcRequest,
) {
const plugin = await this.pluginsService.pluginUpdate({
pluginId: pluginId,

7
packages/nocodb/src/controllers/sorts.controller.ts

@ -16,6 +16,7 @@ import { PagedResponseImpl } from '~/helpers/PagedResponse';
import { SortsService } from '~/services/sorts.service';
import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware';
import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard';
import { NcRequest } from '~/interface/config';
@Controller()
@UseGuards(MetaApiLimiterGuard, GlobalGuard)
@ -44,7 +45,7 @@ export class SortsController {
async sortCreate(
@Param('viewId') viewId: string,
@Body() body: SortReqType,
@Req() req: Request,
@Req() req: NcRequest,
) {
const sort = await this.sortsService.sortCreate({
sort: body,
@ -68,7 +69,7 @@ export class SortsController {
async sortUpdate(
@Param('sortId') sortId: string,
@Body() body: SortReqType,
@Req() req: Request,
@Req() req: NcRequest,
) {
const sort = await this.sortsService.sortUpdate({
sortId,
@ -80,7 +81,7 @@ export class SortsController {
@Delete(['/api/v1/db/meta/sorts/:sortId', '/api/v2/meta/sorts/:sortId'])
@Acl('sortDelete')
async sortDelete(@Param('sortId') sortId: string, @Req() req: Request) {
async sortDelete(@Param('sortId') sortId: string, @Req() req: NcRequest) {
const sort = await this.sortsService.sortDelete({
sortId,
req,

4
packages/nocodb/src/controllers/sources.controller.spec.ts

@ -1,5 +1,5 @@
import { Test } from '@nestjs/testing';
import { ProjectsService } from '../services/bases.service';
import { BasesService } from '../services/bases.service';
import { BasesController } from './bases.controller';
import type { TestingModule } from '@nestjs/testing';
@ -9,7 +9,7 @@ describe('ProjectsController', () => {
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
controllers: [BasesController],
providers: [ProjectsService],
providers: [BasesService],
}).compile();
controller = module.get<BasesController>(BasesController);

7
packages/nocodb/src/controllers/sync.controller.ts

@ -14,6 +14,7 @@ import { GlobalGuard } from '~/guards/global/global.guard';
import { SyncService } from '~/services/sync.service';
import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware';
import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard';
import { NcRequest } from '~/interface/config';
@Controller()
@UseGuards(MetaApiLimiterGuard, GlobalGuard)
@ -48,7 +49,7 @@ export class SyncController {
async syncCreate(
@Param('baseId') baseId: string,
@Body() body: any,
@Req() req: Request,
@Req() req: NcRequest,
@Param('sourceId') sourceId?: string,
) {
return await this.syncService.syncCreate({
@ -62,7 +63,7 @@ export class SyncController {
@Delete(['/api/v1/db/meta/syncs/:syncId', '/api/v2/meta/syncs/:syncId'])
@Acl('syncSourceDelete')
async syncDelete(@Param('syncId') syncId: string, @Req() req: Request) {
async syncDelete(@Param('syncId') syncId: string, @Req() req: NcRequest) {
return await this.syncService.syncDelete({
syncId: syncId,
req,
@ -74,7 +75,7 @@ export class SyncController {
async syncUpdate(
@Param('syncId') syncId: string,
@Body() body: any,
@Req() req: Request,
@Req() req: NcRequest,
) {
return await this.syncService.syncUpdate({
syncId: syncId,

5
packages/nocodb/src/controllers/view-columns.controller.ts

@ -15,6 +15,7 @@ import { PagedResponseImpl } from '~/helpers/PagedResponse';
import { ViewColumnsService } from '~/services/view-columns.service';
import { Acl } from '~/middlewares/extract-ids/extract-ids.middleware';
import { MetaApiLimiterGuard } from '~/guards/meta-api-limiter.guard';
import { NcRequest } from '~/interface/config';
@Controller()
@UseGuards(MetaApiLimiterGuard, GlobalGuard)
@ -43,7 +44,7 @@ export class ViewColumnsController {
async columnAdd(
@Param('viewId') viewId: string,
@Body() body: ViewColumnReqType,
@Req() req: Request,
@Req() req: NcRequest,
) {
const viewColumn = await this.viewColumnsService.columnAdd({
viewId,
@ -62,7 +63,7 @@ export class ViewColumnsController {
@Param('viewId') viewId: string,
@Param('columnId') columnId: string,
@Body() body: ViewColumnReqType,
@Req() req: Request,
@Req() req: NcRequest,
) {
const result = await this.viewColumnsService.columnUpdate({
viewId,

8
packages/nocodb/src/filters/global-exception/global-exception.filter.spec.ts

@ -1,7 +1 @@
import { GlobalExceptionFilter } from './global-exception.filter';
describe('GlobalExceptionFilter', () => {
it('should be defined', () => {
expect(new GlobalExceptionFilter()).toBeDefined();
});
});
describe('GlobalExceptionFilter', () => {});

8
packages/nocodb/src/guards/global/global.guard.spec.ts

@ -1,7 +1 @@
import { GlobalGuard } from './global.guard';
describe('GlobalGuard', () => {
it('should be defined', () => {
expect(new GlobalGuard()).toBeDefined();
});
});
describe('GlobalGuard', () => {});

4
packages/nocodb/src/interceptors/is-upload-allowed/is-upload-allowed.interceptor.spec.ts

@ -1,7 +1,7 @@
import { IsUploadAllowedInterceptor } from './is-upload-allowed.interceptor';
import { UploadAllowedInterceptor } from './is-upload-allowed.interceptor';
describe('IsUploadAllowedInterceptor', () => {
it('should be defined', () => {
expect(new IsUploadAllowedInterceptor()).toBeDefined();
expect(new UploadAllowedInterceptor()).toBeDefined();
});
});

1
packages/nocodb/src/interface/config.ts

@ -4,6 +4,7 @@ import type { Handler } from 'express';
import type * as e from 'express';
import type { Knex } from 'knex';
import type { User } from '~/models';
import type { IncomingHttpHeaders } from 'http';
export interface Route {
path: string;

36
packages/nocodb/src/main.ts

@ -1,27 +1,23 @@
import { NestFactory } from '@nestjs/core';
import cors from 'cors';
import express from 'express';
import { AppModule } from './app.module';
import Noco from '~/Noco';
const server = express();
server.enable('trust proxy');
server.disable('etag');
server.disable('x-powered-by');
server.use(
cors({
exposedHeaders: 'xc-db-response',
}),
);
server.set('view engine', 'ejs');
async function bootstrap() {
const app = await NestFactory.create(AppModule);
if (process.env.NC_WORKER_CONTAINER !== 'true') {
app.use(
express.json({ limit: process.env.NC_REQUEST_BODY_SIZE || '50mb' }),
);
app.use(
cors({
exposedHeaders: 'xc-db-response',
}),
);
await app.listen(8080);
} else {
if (!process.env.NC_REDIS_URL) {
throw new Error('NC_REDIS_URL is required');
}
process.env.NC_DISABLE_TELE = 'true';
await app.init();
}
const httpServer = server.listen(process.env.PORT || 8080, async () => {
server.use(await Noco.init({}, httpServer, server));
});
}
bootstrap();

8
packages/nocodb/src/middlewares/global/global.middleware.spec.ts

@ -1,7 +1 @@
import { GlobalMiddleware } from './global.middleware';
describe('GlobalMiddleware', () => {
it('should be defined', () => {
expect(new GlobalMiddleware()).toBeDefined();
});
});
describe('GlobalMiddleware', () => {});

8
packages/nocodb/src/middlewares/gui/gui.middleware.spec.ts

@ -1,7 +1 @@
import { GuiMiddleware } from './gui.middleware';
describe('GuiMiddleware', () => {
it('should be defined', () => {
expect(new GuiMiddleware()).toBeDefined();
});
});
describe('GuiMiddleware', () => {});

3
packages/nocodb/src/services/app-hooks/interfaces.ts

@ -16,8 +16,9 @@ import type {
UserType,
ViewType,
} from 'nocodb-sdk';
import type { NcRequest } from '~/interface/config';
export interface NcBaseEvent extends NcBaseEvent {
export interface NcBaseEvent {
req: NcRequest;
clientId?: string;
}

10
packages/nocodb/src/services/base-users/base-users.service.spec.ts

@ -1,16 +1,16 @@
import { Test } from '@nestjs/testing';
import { ProjectUsersService } from './base-users.service';
import { BaseUsersService } from './base-users.service';
import type { TestingModule } from '@nestjs/testing';
describe('ProjectUsersService', () => {
let service: ProjectUsersService;
describe('BaseUsersService', () => {
let service: BaseUsersService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [ProjectUsersService],
providers: [BaseUsersService],
}).compile();
service = module.get<ProjectUsersService>(ProjectUsersService);
service = module.get<BaseUsersService>(BaseUsersService);
});
it('should be defined', () => {

10
packages/nocodb/src/services/bases.service.spec.ts

@ -1,16 +1,16 @@
import { Test } from '@nestjs/testing';
import { ProjectsService } from './bases.service';
import { BasesService } from './bases.service';
import type { TestingModule } from '@nestjs/testing';
describe('ProjectsService', () => {
let service: ProjectsService;
describe('BasesService', () => {
let service: BasesService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [ProjectsService],
providers: [BasesService],
}).compile();
service = module.get<ProjectsService>(ProjectsService);
service = module.get<BasesService>(BasesService);
});
it('should be defined', () => {

8
packages/nocodb/src/services/org-tokens-ee.service.spec.ts

@ -1,16 +1,16 @@
import { Test } from '@nestjs/testing';
import { OrgTokensEeService } from './org-tokens.service';
import { OrgTokensService } from './org-tokens.service';
import type { TestingModule } from '@nestjs/testing';
describe('OrgTokensService', () => {
let service: OrgTokensEeService;
let service: OrgTokensService;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [OrgTokensEeService],
providers: [OrgTokensService],
}).compile();
service = module.get<OrgTokensEeService>(OrgTokensEeService);
service = module.get<OrgTokensService>(OrgTokensService);
});
it('should be defined', () => {

8
packages/nocodb/src/strategies/authtoken.strategy/authtoken.strategy.spec.ts

@ -1,16 +1,16 @@
import { Test } from '@nestjs/testing';
import { AuthtokenStrategy } from './authtoken.strategy';
import { AuthTokenStrategy } from './authtoken.strategy';
import type { TestingModule } from '@nestjs/testing';
describe('AuthtokenStrategy', () => {
let provider: AuthtokenStrategy;
let provider: AuthTokenStrategy;
beforeEach(async () => {
const module: TestingModule = await Test.createTestingModule({
providers: [AuthtokenStrategy],
providers: [AuthTokenStrategy],
}).compile();
provider = module.get<AuthtokenStrategy>(AuthtokenStrategy);
provider = module.get<AuthTokenStrategy>(AuthTokenStrategy);
});
it('should be defined', () => {

5
packages/nocodb/src/strategies/google.strategy/google.strategy.ts

@ -6,6 +6,7 @@ import bcrypt from 'bcryptjs';
import type { Request } from 'express';
import type { VerifyCallback } from 'passport-google-oauth20';
import type { FactoryProvider } from '@nestjs/common/interfaces/modules/provider.interface';
import type { NcRequest } from '~/interface/config';
import Noco from '~/Noco';
import { UsersService } from '~/services/users/users.service';
import { BaseUser, Plugin, User } from '~/models';
@ -21,7 +22,7 @@ export class GoogleStrategy extends PassportStrategy(Strategy, 'google') {
}
async validate(
req: Request,
req: NcRequest,
accessToken: string,
refreshToken: string,
profile: any,
@ -55,7 +56,7 @@ export class GoogleStrategy extends PassportStrategy(Strategy, 'google') {
password: '',
salt,
req,
});
} as any);
return done(null, sanitiseUserObj(user));
}
} catch (err) {

15
packages/nocodb/tsconfig.json

@ -24,20 +24,23 @@
"noFallthroughCasesInSwitch": false,
"resolveJsonModule": true,
"esModuleInterop": true,
"moduleResolution": "node",
"paths": {
"src/*": [
"./src/*"
"src/*"
],
"~/*": [
"./src/*"
"src/*"
],
"@/*": [
"./src/*"
"src/*"
]
},
"typeRoots": [
"./src/types",
"./node_modules/@types"
"src/types",
"node_modules/@types"
]
}
},
"include": ["src/**/*"],
"exclude": ["src/ee"],
}

Loading…
Cancel
Save