Skip to content

Commit

Permalink
Merge pull request #719 from cbrianbet/feat/new-reporting-layer
Browse files Browse the repository at this point in the history
monthly highlights api
  • Loading branch information
cbrianbet authored Mar 28, 2024
2 parents 32e1df2 + 750be66 commit d5aeaac
Show file tree
Hide file tree
Showing 7 changed files with 60 additions and 15 deletions.
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
"fs": "^0.0.1-security",
"helmet": "^3.22.0",
"joi": "^17.12.2",
"jsonwebtoken": "^9.0.2",
"lodash": "^4.17.21",
"moment": "^2.27.0",
"mssql": "^10.0.2",
Expand Down
4 changes: 2 additions & 2 deletions src/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { HtsModule } from './hts/hts.module';
import { CareTreatmentModule } from './care-treatment/care-treatment.module';
import { OperationalHisModule } from './operational-his/operational-his.module';
import { PmtctRRIModule } from './pmtct-rri/pmtct-rri.module';
// import { SelfServiceModule } from './self-service/self-service.module';
import { SelfServiceModule } from './self-service/self-service.module';

import { AgeGroupMappingMiddleware } from './ageGroupMapping.middleware';
import { CachesModule } from './cache/caches.module';
Expand Down Expand Up @@ -109,7 +109,7 @@ import { CachesModule } from './cache/caches.module';
ttl: 60 * 60 * 24 * 1000, // Cache responses for a day
max: 1000,
}),
// SelfServiceModule,
SelfServiceModule,
],
controllers: [AppController],
providers: [
Expand Down
14 changes: 1 addition & 13 deletions src/hts/hts.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,7 @@ import { CqrsModule } from '@nestjs/cqrs';
import { ConfigurationModule } from '../config/config.module';
import { TypeOrmModule } from '@nestjs/typeorm';

// import { FactHtsUptake } from './uptake/entities/fact-htsuptake.entity';
// import { FactHtsUptakeAgeGender } from './uptake/entities/fact-htsuptake-agegender.entity';
// import { FactHtsPopulationType } from './uptake/entities/fact-hts-populationtype.entity';
// import { FactHtsTeststrategy } from './uptake/entities/fact-hts-teststrategy.entity';
// import { FactHtsEntryPoint } from './uptake/entities/fact-hts-entrypoint.entity';
// import { FactHtsClientTestedAs } from './uptake/entities/fact-hts-clienttestedas.entity';
// import { FactHtsMonthsLastTest } from './uptake/entities/fact-hts-monthslasttest.entity';
// import { FactHtsTBScreening } from './uptake/entities/fact-hts-tbscreening.entity';
// import { FactHtsClientSelfTested } from './uptake/entities/fact-hts-clientselftested.entity';
// import { FactHtsuptake } from './pns/entities/fact-htsuptake.entity';
// import { FactPNSSexualPartner } from './pns/entities/fact-pns-sexual-partner.entity';
// import { FactPNSChildren } from './pns/entities/fact-pns-children.entity';
// import { FactPNSKnowledgeHivStatus } from './pns/entities/fact-pns-knowledge-hiv-status.entity';

import { FactPrep } from './prep/entities/fact-prep.model';
import { AggregateHTSUptake } from './uptake/entities/aggregate-hts-uptake.model';
import { FactHTSClientTests } from './linkage/entities/fact-hts-client-tests.model';
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { IQueryHandler, QueryHandler } from '@nestjs/cqrs';
import { GetMetabaseMonthlyHighlightQuery } from '../impl/metabase-monthly-highlight.query';
import { sign } from 'jsonwebtoken';

@QueryHandler(GetMetabaseMonthlyHighlightQuery)
export class GetMetabaseMonthlyHighlightHandler implements IQueryHandler<GetMetabaseMonthlyHighlightQuery>{

async execute(query: GetMetabaseMonthlyHighlightQuery): Promise<any> {
const METABASE_SITE_URL = "https://metabase.kenyahmis.org";
const METABASE_SECRET_KEY = '919930fd2520f0ea5d890526bdb68daaaa37b8412dba0108a86dba5add85be44';

let payload = {
resource: { dashboard: 56 },
params: {}
};
let token = sign(payload, METABASE_SECRET_KEY);

return {url: METABASE_SITE_URL + "/embed/dashboard/" + token + "#bordered=true&titled=true"};
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export class GetMetabaseMonthlyHighlightQuery {

}
14 changes: 14 additions & 0 deletions src/self-service/self-service.controller.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import { Controller, Get, Query } from '@nestjs/common';
import { QueryBus } from '@nestjs/cqrs';
import { GetMetabaseMonthlyHighlightQuery } from './metabase/queries/impl/metabase-monthly-highlight.query';


@Controller('self-service')
export class SelfServiceController {
constructor(private readonly queryBus: QueryBus) {}

@Get('monthly-highlight')
async getHtsSites(): Promise<any> {
return this.queryBus.execute(new GetMetabaseMonthlyHighlightQuery());
}
}
18 changes: 18 additions & 0 deletions src/self-service/self-service.module.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { Module } from '@nestjs/common';
import { CqrsModule } from '@nestjs/cqrs';
import { ConfigurationModule } from '../config/config.module';
import { SelfServiceController } from './self-service.controller';
import { GetMetabaseMonthlyHighlightHandler } from './metabase/queries/handlers/metabase-monthly-highlight.handler';

@Module({
imports: [
CqrsModule,
ConfigurationModule,
],
providers: [
GetMetabaseMonthlyHighlightHandler

],
controllers: [SelfServiceController],
})
export class SelfServiceModule {}

0 comments on commit d5aeaac

Please sign in to comment.