mirror of
https://github.com/vernu/textbee.git
synced 2026-04-19 06:22:10 -04:00
refactor api and remove unused code
This commit is contained in:
@@ -1,22 +0,0 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing'
|
||||
import { AppController } from './app.controller'
|
||||
import { AppService } from './app.service'
|
||||
|
||||
describe('AppController', () => {
|
||||
let appController: AppController
|
||||
|
||||
beforeEach(async () => {
|
||||
const app: TestingModule = await Test.createTestingModule({
|
||||
controllers: [AppController],
|
||||
providers: [AppService],
|
||||
}).compile()
|
||||
|
||||
appController = app.get<AppController>(AppController)
|
||||
})
|
||||
|
||||
describe('root', () => {
|
||||
it('should return "Hello World!"', () => {
|
||||
expect(appController.getHello()).toBe('Hello World!')
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -1,5 +0,0 @@
|
||||
import { Controller, Get } from '@nestjs/common'
|
||||
import { AppService } from './app.service'
|
||||
|
||||
@Controller()
|
||||
export class AppController {}
|
||||
@@ -1,6 +1,4 @@
|
||||
import { Module } from '@nestjs/common'
|
||||
import { AppController } from './app.controller'
|
||||
import { AppService } from './app.service'
|
||||
import { MongooseModule } from '@nestjs/mongoose'
|
||||
import { GatewayModule } from './gateway/gateway.module'
|
||||
import { AuthModule } from './auth/auth.module'
|
||||
@@ -13,7 +11,7 @@ import { UsersModule } from './users/users.module'
|
||||
UsersModule,
|
||||
GatewayModule,
|
||||
],
|
||||
controllers: [AppController],
|
||||
providers: [AppService],
|
||||
controllers: [],
|
||||
providers: [],
|
||||
})
|
||||
export class AppModule {}
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
import { Injectable } from '@nestjs/common'
|
||||
|
||||
@Injectable()
|
||||
export class AppService {}
|
||||
@@ -2,7 +2,7 @@ import { Module } from '@nestjs/common'
|
||||
import { JwtModule } from '@nestjs/jwt'
|
||||
import { MongooseModule } from '@nestjs/mongoose'
|
||||
import { PassportModule } from '@nestjs/passport'
|
||||
import { UsersModule } from 'src/users/users.module'
|
||||
import { UsersModule } from '../users/users.module'
|
||||
import { AuthController } from './auth.controller'
|
||||
import { AuthService } from './auth.service'
|
||||
import { JwtStrategy } from './jwt.strategy'
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { HttpException, HttpStatus, Injectable } from '@nestjs/common'
|
||||
import { UsersService } from 'src/users/users.service'
|
||||
import { UsersService } from '../users/users.service'
|
||||
import { JwtService } from '@nestjs/jwt'
|
||||
import * as bcrypt from 'bcryptjs'
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { InjectModel } from '@nestjs/mongoose'
|
||||
import { ApiKey, ApiKeyDocument } from './schemas/api-key.schema'
|
||||
import { Model } from 'mongoose'
|
||||
import { User } from 'src/users/schemas/user.schema'
|
||||
import { User } from '../users/schemas/user.schema'
|
||||
import axios from 'axios'
|
||||
@Injectable()
|
||||
export class AuthService {
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
Injectable,
|
||||
} from '@nestjs/common'
|
||||
import { JwtService } from '@nestjs/jwt'
|
||||
import { UsersService } from 'src/users/users.service'
|
||||
import { UsersService } from '../../users/users.service'
|
||||
import { AuthService } from '../auth.service'
|
||||
import * as bcrypt from 'bcryptjs'
|
||||
|
||||
@@ -32,15 +32,13 @@ export class AuthGuard implements CanActivate {
|
||||
// check apiKey in query params
|
||||
else if (request.query.apiKey) {
|
||||
const apiKeyStr = request.query.apiKey
|
||||
if (apiKeyStr) {
|
||||
var regex = new RegExp(`^${apiKeyStr.substr(0, 17)}`, 'g')
|
||||
const apiKey = await this.authService.findApiKey({
|
||||
apiKey: { $regex: regex },
|
||||
})
|
||||
const regex = new RegExp(`^${apiKeyStr.substr(0, 17)}`, 'g')
|
||||
const apiKey = await this.authService.findApiKey({
|
||||
apiKey: { $regex: regex },
|
||||
})
|
||||
|
||||
if (apiKey && bcrypt.compareSync(apiKeyStr, apiKey.hashedApiKey)) {
|
||||
userId = apiKey.user
|
||||
}
|
||||
if (apiKey && bcrypt.compareSync(apiKeyStr, apiKey.hashedApiKey)) {
|
||||
userId = apiKey.user
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
Injectable,
|
||||
} from '@nestjs/common'
|
||||
import mongoose from 'mongoose'
|
||||
import { UserRole } from 'src/users/user-roles.enum'
|
||||
import { UserRole } from '../../users/user-roles.enum'
|
||||
import { AuthService } from '../auth.service'
|
||||
|
||||
@Injectable()
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { ExtractJwt, Strategy } from 'passport-jwt'
|
||||
import { PassportStrategy } from '@nestjs/passport'
|
||||
import { HttpException, HttpStatus, Injectable } from '@nestjs/common'
|
||||
import { UsersService } from 'src/users/users.service'
|
||||
import { User } from 'src/users/schemas/user.schema'
|
||||
import { UsersService } from '../users/users.service'
|
||||
import { User } from '../users/schemas/user.schema'
|
||||
|
||||
@Injectable()
|
||||
export class JwtStrategy extends PassportStrategy(Strategy) {
|
||||
@@ -19,8 +19,7 @@ export class JwtStrategy extends PassportStrategy(Strategy) {
|
||||
const user = await this.usersService.findOne({ _id: userId })
|
||||
if (!user) {
|
||||
throw new HttpException('Unauthorized', HttpStatus.UNAUTHORIZED)
|
||||
} else {
|
||||
return user
|
||||
}
|
||||
return user
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'
|
||||
import { Document, Types } from 'mongoose'
|
||||
import { User } from 'src/users/schemas/user.schema'
|
||||
import { User } from '../../users/schemas/user.schema'
|
||||
|
||||
export type ApiKeyDocument = ApiKey & Document
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
Get,
|
||||
} from '@nestjs/common'
|
||||
import { ApiBearerAuth, ApiOperation, ApiQuery, ApiTags } from '@nestjs/swagger'
|
||||
import { AuthGuard } from 'src/auth/guards/auth.guard'
|
||||
import { AuthGuard } from '../auth/guards/auth.guard'
|
||||
import { RegisterDeviceInputDTO, SendSMSInputDTO } from './gateway.dto'
|
||||
import { GatewayService } from './gateway.service'
|
||||
import { CanModifyDevice } from './guards/can-modify-device.guard'
|
||||
|
||||
@@ -3,8 +3,8 @@ import { MongooseModule } from '@nestjs/mongoose'
|
||||
import { Device, DeviceSchema } from './schemas/device.schema'
|
||||
import { GatewayController } from './gateway.controller'
|
||||
import { GatewayService } from './gateway.service'
|
||||
import { AuthModule } from 'src/auth/auth.module'
|
||||
import { UsersModule } from 'src/users/users.module'
|
||||
import { AuthModule } from '../auth/auth.module'
|
||||
import { UsersModule } from '../users/users.module'
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { Test, TestingModule } from '@nestjs/testing'
|
||||
import { GatewayService } from './gateway.service'
|
||||
import { AuthModule } from '../auth/auth.module'
|
||||
|
||||
describe('GatewayService', () => {
|
||||
let service: GatewayService
|
||||
@@ -7,6 +8,7 @@ describe('GatewayService', () => {
|
||||
beforeEach(async () => {
|
||||
const module: TestingModule = await Test.createTestingModule({
|
||||
providers: [GatewayService],
|
||||
imports: [AuthModule],
|
||||
}).compile()
|
||||
|
||||
service = module.get<GatewayService>(GatewayService)
|
||||
|
||||
@@ -4,7 +4,7 @@ import { Device, DeviceDocument } from './schemas/device.schema'
|
||||
import { Model } from 'mongoose'
|
||||
import * as firebaseAdmin from 'firebase-admin'
|
||||
import { RegisterDeviceInputDTO, SendSMSInputDTO } from './gateway.dto'
|
||||
import { User } from 'src/users/schemas/user.schema'
|
||||
import { User } from '../users/schemas/user.schema'
|
||||
@Injectable()
|
||||
export class GatewayService {
|
||||
constructor(
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
Injectable,
|
||||
} from '@nestjs/common'
|
||||
import mongoose from 'mongoose'
|
||||
import { UserRole } from 'src/users/user-roles.enum'
|
||||
import { UserRole } from '../../users/user-roles.enum'
|
||||
import { GatewayService } from '../gateway.service'
|
||||
|
||||
@Injectable()
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'
|
||||
import { Document, Types } from 'mongoose'
|
||||
import { User } from 'src/users/schemas/user.schema'
|
||||
import { User } from '../../users/schemas/user.schema'
|
||||
|
||||
export type DeviceDocument = Device & Document
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
import { Prop, Schema, SchemaFactory } from '@nestjs/mongoose'
|
||||
import { Document, Types } from 'mongoose'
|
||||
import { ApiKey } from 'src/auth/schemas/api-key.schema'
|
||||
import { User } from 'src/users/schemas/user.schema'
|
||||
import { Device } from './device.schema'
|
||||
|
||||
export type SMSDocument = SMS & Document
|
||||
|
||||
Reference in New Issue
Block a user