Skip to content

Commit

Permalink
refactor: move lwm2m ingest to backend (#28)
Browse files Browse the repository at this point in the history
Because also the OOB devices will send LwM2M

Fixes #74
Fixes #73
Fixes #72
Fixes #70
Fixes #69
Fixes #66
Fixes #43
Fixes #42
Fixes #31
Fixes #30

BREAKING CHANGE: this removes the API endpoints for device data
  • Loading branch information
coderbyheart committed May 25, 2024
1 parent 3555839 commit e098c68
Show file tree
Hide file tree
Showing 46 changed files with 10,274 additions and 8,746 deletions.
7 changes: 2 additions & 5 deletions aws/acm.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
import {
ACMClient,
CertificateStatus,
ListCertificatesCommand,
} from '@aws-sdk/client-acm'
import type { ACMClient } from '@aws-sdk/client-acm'
import { CertificateStatus, ListCertificatesCommand } from '@aws-sdk/client-acm'
import chalk from 'chalk'

export type DomainCert = {
Expand Down
3 changes: 2 additions & 1 deletion aws/env.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { GetCallerIdentityCommand, STSClient } from '@aws-sdk/client-sts'
import type { STSClient } from '@aws-sdk/client-sts'
import { GetCallerIdentityCommand } from '@aws-sdk/client-sts'
import type { Environment } from 'aws-cdk-lib'

export const env = async ({
Expand Down
30 changes: 1 addition & 29 deletions cdk/BackendStack.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import type { App } from 'aws-cdk-lib'
import {
App,
CfnOutput,
aws_lambda as Lambda,
Stack,
Expand All @@ -8,15 +8,11 @@ import {
import type { BackendLambdas } from './packBackendLambdas.js'
import type { PackedLayer } from '@bifravst/aws-cdk-lambda-helpers/layer'
import { LambdaSource } from '@bifravst/aws-cdk-lambda-helpers/cdk'
import { ConnectionInformationGeoLocation } from './resources/ConnectionInformationGeoLocation.js'
import { LwM2MShadow } from './resources/LwM2MShadow.js'
import { PublicDevices } from './resources/PublicDevices.js'
import { ShareAPI } from './resources/ShareAPI.js'
import { STACK_NAME } from './stackConfig.js'
import { DevicesAPI } from './resources/DevicesAPI.js'
import { LwM2MObjectsHistory } from './resources/LwM2MObjectsHistory.js'
import { CustomDevicesAPI } from './resources/CustomDevicesAPI.js'
import { SenMLMessages } from './resources/SenMLMessage.js'
import { ContainerRepositoryId } from '../aws/ecr.js'
import { repositoryName } from '@bifravst/aws-cdk-ecr-helpers/repository'
import { ContinuousDeployment } from '@bifravst/ci'
Expand Down Expand Up @@ -107,24 +103,6 @@ export class BackendStack extends Stack {
})
}

new LwM2MShadow(this, {
baseLayer,
lambdaSources,
publicDevices,
})

const senMLMessages = new SenMLMessages(this, {
baseLayer,
lambdaSources,
publicDevices,
})
api.addRoute('GET /device/{id}/senml-imports', senMLMessages.importLogsFn)

new ConnectionInformationGeoLocation(this, {
baseLayer,
lambdaSources,
})

const shareAPI = new ShareAPI(this, {
domain,
baseLayer,
Expand All @@ -143,12 +121,6 @@ export class BackendStack extends Stack {
})
api.addRoute('GET /devices', devicesAPI.devicesFn)

const lwm2mObjectHistory = new LwM2MObjectsHistory(this, {
baseLayer,
lambdaSources,
})
api.addRoute('GET /history', lwm2mObjectHistory.historyFn)

const customDevicesAPI = new CustomDevicesAPI(this, {
baseLayer,
lambdaSources,
Expand Down
2 changes: 1 addition & 1 deletion cdk/baseLayer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import {
packLayer,
type PackedLayer,
} from '@bifravst/aws-cdk-lambda-helpers/layer'
import pJson from '../package.json'
import type pJson from '../package.json'

const dependencies: Array<keyof (typeof pJson)['dependencies']> = [
'@nordicsemiconductor/from-env',
Expand Down
14 changes: 0 additions & 14 deletions cdk/packBackendLambdas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,25 @@ import { packLambdaFromPath } from '@bifravst/aws-cdk-lambda-helpers'
import type { PackedLambda } from '@bifravst/aws-cdk-lambda-helpers'

export type BackendLambdas = {
updatesToLwM2M: PackedLambda
shareDevice: PackedLambda
sharingStatus: PackedLambda
sharingStatusFingerprint: PackedLambda
confirmOwnership: PackedLambda
connectionInformationGeoLocation: PackedLambda
devicesData: PackedLambda
storeObjectsInTimestream: PackedLambda
queryHistory: PackedLambda
createCredentials: PackedLambda
openSSL: PackedLambda
senMLToLwM2M: PackedLambda
senMLImportLogs: PackedLambda
apiHealthCheck: PackedLambda
}

const pack = async (id: string) => packLambdaFromPath(id, `lambda/${id}.ts`)

export const packBackendLambdas = async (): Promise<BackendLambdas> => ({
updatesToLwM2M: await pack('updatesToLwM2M'),
shareDevice: await pack('shareDevice'),
sharingStatus: await pack('sharingStatus'),
sharingStatusFingerprint: await pack('sharingStatusFingerprint'),
confirmOwnership: await pack('confirmOwnership'),
connectionInformationGeoLocation: await pack(
'connectionInformationGeoLocation',
),
devicesData: await pack('devicesData'),
storeObjectsInTimestream: await pack('storeObjectsInTimestream'),
queryHistory: await pack('queryHistory'),
createCredentials: await pack('createCredentials'),
openSSL: await pack('openSSL'),
senMLToLwM2M: await pack('senMLToLwM2M'),
senMLImportLogs: await pack('senMLImportLogs'),
apiHealthCheck: await pack('apiHealthCheck'),
})
111 changes: 0 additions & 111 deletions cdk/resources/ConnectionInformationGeoLocation.ts

This file was deleted.

8 changes: 2 additions & 6 deletions cdk/resources/CustomDevicesAPI.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
import { LambdaLogGroup } from '@bifravst/aws-cdk-lambda-helpers/cdk'
import { Permissions as SettingsPermissions } from '@bifravst/aws-ssm-settings-helpers/cdk'
import {
Duration,
aws_ecr as ECR,
aws_lambda as Lambda,
Stack,
} from 'aws-cdk-lib'
import type { aws_ecr as ECR } from 'aws-cdk-lib'
import { Duration, aws_lambda as Lambda, Stack } from 'aws-cdk-lib'
import { Construct } from 'constructs'
import type { BackendLambdas } from '../packBackendLambdas.js'
import { STACK_NAME } from '../stackConfig.js'
Expand Down
Loading

0 comments on commit e098c68

Please sign in to comment.