decord/source/modules/rpc/server/commands/certifiedDevices.tsx

90 lines
4 KiB
TypeScript
Raw Normal View History

// Module ID: 14557
// Function ID: 14558
// Name: certifiedDevices
// Dependencies: [4541, 1074, 4661, 8457, 9687, 9684, 14558, 2]
2026-07-23 10:11:24 +00:00
// Module 14557 (certifiedDevices)
import Constants2 from "Constants" /* 4661 */;
import OAuth2Scopes from "OAuth2Scopes" /* 8457 */;
import RPCErrorDefault from "RPCError" /* 9684 */;
import createRpcJoiSchemaObjectDefault from "createRpcJoiSchemaObject" /* 9687 */;
import CertifiedDeviceActionCreators from "CertifiedDeviceActionCreators" /* 14558 */;
import Constants_mod from "Constants" /* 4541 */;
import Constants_mod from "Constants" /* 1074 */;
import size from "module_2" /* 2 */;
2026-07-20 16:05:17 +00:00
let Constants = Constants_mod;
({ RPC_LOCAL_SCOPE, RPC_SCOPE_CONFIG } = Constants);
let Constants = Constants_mod;
({ RPCErrors: c3, RPCCommands } = Constants);
const DeviceTypes = Constants2.DeviceTypes;
2026-07-20 16:05:17 +00:00
let obj = {};
let obj2 = { scope: null, validation: null, handler: null };
let obj3 = {};
let items = [OAuth2Scopes.OAuth2Scopes.RPC, RPC_LOCAL_SCOPE];
obj3[RPC_SCOPE_CONFIG.ANY] = items;
obj2.scope = obj3;
obj2.validation = function validation(array) {
const obj = createRpcJoiSchemaObjectDefault(array);
const obj2 = { devices: null };
const requiredResult = createRpcJoiSchemaObjectDefault(array).required();
const arrayResult = array.array();
const obj3 = { type: null, id: null, vendor: null, model: null, related: null, echo_cancellation: null, noise_suppression: null, automatic_gain_control: null, hardware_mute: null };
2026-08-24 06:08:38 +00:00
const obj5 = createRpcJoiSchemaObjectDefault(array);
2026-07-20 16:05:17 +00:00
const stringResult = array.string();
const items = [, , ];
({ AUDIO_INPUT: arr[0], AUDIO_OUTPUT: arr[1], VIDEO_INPUT: arr[2] } = DeviceTypes);
obj3.type = array.string().required().valid(items);
2026-07-20 16:05:17 +00:00
const requiredResult1 = array.string().required();
const stringResult1 = array.string();
obj3.id = array.string().required().min(1);
2026-07-20 16:05:17 +00:00
const requiredResult2 = array.string().required();
2026-08-24 06:08:38 +00:00
const obj11 = createRpcJoiSchemaObjectDefault(array);
const obj4 = { name: null, url: null };
2026-08-24 06:08:38 +00:00
const requiredResult3 = createRpcJoiSchemaObjectDefault(array).required();
obj4.name = array.string().min(1);
2026-07-20 16:05:17 +00:00
const stringResult2 = array.string();
obj4.url = array.string().min(1);
obj3.vendor = requiredResult3.keys(obj4);
2026-07-20 16:05:17 +00:00
const stringResult3 = array.string();
2026-08-24 06:08:38 +00:00
const obj16 = createRpcJoiSchemaObjectDefault(array);
const obj6 = { name: null, url: null };
2026-08-24 06:08:38 +00:00
const requiredResult4 = createRpcJoiSchemaObjectDefault(array).required();
obj6.name = array.string().min(1);
2026-07-20 16:05:17 +00:00
const stringResult4 = array.string();
obj6.url = array.string().min(1);
obj3.model = requiredResult4.keys(obj6);
2026-07-20 16:05:17 +00:00
const stringResult5 = array.string();
const arrayResult2 = array.array();
obj3.related = arrayResult2.items(array.string().min(1));
obj3.echo_cancellation = array.boolean();
obj3.noise_suppression = array.boolean();
obj3.automatic_gain_control = array.boolean();
obj3.hardware_mute = array.boolean();
obj2.devices = arrayResult.items(obj5.keys(obj3));
return requiredResult.keys(obj2);
2026-07-20 16:05:17 +00:00
};
obj2.handler = function handler(socket) {
2026-07-20 16:05:17 +00:00
socket = socket.socket;
const devices = socket.args.devices;
if (null == socket.application.id) {
const obj2 = { errorCode: constants.INVALID_COMMAND };
const tmp10 = new RPCErrorDefault(obj2, "No application.");
2026-07-29 08:29:29 +00:00
throw tmp10;
2026-07-20 16:05:17 +00:00
} else {
CertifiedDeviceActionCreators.setCertifiedDevices(socket.application.id, devices.map((type) => {
const obj = { type: type.type, id: type.id, vendor: type.vendor, model: type.model, related: null, echoCancellation: type.echo_cancellation, noiseSuppression: type.noise_suppression, automaticGainControl: type.automatic_gain_control, hardwareMute: type.hardware_mute };
2026-07-20 16:05:17 +00:00
const related = type.related;
obj.related = related.filter((item) => {
closure_0 = item;
return devices.some((id) => id.id === closure_0);
});
return obj;
2026-07-20 16:05:17 +00:00
}));
}
};
obj[RPCCommands.SET_CERTIFIED_DEVICES] = obj2;
const result = size.fileFinishedImporting("modules/rpc/server/commands/certifiedDevices.tsx");
2026-07-20 16:05:17 +00:00
export default obj;