diff --git a/src/config/configuration.ts b/src/config/configuration.ts index 3ad205ee..b26cfe02 100644 --- a/src/config/configuration.ts +++ b/src/config/configuration.ts @@ -28,6 +28,8 @@ export default (): any => { }, chirpstack: { apikey: process.env.CHIRPSTACK_API_KEY || "apikey", + hostname: process.env.CHIRPSTACK_HOSTNAME || "localhost", + port: process.env.CHIRPSTACK_PORT || 8080, }, logLevels: process.env.LOG_LEVEL ? GetLogLevels(process.env.LOG_LEVEL) : GetLogLevels("debug"), email: { diff --git a/src/controllers/user-management/auth.controller.ts b/src/controllers/user-management/auth.controller.ts index e300d544..1f8108d2 100644 --- a/src/controllers/user-management/auth.controller.ts +++ b/src/controllers/user-management/auth.controller.ts @@ -68,7 +68,7 @@ export class AuthController { // Login without proper roles if (!(req.user instanceof User)) { - if (req.user == ErrorCodes.MissingRole) { + if (req.user === ErrorCodes.MissingRole) { // Send back to frontend with an error if (redirectTarget) { return res.redirect(`${redirectTarget}?error=${ErrorCodes.MissingRole}`); @@ -82,6 +82,9 @@ export class AuthController { const { nameId, id } = req.user; const jwt = await this.authService.issueJwt(nameId, id, true); const baseUrl = redirectTarget ? redirectTarget : Configuration()["frontend"]["baseurl"]; + if (!baseUrl.includes("applications")) { + return res.redirect(`${baseUrl}/applications?jwt=${jwt.accessToken}`); + } return res.redirect(`${baseUrl}?jwt=${jwt.accessToken}`); } diff --git a/src/entities/dto/list-all-entities.dto.ts b/src/entities/dto/list-all-entities.dto.ts index 1aef0ff9..fe3cc177 100644 --- a/src/entities/dto/list-all-entities.dto.ts +++ b/src/entities/dto/list-all-entities.dto.ts @@ -41,5 +41,5 @@ export class ListAllEntitiesDto { | "deviceModel" | "devices" | "dataTargets" - | "organizationName"; + | "organizationName" } diff --git a/src/services/chirpstack/chirpstack-gateway.service.ts b/src/services/chirpstack/chirpstack-gateway.service.ts index a8f0d17c..12c970b9 100644 --- a/src/services/chirpstack/chirpstack-gateway.service.ts +++ b/src/services/chirpstack/chirpstack-gateway.service.ts @@ -491,7 +491,7 @@ export class ChirpstackGatewayService extends GenericChirpstackConfigurationServ private getSortingForGateways(query: ListAllEntitiesDto) { let orderBy = "gateway.id"; - if (query.orderOn == null) { + if (!query.orderOn) { return orderBy; } diff --git a/src/services/chirpstack/generic-chirpstack-configuration.service.ts b/src/services/chirpstack/generic-chirpstack-configuration.service.ts index 2d98d753..f712e0d6 100644 --- a/src/services/chirpstack/generic-chirpstack-configuration.service.ts +++ b/src/services/chirpstack/generic-chirpstack-configuration.service.ts @@ -21,7 +21,7 @@ import { MulticastGroupServiceClient } from "@chirpstack/chirpstack-api/api/mult @Injectable() export class GenericChirpstackConfigurationService { - baseUrlGRPC = `${process.env.CHIRPSTACK_HOSTNAME || "localhost"}:${process.env.CHIRPSTACK_PORT || "8080"}`; + baseUrlGRPC = `${configuration()["chirpstack"]["hostname"]}:${configuration()["chirpstack"]["port"]}`; private readonly innerLogger = new Logger(GenericChirpstackConfigurationService.name); protected applicationServiceClient = new ApplicationServiceClient(this.baseUrlGRPC, credentials.createInsecure()); diff --git a/src/services/data-management/payload-decoder.service.ts b/src/services/data-management/payload-decoder.service.ts index 935cffa2..1cab6a8e 100644 --- a/src/services/data-management/payload-decoder.service.ts +++ b/src/services/data-management/payload-decoder.service.ts @@ -46,7 +46,7 @@ export class PayloadDecoderService { organizationId: number | null | undefined ): Promise { const [result, total] = await this.payloadDecoderRepository.findAndCount({ - where: organizationId ? { id: organizationId } : {}, + where: organizationId ? { organization: {id: organizationId} } : {}, take: query.limit, skip: query.offset, order: this.getSorting(query), diff --git a/src/services/device-management/lorawan-device-database-enrich-job.ts b/src/services/device-management/lorawan-device-database-enrich-job.ts index 6bfe881a..b3d244c7 100644 --- a/src/services/device-management/lorawan-device-database-enrich-job.ts +++ b/src/services/device-management/lorawan-device-database-enrich-job.ts @@ -12,6 +12,7 @@ import { timestampToDate } from "@helpers/date.helper"; import { GetGatewayRequest, GetGatewayResponse } from "@chirpstack/chirpstack-api/api/gateway_pb"; import { GatewayServiceClient } from "@chirpstack/chirpstack-api/api/gateway_grpc_pb"; import { credentials } from "@grpc/grpc-js"; +import configuration from "@config/configuration"; @Injectable() export class LorawanDeviceDatabaseEnrichJob { @@ -23,7 +24,7 @@ export class LorawanDeviceDatabaseEnrichJob { @InjectRepository(Gateway) private gatewayRepository: Repository ) {} - baseUrlGRPC = `${process.env.CHIRPSTACK_HOSTNAME || "localhost"}:${process.env.CHIRPSTACK_PORT || "8080"}`; + baseUrlGRPC = `${configuration()["chirpstack"]["hostname"]}:${configuration()["chirpstack"]["port"]}`; private gatewayClient = new GatewayServiceClient(this.baseUrlGRPC, credentials.createInsecure()); private readonly logger = new Logger(LorawanDeviceDatabaseEnrichJob.name, { timestamp: true });