homebridge-homeconnect
Version:
A Homebridge plugin that connects Home Connect appliances to Apple HomeKit
111 lines • 5.31 kB
JavaScript
/**
* This module was automatically generated by `ts-interface-builder`
*/
import * as t from "ts-interface-checker";
// tslint:disable:object-literal-key-quotes
export const Scope = t.union(t.lit('Monitor'), t.lit('Control'), t.lit('Settings'), t.lit('Images'), t.lit('AirConditioner'), t.lit('AirConditioner-Monitor'), t.lit('AirConditioner-Control'), t.lit('AirConditioner-Settings'), t.lit('CleaningRobot'), t.lit('CleaningRobot-Monitor'), t.lit('CleaningRobot-Control'), t.lit('CleaningRobot-Settings'), t.lit('CoffeeMaker'), t.lit('CoffeeMaker-Monitor'), t.lit('CoffeeMaker-Control'), t.lit('CoffeeMaker-Settings'), t.lit('CookProcessor'), t.lit('CookProcessor-Monitor'), t.lit('CookProcessor-Control'), t.lit('CookProcessor-Settings'), t.lit('Dishwasher'), t.lit('Dishwasher-Monitor'), t.lit('Dishwasher-Control'), t.lit('Dishwasher-Settings'), t.lit('Dryer'), t.lit('Dryer-Monitor'), t.lit('Dryer-Control'), t.lit('Dryer-Settings'), t.lit('Freezer'), t.lit('Freezer-Monitor'), t.lit('Freezer-Control'), t.lit('Freezer-Settings'), t.lit('FridgeFreezer'), t.lit('FridgeFreezer-Monitor'), t.lit('FridgeFreezer-Control'), t.lit('FridgeFreezer-Settings'), t.lit('FridgeFreezer-Images'), t.lit('Hob'), t.lit('Hob-Monitor'), t.lit('Hob-Control'), t.lit('Hob-Settings'), t.lit('Hood'), t.lit('Hood-Monitor'), t.lit('Hood-Control'), t.lit('Hood-Settings'), t.lit('Microwave'), t.lit('Microwave-Monitor'), t.lit('Microwave-Control'), t.lit('Microwave-Settings'), t.lit('Oven'), t.lit('Oven-Monitor'), t.lit('Oven-Control'), t.lit('Oven-Settings'), t.lit('Refrigerator'), t.lit('Refrigerator-Monitor'), t.lit('Refrigerator-Control'), t.lit('Refrigerator-Settings'), t.lit('Washer'), t.lit('Washer-Monitor'), t.lit('Washer-Control'), t.lit('Washer-Settings'), t.lit('WasherDryer'), t.lit('WasherDryer-Monitor'), t.lit('WasherDryer-Control'), t.lit('WasherDryer-Settings'), t.lit('WineCooler'), t.lit('WineCooler-Monitor'), t.lit('WineCooler-Control'), t.lit('WineCooler-Settings'));
export const AuthorisationRequest = t.iface([], {
"client_id": "string",
"redirect_uri": t.opt("string"),
"response_type": t.lit('code'),
"scope": t.opt("string"),
"state": t.opt("AuthorisationState"),
"nonce": t.opt("string"),
"code_challenge": t.opt("string"),
"code_challenge_method": t.opt(t.union(t.lit('plain'), t.lit('S256'))),
});
export const AuthorisationState = t.union("string", "number");
export const AuthorisationResponse = t.iface([], {
"code": "string",
"grant_type": t.opt(t.lit('authorization_code')),
"state": t.opt("AuthorisationState"),
});
export const AccessTokenRequest = t.iface([], {
"client_id": "string",
"client_secret": t.opt("string"),
"redirect_uri": t.opt("string"),
"grant_type": t.lit('authorization_code'),
"code": "string",
"code_verifier": t.opt("string"),
});
export const AccessTokenResponse = t.iface([], {
"id_token": "string",
"access_token": "string",
"expires_in": "number",
"scope": "string",
"refresh_token": "string",
"token_type": t.opt(t.lit('Bearer')),
});
export const DeviceAuthorisationRequest = t.iface([], {
"client_id": "string",
"scope": t.opt("string"),
});
export const DeviceAuthorisationResponse = t.iface([], {
"device_code": "string",
"user_code": "string",
"verification_uri": "string",
"verification_uri_complete": t.opt("string"),
"expires_in": t.opt("number"),
"interval": t.opt("number"),
});
export const DeviceAccessTokenRequest = t.iface([], {
"grant_type": t.union(t.lit('urn:ietf:params:oauth:grant-type:device_code'), t.lit('device_code')),
"device_code": "string",
"client_id": "string",
"client_secret": t.opt("string"),
});
export const DeviceAccessTokenResponse = t.iface([], {
"id_token": "string",
"access_token": "string",
"expires_in": "number",
"scope": "string",
"refresh_token": "string",
"token_type": t.opt(t.lit('Bearer')),
});
export const AccessTokenRefreshRequest = t.iface([], {
"grant_type": t.lit('refresh_token'),
"refresh_token": "string",
"client_secret": t.opt("string"),
"scope": t.opt("string"),
"expires_in": t.opt("number"),
});
export const AccessTokenRefreshResponse = t.iface([], {
"id_token": "string",
"access_token": "string",
"expires_in": "number",
"scope": "string",
"refresh_token": "string",
"token_type": t.lit('Bearer'),
});
export const AbsoluteToken = t.iface([], {
"refreshToken": "string",
"accessToken": "string",
"accessExpires": "number",
"scopes": t.array("string"),
});
export const PersistAbsoluteTokens = t.iface([], {
[t.indexKey]: "AbsoluteToken",
});
export const AuthorisationError = t.iface([], {
"error": "string",
"error_description": "string",
});
const exportedTypeSuite = {
Scope,
AuthorisationRequest,
AuthorisationState,
AuthorisationResponse,
AccessTokenRequest,
AccessTokenResponse,
DeviceAuthorisationRequest,
DeviceAuthorisationResponse,
DeviceAccessTokenRequest,
DeviceAccessTokenResponse,
AccessTokenRefreshRequest,
AccessTokenRefreshResponse,
AbsoluteToken,
PersistAbsoluteTokens,
AuthorisationError,
};
export default exportedTypeSuite;
//# sourceMappingURL=api-auth-types-ti.js.map