@constructorfleet/ultimate-govee
Version:
Library for interacting with Govee devices written in Typescript.
56 lines • 2.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable func-names */
const core_1 = require("@nestjs/core");
const ultimate_govee_config_1 = require("./ultimate-govee.config");
const ultimate_govee_module_1 = require("./ultimate-govee.module");
const ultimate_govee_service_1 = require("./ultimate-govee.service");
const config_1 = require("@nestjs/config");
const goveeConfig = (0, config_1.registerAs)('Dev.Govee.Config', () => ({
enableBle: true,
enableIoT: true,
enableOpenAPI: false,
persistDirectory: 'persisted',
}));
async function bootstrap() {
const app = await core_1.NestFactory.create(ultimate_govee_module_1.UltimateGoveeModule.forRootAsync({
imports: [config_1.ConfigModule.forRoot({ load: [goveeConfig] })],
inject: [goveeConfig.KEY],
useFactory: (config) => ({
persist: {
rootDirectory: config.persistDirectory,
},
auth: {},
channels: {
ble: {
enabled: config.enableBle,
},
iot: {
enabled: config.enableIoT,
},
rest: {},
openapi: {
enabled: config.enableOpenAPI,
},
},
}),
}), {
logger: ['warn', 'error', 'log', 'verbose', 'debug'],
snapshot: true,
});
app.enableShutdownHooks();
await app.listen(3000);
const service = app.get(ultimate_govee_service_1.UltimateGoveeService);
const config = app.get(ultimate_govee_config_1.UltimateGoveeConfiguration.provide);
if (config?.username && config?.password) {
await service.connect(config.username, config.password);
}
// service.channel('ble').setEnabled(config.connections?.ble === true);
// service.channel('iot').setEnabled(config.connections?.iot === true);
// service.channel('openapi').setEnabled(config.connections?.openApi === true);
// if (config?.apikey) {
// service.channel('openapi').setConfig({ apiKey: config.apikey });
// }
}
bootstrap();
//# sourceMappingURL=main.js.map