alwaysai
Version:
The alwaysAI command-line interface (CLI)
48 lines • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.DeviceConfigFile = exports.validateDeviceConfig = exports.deviceConfigSchema = void 0;
const config_nodejs_1 = require("@alwaysai/config-nodejs");
const ajv_1 = require("ajv");
const constants_1 = require("../../constants");
const device_paths_1 = require("../../infrastructure/device-paths");
exports.deviceConfigSchema = {
type: 'object',
properties: {
systemId: {
type: 'string',
enum: constants_1.SYSTEM_IDS
},
deviceUuid: {
type: 'string'
},
accessToken: {
type: 'string'
},
refreshToken: {
type: 'string'
},
idToken: {
type: 'string'
}
},
required: [
'systemId',
'deviceUuid',
'accessToken',
'refreshToken',
'idToken'
],
additionalProperties: false
};
const ajv = new ajv_1.default();
exports.validateDeviceConfig = ajv.compile(exports.deviceConfigSchema);
function DeviceConfigFile(path) {
const filePath = path !== null && path !== void 0 ? path : (0, device_paths_1.getLocalDeviceConfigFilePath)();
const configFile = (0, config_nodejs_1.ConfigFileSchema)({
path: filePath,
validateFunction: exports.validateDeviceConfig
});
return configFile;
}
exports.DeviceConfigFile = DeviceConfigFile;
//# sourceMappingURL=device-json-file.js.map