diff --git a/codegen/layouts/object.hbs b/codegen/layouts/resource.hbs similarity index 87% rename from codegen/layouts/object.hbs rename to codegen/layouts/resource.hbs index 4bc4db92..e1643b8e 100644 --- a/codegen/layouts/object.hbs +++ b/codegen/layouts/resource.hbs @@ -1,7 +1,8 @@ { +export interface ResourceLayoutContext { + classes: ClassLayoutContext[] +} + +const generateFromJsonProp = (property: ResourceClassProperty): string => { const { name } = property switch (property.kind) { @@ -31,9 +38,7 @@ const generateFromJsonProp = (property: ResourceObjectProperty): string => { } } -const generateConstructorParam = ( - property: ResourceObjectProperty, -): string => { +const generateConstructorParam = (property: ResourceClassProperty): string => { switch (property.kind) { case 'objectReference': return `public ${property.referenceName}|null $${property.name},` @@ -49,9 +54,9 @@ const generateConstructorParam = ( } } -export const setObjectLayoutContext = ( - schema: ResourceObjectSchema, -): ObjectLayoutContext => { +const getClassLayoutContext = ( + schema: ResourceClassSchema, +): ClassLayoutContext => { const sorted = [...schema.properties].sort((a, b) => a.name.localeCompare(b.name), ) @@ -62,3 +67,11 @@ export const setObjectLayoutContext = ( constructorParams: sorted.map(generateConstructorParam), } } + +export const setResourceLayoutContext = ( + resource: ResourceSchema, +): ResourceLayoutContext => ({ + classes: [resource.resourceClass, ...resource.localClasses].map( + getClassLayoutContext, + ), +}) diff --git a/codegen/lib/layouts/seam-client.ts b/codegen/lib/layouts/seam-client.ts index 03514c41..95296a48 100644 --- a/codegen/lib/layouts/seam-client.ts +++ b/codegen/lib/layouts/seam-client.ts @@ -83,9 +83,9 @@ const getMethodLayoutContext = ( export const setSeamClientLayoutContext = ( clients: PhpClient[], - baseResourceObjectNames: string[], + resourceNames: string[], ): SeamClientLayoutContext => ({ - useStatements: baseResourceObjectNames, + useStatements: resourceNames, parentClients: clients .filter((c) => c.isParentClient) .map((c) => ({ clientName: c.clientName, namespace: c.namespace })), diff --git a/codegen/lib/resource-model.ts b/codegen/lib/resource-model.ts index d09fe761..058a6899 100644 --- a/codegen/lib/resource-model.ts +++ b/codegen/lib/resource-model.ts @@ -1,9 +1,11 @@ -// Builds the resource object class model for src/Objects from the blueprint. +// Builds the resource class model for src/Resources from the blueprint. // -// Each blueprint resource becomes a PHP class. Nested object properties and -// lists of objects are split into their own classes named after the base -// resource and the property, e.g. the device battery property becomes -// DeviceBattery. Discriminated unions (events, action attempts, and +// Each blueprint resource becomes a PHP class in its own file. Nested object +// properties and lists of objects are split into their own classes, named +// after the base resource and the property, e.g. the device battery property +// becomes DeviceBattery. Those classes only exist to type a resource +// property, so they are emitted as local classes in the file of the resource +// that introduced them. Discriminated unions (events, action attempts, and // discriminated object lists) are flattened into a single class with the // union of the variant properties. @@ -12,24 +14,28 @@ import { pascalCase } from 'change-case' import { getPhpType } from './map-php-type.js' -export type ResourceObjectProperty = +export type ResourceClassProperty = | { name: string; kind: 'value'; phpType: string } | { name: string; kind: 'objectReference'; referenceName: string } | { name: string; kind: 'listReference'; referenceName: string } -export interface ResourceObjectSchema { +export interface ResourceClassSchema { name: string - properties: ResourceObjectProperty[] + properties: ResourceClassProperty[] } -export interface ResourceObjectModel { - baseResourceNames: string[] - schemas: ResourceObjectSchema[] +export interface ResourceSchema { + name: string + resourceClass: ResourceClassSchema + localClasses: ResourceClassSchema[] +} + +export interface ResourceModel { + resourceNames: string[] + resources: ResourceSchema[] } -export const createResourceObjectModel = ( - blueprint: Blueprint, -): ResourceObjectModel => { +export const createResourceModel = (blueprint: Blueprint): ResourceModel => { const baseResources = new Map() for (const resource of blueprint.resources) { @@ -57,50 +63,74 @@ export const createResourceObjectModel = ( ) } - const schemas = new Map() + const classes = new Map() + const localClassNames = new Map() - const addSchema = ( + let currentResourceName = '' + + const addClass = ( name: string, properties: Property[], baseName: string, ): void => { - if (schemas.has(name)) return - const schema: ResourceObjectSchema = { name, properties: [] } - schemas.set(name, schema) + if (classes.has(name)) return + const schema: ResourceClassSchema = { name, properties: [] } + classes.set(name, schema) + if (name !== currentResourceName) { + localClassNames.get(currentResourceName)?.push(name) + } schema.properties = properties.map((property) => - createResourceObjectProperty(property, baseName, addSchema), + createResourceClassProperty(property, baseName, addClass), ) } const baseResourceTypes = [...baseResources.keys()].sort() - for (const resourceType of baseResourceTypes) { - addSchema( - pascalCase(resourceType), - baseResources.get(resourceType) ?? [], - resourceType, - ) - } + const resources = baseResourceTypes.map((resourceType) => { + const name = pascalCase(resourceType) + currentResourceName = name + localClassNames.set(name, []) + addClass(name, baseResources.get(resourceType) ?? [], resourceType) + + const resourceClass = classes.get(name) + if (resourceClass == null) { + throw new Error( + `Missing class for resource ${resourceType}: ${name} is already used by a property class of another resource`, + ) + } + + return { + name, + resourceClass, + localClasses: (localClassNames.get(name) ?? []) + .map((localClassName) => { + const localClass = classes.get(localClassName) + if (localClass == null) { + throw new Error(`Missing local class ${localClassName}`) + } + return localClass + }) + .sort((a, b) => a.name.localeCompare(b.name)), + } + }) return { - baseResourceNames: baseResourceTypes.map((resourceType) => - pascalCase(resourceType), - ), - schemas: [...schemas.values()], + resourceNames: resources.map((resource) => resource.name), + resources, } } -const createResourceObjectProperty = ( +const createResourceClassProperty = ( property: Property, baseName: string, - addSchema: (name: string, properties: Property[], baseName: string) => void, -): ResourceObjectProperty => { + addClass: (name: string, properties: Property[], baseName: string) => void, +): ResourceClassProperty => { const referenceName = pascalCase(`${baseName}_${property.name}`) if (property.format === 'object') { const { properties } = property if (properties.length > 0) { - addSchema(referenceName, properties, baseName) + addClass(referenceName, properties, baseName) return { name: property.name, kind: 'objectReference', referenceName } } } @@ -116,7 +146,7 @@ const createResourceObjectProperty = ( : [] if (itemProperties.length > 0) { - addSchema(referenceName, itemProperties, baseName) + addClass(referenceName, itemProperties, baseName) return { name: property.name, kind: 'listReference', referenceName } } } diff --git a/codegen/lib/routes.ts b/codegen/lib/routes.ts index 4e7e359d..69622b02 100644 --- a/codegen/lib/routes.ts +++ b/codegen/lib/routes.ts @@ -1,7 +1,7 @@ // The Metalsmith plugin that generates the PHP SDK source files. // // The blueprint from @seamapi/blueprint is the only input: it drives the -// resource object classes written to src/Objects, and the resource client +// resource classes written to src/Resources, and the resource client // classes serialized into src/SeamClient.php. import type { Blueprint, Endpoint } from '@seamapi/blueprint' @@ -9,16 +9,16 @@ import { pascalCase } from 'change-case' import type Metalsmith from 'metalsmith' import type { PhpClient, PhpClientMethod } from './class-model.js' -import { setObjectLayoutContext } from './layouts/object.js' +import { setResourceLayoutContext } from './layouts/resource.js' import { setSeamClientLayoutContext } from './layouts/seam-client.js' import { getPhpType } from './map-php-type.js' -import { createResourceObjectModel } from './resource-model.js' +import { createResourceModel } from './resource-model.js' interface Metadata { blueprint: Blueprint } -const objectsPath = 'src/Objects' +const resourcesPath = 'src/Resources' const seamClientPath = 'src/SeamClient.php' export const routes = ( @@ -28,15 +28,16 @@ export const routes = ( const metadata = metalsmith.metadata() as Metadata const { blueprint } = metadata - // Resource object classes, one file per (deeply extracted) schema. The base - // resource names drive the SeamClient use statements. - const { baseResourceNames, schemas } = createResourceObjectModel(blueprint) + // Resource classes, one file per resource holding the resource class and + // the local classes for its object properties. The resource names drive the + // SeamClient use statements. + const { resourceNames, resources } = createResourceModel(blueprint) - for (const schema of schemas) { - files[`${objectsPath}/${schema.name}.php`] = { + for (const resource of resources) { + files[`${resourcesPath}/${resource.name}.php`] = { contents: Buffer.from('\n'), - layout: 'object.hbs', - ...setObjectLayoutContext(schema), + layout: 'resource.hbs', + ...setResourceLayoutContext(resource), } } @@ -83,7 +84,7 @@ export const routes = ( files[seamClientPath] = { contents: Buffer.from('\n'), layout: 'seam-client.hbs', - ...setSeamClientLayoutContext([...classMap.values()], baseResourceNames), + ...setSeamClientLayoutContext([...classMap.values()], resourceNames), } } @@ -93,9 +94,9 @@ const createClientMethod = (endpoint: Endpoint): PhpClientMethod => { const responseKey = response.responseType === 'void' ? '' : response.responseKey // Batch responses have no single resource type; they deserialize into the - // Batch resource object. A response whose resource type the blueprint - // cannot resolve ('unknown') has no resource object class to deserialize - // into, so the method is generated as returning void. + // Batch resource. A response whose resource type the blueprint cannot + // resolve ('unknown') has no resource class to deserialize into, so the + // method is generated as returning void. const resourceType = response.responseType === 'void' ? '' diff --git a/codegen/smith.ts b/codegen/smith.ts index cb6ae8c2..0349adf7 100644 --- a/codegen/smith.ts +++ b/codegen/smith.ts @@ -11,7 +11,7 @@ import { helpers, routes } from './lib/index.js' const rootDir = dirname(fileURLToPath(import.meta.url)) -await Promise.all([deleteAsync(['./src/Objects', './src/SeamClient.php'])]) +await Promise.all([deleteAsync(['./src/Resources', './src/SeamClient.php'])]) const partials = await getHandlebarsPartials(`${rootDir}/layouts/partials`) diff --git a/composer.json b/composer.json index 3a058de4..b8d0b9b4 100644 --- a/composer.json +++ b/composer.json @@ -8,7 +8,8 @@ "psr-4": { "Seam\\": ["src/", "src/Exceptions/"], "Tests\\": "tests/" - } + }, + "classmap": ["src/Resources/"] }, "authors": [ { diff --git a/src/Exceptions/ActionAttemptError.php b/src/Exceptions/ActionAttemptError.php index 2581e3b7..26530d06 100644 --- a/src/Exceptions/ActionAttemptError.php +++ b/src/Exceptions/ActionAttemptError.php @@ -2,7 +2,7 @@ namespace Seam; -use Seam\Objects\ActionAttempt; +use Seam\Resources\ActionAttempt; class ActionAttemptError extends \Exception { diff --git a/src/Exceptions/ActionAttemptFailedError.php b/src/Exceptions/ActionAttemptFailedError.php index cca53385..59e307fe 100644 --- a/src/Exceptions/ActionAttemptFailedError.php +++ b/src/Exceptions/ActionAttemptFailedError.php @@ -2,7 +2,7 @@ namespace Seam; -use Seam\Objects\ActionAttempt; +use Seam\Resources\ActionAttempt; class ActionAttemptFailedError extends ActionAttemptError { diff --git a/src/Exceptions/ActionAttemptTimeoutError.php b/src/Exceptions/ActionAttemptTimeoutError.php index 9ae2a7b7..d0b6a343 100644 --- a/src/Exceptions/ActionAttemptTimeoutError.php +++ b/src/Exceptions/ActionAttemptTimeoutError.php @@ -2,7 +2,7 @@ namespace Seam; -use Seam\Objects\ActionAttempt; +use Seam\Resources\ActionAttempt; class ActionAttemptTimeoutError extends ActionAttemptError { diff --git a/src/Objects/AccessCode.php b/src/Objects/AccessCode.php deleted file mode 100644 index cd129b37..00000000 --- a/src/Objects/AccessCode.php +++ /dev/null @@ -1,83 +0,0 @@ -access_code_id ?? null, - code: $json->code ?? null, - common_code_key: $json->common_code_key ?? null, - created_at: $json->created_at ?? null, - device_id: $json->device_id ?? null, - dormakaba_oracode_metadata: isset($json->dormakaba_oracode_metadata) - ? AccessCodeDormakabaOracodeMetadata::from_json( - $json->dormakaba_oracode_metadata, - ) - : null, - ends_at: $json->ends_at ?? null, - errors: array_map( - fn($e) => AccessCodeErrors::from_json($e), - $json->errors ?? [], - ), - is_backup: $json->is_backup ?? null, - is_backup_access_code_available: $json->is_backup_access_code_available ?? - null, - is_external_modification_allowed: $json->is_external_modification_allowed ?? - null, - is_managed: $json->is_managed ?? null, - is_offline_access_code: $json->is_offline_access_code ?? null, - is_one_time_use: $json->is_one_time_use ?? null, - is_scheduled_on_device: $json->is_scheduled_on_device ?? null, - is_waiting_for_code_assignment: $json->is_waiting_for_code_assignment ?? - null, - name: $json->name ?? null, - pending_mutations: array_map( - fn($p) => AccessCodePendingMutations::from_json($p), - $json->pending_mutations ?? [], - ), - pulled_backup_access_code_id: $json->pulled_backup_access_code_id ?? - null, - starts_at: $json->starts_at ?? null, - status: $json->status ?? null, - type: $json->type ?? null, - warnings: array_map( - fn($w) => AccessCodeWarnings::from_json($w), - $json->warnings ?? [], - ), - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public string|null $access_code_id, - public string|null $code, - public string|null $common_code_key, - public string|null $created_at, - public string|null $device_id, - public AccessCodeDormakabaOracodeMetadata|null $dormakaba_oracode_metadata, - public string|null $ends_at, - public array $errors, - public bool|null $is_backup, - public bool|null $is_backup_access_code_available, - public bool|null $is_external_modification_allowed, - public bool|null $is_managed, - public bool|null $is_offline_access_code, - public bool|null $is_one_time_use, - public bool|null $is_scheduled_on_device, - public bool|null $is_waiting_for_code_assignment, - public string|null $name, - public array $pending_mutations, - public string|null $pulled_backup_access_code_id, - public string|null $starts_at, - public string|null $status, - public string|null $type, - public array $warnings, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/AccessCodeDormakabaOracodeMetadata.php b/src/Objects/AccessCodeDormakabaOracodeMetadata.php deleted file mode 100644 index e562b3a2..00000000 --- a/src/Objects/AccessCodeDormakabaOracodeMetadata.php +++ /dev/null @@ -1,35 +0,0 @@ -is_cancellable ?? null, - is_early_checkin_able: $json->is_early_checkin_able ?? null, - is_extendable: $json->is_extendable ?? null, - is_overridable: $json->is_overridable ?? null, - site_name: $json->site_name ?? null, - stay_id: $json->stay_id ?? null, - user_level_id: $json->user_level_id ?? null, - user_level_name: $json->user_level_name ?? null, - ); - } - - public function __construct( - public bool|null $is_cancellable, - public bool|null $is_early_checkin_able, - public bool|null $is_extendable, - public bool|null $is_overridable, - public string|null $site_name, - public float|null $stay_id, - public string|null $user_level_id, - public string|null $user_level_name, - ) {} -} diff --git a/src/Objects/AccessCodeErrors.php b/src/Objects/AccessCodeErrors.php deleted file mode 100644 index eb11d921..00000000 --- a/src/Objects/AccessCodeErrors.php +++ /dev/null @@ -1,44 +0,0 @@ -change_type ?? null, - created_at: $json->created_at ?? null, - error_code: $json->error_code ?? null, - is_access_code_error: $json->is_access_code_error ?? null, - is_bridge_error: $json->is_bridge_error ?? null, - is_connected_account_error: $json->is_connected_account_error ?? - null, - is_device_error: $json->is_device_error ?? null, - managed_access_code_id: $json->managed_access_code_id ?? null, - message: $json->message ?? null, - modified_fields: array_map( - fn($m) => AccessCodeModifiedFields::from_json($m), - $json->modified_fields ?? [], - ), - unmanaged_access_code_id: $json->unmanaged_access_code_id ?? null, - ); - } - - public function __construct( - public string|null $change_type, - public string|null $created_at, - public string|null $error_code, - public bool|null $is_access_code_error, - public bool|null $is_bridge_error, - public bool|null $is_connected_account_error, - public bool|null $is_device_error, - public string|null $managed_access_code_id, - public string|null $message, - public array $modified_fields, - public string|null $unmanaged_access_code_id, - ) {} -} diff --git a/src/Objects/AccessCodeFrom.php b/src/Objects/AccessCodeFrom.php deleted file mode 100644 index 05eb0844..00000000 --- a/src/Objects/AccessCodeFrom.php +++ /dev/null @@ -1,26 +0,0 @@ -code ?? null, - ends_at: $json->ends_at ?? null, - name: $json->name ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $code, - public string|null $ends_at, - public string|null $name, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AccessCodeModifiedFields.php b/src/Objects/AccessCodeModifiedFields.php deleted file mode 100644 index 4e6cb14c..00000000 --- a/src/Objects/AccessCodeModifiedFields.php +++ /dev/null @@ -1,24 +0,0 @@ -field ?? null, - from: $json->from ?? null, - to: $json->to ?? null, - ); - } - - public function __construct( - public string|null $field, - public string|null $from, - public string|null $to, - ) {} -} diff --git a/src/Objects/AccessCodePendingMutations.php b/src/Objects/AccessCodePendingMutations.php deleted file mode 100644 index e12cadde..00000000 --- a/src/Objects/AccessCodePendingMutations.php +++ /dev/null @@ -1,33 +0,0 @@ -created_at ?? null, - from: isset($json->from) - ? AccessCodeFrom::from_json($json->from) - : null, - message: $json->message ?? null, - mutation_code: $json->mutation_code ?? null, - scheduled_at: $json->scheduled_at ?? null, - to: isset($json->to) ? AccessCodeTo::from_json($json->to) : null, - ); - } - - public function __construct( - public string|null $created_at, - public AccessCodeFrom|null $from, - public string|null $message, - public string|null $mutation_code, - public string|null $scheduled_at, - public AccessCodeTo|null $to, - ) {} -} diff --git a/src/Objects/AccessCodeTo.php b/src/Objects/AccessCodeTo.php deleted file mode 100644 index 6d860fac..00000000 --- a/src/Objects/AccessCodeTo.php +++ /dev/null @@ -1,26 +0,0 @@ -code ?? null, - ends_at: $json->ends_at ?? null, - name: $json->name ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $code, - public string|null $ends_at, - public string|null $name, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AccessCodeWarnings.php b/src/Objects/AccessCodeWarnings.php deleted file mode 100644 index 83d249e3..00000000 --- a/src/Objects/AccessCodeWarnings.php +++ /dev/null @@ -1,31 +0,0 @@ -change_type ?? null, - created_at: $json->created_at ?? null, - message: $json->message ?? null, - modified_fields: array_map( - fn($m) => AccessCodeModifiedFields::from_json($m), - $json->modified_fields ?? [], - ), - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $change_type, - public string|null $created_at, - public string|null $message, - public array $modified_fields, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/AccessGrant.php b/src/Objects/AccessGrant.php deleted file mode 100644 index 18937da2..00000000 --- a/src/Objects/AccessGrant.php +++ /dev/null @@ -1,70 +0,0 @@ -access_grant_id ?? null, - access_grant_key: $json->access_grant_key ?? null, - access_method_ids: $json->access_method_ids ?? null, - client_session_token: $json->client_session_token ?? null, - created_at: $json->created_at ?? null, - customization_profile_id: $json->customization_profile_id ?? null, - display_name: $json->display_name ?? null, - ends_at: $json->ends_at ?? null, - errors: array_map( - fn($e) => AccessGrantErrors::from_json($e), - $json->errors ?? [], - ), - instant_key_url: $json->instant_key_url ?? null, - location_ids: $json->location_ids ?? null, - name: $json->name ?? null, - pending_mutations: array_map( - fn($p) => AccessGrantPendingMutations::from_json($p), - $json->pending_mutations ?? [], - ), - requested_access_methods: array_map( - fn($r) => AccessGrantRequestedAccessMethods::from_json($r), - $json->requested_access_methods ?? [], - ), - reservation_key: $json->reservation_key ?? null, - space_ids: $json->space_ids ?? null, - starts_at: $json->starts_at ?? null, - user_identity_id: $json->user_identity_id ?? null, - warnings: array_map( - fn($w) => AccessGrantWarnings::from_json($w), - $json->warnings ?? [], - ), - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public string|null $access_grant_id, - public string|null $access_grant_key, - public array|null $access_method_ids, - public string|null $client_session_token, - public string|null $created_at, - public string|null $customization_profile_id, - public string|null $display_name, - public string|null $ends_at, - public array $errors, - public string|null $instant_key_url, - public array|null $location_ids, - public string|null $name, - public array $pending_mutations, - public array $requested_access_methods, - public string|null $reservation_key, - public array|null $space_ids, - public string|null $starts_at, - public string|null $user_identity_id, - public array $warnings, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/AccessGrantErrors.php b/src/Objects/AccessGrantErrors.php deleted file mode 100644 index 3cd4362a..00000000 --- a/src/Objects/AccessGrantErrors.php +++ /dev/null @@ -1,26 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - missing_device_ids: $json->missing_device_ids ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - public array|null $missing_device_ids, - ) {} -} diff --git a/src/Objects/AccessGrantFailedDevices.php b/src/Objects/AccessGrantFailedDevices.php deleted file mode 100644 index 92362630..00000000 --- a/src/Objects/AccessGrantFailedDevices.php +++ /dev/null @@ -1,24 +0,0 @@ -device_id ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/AccessGrantFrom.php b/src/Objects/AccessGrantFrom.php deleted file mode 100644 index 4eade595..00000000 --- a/src/Objects/AccessGrantFrom.php +++ /dev/null @@ -1,24 +0,0 @@ -device_ids ?? null, - ends_at: $json->ends_at ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public array|null $device_ids, - public string|null $ends_at, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AccessGrantPendingMutations.php b/src/Objects/AccessGrantPendingMutations.php deleted file mode 100644 index a05eb302..00000000 --- a/src/Objects/AccessGrantPendingMutations.php +++ /dev/null @@ -1,33 +0,0 @@ -access_method_ids ?? null, - created_at: $json->created_at ?? null, - from: isset($json->from) - ? AccessGrantFrom::from_json($json->from) - : null, - message: $json->message ?? null, - mutation_code: $json->mutation_code ?? null, - to: isset($json->to) ? AccessGrantTo::from_json($json->to) : null, - ); - } - - public function __construct( - public array|null $access_method_ids, - public string|null $created_at, - public AccessGrantFrom|null $from, - public string|null $message, - public string|null $mutation_code, - public AccessGrantTo|null $to, - ) {} -} diff --git a/src/Objects/AccessGrantRequestedAccessMethods.php b/src/Objects/AccessGrantRequestedAccessMethods.php deleted file mode 100644 index a3127279..00000000 --- a/src/Objects/AccessGrantRequestedAccessMethods.php +++ /dev/null @@ -1,31 +0,0 @@ -code ?? null, - created_access_method_ids: $json->created_access_method_ids ?? null, - created_at: $json->created_at ?? null, - display_name: $json->display_name ?? null, - instant_key_max_use_count: $json->instant_key_max_use_count ?? null, - mode: $json->mode ?? null, - ); - } - - public function __construct( - public string|null $code, - public array|null $created_access_method_ids, - public string|null $created_at, - public string|null $display_name, - public int|null $instant_key_max_use_count, - public string|null $mode, - ) {} -} diff --git a/src/Objects/AccessGrantTo.php b/src/Objects/AccessGrantTo.php deleted file mode 100644 index bbcd4078..00000000 --- a/src/Objects/AccessGrantTo.php +++ /dev/null @@ -1,26 +0,0 @@ -common_code_key ?? null, - device_ids: $json->device_ids ?? null, - ends_at: $json->ends_at ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $common_code_key, - public array|null $device_ids, - public string|null $ends_at, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AccessGrantWarnings.php b/src/Objects/AccessGrantWarnings.php deleted file mode 100644 index 92cceafa..00000000 --- a/src/Objects/AccessGrantWarnings.php +++ /dev/null @@ -1,39 +0,0 @@ -access_method_ids ?? null, - created_at: $json->created_at ?? null, - device_id: $json->device_id ?? null, - failed_devices: array_map( - fn($f) => AccessGrantFailedDevices::from_json($f), - $json->failed_devices ?? [], - ), - message: $json->message ?? null, - new_code: $json->new_code ?? null, - original_code: $json->original_code ?? null, - reason: $json->reason ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public array|null $access_method_ids, - public string|null $created_at, - public string|null $device_id, - public array $failed_devices, - public string|null $message, - public string|null $new_code, - public string|null $original_code, - public string|null $reason, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/AccessMethod.php b/src/Objects/AccessMethod.php deleted file mode 100644 index da472bf8..00000000 --- a/src/Objects/AccessMethod.php +++ /dev/null @@ -1,63 +0,0 @@ -access_method_id ?? null, - client_session_token: $json->client_session_token ?? null, - code: $json->code ?? null, - created_at: $json->created_at ?? null, - customization_profile_id: $json->customization_profile_id ?? null, - display_name: $json->display_name ?? null, - errors: array_map( - fn($e) => AccessMethodErrors::from_json($e), - $json->errors ?? [], - ), - instant_key_url: $json->instant_key_url ?? null, - is_assignment_required: $json->is_assignment_required ?? null, - is_encoding_required: $json->is_encoding_required ?? null, - is_issued: $json->is_issued ?? null, - is_ready_for_assignment: $json->is_ready_for_assignment ?? null, - is_ready_for_encoding: $json->is_ready_for_encoding ?? null, - issued_at: $json->issued_at ?? null, - mode: $json->mode ?? null, - pending_mutations: array_map( - fn($p) => AccessMethodPendingMutations::from_json($p), - $json->pending_mutations ?? [], - ), - warnings: array_map( - fn($w) => AccessMethodWarnings::from_json($w), - $json->warnings ?? [], - ), - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public string|null $access_method_id, - public string|null $client_session_token, - public string|null $code, - public string|null $created_at, - public string|null $customization_profile_id, - public string|null $display_name, - public array $errors, - public string|null $instant_key_url, - public bool|null $is_assignment_required, - public bool|null $is_encoding_required, - public bool|null $is_issued, - public bool|null $is_ready_for_assignment, - public bool|null $is_ready_for_encoding, - public string|null $issued_at, - public string|null $mode, - public array $pending_mutations, - public array $warnings, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/AccessMethodErrors.php b/src/Objects/AccessMethodErrors.php deleted file mode 100644 index 394453c0..00000000 --- a/src/Objects/AccessMethodErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/AccessMethodFrom.php b/src/Objects/AccessMethodFrom.php deleted file mode 100644 index 7111d3a8..00000000 --- a/src/Objects/AccessMethodFrom.php +++ /dev/null @@ -1,24 +0,0 @@ -device_ids ?? null, - ends_at: $json->ends_at ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public array|null $device_ids, - public string|null $ends_at, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AccessMethodPendingMutations.php b/src/Objects/AccessMethodPendingMutations.php deleted file mode 100644 index 117d9dbb..00000000 --- a/src/Objects/AccessMethodPendingMutations.php +++ /dev/null @@ -1,31 +0,0 @@ -created_at ?? null, - from: isset($json->from) - ? AccessMethodFrom::from_json($json->from) - : null, - message: $json->message ?? null, - mutation_code: $json->mutation_code ?? null, - to: isset($json->to) ? AccessMethodTo::from_json($json->to) : null, - ); - } - - public function __construct( - public string|null $created_at, - public AccessMethodFrom|null $from, - public string|null $message, - public string|null $mutation_code, - public AccessMethodTo|null $to, - ) {} -} diff --git a/src/Objects/AccessMethodTo.php b/src/Objects/AccessMethodTo.php deleted file mode 100644 index a1ca5f23..00000000 --- a/src/Objects/AccessMethodTo.php +++ /dev/null @@ -1,24 +0,0 @@ -device_ids ?? null, - ends_at: $json->ends_at ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public array|null $device_ids, - public string|null $ends_at, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AccessMethodWarnings.php b/src/Objects/AccessMethodWarnings.php deleted file mode 100644 index 114cac67..00000000 --- a/src/Objects/AccessMethodWarnings.php +++ /dev/null @@ -1,26 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - original_access_method_id: $json->original_access_method_id ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $original_access_method_id, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/AcsAccessGroup.php b/src/Objects/AcsAccessGroup.php deleted file mode 100644 index 76c0658b..00000000 --- a/src/Objects/AcsAccessGroup.php +++ /dev/null @@ -1,65 +0,0 @@ -access_group_type ?? null, - access_group_type_display_name: $json->access_group_type_display_name ?? - null, - access_schedule: isset($json->access_schedule) - ? AcsAccessGroupAccessSchedule::from_json( - $json->access_schedule, - ) - : null, - acs_access_group_id: $json->acs_access_group_id ?? null, - acs_system_id: $json->acs_system_id ?? null, - connected_account_id: $json->connected_account_id ?? null, - created_at: $json->created_at ?? null, - display_name: $json->display_name ?? null, - errors: array_map( - fn($e) => AcsAccessGroupErrors::from_json($e), - $json->errors ?? [], - ), - external_type: $json->external_type ?? null, - external_type_display_name: $json->external_type_display_name ?? - null, - is_managed: $json->is_managed ?? null, - name: $json->name ?? null, - pending_mutations: array_map( - fn($p) => AcsAccessGroupPendingMutations::from_json($p), - $json->pending_mutations ?? [], - ), - warnings: array_map( - fn($w) => AcsAccessGroupWarnings::from_json($w), - $json->warnings ?? [], - ), - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public string|null $access_group_type, - public string|null $access_group_type_display_name, - public AcsAccessGroupAccessSchedule|null $access_schedule, - public string|null $acs_access_group_id, - public string|null $acs_system_id, - public string|null $connected_account_id, - public string|null $created_at, - public string|null $display_name, - public array $errors, - public string|null $external_type, - public string|null $external_type_display_name, - public bool|null $is_managed, - public string|null $name, - public array $pending_mutations, - public array $warnings, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/AcsAccessGroupAccessSchedule.php b/src/Objects/AcsAccessGroupAccessSchedule.php deleted file mode 100644 index 78633da8..00000000 --- a/src/Objects/AcsAccessGroupAccessSchedule.php +++ /dev/null @@ -1,23 +0,0 @@ -ends_at ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $ends_at, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AcsAccessGroupErrors.php b/src/Objects/AcsAccessGroupErrors.php deleted file mode 100644 index 494e48e8..00000000 --- a/src/Objects/AcsAccessGroupErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/AcsAccessGroupFrom.php b/src/Objects/AcsAccessGroupFrom.php deleted file mode 100644 index 7d077ba6..00000000 --- a/src/Objects/AcsAccessGroupFrom.php +++ /dev/null @@ -1,28 +0,0 @@ -acs_entrance_id ?? null, - acs_user_id: $json->acs_user_id ?? null, - ends_at: $json->ends_at ?? null, - name: $json->name ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $acs_entrance_id, - public string|null $acs_user_id, - public string|null $ends_at, - public string|null $name, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AcsAccessGroupPendingMutations.php b/src/Objects/AcsAccessGroupPendingMutations.php deleted file mode 100644 index 9c3ffa9d..00000000 --- a/src/Objects/AcsAccessGroupPendingMutations.php +++ /dev/null @@ -1,37 +0,0 @@ -acs_user_id ?? null, - created_at: $json->created_at ?? null, - from: isset($json->from) - ? AcsAccessGroupFrom::from_json($json->from) - : null, - message: $json->message ?? null, - mutation_code: $json->mutation_code ?? null, - to: isset($json->to) - ? AcsAccessGroupTo::from_json($json->to) - : null, - variant: $json->variant ?? null, - ); - } - - public function __construct( - public string|null $acs_user_id, - public string|null $created_at, - public AcsAccessGroupFrom|null $from, - public string|null $message, - public string|null $mutation_code, - public AcsAccessGroupTo|null $to, - public string|null $variant, - ) {} -} diff --git a/src/Objects/AcsAccessGroupTo.php b/src/Objects/AcsAccessGroupTo.php deleted file mode 100644 index 2f7982ae..00000000 --- a/src/Objects/AcsAccessGroupTo.php +++ /dev/null @@ -1,28 +0,0 @@ -acs_entrance_id ?? null, - acs_user_id: $json->acs_user_id ?? null, - ends_at: $json->ends_at ?? null, - name: $json->name ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $acs_entrance_id, - public string|null $acs_user_id, - public string|null $ends_at, - public string|null $name, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AcsAccessGroupWarnings.php b/src/Objects/AcsAccessGroupWarnings.php deleted file mode 100644 index d3bbd407..00000000 --- a/src/Objects/AcsAccessGroupWarnings.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/AcsCredentialAssaAbloyVostioMetadata.php b/src/Objects/AcsCredentialAssaAbloyVostioMetadata.php deleted file mode 100644 index 674362f5..00000000 --- a/src/Objects/AcsCredentialAssaAbloyVostioMetadata.php +++ /dev/null @@ -1,32 +0,0 @@ -auto_join ?? null, - door_names: $json->door_names ?? null, - endpoint_id: $json->endpoint_id ?? null, - key_id: $json->key_id ?? null, - key_issuing_request_id: $json->key_issuing_request_id ?? null, - override_guest_acs_entrance_ids: $json->override_guest_acs_entrance_ids ?? - null, - ); - } - - public function __construct( - public bool|null $auto_join, - public array|null $door_names, - public string|null $endpoint_id, - public string|null $key_id, - public string|null $key_issuing_request_id, - public array|null $override_guest_acs_entrance_ids, - ) {} -} diff --git a/src/Objects/AcsCredentialErrors.php b/src/Objects/AcsCredentialErrors.php deleted file mode 100644 index 28d93723..00000000 --- a/src/Objects/AcsCredentialErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/AcsCredentialVisionlineMetadata.php b/src/Objects/AcsCredentialVisionlineMetadata.php deleted file mode 100644 index f71cedcd..00000000 --- a/src/Objects/AcsCredentialVisionlineMetadata.php +++ /dev/null @@ -1,35 +0,0 @@ -auto_join ?? null, - card_function_type: $json->card_function_type ?? null, - card_id: $json->card_id ?? null, - common_acs_entrance_ids: $json->common_acs_entrance_ids ?? null, - credential_id: $json->credential_id ?? null, - guest_acs_entrance_ids: $json->guest_acs_entrance_ids ?? null, - is_valid: $json->is_valid ?? null, - joiner_acs_credential_ids: $json->joiner_acs_credential_ids ?? null, - ); - } - - public function __construct( - public bool|null $auto_join, - public string|null $card_function_type, - public string|null $card_id, - public array|null $common_acs_entrance_ids, - public string|null $credential_id, - public array|null $guest_acs_entrance_ids, - public bool|null $is_valid, - public array|null $joiner_acs_credential_ids, - ) {} -} diff --git a/src/Objects/AcsCredentialWarnings.php b/src/Objects/AcsCredentialWarnings.php deleted file mode 100644 index 4d910aff..00000000 --- a/src/Objects/AcsCredentialWarnings.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/AcsEncoderErrors.php b/src/Objects/AcsEncoderErrors.php deleted file mode 100644 index eabeb59d..00000000 --- a/src/Objects/AcsEncoderErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/AcsEntrance.php b/src/Objects/AcsEntrance.php deleted file mode 100644 index 2b0ef4ce..00000000 --- a/src/Objects/AcsEntrance.php +++ /dev/null @@ -1,115 +0,0 @@ -acs_entrance_id ?? null, - acs_system_id: $json->acs_system_id ?? null, - akiles_metadata: isset($json->akiles_metadata) - ? AcsEntranceAkilesMetadata::from_json($json->akiles_metadata) - : null, - assa_abloy_vostio_metadata: isset($json->assa_abloy_vostio_metadata) - ? AcsEntranceAssaAbloyVostioMetadata::from_json( - $json->assa_abloy_vostio_metadata, - ) - : null, - avigilon_alta_metadata: isset($json->avigilon_alta_metadata) - ? AcsEntranceAvigilonAltaMetadata::from_json( - $json->avigilon_alta_metadata, - ) - : null, - brivo_metadata: isset($json->brivo_metadata) - ? AcsEntranceBrivoMetadata::from_json($json->brivo_metadata) - : null, - can_belong_to_reservation: $json->can_belong_to_reservation ?? null, - can_unlock_with_card: $json->can_unlock_with_card ?? null, - can_unlock_with_cloud_key: $json->can_unlock_with_cloud_key ?? null, - can_unlock_with_code: $json->can_unlock_with_code ?? null, - can_unlock_with_mobile_key: $json->can_unlock_with_mobile_key ?? - null, - connected_account_id: $json->connected_account_id ?? null, - created_at: $json->created_at ?? null, - display_name: $json->display_name ?? null, - dormakaba_ambiance_metadata: isset( - $json->dormakaba_ambiance_metadata, - ) - ? AcsEntranceDormakabaAmbianceMetadata::from_json( - $json->dormakaba_ambiance_metadata, - ) - : null, - dormakaba_community_metadata: isset( - $json->dormakaba_community_metadata, - ) - ? AcsEntranceDormakabaCommunityMetadata::from_json( - $json->dormakaba_community_metadata, - ) - : null, - errors: array_map( - fn($e) => AcsEntranceErrors::from_json($e), - $json->errors ?? [], - ), - hotek_metadata: isset($json->hotek_metadata) - ? AcsEntranceHotekMetadata::from_json($json->hotek_metadata) - : null, - is_locked: $json->is_locked ?? null, - latch_metadata: isset($json->latch_metadata) - ? AcsEntranceLatchMetadata::from_json($json->latch_metadata) - : null, - salto_ks_metadata: isset($json->salto_ks_metadata) - ? AcsEntranceSaltoKsMetadata::from_json( - $json->salto_ks_metadata, - ) - : null, - salto_space_metadata: isset($json->salto_space_metadata) - ? AcsEntranceSaltoSpaceMetadata::from_json( - $json->salto_space_metadata, - ) - : null, - space_ids: $json->space_ids ?? null, - visionline_metadata: isset($json->visionline_metadata) - ? AcsEntranceVisionlineMetadata::from_json( - $json->visionline_metadata, - ) - : null, - warnings: array_map( - fn($w) => AcsEntranceWarnings::from_json($w), - $json->warnings ?? [], - ), - ); - } - - public function __construct( - public string|null $acs_entrance_id, - public string|null $acs_system_id, - public AcsEntranceAkilesMetadata|null $akiles_metadata, - public AcsEntranceAssaAbloyVostioMetadata|null $assa_abloy_vostio_metadata, - public AcsEntranceAvigilonAltaMetadata|null $avigilon_alta_metadata, - public AcsEntranceBrivoMetadata|null $brivo_metadata, - public bool|null $can_belong_to_reservation, - public bool|null $can_unlock_with_card, - public bool|null $can_unlock_with_cloud_key, - public bool|null $can_unlock_with_code, - public bool|null $can_unlock_with_mobile_key, - public string|null $connected_account_id, - public string|null $created_at, - public string|null $display_name, - public AcsEntranceDormakabaAmbianceMetadata|null $dormakaba_ambiance_metadata, - public AcsEntranceDormakabaCommunityMetadata|null $dormakaba_community_metadata, - public array $errors, - public AcsEntranceHotekMetadata|null $hotek_metadata, - public bool|null $is_locked, - public AcsEntranceLatchMetadata|null $latch_metadata, - public AcsEntranceSaltoKsMetadata|null $salto_ks_metadata, - public AcsEntranceSaltoSpaceMetadata|null $salto_space_metadata, - public array|null $space_ids, - public AcsEntranceVisionlineMetadata|null $visionline_metadata, - public array $warnings, - ) {} -} diff --git a/src/Objects/AcsEntranceActions.php b/src/Objects/AcsEntranceActions.php deleted file mode 100644 index abb5dc54..00000000 --- a/src/Objects/AcsEntranceActions.php +++ /dev/null @@ -1,19 +0,0 @@ -id ?? null, name: $json->name ?? null); - } - - public function __construct( - public string|null $id, - public string|null $name, - ) {} -} diff --git a/src/Objects/AcsEntranceAkilesMetadata.php b/src/Objects/AcsEntranceAkilesMetadata.php deleted file mode 100644 index ea657af9..00000000 --- a/src/Objects/AcsEntranceAkilesMetadata.php +++ /dev/null @@ -1,30 +0,0 @@ - AcsEntranceActions::from_json($a), - $json->actions ?? [], - ), - gadget_id: $json->gadget_id ?? null, - site_id: $json->site_id ?? null, - site_name: $json->site_name ?? null, - ); - } - - public function __construct( - public array $actions, - public string|null $gadget_id, - public string|null $site_id, - public string|null $site_name, - ) {} -} diff --git a/src/Objects/AcsEntranceAssaAbloyVostioMetadata.php b/src/Objects/AcsEntranceAssaAbloyVostioMetadata.php deleted file mode 100644 index 04976009..00000000 --- a/src/Objects/AcsEntranceAssaAbloyVostioMetadata.php +++ /dev/null @@ -1,29 +0,0 @@ -door_name ?? null, - door_number: $json->door_number ?? null, - door_type: $json->door_type ?? null, - pms_id: $json->pms_id ?? null, - stand_open: $json->stand_open ?? null, - ); - } - - public function __construct( - public string|null $door_name, - public float|null $door_number, - public string|null $door_type, - public string|null $pms_id, - public bool|null $stand_open, - ) {} -} diff --git a/src/Objects/AcsEntranceAvigilonAltaMetadata.php b/src/Objects/AcsEntranceAvigilonAltaMetadata.php deleted file mode 100644 index 4f1f783f..00000000 --- a/src/Objects/AcsEntranceAvigilonAltaMetadata.php +++ /dev/null @@ -1,33 +0,0 @@ -entry_name ?? null, - entry_relays_total_count: $json->entry_relays_total_count ?? null, - org_name: $json->org_name ?? null, - site_id: $json->site_id ?? null, - site_name: $json->site_name ?? null, - zone_id: $json->zone_id ?? null, - zone_name: $json->zone_name ?? null, - ); - } - - public function __construct( - public string|null $entry_name, - public float|null $entry_relays_total_count, - public string|null $org_name, - public float|null $site_id, - public string|null $site_name, - public float|null $zone_id, - public string|null $zone_name, - ) {} -} diff --git a/src/Objects/AcsEntranceBrivoMetadata.php b/src/Objects/AcsEntranceBrivoMetadata.php deleted file mode 100644 index bd81ab70..00000000 --- a/src/Objects/AcsEntranceBrivoMetadata.php +++ /dev/null @@ -1,24 +0,0 @@ -access_point_id ?? null, - site_id: $json->site_id ?? null, - site_name: $json->site_name ?? null, - ); - } - - public function __construct( - public string|null $access_point_id, - public float|null $site_id, - public string|null $site_name, - ) {} -} diff --git a/src/Objects/AcsEntranceDormakabaAmbianceMetadata.php b/src/Objects/AcsEntranceDormakabaAmbianceMetadata.php deleted file mode 100644 index 48b96f27..00000000 --- a/src/Objects/AcsEntranceDormakabaAmbianceMetadata.php +++ /dev/null @@ -1,17 +0,0 @@ -access_point_name ?? null); - } - - public function __construct(public string|null $access_point_name) {} -} diff --git a/src/Objects/AcsEntranceDormakabaCommunityMetadata.php b/src/Objects/AcsEntranceDormakabaCommunityMetadata.php deleted file mode 100644 index 5bb46bcc..00000000 --- a/src/Objects/AcsEntranceDormakabaCommunityMetadata.php +++ /dev/null @@ -1,19 +0,0 @@ -access_point_profile ?? null, - ); - } - - public function __construct(public string|null $access_point_profile) {} -} diff --git a/src/Objects/AcsEntranceErrors.php b/src/Objects/AcsEntranceErrors.php deleted file mode 100644 index f33a8479..00000000 --- a/src/Objects/AcsEntranceErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/AcsEntranceHotekMetadata.php b/src/Objects/AcsEntranceHotekMetadata.php deleted file mode 100644 index 648ce74b..00000000 --- a/src/Objects/AcsEntranceHotekMetadata.php +++ /dev/null @@ -1,24 +0,0 @@ -common_area_name ?? null, - common_area_number: $json->common_area_number ?? null, - room_number: $json->room_number ?? null, - ); - } - - public function __construct( - public string|null $common_area_name, - public string|null $common_area_number, - public string|null $room_number, - ) {} -} diff --git a/src/Objects/AcsEntranceLatchMetadata.php b/src/Objects/AcsEntranceLatchMetadata.php deleted file mode 100644 index 8b5ffdc2..00000000 --- a/src/Objects/AcsEntranceLatchMetadata.php +++ /dev/null @@ -1,26 +0,0 @@ -accessibility_type ?? null, - door_name: $json->door_name ?? null, - door_type: $json->door_type ?? null, - is_connected: $json->is_connected ?? null, - ); - } - - public function __construct( - public string|null $accessibility_type, - public string|null $door_name, - public string|null $door_type, - public bool|null $is_connected, - ) {} -} diff --git a/src/Objects/AcsEntranceProfiles.php b/src/Objects/AcsEntranceProfiles.php deleted file mode 100644 index afbb6f9b..00000000 --- a/src/Objects/AcsEntranceProfiles.php +++ /dev/null @@ -1,24 +0,0 @@ -visionline_door_profile_id ?? - null, - visionline_door_profile_type: $json->visionline_door_profile_type ?? - null, - ); - } - - public function __construct( - public string|null $visionline_door_profile_id, - public string|null $visionline_door_profile_type, - ) {} -} diff --git a/src/Objects/AcsEntranceSaltoKsMetadata.php b/src/Objects/AcsEntranceSaltoKsMetadata.php deleted file mode 100644 index 3266ed14..00000000 --- a/src/Objects/AcsEntranceSaltoKsMetadata.php +++ /dev/null @@ -1,35 +0,0 @@ -battery_level ?? null, - door_name: $json->door_name ?? null, - intrusion_alarm: $json->intrusion_alarm ?? null, - left_open_alarm: $json->left_open_alarm ?? null, - lock_type: $json->lock_type ?? null, - locked_state: $json->locked_state ?? null, - online: $json->online ?? null, - privacy_mode: $json->privacy_mode ?? null, - ); - } - - public function __construct( - public string|null $battery_level, - public string|null $door_name, - public bool|null $intrusion_alarm, - public bool|null $left_open_alarm, - public string|null $lock_type, - public string|null $locked_state, - public bool|null $online, - public bool|null $privacy_mode, - ) {} -} diff --git a/src/Objects/AcsEntranceSaltoSpaceMetadata.php b/src/Objects/AcsEntranceSaltoSpaceMetadata.php deleted file mode 100644 index 0a478b4f..00000000 --- a/src/Objects/AcsEntranceSaltoSpaceMetadata.php +++ /dev/null @@ -1,31 +0,0 @@ -audit_on_keys ?? null, - door_description: $json->door_description ?? null, - door_id: $json->door_id ?? null, - door_name: $json->door_name ?? null, - room_description: $json->room_description ?? null, - room_name: $json->room_name ?? null, - ); - } - - public function __construct( - public bool|null $audit_on_keys, - public string|null $door_description, - public string|null $door_id, - public string|null $door_name, - public string|null $room_description, - public string|null $room_name, - ) {} -} diff --git a/src/Objects/AcsEntranceVisionlineMetadata.php b/src/Objects/AcsEntranceVisionlineMetadata.php deleted file mode 100644 index fc4c2cb1..00000000 --- a/src/Objects/AcsEntranceVisionlineMetadata.php +++ /dev/null @@ -1,28 +0,0 @@ -door_category ?? null, - door_name: $json->door_name ?? null, - profiles: array_map( - fn($p) => AcsEntranceProfiles::from_json($p), - $json->profiles ?? [], - ), - ); - } - - public function __construct( - public string|null $door_category, - public string|null $door_name, - public array $profiles, - ) {} -} diff --git a/src/Objects/AcsEntranceWarnings.php b/src/Objects/AcsEntranceWarnings.php deleted file mode 100644 index 3d29d169..00000000 --- a/src/Objects/AcsEntranceWarnings.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/AcsSystemErrors.php b/src/Objects/AcsSystemErrors.php deleted file mode 100644 index 84f4140d..00000000 --- a/src/Objects/AcsSystemErrors.php +++ /dev/null @@ -1,26 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - is_bridge_error: $json->is_bridge_error ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public bool|null $is_bridge_error, - public string|null $message, - ) {} -} diff --git a/src/Objects/AcsSystemLocation.php b/src/Objects/AcsSystemLocation.php deleted file mode 100644 index 46124a5b..00000000 --- a/src/Objects/AcsSystemLocation.php +++ /dev/null @@ -1,16 +0,0 @@ -time_zone ?? null); - } - - public function __construct(public string|null $time_zone) {} -} diff --git a/src/Objects/AcsSystemVisionlineMetadata.php b/src/Objects/AcsSystemVisionlineMetadata.php deleted file mode 100644 index 7298bba2..00000000 --- a/src/Objects/AcsSystemVisionlineMetadata.php +++ /dev/null @@ -1,25 +0,0 @@ -lan_address ?? null, - mobile_access_uuid: $json->mobile_access_uuid ?? null, - system_id: $json->system_id ?? null, - ); - } - - public function __construct( - public string|null $lan_address, - public string|null $mobile_access_uuid, - public string|null $system_id, - ) {} -} diff --git a/src/Objects/AcsSystemWarnings.php b/src/Objects/AcsSystemWarnings.php deleted file mode 100644 index d5c44335..00000000 --- a/src/Objects/AcsSystemWarnings.php +++ /dev/null @@ -1,27 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - misconfigured_acs_entrance_ids: $json->misconfigured_acs_entrance_ids ?? - null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public array|null $misconfigured_acs_entrance_ids, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/AcsUser.php b/src/Objects/AcsUser.php deleted file mode 100644 index c104111e..00000000 --- a/src/Objects/AcsUser.php +++ /dev/null @@ -1,88 +0,0 @@ -access_schedule) - ? AcsUserAccessSchedule::from_json($json->access_schedule) - : null, - acs_system_id: $json->acs_system_id ?? null, - acs_user_id: $json->acs_user_id ?? null, - connected_account_id: $json->connected_account_id ?? null, - created_at: $json->created_at ?? null, - display_name: $json->display_name ?? null, - email: $json->email ?? null, - email_address: $json->email_address ?? null, - errors: array_map( - fn($e) => AcsUserErrors::from_json($e), - $json->errors ?? [], - ), - external_type: $json->external_type ?? null, - external_type_display_name: $json->external_type_display_name ?? - null, - full_name: $json->full_name ?? null, - hid_acs_system_id: $json->hid_acs_system_id ?? null, - is_managed: $json->is_managed ?? null, - is_suspended: $json->is_suspended ?? null, - pending_mutations: array_map( - fn($p) => AcsUserPendingMutations::from_json($p), - $json->pending_mutations ?? [], - ), - phone_number: $json->phone_number ?? null, - salto_ks_metadata: isset($json->salto_ks_metadata) - ? AcsUserSaltoKsMetadata::from_json($json->salto_ks_metadata) - : null, - salto_space_metadata: isset($json->salto_space_metadata) - ? AcsUserSaltoSpaceMetadata::from_json( - $json->salto_space_metadata, - ) - : null, - user_identity_email_address: $json->user_identity_email_address ?? - null, - user_identity_full_name: $json->user_identity_full_name ?? null, - user_identity_id: $json->user_identity_id ?? null, - user_identity_phone_number: $json->user_identity_phone_number ?? - null, - warnings: array_map( - fn($w) => AcsUserWarnings::from_json($w), - $json->warnings ?? [], - ), - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public AcsUserAccessSchedule|null $access_schedule, - public string|null $acs_system_id, - public string|null $acs_user_id, - public string|null $connected_account_id, - public string|null $created_at, - public string|null $display_name, - public string|null $email, - public string|null $email_address, - public array $errors, - public string|null $external_type, - public string|null $external_type_display_name, - public string|null $full_name, - public string|null $hid_acs_system_id, - public bool|null $is_managed, - public bool|null $is_suspended, - public array $pending_mutations, - public string|null $phone_number, - public AcsUserSaltoKsMetadata|null $salto_ks_metadata, - public AcsUserSaltoSpaceMetadata|null $salto_space_metadata, - public string|null $user_identity_email_address, - public string|null $user_identity_full_name, - public string|null $user_identity_id, - public string|null $user_identity_phone_number, - public array $warnings, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/AcsUserAccessSchedule.php b/src/Objects/AcsUserAccessSchedule.php deleted file mode 100644 index 34298ecb..00000000 --- a/src/Objects/AcsUserAccessSchedule.php +++ /dev/null @@ -1,22 +0,0 @@ -ends_at ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $ends_at, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AcsUserErrors.php b/src/Objects/AcsUserErrors.php deleted file mode 100644 index aca6a44f..00000000 --- a/src/Objects/AcsUserErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/AcsUserFrom.php b/src/Objects/AcsUserFrom.php deleted file mode 100644 index 4e2b6cd0..00000000 --- a/src/Objects/AcsUserFrom.php +++ /dev/null @@ -1,34 +0,0 @@ -acs_access_group_id ?? null, - acs_credential_id: $json->acs_credential_id ?? null, - email_address: $json->email_address ?? null, - ends_at: $json->ends_at ?? null, - full_name: $json->full_name ?? null, - is_suspended: $json->is_suspended ?? null, - phone_number: $json->phone_number ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $acs_access_group_id, - public string|null $acs_credential_id, - public string|null $email_address, - public string|null $ends_at, - public string|null $full_name, - public bool|null $is_suspended, - public string|null $phone_number, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AcsUserPendingMutations.php b/src/Objects/AcsUserPendingMutations.php deleted file mode 100644 index f6a1f5e3..00000000 --- a/src/Objects/AcsUserPendingMutations.php +++ /dev/null @@ -1,36 +0,0 @@ -acs_access_group_id ?? null, - created_at: $json->created_at ?? null, - from: isset($json->from) - ? AcsUserFrom::from_json($json->from) - : null, - message: $json->message ?? null, - mutation_code: $json->mutation_code ?? null, - scheduled_at: $json->scheduled_at ?? null, - to: isset($json->to) ? AcsUserTo::from_json($json->to) : null, - variant: $json->variant ?? null, - ); - } - - public function __construct( - public string|null $acs_access_group_id, - public string|null $created_at, - public AcsUserFrom|null $from, - public string|null $message, - public string|null $mutation_code, - public string|null $scheduled_at, - public AcsUserTo|null $to, - public string|null $variant, - ) {} -} diff --git a/src/Objects/AcsUserSaltoKsMetadata.php b/src/Objects/AcsUserSaltoKsMetadata.php deleted file mode 100644 index 638589d0..00000000 --- a/src/Objects/AcsUserSaltoKsMetadata.php +++ /dev/null @@ -1,16 +0,0 @@ -is_subscribed ?? null); - } - - public function __construct(public bool|null $is_subscribed) {} -} diff --git a/src/Objects/AcsUserSaltoSpaceMetadata.php b/src/Objects/AcsUserSaltoSpaceMetadata.php deleted file mode 100644 index a2c6891f..00000000 --- a/src/Objects/AcsUserSaltoSpaceMetadata.php +++ /dev/null @@ -1,23 +0,0 @@ -audit_openings ?? null, - user_id: $json->user_id ?? null, - ); - } - - public function __construct( - public bool|null $audit_openings, - public string|null $user_id, - ) {} -} diff --git a/src/Objects/AcsUserTo.php b/src/Objects/AcsUserTo.php deleted file mode 100644 index 9e59e4e2..00000000 --- a/src/Objects/AcsUserTo.php +++ /dev/null @@ -1,34 +0,0 @@ -acs_access_group_id ?? null, - acs_credential_id: $json->acs_credential_id ?? null, - email_address: $json->email_address ?? null, - ends_at: $json->ends_at ?? null, - full_name: $json->full_name ?? null, - is_suspended: $json->is_suspended ?? null, - phone_number: $json->phone_number ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $acs_access_group_id, - public string|null $acs_credential_id, - public string|null $email_address, - public string|null $ends_at, - public string|null $full_name, - public bool|null $is_suspended, - public string|null $phone_number, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/AcsUserWarnings.php b/src/Objects/AcsUserWarnings.php deleted file mode 100644 index ef105786..00000000 --- a/src/Objects/AcsUserWarnings.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/ActionAttempt.php b/src/Objects/ActionAttempt.php deleted file mode 100644 index 27081525..00000000 --- a/src/Objects/ActionAttempt.php +++ /dev/null @@ -1,32 +0,0 @@ -action_attempt_id ?? null, - action_type: $json->action_type ?? null, - error: isset($json->error) - ? ActionAttemptError::from_json($json->error) - : null, - result: isset($json->result) - ? ActionAttemptResult::from_json($json->result) - : null, - status: $json->status ?? null, - ); - } - - public function __construct( - public string|null $action_attempt_id, - public string|null $action_type, - public ActionAttemptError|null $error, - public ActionAttemptResult|null $result, - public string|null $status, - ) {} -} diff --git a/src/Objects/ActionAttemptAcsCredentialOnEncoder.php b/src/Objects/ActionAttemptAcsCredentialOnEncoder.php deleted file mode 100644 index 8d5d6ae1..00000000 --- a/src/Objects/ActionAttemptAcsCredentialOnEncoder.php +++ /dev/null @@ -1,35 +0,0 @@ -card_number ?? null, - created_at: $json->created_at ?? null, - ends_at: $json->ends_at ?? null, - is_issued: $json->is_issued ?? null, - starts_at: $json->starts_at ?? null, - visionline_metadata: isset($json->visionline_metadata) - ? ActionAttemptVisionlineMetadata::from_json( - $json->visionline_metadata, - ) - : null, - ); - } - - public function __construct( - public string|null $card_number, - public string|null $created_at, - public string|null $ends_at, - public bool|null $is_issued, - public string|null $starts_at, - public ActionAttemptVisionlineMetadata|null $visionline_metadata, - ) {} -} diff --git a/src/Objects/ActionAttemptAcsCredentialOnSeam.php b/src/Objects/ActionAttemptAcsCredentialOnSeam.php deleted file mode 100644 index 8baa1192..00000000 --- a/src/Objects/ActionAttemptAcsCredentialOnSeam.php +++ /dev/null @@ -1,93 +0,0 @@ -access_method ?? null, - acs_credential_id: $json->acs_credential_id ?? null, - acs_credential_pool_id: $json->acs_credential_pool_id ?? null, - acs_system_id: $json->acs_system_id ?? null, - acs_user_id: $json->acs_user_id ?? null, - assa_abloy_vostio_metadata: isset($json->assa_abloy_vostio_metadata) - ? ActionAttemptAssaAbloyVostioMetadata::from_json( - $json->assa_abloy_vostio_metadata, - ) - : null, - card_number: $json->card_number ?? null, - code: $json->code ?? null, - connected_account_id: $json->connected_account_id ?? null, - created_at: $json->created_at ?? null, - display_name: $json->display_name ?? null, - ends_at: $json->ends_at ?? null, - errors: array_map( - fn($e) => ActionAttemptErrors::from_json($e), - $json->errors ?? [], - ), - external_type: $json->external_type ?? null, - external_type_display_name: $json->external_type_display_name ?? - null, - is_issued: $json->is_issued ?? null, - is_latest_desired_state_synced_with_provider: $json->is_latest_desired_state_synced_with_provider ?? - null, - is_managed: $json->is_managed ?? null, - is_multi_phone_sync_credential: $json->is_multi_phone_sync_credential ?? - null, - is_one_time_use: $json->is_one_time_use ?? null, - issued_at: $json->issued_at ?? null, - latest_desired_state_synced_with_provider_at: $json->latest_desired_state_synced_with_provider_at ?? - null, - parent_acs_credential_id: $json->parent_acs_credential_id ?? null, - starts_at: $json->starts_at ?? null, - user_identity_id: $json->user_identity_id ?? null, - visionline_metadata: isset($json->visionline_metadata) - ? ActionAttemptVisionlineMetadata::from_json( - $json->visionline_metadata, - ) - : null, - warnings: array_map( - fn($w) => ActionAttemptWarnings::from_json($w), - $json->warnings ?? [], - ), - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public string|null $access_method, - public string|null $acs_credential_id, - public string|null $acs_credential_pool_id, - public string|null $acs_system_id, - public string|null $acs_user_id, - public ActionAttemptAssaAbloyVostioMetadata|null $assa_abloy_vostio_metadata, - public string|null $card_number, - public string|null $code, - public string|null $connected_account_id, - public string|null $created_at, - public string|null $display_name, - public string|null $ends_at, - public array $errors, - public string|null $external_type, - public string|null $external_type_display_name, - public bool|null $is_issued, - public bool|null $is_latest_desired_state_synced_with_provider, - public bool|null $is_managed, - public bool|null $is_multi_phone_sync_credential, - public bool|null $is_one_time_use, - public string|null $issued_at, - public string|null $latest_desired_state_synced_with_provider_at, - public string|null $parent_acs_credential_id, - public string|null $starts_at, - public string|null $user_identity_id, - public ActionAttemptVisionlineMetadata|null $visionline_metadata, - public array $warnings, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/ActionAttemptAssaAbloyVostioMetadata.php b/src/Objects/ActionAttemptAssaAbloyVostioMetadata.php deleted file mode 100644 index 9bc57b26..00000000 --- a/src/Objects/ActionAttemptAssaAbloyVostioMetadata.php +++ /dev/null @@ -1,32 +0,0 @@ -auto_join ?? null, - door_names: $json->door_names ?? null, - endpoint_id: $json->endpoint_id ?? null, - key_id: $json->key_id ?? null, - key_issuing_request_id: $json->key_issuing_request_id ?? null, - override_guest_acs_entrance_ids: $json->override_guest_acs_entrance_ids ?? - null, - ); - } - - public function __construct( - public bool|null $auto_join, - public array|null $door_names, - public string|null $endpoint_id, - public string|null $key_id, - public string|null $key_issuing_request_id, - public array|null $override_guest_acs_entrance_ids, - ) {} -} diff --git a/src/Objects/ActionAttemptError.php b/src/Objects/ActionAttemptError.php deleted file mode 100644 index 9b2d4239..00000000 --- a/src/Objects/ActionAttemptError.php +++ /dev/null @@ -1,22 +0,0 @@ -message ?? null, - type: $json->type ?? null, - ); - } - - public function __construct( - public string|null $message, - public string|null $type, - ) {} -} diff --git a/src/Objects/ActionAttemptErrors.php b/src/Objects/ActionAttemptErrors.php deleted file mode 100644 index 222c5720..00000000 --- a/src/Objects/ActionAttemptErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/ActionAttemptFrom.php b/src/Objects/ActionAttemptFrom.php deleted file mode 100644 index c59cfd89..00000000 --- a/src/Objects/ActionAttemptFrom.php +++ /dev/null @@ -1,22 +0,0 @@ -ends_at ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $ends_at, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/ActionAttemptPendingMutations.php b/src/Objects/ActionAttemptPendingMutations.php deleted file mode 100644 index 0536a889..00000000 --- a/src/Objects/ActionAttemptPendingMutations.php +++ /dev/null @@ -1,31 +0,0 @@ -created_at ?? null, - from: isset($json->from) - ? ActionAttemptFrom::from_json($json->from) - : null, - message: $json->message ?? null, - mutation_code: $json->mutation_code ?? null, - to: isset($json->to) ? ActionAttemptTo::from_json($json->to) : null, - ); - } - - public function __construct( - public string|null $created_at, - public ActionAttemptFrom|null $from, - public string|null $message, - public string|null $mutation_code, - public ActionAttemptTo|null $to, - ) {} -} diff --git a/src/Objects/ActionAttemptResult.php b/src/Objects/ActionAttemptResult.php deleted file mode 100644 index f5d9b06d..00000000 --- a/src/Objects/ActionAttemptResult.php +++ /dev/null @@ -1,129 +0,0 @@ -access_method ?? null, - access_method_id: $json->access_method_id ?? null, - acs_credential_id: $json->acs_credential_id ?? null, - acs_credential_on_encoder: isset($json->acs_credential_on_encoder) - ? ActionAttemptAcsCredentialOnEncoder::from_json( - $json->acs_credential_on_encoder, - ) - : null, - acs_credential_on_seam: isset($json->acs_credential_on_seam) - ? ActionAttemptAcsCredentialOnSeam::from_json( - $json->acs_credential_on_seam, - ) - : null, - acs_credential_pool_id: $json->acs_credential_pool_id ?? null, - acs_system_id: $json->acs_system_id ?? null, - acs_user_id: $json->acs_user_id ?? null, - assa_abloy_vostio_metadata: isset($json->assa_abloy_vostio_metadata) - ? ActionAttemptAssaAbloyVostioMetadata::from_json( - $json->assa_abloy_vostio_metadata, - ) - : null, - card_number: $json->card_number ?? null, - client_session_token: $json->client_session_token ?? null, - code: $json->code ?? null, - connected_account_id: $json->connected_account_id ?? null, - created_at: $json->created_at ?? null, - customization_profile_id: $json->customization_profile_id ?? null, - display_name: $json->display_name ?? null, - ends_at: $json->ends_at ?? null, - errors: array_map( - fn($e) => ActionAttemptErrors::from_json($e), - $json->errors ?? [], - ), - external_type: $json->external_type ?? null, - external_type_display_name: $json->external_type_display_name ?? - null, - instant_key_url: $json->instant_key_url ?? null, - is_assignment_required: $json->is_assignment_required ?? null, - is_encoding_required: $json->is_encoding_required ?? null, - is_issued: $json->is_issued ?? null, - is_latest_desired_state_synced_with_provider: $json->is_latest_desired_state_synced_with_provider ?? - null, - is_managed: $json->is_managed ?? null, - is_multi_phone_sync_credential: $json->is_multi_phone_sync_credential ?? - null, - is_one_time_use: $json->is_one_time_use ?? null, - is_ready_for_assignment: $json->is_ready_for_assignment ?? null, - is_ready_for_encoding: $json->is_ready_for_encoding ?? null, - issued_at: $json->issued_at ?? null, - latest_desired_state_synced_with_provider_at: $json->latest_desired_state_synced_with_provider_at ?? - null, - mode: $json->mode ?? null, - parent_acs_credential_id: $json->parent_acs_credential_id ?? null, - pending_mutations: array_map( - fn($p) => ActionAttemptPendingMutations::from_json($p), - $json->pending_mutations ?? [], - ), - starts_at: $json->starts_at ?? null, - user_identity_id: $json->user_identity_id ?? null, - visionline_metadata: isset($json->visionline_metadata) - ? ActionAttemptVisionlineMetadata::from_json( - $json->visionline_metadata, - ) - : null, - warnings: array_map( - fn($w) => ActionAttemptWarnings::from_json($w), - $json->warnings ?? [], - ), - was_confirmed_by_device: $json->was_confirmed_by_device ?? null, - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public string|null $access_method, - public string|null $access_method_id, - public string|null $acs_credential_id, - public ActionAttemptAcsCredentialOnEncoder|null $acs_credential_on_encoder, - public ActionAttemptAcsCredentialOnSeam|null $acs_credential_on_seam, - public string|null $acs_credential_pool_id, - public string|null $acs_system_id, - public string|null $acs_user_id, - public ActionAttemptAssaAbloyVostioMetadata|null $assa_abloy_vostio_metadata, - public string|null $card_number, - public string|null $client_session_token, - public string|null $code, - public string|null $connected_account_id, - public string|null $created_at, - public string|null $customization_profile_id, - public string|null $display_name, - public string|null $ends_at, - public array $errors, - public string|null $external_type, - public string|null $external_type_display_name, - public string|null $instant_key_url, - public bool|null $is_assignment_required, - public bool|null $is_encoding_required, - public bool|null $is_issued, - public bool|null $is_latest_desired_state_synced_with_provider, - public bool|null $is_managed, - public bool|null $is_multi_phone_sync_credential, - public bool|null $is_one_time_use, - public bool|null $is_ready_for_assignment, - public bool|null $is_ready_for_encoding, - public string|null $issued_at, - public string|null $latest_desired_state_synced_with_provider_at, - public string|null $mode, - public string|null $parent_acs_credential_id, - public array $pending_mutations, - public string|null $starts_at, - public string|null $user_identity_id, - public ActionAttemptVisionlineMetadata|null $visionline_metadata, - public array $warnings, - public bool|null $was_confirmed_by_device, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/ActionAttemptTo.php b/src/Objects/ActionAttemptTo.php deleted file mode 100644 index 52d14277..00000000 --- a/src/Objects/ActionAttemptTo.php +++ /dev/null @@ -1,22 +0,0 @@ -ends_at ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $ends_at, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/ActionAttemptVisionlineMetadata.php b/src/Objects/ActionAttemptVisionlineMetadata.php deleted file mode 100644 index a06c3e13..00000000 --- a/src/Objects/ActionAttemptVisionlineMetadata.php +++ /dev/null @@ -1,43 +0,0 @@ -cancelled ?? null, - card_format: $json->card_format ?? null, - card_holder: $json->card_holder ?? null, - card_id: $json->card_id ?? null, - common_acs_entrance_ids: $json->common_acs_entrance_ids ?? null, - discarded: $json->discarded ?? null, - expired: $json->expired ?? null, - guest_acs_entrance_ids: $json->guest_acs_entrance_ids ?? null, - number_of_issued_cards: $json->number_of_issued_cards ?? null, - overridden: $json->overridden ?? null, - overwritten: $json->overwritten ?? null, - pending_auto_update: $json->pending_auto_update ?? null, - ); - } - - public function __construct( - public bool|null $cancelled, - public string|null $card_format, - public string|null $card_holder, - public string|null $card_id, - public array|null $common_acs_entrance_ids, - public bool|null $discarded, - public bool|null $expired, - public array|null $guest_acs_entrance_ids, - public float|null $number_of_issued_cards, - public bool|null $overridden, - public bool|null $overwritten, - public bool|null $pending_auto_update, - ) {} -} diff --git a/src/Objects/ActionAttemptWarnings.php b/src/Objects/ActionAttemptWarnings.php deleted file mode 100644 index 114f1a57..00000000 --- a/src/Objects/ActionAttemptWarnings.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/ConnectedAccount.php b/src/Objects/ConnectedAccount.php deleted file mode 100644 index 8def7b43..00000000 --- a/src/Objects/ConnectedAccount.php +++ /dev/null @@ -1,65 +0,0 @@ -accepted_capabilities ?? null, - account_type: $json->account_type ?? null, - account_type_display_name: $json->account_type_display_name ?? null, - automatically_manage_new_devices: $json->automatically_manage_new_devices ?? - null, - connected_account_id: $json->connected_account_id ?? null, - created_at: $json->created_at ?? null, - custom_metadata: $json->custom_metadata ?? null, - customer_key: $json->customer_key ?? null, - default_checkin_time: $json->default_checkin_time ?? null, - default_checkout_time: $json->default_checkout_time ?? null, - display_name: $json->display_name ?? null, - errors: array_map( - fn($e) => ConnectedAccountErrors::from_json($e), - $json->errors ?? [], - ), - ical_feed_origin: $json->ical_feed_origin ?? null, - ical_url: $json->ical_url ?? null, - image_url: $json->image_url ?? null, - time_zone: $json->time_zone ?? null, - user_identifier: isset($json->user_identifier) - ? ConnectedAccountUserIdentifier::from_json( - $json->user_identifier, - ) - : null, - warnings: array_map( - fn($w) => ConnectedAccountWarnings::from_json($w), - $json->warnings ?? [], - ), - ); - } - - public function __construct( - public array|null $accepted_capabilities, - public string|null $account_type, - public string|null $account_type_display_name, - public bool|null $automatically_manage_new_devices, - public string|null $connected_account_id, - public string|null $created_at, - public mixed $custom_metadata, - public string|null $customer_key, - public string|null $default_checkin_time, - public string|null $default_checkout_time, - public string|null $display_name, - public array $errors, - public string|null $ical_feed_origin, - public string|null $ical_url, - public string|null $image_url, - public string|null $time_zone, - public ConnectedAccountUserIdentifier|null $user_identifier, - public array $warnings, - ) {} -} diff --git a/src/Objects/ConnectedAccountErrors.php b/src/Objects/ConnectedAccountErrors.php deleted file mode 100644 index 454e6726..00000000 --- a/src/Objects/ConnectedAccountErrors.php +++ /dev/null @@ -1,35 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - is_bridge_error: $json->is_bridge_error ?? null, - is_connected_account_error: $json->is_connected_account_error ?? - null, - message: $json->message ?? null, - salto_ks_metadata: isset($json->salto_ks_metadata) - ? ConnectedAccountSaltoKsMetadata::from_json( - $json->salto_ks_metadata, - ) - : null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public bool|null $is_bridge_error, - public bool|null $is_connected_account_error, - public string|null $message, - public ConnectedAccountSaltoKsMetadata|null $salto_ks_metadata, - ) {} -} diff --git a/src/Objects/ConnectedAccountSaltoKsMetadata.php b/src/Objects/ConnectedAccountSaltoKsMetadata.php deleted file mode 100644 index 3e9b0de2..00000000 --- a/src/Objects/ConnectedAccountSaltoKsMetadata.php +++ /dev/null @@ -1,22 +0,0 @@ - ConnectedAccountSites::from_json($s), - $json->sites ?? [], - ), - ); - } - - public function __construct(public array $sites) {} -} diff --git a/src/Objects/ConnectedAccountSites.php b/src/Objects/ConnectedAccountSites.php deleted file mode 100644 index 133da75e..00000000 --- a/src/Objects/ConnectedAccountSites.php +++ /dev/null @@ -1,28 +0,0 @@ -site_id ?? null, - site_name: $json->site_name ?? null, - site_user_subscription_limit: $json->site_user_subscription_limit ?? - null, - subscribed_site_user_count: $json->subscribed_site_user_count ?? - null, - ); - } - - public function __construct( - public string|null $site_id, - public string|null $site_name, - public int|null $site_user_subscription_limit, - public int|null $subscribed_site_user_count, - ) {} -} diff --git a/src/Objects/ConnectedAccountUserIdentifier.php b/src/Objects/ConnectedAccountUserIdentifier.php deleted file mode 100644 index 553140a5..00000000 --- a/src/Objects/ConnectedAccountUserIdentifier.php +++ /dev/null @@ -1,29 +0,0 @@ -api_url ?? null, - email: $json->email ?? null, - exclusive: $json->exclusive ?? null, - phone: $json->phone ?? null, - username: $json->username ?? null, - ); - } - - public function __construct( - public string|null $api_url, - public string|null $email, - public bool|null $exclusive, - public string|null $phone, - public string|null $username, - ) {} -} diff --git a/src/Objects/ConnectedAccountWarnings.php b/src/Objects/ConnectedAccountWarnings.php deleted file mode 100644 index 609ccf18..00000000 --- a/src/Objects/ConnectedAccountWarnings.php +++ /dev/null @@ -1,30 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - salto_ks_metadata: isset($json->salto_ks_metadata) - ? ConnectedAccountSaltoKsMetadata::from_json( - $json->salto_ks_metadata, - ) - : null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public ConnectedAccountSaltoKsMetadata|null $salto_ks_metadata, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/Device.php b/src/Objects/Device.php deleted file mode 100644 index d75a50d7..00000000 --- a/src/Objects/Device.php +++ /dev/null @@ -1,118 +0,0 @@ -can_configure_auto_lock ?? null, - can_hvac_cool: $json->can_hvac_cool ?? null, - can_hvac_heat: $json->can_hvac_heat ?? null, - can_hvac_heat_cool: $json->can_hvac_heat_cool ?? null, - can_program_offline_access_codes: $json->can_program_offline_access_codes ?? - null, - can_program_online_access_codes: $json->can_program_online_access_codes ?? - null, - can_program_thermostat_programs_as_different_each_day: $json->can_program_thermostat_programs_as_different_each_day ?? - null, - can_program_thermostat_programs_as_same_each_day: $json->can_program_thermostat_programs_as_same_each_day ?? - null, - can_program_thermostat_programs_as_weekday_weekend: $json->can_program_thermostat_programs_as_weekday_weekend ?? - null, - can_remotely_lock: $json->can_remotely_lock ?? null, - can_remotely_unlock: $json->can_remotely_unlock ?? null, - can_run_thermostat_programs: $json->can_run_thermostat_programs ?? - null, - can_simulate_connection: $json->can_simulate_connection ?? null, - can_simulate_disconnection: $json->can_simulate_disconnection ?? - null, - can_simulate_hub_connection: $json->can_simulate_hub_connection ?? - null, - can_simulate_hub_disconnection: $json->can_simulate_hub_disconnection ?? - null, - can_simulate_paid_subscription: $json->can_simulate_paid_subscription ?? - null, - can_simulate_removal: $json->can_simulate_removal ?? null, - can_turn_off_hvac: $json->can_turn_off_hvac ?? null, - can_unlock_with_code: $json->can_unlock_with_code ?? null, - capabilities_supported: $json->capabilities_supported ?? null, - connected_account_id: $json->connected_account_id ?? null, - created_at: $json->created_at ?? null, - custom_metadata: $json->custom_metadata ?? null, - device_id: $json->device_id ?? null, - device_manufacturer: isset($json->device_manufacturer) - ? DeviceDeviceManufacturer::from_json( - $json->device_manufacturer, - ) - : null, - device_provider: isset($json->device_provider) - ? DeviceDeviceProvider::from_json($json->device_provider) - : null, - device_type: $json->device_type ?? null, - display_name: $json->display_name ?? null, - errors: array_map( - fn($e) => DeviceErrors::from_json($e), - $json->errors ?? [], - ), - is_managed: $json->is_managed ?? null, - location: isset($json->location) - ? DeviceLocation::from_json($json->location) - : null, - nickname: $json->nickname ?? null, - properties: isset($json->properties) - ? DeviceProperties::from_json($json->properties) - : null, - space_ids: $json->space_ids ?? null, - warnings: array_map( - fn($w) => DeviceWarnings::from_json($w), - $json->warnings ?? [], - ), - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public bool|null $can_configure_auto_lock, - public bool|null $can_hvac_cool, - public bool|null $can_hvac_heat, - public bool|null $can_hvac_heat_cool, - public bool|null $can_program_offline_access_codes, - public bool|null $can_program_online_access_codes, - public bool|null $can_program_thermostat_programs_as_different_each_day, - public bool|null $can_program_thermostat_programs_as_same_each_day, - public bool|null $can_program_thermostat_programs_as_weekday_weekend, - public bool|null $can_remotely_lock, - public bool|null $can_remotely_unlock, - public bool|null $can_run_thermostat_programs, - public bool|null $can_simulate_connection, - public bool|null $can_simulate_disconnection, - public bool|null $can_simulate_hub_connection, - public bool|null $can_simulate_hub_disconnection, - public bool|null $can_simulate_paid_subscription, - public bool|null $can_simulate_removal, - public bool|null $can_turn_off_hvac, - public bool|null $can_unlock_with_code, - public array|null $capabilities_supported, - public string|null $connected_account_id, - public string|null $created_at, - public mixed $custom_metadata, - public string|null $device_id, - public DeviceDeviceManufacturer|null $device_manufacturer, - public DeviceDeviceProvider|null $device_provider, - public string|null $device_type, - public string|null $display_name, - public array $errors, - public bool|null $is_managed, - public DeviceLocation|null $location, - public string|null $nickname, - public DeviceProperties|null $properties, - public array|null $space_ids, - public array $warnings, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/DeviceAccelerometerZ.php b/src/Objects/DeviceAccelerometerZ.php deleted file mode 100644 index cd9a0fb5..00000000 --- a/src/Objects/DeviceAccelerometerZ.php +++ /dev/null @@ -1,19 +0,0 @@ -time ?? null, value: $json->value ?? null); - } - - public function __construct( - public string|null $time, - public float|null $value, - ) {} -} diff --git a/src/Objects/DeviceAccessoryKeypad.php b/src/Objects/DeviceAccessoryKeypad.php deleted file mode 100644 index 7503c437..00000000 --- a/src/Objects/DeviceAccessoryKeypad.php +++ /dev/null @@ -1,24 +0,0 @@ -battery) - ? DeviceBattery::from_json($json->battery) - : null, - is_connected: $json->is_connected ?? null, - ); - } - - public function __construct( - public DeviceBattery|null $battery, - public bool|null $is_connected, - ) {} -} diff --git a/src/Objects/DeviceActiveThermostatSchedule.php b/src/Objects/DeviceActiveThermostatSchedule.php deleted file mode 100644 index 5bbfe1a7..00000000 --- a/src/Objects/DeviceActiveThermostatSchedule.php +++ /dev/null @@ -1,45 +0,0 @@ -climate_preset_key ?? null, - created_at: $json->created_at ?? null, - device_id: $json->device_id ?? null, - ends_at: $json->ends_at ?? null, - errors: array_map( - fn($e) => DeviceErrors::from_json($e), - $json->errors ?? [], - ), - is_override_allowed: $json->is_override_allowed ?? null, - max_override_period_minutes: $json->max_override_period_minutes ?? - null, - name: $json->name ?? null, - starts_at: $json->starts_at ?? null, - thermostat_schedule_id: $json->thermostat_schedule_id ?? null, - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public string|null $climate_preset_key, - public string|null $created_at, - public string|null $device_id, - public string|null $ends_at, - public array $errors, - public bool|null $is_override_allowed, - public int|null $max_override_period_minutes, - public string|null $name, - public string|null $starts_at, - public string|null $thermostat_schedule_id, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/DeviceAkilesMetadata.php b/src/Objects/DeviceAkilesMetadata.php deleted file mode 100644 index 74de411d..00000000 --- a/src/Objects/DeviceAkilesMetadata.php +++ /dev/null @@ -1,26 +0,0 @@ -_member_group_id ?? null, - gadget_id: $json->gadget_id ?? null, - gadget_name: $json->gadget_name ?? null, - product_name: $json->product_name ?? null, - ); - } - - public function __construct( - public string|null $_member_group_id, - public string|null $gadget_id, - public string|null $gadget_name, - public string|null $product_name, - ) {} -} diff --git a/src/Objects/DeviceAppearance.php b/src/Objects/DeviceAppearance.php deleted file mode 100644 index d4eebc6a..00000000 --- a/src/Objects/DeviceAppearance.php +++ /dev/null @@ -1,16 +0,0 @@ -name ?? null); - } - - public function __construct(public string|null $name) {} -} diff --git a/src/Objects/DeviceAqaraMetadata.php b/src/Objects/DeviceAqaraMetadata.php deleted file mode 100644 index 5e26e574..00000000 --- a/src/Objects/DeviceAqaraMetadata.php +++ /dev/null @@ -1,34 +0,0 @@ -device_name ?? null, - did: $json->did ?? null, - firmware_version: $json->firmware_version ?? null, - model: $json->model ?? null, - model_type: $json->model_type ?? null, - parent_did: $json->parent_did ?? null, - position_id: $json->position_id ?? null, - time_zone: $json->time_zone ?? null, - ); - } - - public function __construct( - public string|null $device_name, - public string|null $did, - public string|null $firmware_version, - public string|null $model, - public float|null $model_type, - public string|null $parent_did, - public string|null $position_id, - public string|null $time_zone, - ) {} -} diff --git a/src/Objects/DeviceAssaAbloyCredentialServiceMetadata.php b/src/Objects/DeviceAssaAbloyCredentialServiceMetadata.php deleted file mode 100644 index 4f9a816b..00000000 --- a/src/Objects/DeviceAssaAbloyCredentialServiceMetadata.php +++ /dev/null @@ -1,26 +0,0 @@ - DeviceEndpoints::from_json($e), - $json->endpoints ?? [], - ), - has_active_endpoint: $json->has_active_endpoint ?? null, - ); - } - - public function __construct( - public array $endpoints, - public bool|null $has_active_endpoint, - ) {} -} diff --git a/src/Objects/DeviceAssaAbloyVostioMetadata.php b/src/Objects/DeviceAssaAbloyVostioMetadata.php deleted file mode 100644 index 9be33bc9..00000000 --- a/src/Objects/DeviceAssaAbloyVostioMetadata.php +++ /dev/null @@ -1,17 +0,0 @@ -encoder_name ?? null); - } - - public function __construct(public string|null $encoder_name) {} -} diff --git a/src/Objects/DeviceAugustMetadata.php b/src/Objects/DeviceAugustMetadata.php deleted file mode 100644 index 5dcbbdfe..00000000 --- a/src/Objects/DeviceAugustMetadata.php +++ /dev/null @@ -1,32 +0,0 @@ -has_keypad ?? null, - house_id: $json->house_id ?? null, - house_name: $json->house_name ?? null, - keypad_battery_level: $json->keypad_battery_level ?? null, - lock_id: $json->lock_id ?? null, - lock_name: $json->lock_name ?? null, - model: $json->model ?? null, - ); - } - - public function __construct( - public bool|null $has_keypad, - public string|null $house_id, - public string|null $house_name, - public string|null $keypad_battery_level, - public string|null $lock_id, - public string|null $lock_name, - public string|null $model, - ) {} -} diff --git a/src/Objects/DeviceAvailableClimatePresets.php b/src/Objects/DeviceAvailableClimatePresets.php deleted file mode 100644 index fa114afb..00000000 --- a/src/Objects/DeviceAvailableClimatePresets.php +++ /dev/null @@ -1,54 +0,0 @@ -can_delete ?? null, - can_edit: $json->can_edit ?? null, - can_use_with_thermostat_daily_programs: $json->can_use_with_thermostat_daily_programs ?? - null, - climate_preset_key: $json->climate_preset_key ?? null, - climate_preset_mode: $json->climate_preset_mode ?? null, - cooling_set_point_celsius: $json->cooling_set_point_celsius ?? null, - cooling_set_point_fahrenheit: $json->cooling_set_point_fahrenheit ?? - null, - display_name: $json->display_name ?? null, - ecobee_metadata: isset($json->ecobee_metadata) - ? DeviceEcobeeMetadata::from_json($json->ecobee_metadata) - : null, - fan_mode_setting: $json->fan_mode_setting ?? null, - heating_set_point_celsius: $json->heating_set_point_celsius ?? null, - heating_set_point_fahrenheit: $json->heating_set_point_fahrenheit ?? - null, - hvac_mode_setting: $json->hvac_mode_setting ?? null, - manual_override_allowed: $json->manual_override_allowed ?? null, - name: $json->name ?? null, - ); - } - - public function __construct( - public bool|null $can_delete, - public bool|null $can_edit, - public bool|null $can_use_with_thermostat_daily_programs, - public string|null $climate_preset_key, - public string|null $climate_preset_mode, - public float|null $cooling_set_point_celsius, - public float|null $cooling_set_point_fahrenheit, - public string|null $display_name, - public DeviceEcobeeMetadata|null $ecobee_metadata, - public string|null $fan_mode_setting, - public float|null $heating_set_point_celsius, - public float|null $heating_set_point_fahrenheit, - public string|null $hvac_mode_setting, - public bool|null $manual_override_allowed, - public string|null $name, - ) {} -} diff --git a/src/Objects/DeviceAvigilonAltaMetadata.php b/src/Objects/DeviceAvigilonAltaMetadata.php deleted file mode 100644 index 4f594a06..00000000 --- a/src/Objects/DeviceAvigilonAltaMetadata.php +++ /dev/null @@ -1,33 +0,0 @@ -entry_name ?? null, - entry_relays_total_count: $json->entry_relays_total_count ?? null, - org_name: $json->org_name ?? null, - site_id: $json->site_id ?? null, - site_name: $json->site_name ?? null, - zone_id: $json->zone_id ?? null, - zone_name: $json->zone_name ?? null, - ); - } - - public function __construct( - public string|null $entry_name, - public float|null $entry_relays_total_count, - public string|null $org_name, - public float|null $site_id, - public string|null $site_name, - public float|null $zone_id, - public string|null $zone_name, - ) {} -} diff --git a/src/Objects/DeviceBattery.php b/src/Objects/DeviceBattery.php deleted file mode 100644 index bfc9bb39..00000000 --- a/src/Objects/DeviceBattery.php +++ /dev/null @@ -1,16 +0,0 @@ -level ?? null); - } - - public function __construct(public float|null $level) {} -} diff --git a/src/Objects/DeviceBrivoMetadata.php b/src/Objects/DeviceBrivoMetadata.php deleted file mode 100644 index 597964b2..00000000 --- a/src/Objects/DeviceBrivoMetadata.php +++ /dev/null @@ -1,22 +0,0 @@ -activation_enabled ?? null, - device_name: $json->device_name ?? null, - ); - } - - public function __construct( - public bool|null $activation_enabled, - public string|null $device_name, - ) {} -} diff --git a/src/Objects/DeviceCodeConstraints.php b/src/Objects/DeviceCodeConstraints.php deleted file mode 100644 index dbb52b65..00000000 --- a/src/Objects/DeviceCodeConstraints.php +++ /dev/null @@ -1,24 +0,0 @@ -constraint_type ?? null, - max_length: $json->max_length ?? null, - min_length: $json->min_length ?? null, - ); - } - - public function __construct( - public string|null $constraint_type, - public float|null $max_length, - public float|null $min_length, - ) {} -} diff --git a/src/Objects/DeviceControlbywebMetadata.php b/src/Objects/DeviceControlbywebMetadata.php deleted file mode 100644 index ba5c50c6..00000000 --- a/src/Objects/DeviceControlbywebMetadata.php +++ /dev/null @@ -1,25 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - relay_name: $json->relay_name ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - public string|null $relay_name, - ) {} -} diff --git a/src/Objects/DeviceCurrentClimateSetting.php b/src/Objects/DeviceCurrentClimateSetting.php deleted file mode 100644 index cff82418..00000000 --- a/src/Objects/DeviceCurrentClimateSetting.php +++ /dev/null @@ -1,54 +0,0 @@ -can_delete ?? null, - can_edit: $json->can_edit ?? null, - can_use_with_thermostat_daily_programs: $json->can_use_with_thermostat_daily_programs ?? - null, - climate_preset_key: $json->climate_preset_key ?? null, - climate_preset_mode: $json->climate_preset_mode ?? null, - cooling_set_point_celsius: $json->cooling_set_point_celsius ?? null, - cooling_set_point_fahrenheit: $json->cooling_set_point_fahrenheit ?? - null, - display_name: $json->display_name ?? null, - ecobee_metadata: isset($json->ecobee_metadata) - ? DeviceEcobeeMetadata::from_json($json->ecobee_metadata) - : null, - fan_mode_setting: $json->fan_mode_setting ?? null, - heating_set_point_celsius: $json->heating_set_point_celsius ?? null, - heating_set_point_fahrenheit: $json->heating_set_point_fahrenheit ?? - null, - hvac_mode_setting: $json->hvac_mode_setting ?? null, - manual_override_allowed: $json->manual_override_allowed ?? null, - name: $json->name ?? null, - ); - } - - public function __construct( - public bool|null $can_delete, - public bool|null $can_edit, - public bool|null $can_use_with_thermostat_daily_programs, - public string|null $climate_preset_key, - public string|null $climate_preset_mode, - public float|null $cooling_set_point_celsius, - public float|null $cooling_set_point_fahrenheit, - public string|null $display_name, - public DeviceEcobeeMetadata|null $ecobee_metadata, - public string|null $fan_mode_setting, - public float|null $heating_set_point_celsius, - public float|null $heating_set_point_fahrenheit, - public string|null $hvac_mode_setting, - public bool|null $manual_override_allowed, - public string|null $name, - ) {} -} diff --git a/src/Objects/DeviceDefaultClimateSetting.php b/src/Objects/DeviceDefaultClimateSetting.php deleted file mode 100644 index e0f7cd01..00000000 --- a/src/Objects/DeviceDefaultClimateSetting.php +++ /dev/null @@ -1,54 +0,0 @@ -can_delete ?? null, - can_edit: $json->can_edit ?? null, - can_use_with_thermostat_daily_programs: $json->can_use_with_thermostat_daily_programs ?? - null, - climate_preset_key: $json->climate_preset_key ?? null, - climate_preset_mode: $json->climate_preset_mode ?? null, - cooling_set_point_celsius: $json->cooling_set_point_celsius ?? null, - cooling_set_point_fahrenheit: $json->cooling_set_point_fahrenheit ?? - null, - display_name: $json->display_name ?? null, - ecobee_metadata: isset($json->ecobee_metadata) - ? DeviceEcobeeMetadata::from_json($json->ecobee_metadata) - : null, - fan_mode_setting: $json->fan_mode_setting ?? null, - heating_set_point_celsius: $json->heating_set_point_celsius ?? null, - heating_set_point_fahrenheit: $json->heating_set_point_fahrenheit ?? - null, - hvac_mode_setting: $json->hvac_mode_setting ?? null, - manual_override_allowed: $json->manual_override_allowed ?? null, - name: $json->name ?? null, - ); - } - - public function __construct( - public bool|null $can_delete, - public bool|null $can_edit, - public bool|null $can_use_with_thermostat_daily_programs, - public string|null $climate_preset_key, - public string|null $climate_preset_mode, - public float|null $cooling_set_point_celsius, - public float|null $cooling_set_point_fahrenheit, - public string|null $display_name, - public DeviceEcobeeMetadata|null $ecobee_metadata, - public string|null $fan_mode_setting, - public float|null $heating_set_point_celsius, - public float|null $heating_set_point_fahrenheit, - public string|null $hvac_mode_setting, - public bool|null $manual_override_allowed, - public string|null $name, - ) {} -} diff --git a/src/Objects/DeviceDeviceManufacturer.php b/src/Objects/DeviceDeviceManufacturer.php deleted file mode 100644 index cc5bc1eb..00000000 --- a/src/Objects/DeviceDeviceManufacturer.php +++ /dev/null @@ -1,24 +0,0 @@ -display_name ?? null, - image_url: $json->image_url ?? null, - manufacturer: $json->manufacturer ?? null, - ); - } - - public function __construct( - public string|null $display_name, - public string|null $image_url, - public string|null $manufacturer, - ) {} -} diff --git a/src/Objects/DeviceDeviceProvider.php b/src/Objects/DeviceDeviceProvider.php deleted file mode 100644 index f27bc4f1..00000000 --- a/src/Objects/DeviceDeviceProvider.php +++ /dev/null @@ -1,26 +0,0 @@ -device_provider_name ?? null, - display_name: $json->display_name ?? null, - image_url: $json->image_url ?? null, - provider_category: $json->provider_category ?? null, - ); - } - - public function __construct( - public string|null $device_provider_name, - public string|null $display_name, - public string|null $image_url, - public string|null $provider_category, - ) {} -} diff --git a/src/Objects/DeviceDormakabaOracodeMetadata.php b/src/Objects/DeviceDormakabaOracodeMetadata.php deleted file mode 100644 index 36abe8bc..00000000 --- a/src/Objects/DeviceDormakabaOracodeMetadata.php +++ /dev/null @@ -1,38 +0,0 @@ -device_id ?? null, - door_id: $json->door_id ?? null, - door_is_wireless: $json->door_is_wireless ?? null, - door_name: $json->door_name ?? null, - iana_timezone: $json->iana_timezone ?? null, - predefined_time_slots: array_map( - fn($p) => DevicePredefinedTimeSlots::from_json($p), - $json->predefined_time_slots ?? [], - ), - site_id: $json->site_id ?? null, - site_name: $json->site_name ?? null, - ); - } - - public function __construct( - public mixed $device_id, - public float|null $door_id, - public bool|null $door_is_wireless, - public string|null $door_name, - public string|null $iana_timezone, - public array $predefined_time_slots, - public float|null $site_id, - public string|null $site_name, - ) {} -} diff --git a/src/Objects/DeviceEcobeeMetadata.php b/src/Objects/DeviceEcobeeMetadata.php deleted file mode 100644 index cd74c93b..00000000 --- a/src/Objects/DeviceEcobeeMetadata.php +++ /dev/null @@ -1,22 +0,0 @@ -device_name ?? null, - ecobee_device_id: $json->ecobee_device_id ?? null, - ); - } - - public function __construct( - public string|null $device_name, - public string|null $ecobee_device_id, - ) {} -} diff --git a/src/Objects/DeviceEndpoints.php b/src/Objects/DeviceEndpoints.php deleted file mode 100644 index 38d003ad..00000000 --- a/src/Objects/DeviceEndpoints.php +++ /dev/null @@ -1,22 +0,0 @@ -endpoint_id ?? null, - is_active: $json->is_active ?? null, - ); - } - - public function __construct( - public string|null $endpoint_id, - public bool|null $is_active, - ) {} -} diff --git a/src/Objects/DeviceErrors.php b/src/Objects/DeviceErrors.php deleted file mode 100644 index 6a6b66d1..00000000 --- a/src/Objects/DeviceErrors.php +++ /dev/null @@ -1,31 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - is_bridge_error: $json->is_bridge_error ?? null, - is_connected_account_error: $json->is_connected_account_error ?? - null, - is_device_error: $json->is_device_error ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public bool|null $is_bridge_error, - public bool|null $is_connected_account_error, - public bool|null $is_device_error, - public string|null $message, - ) {} -} diff --git a/src/Objects/DeviceFeatures.php b/src/Objects/DeviceFeatures.php deleted file mode 100644 index 9a143241..00000000 --- a/src/Objects/DeviceFeatures.php +++ /dev/null @@ -1,33 +0,0 @@ -auto_lock_time_config ?? null, - incomplete_keyboard_passcode: $json->incomplete_keyboard_passcode ?? - null, - lock_command: $json->lock_command ?? null, - passcode: $json->passcode ?? null, - passcode_management: $json->passcode_management ?? null, - unlock_via_gateway: $json->unlock_via_gateway ?? null, - wifi: $json->wifi ?? null, - ); - } - - public function __construct( - public bool|null $auto_lock_time_config, - public bool|null $incomplete_keyboard_passcode, - public bool|null $lock_command, - public bool|null $passcode, - public bool|null $passcode_management, - public bool|null $unlock_via_gateway, - public bool|null $wifi, - ) {} -} diff --git a/src/Objects/DeviceFourSuitesMetadata.php b/src/Objects/DeviceFourSuitesMetadata.php deleted file mode 100644 index 4355fddd..00000000 --- a/src/Objects/DeviceFourSuitesMetadata.php +++ /dev/null @@ -1,24 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - reclose_delay_in_seconds: $json->reclose_delay_in_seconds ?? null, - ); - } - - public function __construct( - public float|null $device_id, - public string|null $device_name, - public float|null $reclose_delay_in_seconds, - ) {} -} diff --git a/src/Objects/DeviceGenieMetadata.php b/src/Objects/DeviceGenieMetadata.php deleted file mode 100644 index 76810635..00000000 --- a/src/Objects/DeviceGenieMetadata.php +++ /dev/null @@ -1,22 +0,0 @@ -device_name ?? null, - door_name: $json->door_name ?? null, - ); - } - - public function __construct( - public string|null $device_name, - public string|null $door_name, - ) {} -} diff --git a/src/Objects/DeviceHoneywellResideoMetadata.php b/src/Objects/DeviceHoneywellResideoMetadata.php deleted file mode 100644 index 57b5b46b..00000000 --- a/src/Objects/DeviceHoneywellResideoMetadata.php +++ /dev/null @@ -1,24 +0,0 @@ -device_name ?? null, - honeywell_resideo_device_id: $json->honeywell_resideo_device_id ?? - null, - ); - } - - public function __construct( - public string|null $device_name, - public string|null $honeywell_resideo_device_id, - ) {} -} diff --git a/src/Objects/DeviceHumidity.php b/src/Objects/DeviceHumidity.php deleted file mode 100644 index a24dde61..00000000 --- a/src/Objects/DeviceHumidity.php +++ /dev/null @@ -1,19 +0,0 @@ -time ?? null, value: $json->value ?? null); - } - - public function __construct( - public string|null $time, - public float|null $value, - ) {} -} diff --git a/src/Objects/DeviceIglooMetadata.php b/src/Objects/DeviceIglooMetadata.php deleted file mode 100644 index 8c135dab..00000000 --- a/src/Objects/DeviceIglooMetadata.php +++ /dev/null @@ -1,24 +0,0 @@ -bridge_id ?? null, - device_id: $json->device_id ?? null, - model: $json->model ?? null, - ); - } - - public function __construct( - public string|null $bridge_id, - public string|null $device_id, - public string|null $model, - ) {} -} diff --git a/src/Objects/DeviceIgloohomeMetadata.php b/src/Objects/DeviceIgloohomeMetadata.php deleted file mode 100644 index f089a5ae..00000000 --- a/src/Objects/DeviceIgloohomeMetadata.php +++ /dev/null @@ -1,31 +0,0 @@ -bridge_id ?? null, - bridge_name: $json->bridge_name ?? null, - device_id: $json->device_id ?? null, - device_name: $json->device_name ?? null, - is_accessory_keypad_linked_to_bridge: $json->is_accessory_keypad_linked_to_bridge ?? - null, - keypad_id: $json->keypad_id ?? null, - ); - } - - public function __construct( - public string|null $bridge_id, - public string|null $bridge_name, - public string|null $device_id, - public string|null $device_name, - public bool|null $is_accessory_keypad_linked_to_bridge, - public string|null $keypad_id, - ) {} -} diff --git a/src/Objects/DeviceKeynestMetadata.php b/src/Objects/DeviceKeynestMetadata.php deleted file mode 100644 index 072485f0..00000000 --- a/src/Objects/DeviceKeynestMetadata.php +++ /dev/null @@ -1,60 +0,0 @@ -address ?? null, - current_or_last_store_id: $json->current_or_last_store_id ?? null, - current_status: $json->current_status ?? null, - current_user_company: $json->current_user_company ?? null, - current_user_email: $json->current_user_email ?? null, - current_user_name: $json->current_user_name ?? null, - current_user_phone_number: $json->current_user_phone_number ?? null, - default_office_id: $json->default_office_id ?? null, - device_name: $json->device_name ?? null, - fob_id: $json->fob_id ?? null, - handover_method: $json->handover_method ?? null, - has_photo: $json->has_photo ?? null, - is_quadient_locker: $json->is_quadient_locker ?? null, - key_id: $json->key_id ?? null, - key_notes: $json->key_notes ?? null, - keynest_app_user: $json->keynest_app_user ?? null, - last_movement: $json->last_movement ?? null, - property_id: $json->property_id ?? null, - property_postcode: $json->property_postcode ?? null, - status_type: $json->status_type ?? null, - subscription_plan: $json->subscription_plan ?? null, - ); - } - - public function __construct( - public string|null $address, - public float|null $current_or_last_store_id, - public string|null $current_status, - public string|null $current_user_company, - public string|null $current_user_email, - public string|null $current_user_name, - public string|null $current_user_phone_number, - public float|null $default_office_id, - public string|null $device_name, - public float|null $fob_id, - public string|null $handover_method, - public bool|null $has_photo, - public bool|null $is_quadient_locker, - public string|null $key_id, - public string|null $key_notes, - public string|null $keynest_app_user, - public string|null $last_movement, - public string|null $property_id, - public string|null $property_postcode, - public string|null $status_type, - public string|null $subscription_plan, - ) {} -} diff --git a/src/Objects/DeviceKeypadBattery.php b/src/Objects/DeviceKeypadBattery.php deleted file mode 100644 index cdfe474d..00000000 --- a/src/Objects/DeviceKeypadBattery.php +++ /dev/null @@ -1,16 +0,0 @@ -level ?? null); - } - - public function __construct(public float|null $level) {} -} diff --git a/src/Objects/DeviceKisiMetadata.php b/src/Objects/DeviceKisiMetadata.php deleted file mode 100644 index 81ac7207..00000000 --- a/src/Objects/DeviceKisiMetadata.php +++ /dev/null @@ -1,26 +0,0 @@ -description ?? null, - lock_id: $json->lock_id ?? null, - lock_name: $json->lock_name ?? null, - place_name: $json->place_name ?? null, - ); - } - - public function __construct( - public string|null $description, - public float|null $lock_id, - public string|null $lock_name, - public string|null $place_name, - ) {} -} diff --git a/src/Objects/DeviceKorelockMetadata.php b/src/Objects/DeviceKorelockMetadata.php deleted file mode 100644 index 17e4043b..00000000 --- a/src/Objects/DeviceKorelockMetadata.php +++ /dev/null @@ -1,32 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - firmware_version: $json->firmware_version ?? null, - location_id: $json->location_id ?? null, - model_code: $json->model_code ?? null, - serial_number: $json->serial_number ?? null, - wifi_signal_strength: $json->wifi_signal_strength ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - public string|null $firmware_version, - public string|null $location_id, - public string|null $model_code, - public string|null $serial_number, - public float|null $wifi_signal_strength, - ) {} -} diff --git a/src/Objects/DeviceKwiksetMetadata.php b/src/Objects/DeviceKwiksetMetadata.php deleted file mode 100644 index 2f909e0a..00000000 --- a/src/Objects/DeviceKwiksetMetadata.php +++ /dev/null @@ -1,24 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - model_number: $json->model_number ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - public string|null $model_number, - ) {} -} diff --git a/src/Objects/DeviceLatestSensorValues.php b/src/Objects/DeviceLatestSensorValues.php deleted file mode 100644 index b571503e..00000000 --- a/src/Objects/DeviceLatestSensorValues.php +++ /dev/null @@ -1,38 +0,0 @@ -accelerometer_z) - ? DeviceAccelerometerZ::from_json($json->accelerometer_z) - : null, - humidity: isset($json->humidity) - ? DeviceHumidity::from_json($json->humidity) - : null, - pressure: isset($json->pressure) - ? DevicePressure::from_json($json->pressure) - : null, - sound: isset($json->sound) - ? DeviceSound::from_json($json->sound) - : null, - temperature: isset($json->temperature) - ? DeviceTemperature::from_json($json->temperature) - : null, - ); - } - - public function __construct( - public DeviceAccelerometerZ|null $accelerometer_z, - public DeviceHumidity|null $humidity, - public DevicePressure|null $pressure, - public DeviceSound|null $sound, - public DeviceTemperature|null $temperature, - ) {} -} diff --git a/src/Objects/DeviceLocation.php b/src/Objects/DeviceLocation.php deleted file mode 100644 index 6dcf100f..00000000 --- a/src/Objects/DeviceLocation.php +++ /dev/null @@ -1,24 +0,0 @@ -location_name ?? null, - time_zone: $json->time_zone ?? null, - timezone: $json->timezone ?? null, - ); - } - - public function __construct( - public string|null $location_name, - public string|null $time_zone, - public string|null $timezone, - ) {} -} diff --git a/src/Objects/DeviceLocklyMetadata.php b/src/Objects/DeviceLocklyMetadata.php deleted file mode 100644 index a103d1a5..00000000 --- a/src/Objects/DeviceLocklyMetadata.php +++ /dev/null @@ -1,24 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - model: $json->model ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - public string|null $model, - ) {} -} diff --git a/src/Objects/DeviceMinutMetadata.php b/src/Objects/DeviceMinutMetadata.php deleted file mode 100644 index 01160965..00000000 --- a/src/Objects/DeviceMinutMetadata.php +++ /dev/null @@ -1,28 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - latest_sensor_values: isset($json->latest_sensor_values) - ? DeviceLatestSensorValues::from_json( - $json->latest_sensor_values, - ) - : null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - public DeviceLatestSensorValues|null $latest_sensor_values, - ) {} -} diff --git a/src/Objects/DeviceModel.php b/src/Objects/DeviceModel.php deleted file mode 100644 index 248fb31b..00000000 --- a/src/Objects/DeviceModel.php +++ /dev/null @@ -1,36 +0,0 @@ -accessory_keypad_supported ?? - null, - can_connect_accessory_keypad: $json->can_connect_accessory_keypad ?? - null, - display_name: $json->display_name ?? null, - has_built_in_keypad: $json->has_built_in_keypad ?? null, - manufacturer_display_name: $json->manufacturer_display_name ?? null, - offline_access_codes_supported: $json->offline_access_codes_supported ?? - null, - online_access_codes_supported: $json->online_access_codes_supported ?? - null, - ); - } - - public function __construct( - public bool|null $accessory_keypad_supported, - public bool|null $can_connect_accessory_keypad, - public string|null $display_name, - public bool|null $has_built_in_keypad, - public string|null $manufacturer_display_name, - public bool|null $offline_access_codes_supported, - public bool|null $online_access_codes_supported, - ) {} -} diff --git a/src/Objects/DeviceNestMetadata.php b/src/Objects/DeviceNestMetadata.php deleted file mode 100644 index 14e073d5..00000000 --- a/src/Objects/DeviceNestMetadata.php +++ /dev/null @@ -1,26 +0,0 @@ -device_custom_name ?? null, - device_name: $json->device_name ?? null, - display_name: $json->display_name ?? null, - nest_device_id: $json->nest_device_id ?? null, - ); - } - - public function __construct( - public string|null $device_custom_name, - public string|null $device_name, - public string|null $display_name, - public string|null $nest_device_id, - ) {} -} diff --git a/src/Objects/DeviceNoiseawareMetadata.php b/src/Objects/DeviceNoiseawareMetadata.php deleted file mode 100644 index 154fec7d..00000000 --- a/src/Objects/DeviceNoiseawareMetadata.php +++ /dev/null @@ -1,28 +0,0 @@ -device_id ?? null, - device_model: $json->device_model ?? null, - device_name: $json->device_name ?? null, - noise_level_decibel: $json->noise_level_decibel ?? null, - noise_level_nrs: $json->noise_level_nrs ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_model, - public string|null $device_name, - public float|null $noise_level_decibel, - public float|null $noise_level_nrs, - ) {} -} diff --git a/src/Objects/DeviceNukiMetadata.php b/src/Objects/DeviceNukiMetadata.php deleted file mode 100644 index f0822548..00000000 --- a/src/Objects/DeviceNukiMetadata.php +++ /dev/null @@ -1,28 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - keypad_2_paired: $json->keypad_2_paired ?? null, - keypad_battery_critical: $json->keypad_battery_critical ?? null, - keypad_paired: $json->keypad_paired ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - public bool|null $keypad_2_paired, - public bool|null $keypad_battery_critical, - public bool|null $keypad_paired, - ) {} -} diff --git a/src/Objects/DeviceOfflineTimeFrameOptions.php b/src/Objects/DeviceOfflineTimeFrameOptions.php deleted file mode 100644 index 4c38466d..00000000 --- a/src/Objects/DeviceOfflineTimeFrameOptions.php +++ /dev/null @@ -1,39 +0,0 @@ -display_name ?? null, - end_date_recurrence_rule: $json->end_date_recurrence_rule ?? null, - matching_start_end_time: $json->matching_start_end_time ?? null, - max_duration: $json->max_duration ?? null, - min_duration: $json->min_duration ?? null, - start_date_recurrence_rule: $json->start_date_recurrence_rule ?? - null, - time_pairs: array_map( - fn($t) => DeviceTimePairs::from_json($t), - $json->time_pairs ?? [], - ), - time_zone: $json->time_zone ?? null, - ); - } - - public function __construct( - public string|null $display_name, - public string|null $end_date_recurrence_rule, - public bool|null $matching_start_end_time, - public string|null $max_duration, - public string|null $min_duration, - public string|null $start_date_recurrence_rule, - public array $time_pairs, - public string|null $time_zone, - ) {} -} diff --git a/src/Objects/DeviceOmnitecMetadata.php b/src/Objects/DeviceOmnitecMetadata.php deleted file mode 100644 index aec1ac4e..00000000 --- a/src/Objects/DeviceOmnitecMetadata.php +++ /dev/null @@ -1,32 +0,0 @@ -has_gateway ?? null, - lock_alias: $json->lock_alias ?? null, - lock_id: $json->lock_id ?? null, - lock_mac: $json->lock_mac ?? null, - lock_name: $json->lock_name ?? null, - time_zone: $json->time_zone ?? null, - timezone_raw_offset_ms: $json->timezone_raw_offset_ms ?? null, - ); - } - - public function __construct( - public bool|null $has_gateway, - public string|null $lock_alias, - public float|null $lock_id, - public string|null $lock_mac, - public string|null $lock_name, - public string|null $time_zone, - public float|null $timezone_raw_offset_ms, - ) {} -} diff --git a/src/Objects/DeviceOnlineTimeFrameOptions.php b/src/Objects/DeviceOnlineTimeFrameOptions.php deleted file mode 100644 index 85435485..00000000 --- a/src/Objects/DeviceOnlineTimeFrameOptions.php +++ /dev/null @@ -1,39 +0,0 @@ -display_name ?? null, - end_date_recurrence_rule: $json->end_date_recurrence_rule ?? null, - matching_start_end_time: $json->matching_start_end_time ?? null, - max_duration: $json->max_duration ?? null, - min_duration: $json->min_duration ?? null, - start_date_recurrence_rule: $json->start_date_recurrence_rule ?? - null, - time_pairs: array_map( - fn($t) => DeviceTimePairs::from_json($t), - $json->time_pairs ?? [], - ), - time_zone: $json->time_zone ?? null, - ); - } - - public function __construct( - public string|null $display_name, - public string|null $end_date_recurrence_rule, - public bool|null $matching_start_end_time, - public string|null $max_duration, - public string|null $min_duration, - public string|null $start_date_recurrence_rule, - public array $time_pairs, - public string|null $time_zone, - ) {} -} diff --git a/src/Objects/DevicePeriods.php b/src/Objects/DevicePeriods.php deleted file mode 100644 index b65cfe65..00000000 --- a/src/Objects/DevicePeriods.php +++ /dev/null @@ -1,22 +0,0 @@ -climate_preset_key ?? null, - starts_at_time: $json->starts_at_time ?? null, - ); - } - - public function __construct( - public string|null $climate_preset_key, - public string|null $starts_at_time, - ) {} -} diff --git a/src/Objects/DevicePredefinedTimeSlots.php b/src/Objects/DevicePredefinedTimeSlots.php deleted file mode 100644 index 01ff0ba6..00000000 --- a/src/Objects/DevicePredefinedTimeSlots.php +++ /dev/null @@ -1,41 +0,0 @@ -check_in_time ?? null, - check_out_time: $json->check_out_time ?? null, - dormakaba_oracode_user_level_id: $json->dormakaba_oracode_user_level_id ?? - null, - dormakaba_oracode_user_level_prefix: $json->dormakaba_oracode_user_level_prefix ?? - null, - is_24_hour: $json->is_24_hour ?? null, - is_biweekly_mode: $json->is_biweekly_mode ?? null, - is_master: $json->is_master ?? null, - is_one_shot: $json->is_one_shot ?? null, - name: $json->name ?? null, - prefix: $json->prefix ?? null, - ); - } - - public function __construct( - public string|null $check_in_time, - public string|null $check_out_time, - public string|null $dormakaba_oracode_user_level_id, - public float|null $dormakaba_oracode_user_level_prefix, - public bool|null $is_24_hour, - public bool|null $is_biweekly_mode, - public bool|null $is_master, - public bool|null $is_one_shot, - public string|null $name, - public float|null $prefix, - ) {} -} diff --git a/src/Objects/DevicePressure.php b/src/Objects/DevicePressure.php deleted file mode 100644 index c9696333..00000000 --- a/src/Objects/DevicePressure.php +++ /dev/null @@ -1,19 +0,0 @@ -time ?? null, value: $json->value ?? null); - } - - public function __construct( - public string|null $time, - public float|null $value, - ) {} -} diff --git a/src/Objects/DeviceProperties.php b/src/Objects/DeviceProperties.php deleted file mode 100644 index 51bde1d8..00000000 --- a/src/Objects/DeviceProperties.php +++ /dev/null @@ -1,405 +0,0 @@ -accessory_keypad) - ? DeviceAccessoryKeypad::from_json($json->accessory_keypad) - : null, - active_thermostat_schedule: isset($json->active_thermostat_schedule) - ? DeviceActiveThermostatSchedule::from_json( - $json->active_thermostat_schedule, - ) - : null, - active_thermostat_schedule_id: $json->active_thermostat_schedule_id ?? - null, - akiles_metadata: isset($json->akiles_metadata) - ? DeviceAkilesMetadata::from_json($json->akiles_metadata) - : null, - appearance: isset($json->appearance) - ? DeviceAppearance::from_json($json->appearance) - : null, - aqara_metadata: isset($json->aqara_metadata) - ? DeviceAqaraMetadata::from_json($json->aqara_metadata) - : null, - assa_abloy_credential_service_metadata: isset( - $json->assa_abloy_credential_service_metadata, - ) - ? DeviceAssaAbloyCredentialServiceMetadata::from_json( - $json->assa_abloy_credential_service_metadata, - ) - : null, - assa_abloy_vostio_metadata: isset($json->assa_abloy_vostio_metadata) - ? DeviceAssaAbloyVostioMetadata::from_json( - $json->assa_abloy_vostio_metadata, - ) - : null, - august_metadata: isset($json->august_metadata) - ? DeviceAugustMetadata::from_json($json->august_metadata) - : null, - auto_lock_delay_seconds: $json->auto_lock_delay_seconds ?? null, - auto_lock_enabled: $json->auto_lock_enabled ?? null, - available_climate_preset_modes: $json->available_climate_preset_modes ?? - null, - available_climate_presets: array_map( - fn($a) => DeviceAvailableClimatePresets::from_json($a), - $json->available_climate_presets ?? [], - ), - available_fan_mode_settings: $json->available_fan_mode_settings ?? - null, - available_hvac_mode_settings: $json->available_hvac_mode_settings ?? - null, - avigilon_alta_metadata: isset($json->avigilon_alta_metadata) - ? DeviceAvigilonAltaMetadata::from_json( - $json->avigilon_alta_metadata, - ) - : null, - backup_access_code_pool_enabled: $json->backup_access_code_pool_enabled ?? - null, - battery: isset($json->battery) - ? DeviceBattery::from_json($json->battery) - : null, - battery_level: $json->battery_level ?? null, - brivo_metadata: isset($json->brivo_metadata) - ? DeviceBrivoMetadata::from_json($json->brivo_metadata) - : null, - code_constraints: array_map( - fn($c) => DeviceCodeConstraints::from_json($c), - $json->code_constraints ?? [], - ), - controlbyweb_metadata: isset($json->controlbyweb_metadata) - ? DeviceControlbywebMetadata::from_json( - $json->controlbyweb_metadata, - ) - : null, - current_climate_setting: isset($json->current_climate_setting) - ? DeviceCurrentClimateSetting::from_json( - $json->current_climate_setting, - ) - : null, - currently_triggering_noise_threshold_ids: $json->currently_triggering_noise_threshold_ids ?? - null, - default_climate_setting: isset($json->default_climate_setting) - ? DeviceDefaultClimateSetting::from_json( - $json->default_climate_setting, - ) - : null, - door_open: $json->door_open ?? null, - dormakaba_oracode_metadata: isset($json->dormakaba_oracode_metadata) - ? DeviceDormakabaOracodeMetadata::from_json( - $json->dormakaba_oracode_metadata, - ) - : null, - ecobee_metadata: isset($json->ecobee_metadata) - ? DeviceEcobeeMetadata::from_json($json->ecobee_metadata) - : null, - fallback_climate_preset_key: $json->fallback_climate_preset_key ?? - null, - fan_mode_setting: $json->fan_mode_setting ?? null, - four_suites_metadata: isset($json->four_suites_metadata) - ? DeviceFourSuitesMetadata::from_json( - $json->four_suites_metadata, - ) - : null, - genie_metadata: isset($json->genie_metadata) - ? DeviceGenieMetadata::from_json($json->genie_metadata) - : null, - has_direct_power: $json->has_direct_power ?? null, - has_native_entry_events: $json->has_native_entry_events ?? null, - honeywell_resideo_metadata: isset($json->honeywell_resideo_metadata) - ? DeviceHoneywellResideoMetadata::from_json( - $json->honeywell_resideo_metadata, - ) - : null, - igloo_metadata: isset($json->igloo_metadata) - ? DeviceIglooMetadata::from_json($json->igloo_metadata) - : null, - igloohome_metadata: isset($json->igloohome_metadata) - ? DeviceIgloohomeMetadata::from_json($json->igloohome_metadata) - : null, - image_alt_text: $json->image_alt_text ?? null, - image_url: $json->image_url ?? null, - is_cooling: $json->is_cooling ?? null, - is_fan_running: $json->is_fan_running ?? null, - is_heating: $json->is_heating ?? null, - is_temporary_manual_override_active: $json->is_temporary_manual_override_active ?? - null, - keynest_metadata: isset($json->keynest_metadata) - ? DeviceKeynestMetadata::from_json($json->keynest_metadata) - : null, - keypad_battery: isset($json->keypad_battery) - ? DeviceKeypadBattery::from_json($json->keypad_battery) - : null, - kisi_metadata: isset($json->kisi_metadata) - ? DeviceKisiMetadata::from_json($json->kisi_metadata) - : null, - korelock_metadata: isset($json->korelock_metadata) - ? DeviceKorelockMetadata::from_json($json->korelock_metadata) - : null, - kwikset_metadata: isset($json->kwikset_metadata) - ? DeviceKwiksetMetadata::from_json($json->kwikset_metadata) - : null, - locked: $json->locked ?? null, - lockly_metadata: isset($json->lockly_metadata) - ? DeviceLocklyMetadata::from_json($json->lockly_metadata) - : null, - manufacturer: $json->manufacturer ?? null, - max_active_codes_supported: $json->max_active_codes_supported ?? - null, - max_cooling_set_point_celsius: $json->max_cooling_set_point_celsius ?? - null, - max_cooling_set_point_fahrenheit: $json->max_cooling_set_point_fahrenheit ?? - null, - max_heating_set_point_celsius: $json->max_heating_set_point_celsius ?? - null, - max_heating_set_point_fahrenheit: $json->max_heating_set_point_fahrenheit ?? - null, - max_thermostat_daily_program_periods_per_day: $json->max_thermostat_daily_program_periods_per_day ?? - null, - max_unique_climate_presets_per_thermostat_weekly_program: $json->max_unique_climate_presets_per_thermostat_weekly_program ?? - null, - min_cooling_set_point_celsius: $json->min_cooling_set_point_celsius ?? - null, - min_cooling_set_point_fahrenheit: $json->min_cooling_set_point_fahrenheit ?? - null, - min_heating_cooling_delta_celsius: $json->min_heating_cooling_delta_celsius ?? - null, - min_heating_cooling_delta_fahrenheit: $json->min_heating_cooling_delta_fahrenheit ?? - null, - min_heating_set_point_celsius: $json->min_heating_set_point_celsius ?? - null, - min_heating_set_point_fahrenheit: $json->min_heating_set_point_fahrenheit ?? - null, - minut_metadata: isset($json->minut_metadata) - ? DeviceMinutMetadata::from_json($json->minut_metadata) - : null, - model: isset($json->model) - ? DeviceModel::from_json($json->model) - : null, - name: $json->name ?? null, - nest_metadata: isset($json->nest_metadata) - ? DeviceNestMetadata::from_json($json->nest_metadata) - : null, - noise_level_decibels: $json->noise_level_decibels ?? null, - noiseaware_metadata: isset($json->noiseaware_metadata) - ? DeviceNoiseawareMetadata::from_json( - $json->noiseaware_metadata, - ) - : null, - nuki_metadata: isset($json->nuki_metadata) - ? DeviceNukiMetadata::from_json($json->nuki_metadata) - : null, - offline_access_codes_enabled: $json->offline_access_codes_enabled ?? - null, - offline_time_frame_options: array_map( - fn($o) => DeviceOfflineTimeFrameOptions::from_json($o), - $json->offline_time_frame_options ?? [], - ), - omnitec_metadata: isset($json->omnitec_metadata) - ? DeviceOmnitecMetadata::from_json($json->omnitec_metadata) - : null, - online: $json->online ?? null, - online_access_codes_enabled: $json->online_access_codes_enabled ?? - null, - online_time_frame_options: array_map( - fn($o) => DeviceOnlineTimeFrameOptions::from_json($o), - $json->online_time_frame_options ?? [], - ), - relative_humidity: $json->relative_humidity ?? null, - ring_metadata: isset($json->ring_metadata) - ? DeviceRingMetadata::from_json($json->ring_metadata) - : null, - salto_ks_metadata: isset($json->salto_ks_metadata) - ? DeviceSaltoKsMetadata::from_json($json->salto_ks_metadata) - : null, - salto_metadata: isset($json->salto_metadata) - ? DeviceSaltoMetadata::from_json($json->salto_metadata) - : null, - salto_space_credential_service_metadata: isset( - $json->salto_space_credential_service_metadata, - ) - ? DeviceSaltoSpaceCredentialServiceMetadata::from_json( - $json->salto_space_credential_service_metadata, - ) - : null, - schlage_metadata: isset($json->schlage_metadata) - ? DeviceSchlageMetadata::from_json($json->schlage_metadata) - : null, - seam_bridge_metadata: isset($json->seam_bridge_metadata) - ? DeviceSeamBridgeMetadata::from_json( - $json->seam_bridge_metadata, - ) - : null, - sensi_metadata: isset($json->sensi_metadata) - ? DeviceSensiMetadata::from_json($json->sensi_metadata) - : null, - serial_number: $json->serial_number ?? null, - smartthings_metadata: isset($json->smartthings_metadata) - ? DeviceSmartthingsMetadata::from_json( - $json->smartthings_metadata, - ) - : null, - supported_code_lengths: $json->supported_code_lengths ?? null, - supports_accessory_keypad: $json->supports_accessory_keypad ?? null, - supports_backup_access_code_pool: $json->supports_backup_access_code_pool ?? - null, - supports_offline_access_codes: $json->supports_offline_access_codes ?? - null, - tado_metadata: isset($json->tado_metadata) - ? DeviceTadoMetadata::from_json($json->tado_metadata) - : null, - tedee_metadata: isset($json->tedee_metadata) - ? DeviceTedeeMetadata::from_json($json->tedee_metadata) - : null, - temperature_celsius: $json->temperature_celsius ?? null, - temperature_fahrenheit: $json->temperature_fahrenheit ?? null, - temperature_threshold: isset($json->temperature_threshold) - ? DeviceTemperatureThreshold::from_json( - $json->temperature_threshold, - ) - : null, - thermostat_daily_program_period_precision_minutes: $json->thermostat_daily_program_period_precision_minutes ?? - null, - thermostat_daily_programs: array_map( - fn($t) => DeviceThermostatDailyPrograms::from_json($t), - $json->thermostat_daily_programs ?? [], - ), - thermostat_weekly_program: isset($json->thermostat_weekly_program) - ? DeviceThermostatWeeklyProgram::from_json( - $json->thermostat_weekly_program, - ) - : null, - ttlock_metadata: isset($json->ttlock_metadata) - ? DeviceTtlockMetadata::from_json($json->ttlock_metadata) - : null, - two_n_metadata: isset($json->two_n_metadata) - ? DeviceTwoNMetadata::from_json($json->two_n_metadata) - : null, - ultraloq_metadata: isset($json->ultraloq_metadata) - ? DeviceUltraloqMetadata::from_json($json->ultraloq_metadata) - : null, - visionline_metadata: isset($json->visionline_metadata) - ? DeviceVisionlineMetadata::from_json( - $json->visionline_metadata, - ) - : null, - wyze_metadata: isset($json->wyze_metadata) - ? DeviceWyzeMetadata::from_json($json->wyze_metadata) - : null, - ); - } - - public function __construct( - public DeviceAccessoryKeypad|null $accessory_keypad, - public DeviceActiveThermostatSchedule|null $active_thermostat_schedule, - public string|null $active_thermostat_schedule_id, - public DeviceAkilesMetadata|null $akiles_metadata, - public DeviceAppearance|null $appearance, - public DeviceAqaraMetadata|null $aqara_metadata, - public DeviceAssaAbloyCredentialServiceMetadata|null $assa_abloy_credential_service_metadata, - public DeviceAssaAbloyVostioMetadata|null $assa_abloy_vostio_metadata, - public DeviceAugustMetadata|null $august_metadata, - public float|null $auto_lock_delay_seconds, - public bool|null $auto_lock_enabled, - public array|null $available_climate_preset_modes, - public array $available_climate_presets, - public array|null $available_fan_mode_settings, - public array|null $available_hvac_mode_settings, - public DeviceAvigilonAltaMetadata|null $avigilon_alta_metadata, - public bool|null $backup_access_code_pool_enabled, - public DeviceBattery|null $battery, - public float|null $battery_level, - public DeviceBrivoMetadata|null $brivo_metadata, - public array $code_constraints, - public DeviceControlbywebMetadata|null $controlbyweb_metadata, - public DeviceCurrentClimateSetting|null $current_climate_setting, - public array|null $currently_triggering_noise_threshold_ids, - public DeviceDefaultClimateSetting|null $default_climate_setting, - public bool|null $door_open, - public DeviceDormakabaOracodeMetadata|null $dormakaba_oracode_metadata, - public DeviceEcobeeMetadata|null $ecobee_metadata, - public string|null $fallback_climate_preset_key, - public string|null $fan_mode_setting, - public DeviceFourSuitesMetadata|null $four_suites_metadata, - public DeviceGenieMetadata|null $genie_metadata, - public bool|null $has_direct_power, - public bool|null $has_native_entry_events, - public DeviceHoneywellResideoMetadata|null $honeywell_resideo_metadata, - public DeviceIglooMetadata|null $igloo_metadata, - public DeviceIgloohomeMetadata|null $igloohome_metadata, - public string|null $image_alt_text, - public string|null $image_url, - public bool|null $is_cooling, - public bool|null $is_fan_running, - public bool|null $is_heating, - public bool|null $is_temporary_manual_override_active, - public DeviceKeynestMetadata|null $keynest_metadata, - public DeviceKeypadBattery|null $keypad_battery, - public DeviceKisiMetadata|null $kisi_metadata, - public DeviceKorelockMetadata|null $korelock_metadata, - public DeviceKwiksetMetadata|null $kwikset_metadata, - public bool|null $locked, - public DeviceLocklyMetadata|null $lockly_metadata, - public string|null $manufacturer, - public float|null $max_active_codes_supported, - public float|null $max_cooling_set_point_celsius, - public float|null $max_cooling_set_point_fahrenheit, - public float|null $max_heating_set_point_celsius, - public float|null $max_heating_set_point_fahrenheit, - public float|null $max_thermostat_daily_program_periods_per_day, - public float|null $max_unique_climate_presets_per_thermostat_weekly_program, - public float|null $min_cooling_set_point_celsius, - public float|null $min_cooling_set_point_fahrenheit, - public float|null $min_heating_cooling_delta_celsius, - public float|null $min_heating_cooling_delta_fahrenheit, - public float|null $min_heating_set_point_celsius, - public float|null $min_heating_set_point_fahrenheit, - public DeviceMinutMetadata|null $minut_metadata, - public DeviceModel|null $model, - public string|null $name, - public DeviceNestMetadata|null $nest_metadata, - public float|null $noise_level_decibels, - public DeviceNoiseawareMetadata|null $noiseaware_metadata, - public DeviceNukiMetadata|null $nuki_metadata, - public bool|null $offline_access_codes_enabled, - public array $offline_time_frame_options, - public DeviceOmnitecMetadata|null $omnitec_metadata, - public bool|null $online, - public bool|null $online_access_codes_enabled, - public array $online_time_frame_options, - public float|null $relative_humidity, - public DeviceRingMetadata|null $ring_metadata, - public DeviceSaltoKsMetadata|null $salto_ks_metadata, - public DeviceSaltoMetadata|null $salto_metadata, - public DeviceSaltoSpaceCredentialServiceMetadata|null $salto_space_credential_service_metadata, - public DeviceSchlageMetadata|null $schlage_metadata, - public DeviceSeamBridgeMetadata|null $seam_bridge_metadata, - public DeviceSensiMetadata|null $sensi_metadata, - public string|null $serial_number, - public DeviceSmartthingsMetadata|null $smartthings_metadata, - public array|null $supported_code_lengths, - public bool|null $supports_accessory_keypad, - public bool|null $supports_backup_access_code_pool, - public bool|null $supports_offline_access_codes, - public DeviceTadoMetadata|null $tado_metadata, - public DeviceTedeeMetadata|null $tedee_metadata, - public float|null $temperature_celsius, - public float|null $temperature_fahrenheit, - public DeviceTemperatureThreshold|null $temperature_threshold, - public float|null $thermostat_daily_program_period_precision_minutes, - public array $thermostat_daily_programs, - public DeviceThermostatWeeklyProgram|null $thermostat_weekly_program, - public DeviceTtlockMetadata|null $ttlock_metadata, - public DeviceTwoNMetadata|null $two_n_metadata, - public DeviceUltraloqMetadata|null $ultraloq_metadata, - public DeviceVisionlineMetadata|null $visionline_metadata, - public DeviceWyzeMetadata|null $wyze_metadata, - ) {} -} diff --git a/src/Objects/DeviceRingMetadata.php b/src/Objects/DeviceRingMetadata.php deleted file mode 100644 index e78f6bd9..00000000 --- a/src/Objects/DeviceRingMetadata.php +++ /dev/null @@ -1,22 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - ) {} -} diff --git a/src/Objects/DeviceSaltoKsMetadata.php b/src/Objects/DeviceSaltoKsMetadata.php deleted file mode 100644 index a421998f..00000000 --- a/src/Objects/DeviceSaltoKsMetadata.php +++ /dev/null @@ -1,37 +0,0 @@ -battery_level ?? null, - customer_reference: $json->customer_reference ?? null, - has_custom_pin_subscription: $json->has_custom_pin_subscription ?? - null, - lock_id: $json->lock_id ?? null, - lock_type: $json->lock_type ?? null, - locked_state: $json->locked_state ?? null, - model: $json->model ?? null, - site_id: $json->site_id ?? null, - site_name: $json->site_name ?? null, - ); - } - - public function __construct( - public string|null $battery_level, - public string|null $customer_reference, - public bool|null $has_custom_pin_subscription, - public string|null $lock_id, - public string|null $lock_type, - public string|null $locked_state, - public string|null $model, - public string|null $site_id, - public string|null $site_name, - ) {} -} diff --git a/src/Objects/DeviceSaltoMetadata.php b/src/Objects/DeviceSaltoMetadata.php deleted file mode 100644 index 384b3456..00000000 --- a/src/Objects/DeviceSaltoMetadata.php +++ /dev/null @@ -1,34 +0,0 @@ -battery_level ?? null, - customer_reference: $json->customer_reference ?? null, - lock_id: $json->lock_id ?? null, - lock_type: $json->lock_type ?? null, - locked_state: $json->locked_state ?? null, - model: $json->model ?? null, - site_id: $json->site_id ?? null, - site_name: $json->site_name ?? null, - ); - } - - public function __construct( - public string|null $battery_level, - public string|null $customer_reference, - public string|null $lock_id, - public string|null $lock_type, - public string|null $locked_state, - public string|null $model, - public string|null $site_id, - public string|null $site_name, - ) {} -} diff --git a/src/Objects/DeviceSaltoSpaceCredentialServiceMetadata.php b/src/Objects/DeviceSaltoSpaceCredentialServiceMetadata.php deleted file mode 100644 index e039240e..00000000 --- a/src/Objects/DeviceSaltoSpaceCredentialServiceMetadata.php +++ /dev/null @@ -1,17 +0,0 @@ -has_active_phone ?? null); - } - - public function __construct(public bool|null $has_active_phone) {} -} diff --git a/src/Objects/DeviceSchlageMetadata.php b/src/Objects/DeviceSchlageMetadata.php deleted file mode 100644 index 8b183d53..00000000 --- a/src/Objects/DeviceSchlageMetadata.php +++ /dev/null @@ -1,24 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - model: $json->model ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - public string|null $model, - ) {} -} diff --git a/src/Objects/DeviceSeamBridgeMetadata.php b/src/Objects/DeviceSeamBridgeMetadata.php deleted file mode 100644 index d3389a22..00000000 --- a/src/Objects/DeviceSeamBridgeMetadata.php +++ /dev/null @@ -1,24 +0,0 @@ -device_num ?? null, - name: $json->name ?? null, - unlock_method: $json->unlock_method ?? null, - ); - } - - public function __construct( - public float|null $device_num, - public string|null $name, - public string|null $unlock_method, - ) {} -} diff --git a/src/Objects/DeviceSensiMetadata.php b/src/Objects/DeviceSensiMetadata.php deleted file mode 100644 index 090bcd2c..00000000 --- a/src/Objects/DeviceSensiMetadata.php +++ /dev/null @@ -1,27 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - dual_setpoints_not_supported: $json->dual_setpoints_not_supported ?? - null, - product_type: $json->product_type ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - public bool|null $dual_setpoints_not_supported, - public string|null $product_type, - ) {} -} diff --git a/src/Objects/DeviceSmartthingsMetadata.php b/src/Objects/DeviceSmartthingsMetadata.php deleted file mode 100644 index 96e82089..00000000 --- a/src/Objects/DeviceSmartthingsMetadata.php +++ /dev/null @@ -1,27 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - location_id: $json->location_id ?? null, - model: $json->model ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - public string|null $location_id, - public string|null $model, - ) {} -} diff --git a/src/Objects/DeviceSound.php b/src/Objects/DeviceSound.php deleted file mode 100644 index d7018106..00000000 --- a/src/Objects/DeviceSound.php +++ /dev/null @@ -1,19 +0,0 @@ -time ?? null, value: $json->value ?? null); - } - - public function __construct( - public string|null $time, - public float|null $value, - ) {} -} diff --git a/src/Objects/DeviceTadoMetadata.php b/src/Objects/DeviceTadoMetadata.php deleted file mode 100644 index ff65ee6d..00000000 --- a/src/Objects/DeviceTadoMetadata.php +++ /dev/null @@ -1,22 +0,0 @@ -device_type ?? null, - serial_no: $json->serial_no ?? null, - ); - } - - public function __construct( - public string|null $device_type, - public string|null $serial_no, - ) {} -} diff --git a/src/Objects/DeviceTedeeMetadata.php b/src/Objects/DeviceTedeeMetadata.php deleted file mode 100644 index f5c4f5af..00000000 --- a/src/Objects/DeviceTedeeMetadata.php +++ /dev/null @@ -1,32 +0,0 @@ -bridge_id ?? null, - bridge_name: $json->bridge_name ?? null, - device_id: $json->device_id ?? null, - device_model: $json->device_model ?? null, - device_name: $json->device_name ?? null, - keypad_id: $json->keypad_id ?? null, - serial_number: $json->serial_number ?? null, - ); - } - - public function __construct( - public float|null $bridge_id, - public string|null $bridge_name, - public float|null $device_id, - public string|null $device_model, - public string|null $device_name, - public float|null $keypad_id, - public string|null $serial_number, - ) {} -} diff --git a/src/Objects/DeviceTemperature.php b/src/Objects/DeviceTemperature.php deleted file mode 100644 index 756bf0de..00000000 --- a/src/Objects/DeviceTemperature.php +++ /dev/null @@ -1,19 +0,0 @@ -time ?? null, value: $json->value ?? null); - } - - public function __construct( - public string|null $time, - public float|null $value, - ) {} -} diff --git a/src/Objects/DeviceTemperatureThreshold.php b/src/Objects/DeviceTemperatureThreshold.php deleted file mode 100644 index 33f5da22..00000000 --- a/src/Objects/DeviceTemperatureThreshold.php +++ /dev/null @@ -1,27 +0,0 @@ -lower_limit_celsius ?? null, - lower_limit_fahrenheit: $json->lower_limit_fahrenheit ?? null, - upper_limit_celsius: $json->upper_limit_celsius ?? null, - upper_limit_fahrenheit: $json->upper_limit_fahrenheit ?? null, - ); - } - - public function __construct( - public float|null $lower_limit_celsius, - public float|null $lower_limit_fahrenheit, - public float|null $upper_limit_celsius, - public float|null $upper_limit_fahrenheit, - ) {} -} diff --git a/src/Objects/DeviceThermostatDailyPrograms.php b/src/Objects/DeviceThermostatDailyPrograms.php deleted file mode 100644 index dcfd3ab8..00000000 --- a/src/Objects/DeviceThermostatDailyPrograms.php +++ /dev/null @@ -1,35 +0,0 @@ -created_at ?? null, - device_id: $json->device_id ?? null, - name: $json->name ?? null, - periods: array_map( - fn($p) => DevicePeriods::from_json($p), - $json->periods ?? [], - ), - thermostat_daily_program_id: $json->thermostat_daily_program_id ?? - null, - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $device_id, - public string|null $name, - public array $periods, - public string|null $thermostat_daily_program_id, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/DeviceThermostatWeeklyProgram.php b/src/Objects/DeviceThermostatWeeklyProgram.php deleted file mode 100644 index fd87a1b3..00000000 --- a/src/Objects/DeviceThermostatWeeklyProgram.php +++ /dev/null @@ -1,35 +0,0 @@ -created_at ?? null, - friday_program_id: $json->friday_program_id ?? null, - monday_program_id: $json->monday_program_id ?? null, - saturday_program_id: $json->saturday_program_id ?? null, - sunday_program_id: $json->sunday_program_id ?? null, - thursday_program_id: $json->thursday_program_id ?? null, - tuesday_program_id: $json->tuesday_program_id ?? null, - wednesday_program_id: $json->wednesday_program_id ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $friday_program_id, - public string|null $monday_program_id, - public string|null $saturday_program_id, - public string|null $sunday_program_id, - public string|null $thursday_program_id, - public string|null $tuesday_program_id, - public string|null $wednesday_program_id, - ) {} -} diff --git a/src/Objects/DeviceTimePairs.php b/src/Objects/DeviceTimePairs.php deleted file mode 100644 index b85f66a2..00000000 --- a/src/Objects/DeviceTimePairs.php +++ /dev/null @@ -1,24 +0,0 @@ -display_name ?? null, - end_time: $json->end_time ?? null, - start_time: $json->start_time ?? null, - ); - } - - public function __construct( - public string|null $display_name, - public string|null $end_time, - public string|null $start_time, - ) {} -} diff --git a/src/Objects/DeviceTtlockMetadata.php b/src/Objects/DeviceTtlockMetadata.php deleted file mode 100644 index 4f993252..00000000 --- a/src/Objects/DeviceTtlockMetadata.php +++ /dev/null @@ -1,37 +0,0 @@ -feature_value ?? null, - features: isset($json->features) - ? DeviceFeatures::from_json($json->features) - : null, - has_gateway: $json->has_gateway ?? null, - lock_alias: $json->lock_alias ?? null, - lock_id: $json->lock_id ?? null, - timezone_raw_offset_ms: $json->timezone_raw_offset_ms ?? null, - wireless_keypads: array_map( - fn($w) => DeviceWirelessKeypads::from_json($w), - $json->wireless_keypads ?? [], - ), - ); - } - - public function __construct( - public string|null $feature_value, - public DeviceFeatures|null $features, - public bool|null $has_gateway, - public string|null $lock_alias, - public float|null $lock_id, - public float|null $timezone_raw_offset_ms, - public array $wireless_keypads, - ) {} -} diff --git a/src/Objects/DeviceTwoNMetadata.php b/src/Objects/DeviceTwoNMetadata.php deleted file mode 100644 index c4192eda..00000000 --- a/src/Objects/DeviceTwoNMetadata.php +++ /dev/null @@ -1,22 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - ); - } - - public function __construct( - public float|null $device_id, - public string|null $device_name, - ) {} -} diff --git a/src/Objects/DeviceUltraloqMetadata.php b/src/Objects/DeviceUltraloqMetadata.php deleted file mode 100644 index 30133f92..00000000 --- a/src/Objects/DeviceUltraloqMetadata.php +++ /dev/null @@ -1,26 +0,0 @@ -device_id ?? null, - device_name: $json->device_name ?? null, - device_type: $json->device_type ?? null, - time_zone: $json->time_zone ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_name, - public string|null $device_type, - public string|null $time_zone, - ) {} -} diff --git a/src/Objects/DeviceVisionlineMetadata.php b/src/Objects/DeviceVisionlineMetadata.php deleted file mode 100644 index e3515f60..00000000 --- a/src/Objects/DeviceVisionlineMetadata.php +++ /dev/null @@ -1,16 +0,0 @@ -encoder_id ?? null); - } - - public function __construct(public string|null $encoder_id) {} -} diff --git a/src/Objects/DeviceWarnings.php b/src/Objects/DeviceWarnings.php deleted file mode 100644 index 168b5dd9..00000000 --- a/src/Objects/DeviceWarnings.php +++ /dev/null @@ -1,29 +0,0 @@ -active_access_code_count ?? null, - created_at: $json->created_at ?? null, - max_active_access_code_count: $json->max_active_access_code_count ?? - null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public int|null $active_access_code_count, - public string|null $created_at, - public int|null $max_active_access_code_count, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/DeviceWirelessKeypads.php b/src/Objects/DeviceWirelessKeypads.php deleted file mode 100644 index be1e40b2..00000000 --- a/src/Objects/DeviceWirelessKeypads.php +++ /dev/null @@ -1,22 +0,0 @@ -wireless_keypad_id ?? null, - wireless_keypad_name: $json->wireless_keypad_name ?? null, - ); - } - - public function __construct( - public float|null $wireless_keypad_id, - public string|null $wireless_keypad_name, - ) {} -} diff --git a/src/Objects/DeviceWyzeMetadata.php b/src/Objects/DeviceWyzeMetadata.php deleted file mode 100644 index b9ab6608..00000000 --- a/src/Objects/DeviceWyzeMetadata.php +++ /dev/null @@ -1,34 +0,0 @@ -device_id ?? null, - device_info_model: $json->device_info_model ?? null, - device_name: $json->device_name ?? null, - keypad_uuid: $json->keypad_uuid ?? null, - locker_status_hardlock: $json->locker_status_hardlock ?? null, - product_model: $json->product_model ?? null, - product_name: $json->product_name ?? null, - product_type: $json->product_type ?? null, - ); - } - - public function __construct( - public string|null $device_id, - public string|null $device_info_model, - public string|null $device_name, - public string|null $keypad_uuid, - public float|null $locker_status_hardlock, - public string|null $product_model, - public string|null $product_name, - public string|null $product_type, - ) {} -} diff --git a/src/Objects/EventAccessCodeErrors.php b/src/Objects/EventAccessCodeErrors.php deleted file mode 100644 index a4892226..00000000 --- a/src/Objects/EventAccessCodeErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/EventAccessCodeWarnings.php b/src/Objects/EventAccessCodeWarnings.php deleted file mode 100644 index ef20dd3a..00000000 --- a/src/Objects/EventAccessCodeWarnings.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/EventAcsSystemErrors.php b/src/Objects/EventAcsSystemErrors.php deleted file mode 100644 index 11a5dd9b..00000000 --- a/src/Objects/EventAcsSystemErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/EventAcsSystemWarnings.php b/src/Objects/EventAcsSystemWarnings.php deleted file mode 100644 index 76dd75c6..00000000 --- a/src/Objects/EventAcsSystemWarnings.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/EventChangedProperties.php b/src/Objects/EventChangedProperties.php deleted file mode 100644 index 8a1299f2..00000000 --- a/src/Objects/EventChangedProperties.php +++ /dev/null @@ -1,24 +0,0 @@ -from ?? null, - property: $json->property ?? null, - to: $json->to ?? null, - ); - } - - public function __construct( - public string|null $from, - public string|null $property, - public string|null $to, - ) {} -} diff --git a/src/Objects/EventConnectedAccountErrors.php b/src/Objects/EventConnectedAccountErrors.php deleted file mode 100644 index 432a664c..00000000 --- a/src/Objects/EventConnectedAccountErrors.php +++ /dev/null @@ -1,25 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/EventConnectedAccountWarnings.php b/src/Objects/EventConnectedAccountWarnings.php deleted file mode 100644 index 533fe5a6..00000000 --- a/src/Objects/EventConnectedAccountWarnings.php +++ /dev/null @@ -1,25 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/EventDeviceErrors.php b/src/Objects/EventDeviceErrors.php deleted file mode 100644 index a7561dc2..00000000 --- a/src/Objects/EventDeviceErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/EventDeviceWarnings.php b/src/Objects/EventDeviceWarnings.php deleted file mode 100644 index c28203af..00000000 --- a/src/Objects/EventDeviceWarnings.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/EventFrom.php b/src/Objects/EventFrom.php deleted file mode 100644 index e0dfbe63..00000000 --- a/src/Objects/EventFrom.php +++ /dev/null @@ -1,26 +0,0 @@ -code ?? null, - ends_at: $json->ends_at ?? null, - name: $json->name ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $code, - public string|null $ends_at, - public string|null $name, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/EventReason.php b/src/Objects/EventReason.php deleted file mode 100644 index c1812a53..00000000 --- a/src/Objects/EventReason.php +++ /dev/null @@ -1,22 +0,0 @@ -message ?? null, - reason_code: $json->reason_code ?? null, - ); - } - - public function __construct( - public string|null $message, - public string|null $reason_code, - ) {} -} diff --git a/src/Objects/EventRequestedMutations.php b/src/Objects/EventRequestedMutations.php deleted file mode 100644 index 71f2b32a..00000000 --- a/src/Objects/EventRequestedMutations.php +++ /dev/null @@ -1,24 +0,0 @@ -from ?? null, - mutation_code: $json->mutation_code ?? null, - to: $json->to ?? null, - ); - } - - public function __construct( - public mixed $from, - public string|null $mutation_code, - public mixed $to, - ) {} -} diff --git a/src/Objects/EventTo.php b/src/Objects/EventTo.php deleted file mode 100644 index 0cbeaac3..00000000 --- a/src/Objects/EventTo.php +++ /dev/null @@ -1,26 +0,0 @@ -code ?? null, - ends_at: $json->ends_at ?? null, - name: $json->name ?? null, - starts_at: $json->starts_at ?? null, - ); - } - - public function __construct( - public string|null $code, - public string|null $ends_at, - public string|null $name, - public string|null $starts_at, - ) {} -} diff --git a/src/Objects/InstantKeyCustomization.php b/src/Objects/InstantKeyCustomization.php deleted file mode 100644 index 46e91149..00000000 --- a/src/Objects/InstantKeyCustomization.php +++ /dev/null @@ -1,24 +0,0 @@ -logo_url ?? null, - primary_color: $json->primary_color ?? null, - secondary_color: $json->secondary_color ?? null, - ); - } - - public function __construct( - public string|null $logo_url, - public string|null $primary_color, - public string|null $secondary_color, - ) {} -} diff --git a/src/Objects/Phone.php b/src/Objects/Phone.php deleted file mode 100644 index 40d363ed..00000000 --- a/src/Objects/Phone.php +++ /dev/null @@ -1,46 +0,0 @@ -created_at ?? null, - custom_metadata: $json->custom_metadata ?? null, - device_id: $json->device_id ?? null, - device_type: $json->device_type ?? null, - display_name: $json->display_name ?? null, - errors: array_map( - fn($e) => PhoneErrors::from_json($e), - $json->errors ?? [], - ), - nickname: $json->nickname ?? null, - properties: isset($json->properties) - ? PhoneProperties::from_json($json->properties) - : null, - warnings: array_map( - fn($w) => PhoneWarnings::from_json($w), - $json->warnings ?? [], - ), - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public mixed $custom_metadata, - public string|null $device_id, - public string|null $device_type, - public string|null $display_name, - public array $errors, - public string|null $nickname, - public PhoneProperties|null $properties, - public array $warnings, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/PhoneAssaAbloyCredentialServiceMetadata.php b/src/Objects/PhoneAssaAbloyCredentialServiceMetadata.php deleted file mode 100644 index 86b397c4..00000000 --- a/src/Objects/PhoneAssaAbloyCredentialServiceMetadata.php +++ /dev/null @@ -1,26 +0,0 @@ - PhoneEndpoints::from_json($e), - $json->endpoints ?? [], - ), - has_active_endpoint: $json->has_active_endpoint ?? null, - ); - } - - public function __construct( - public array $endpoints, - public bool|null $has_active_endpoint, - ) {} -} diff --git a/src/Objects/PhoneEndpoints.php b/src/Objects/PhoneEndpoints.php deleted file mode 100644 index 661b7143..00000000 --- a/src/Objects/PhoneEndpoints.php +++ /dev/null @@ -1,22 +0,0 @@ -endpoint_id ?? null, - is_active: $json->is_active ?? null, - ); - } - - public function __construct( - public string|null $endpoint_id, - public bool|null $is_active, - ) {} -} diff --git a/src/Objects/PhoneErrors.php b/src/Objects/PhoneErrors.php deleted file mode 100644 index f107f264..00000000 --- a/src/Objects/PhoneErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/PhoneProperties.php b/src/Objects/PhoneProperties.php deleted file mode 100644 index 19d8f409..00000000 --- a/src/Objects/PhoneProperties.php +++ /dev/null @@ -1,34 +0,0 @@ -assa_abloy_credential_service_metadata, - ) - ? PhoneAssaAbloyCredentialServiceMetadata::from_json( - $json->assa_abloy_credential_service_metadata, - ) - : null, - salto_space_credential_service_metadata: isset( - $json->salto_space_credential_service_metadata, - ) - ? PhoneSaltoSpaceCredentialServiceMetadata::from_json( - $json->salto_space_credential_service_metadata, - ) - : null, - ); - } - - public function __construct( - public PhoneAssaAbloyCredentialServiceMetadata|null $assa_abloy_credential_service_metadata, - public PhoneSaltoSpaceCredentialServiceMetadata|null $salto_space_credential_service_metadata, - ) {} -} diff --git a/src/Objects/PhoneSaltoSpaceCredentialServiceMetadata.php b/src/Objects/PhoneSaltoSpaceCredentialServiceMetadata.php deleted file mode 100644 index 75a00048..00000000 --- a/src/Objects/PhoneSaltoSpaceCredentialServiceMetadata.php +++ /dev/null @@ -1,17 +0,0 @@ -has_active_phone ?? null); - } - - public function __construct(public bool|null $has_active_phone) {} -} diff --git a/src/Objects/PhoneWarnings.php b/src/Objects/PhoneWarnings.php deleted file mode 100644 index 30424953..00000000 --- a/src/Objects/PhoneWarnings.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/SpaceCustomerData.php b/src/Objects/SpaceCustomerData.php deleted file mode 100644 index 9747b432..00000000 --- a/src/Objects/SpaceCustomerData.php +++ /dev/null @@ -1,26 +0,0 @@ -address ?? null, - default_checkin_time: $json->default_checkin_time ?? null, - default_checkout_time: $json->default_checkout_time ?? null, - time_zone: $json->time_zone ?? null, - ); - } - - public function __construct( - public string|null $address, - public string|null $default_checkin_time, - public string|null $default_checkout_time, - public string|null $time_zone, - ) {} -} diff --git a/src/Objects/SpaceGeolocation.php b/src/Objects/SpaceGeolocation.php deleted file mode 100644 index e7a52e08..00000000 --- a/src/Objects/SpaceGeolocation.php +++ /dev/null @@ -1,22 +0,0 @@ -latitude ?? null, - longitude: $json->longitude ?? null, - ); - } - - public function __construct( - public float|null $latitude, - public float|null $longitude, - ) {} -} diff --git a/src/Objects/ThermostatDailyProgramPeriods.php b/src/Objects/ThermostatDailyProgramPeriods.php deleted file mode 100644 index 580586db..00000000 --- a/src/Objects/ThermostatDailyProgramPeriods.php +++ /dev/null @@ -1,23 +0,0 @@ -climate_preset_key ?? null, - starts_at_time: $json->starts_at_time ?? null, - ); - } - - public function __construct( - public string|null $climate_preset_key, - public string|null $starts_at_time, - ) {} -} diff --git a/src/Objects/ThermostatScheduleErrors.php b/src/Objects/ThermostatScheduleErrors.php deleted file mode 100644 index e0eae80b..00000000 --- a/src/Objects/ThermostatScheduleErrors.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/UnmanagedAccessCode.php b/src/Objects/UnmanagedAccessCode.php deleted file mode 100644 index ba5b57df..00000000 --- a/src/Objects/UnmanagedAccessCode.php +++ /dev/null @@ -1,61 +0,0 @@ -access_code_id ?? null, - cannot_be_managed: $json->cannot_be_managed ?? null, - cannot_delete_unmanaged_access_code: $json->cannot_delete_unmanaged_access_code ?? - null, - code: $json->code ?? null, - created_at: $json->created_at ?? null, - device_id: $json->device_id ?? null, - dormakaba_oracode_metadata: isset($json->dormakaba_oracode_metadata) - ? UnmanagedAccessCodeDormakabaOracodeMetadata::from_json( - $json->dormakaba_oracode_metadata, - ) - : null, - ends_at: $json->ends_at ?? null, - errors: array_map( - fn($e) => UnmanagedAccessCodeErrors::from_json($e), - $json->errors ?? [], - ), - is_managed: $json->is_managed ?? null, - name: $json->name ?? null, - starts_at: $json->starts_at ?? null, - status: $json->status ?? null, - type: $json->type ?? null, - warnings: array_map( - fn($w) => UnmanagedAccessCodeWarnings::from_json($w), - $json->warnings ?? [], - ), - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public string|null $access_code_id, - public bool|null $cannot_be_managed, - public bool|null $cannot_delete_unmanaged_access_code, - public string|null $code, - public string|null $created_at, - public string|null $device_id, - public UnmanagedAccessCodeDormakabaOracodeMetadata|null $dormakaba_oracode_metadata, - public string|null $ends_at, - public array $errors, - public bool|null $is_managed, - public string|null $name, - public string|null $starts_at, - public string|null $status, - public string|null $type, - public array $warnings, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/UnmanagedAccessCodeDormakabaOracodeMetadata.php b/src/Objects/UnmanagedAccessCodeDormakabaOracodeMetadata.php deleted file mode 100644 index 3c3c7235..00000000 --- a/src/Objects/UnmanagedAccessCodeDormakabaOracodeMetadata.php +++ /dev/null @@ -1,35 +0,0 @@ -is_cancellable ?? null, - is_early_checkin_able: $json->is_early_checkin_able ?? null, - is_extendable: $json->is_extendable ?? null, - is_overridable: $json->is_overridable ?? null, - site_name: $json->site_name ?? null, - stay_id: $json->stay_id ?? null, - user_level_id: $json->user_level_id ?? null, - user_level_name: $json->user_level_name ?? null, - ); - } - - public function __construct( - public bool|null $is_cancellable, - public bool|null $is_early_checkin_able, - public bool|null $is_extendable, - public bool|null $is_overridable, - public string|null $site_name, - public float|null $stay_id, - public string|null $user_level_id, - public string|null $user_level_name, - ) {} -} diff --git a/src/Objects/UnmanagedAccessCodeErrors.php b/src/Objects/UnmanagedAccessCodeErrors.php deleted file mode 100644 index 6d8e4502..00000000 --- a/src/Objects/UnmanagedAccessCodeErrors.php +++ /dev/null @@ -1,45 +0,0 @@ -change_type ?? null, - created_at: $json->created_at ?? null, - error_code: $json->error_code ?? null, - is_access_code_error: $json->is_access_code_error ?? null, - is_bridge_error: $json->is_bridge_error ?? null, - is_connected_account_error: $json->is_connected_account_error ?? - null, - is_device_error: $json->is_device_error ?? null, - managed_access_code_id: $json->managed_access_code_id ?? null, - message: $json->message ?? null, - modified_fields: array_map( - fn($m) => UnmanagedAccessCodeModifiedFields::from_json($m), - $json->modified_fields ?? [], - ), - unmanaged_access_code_id: $json->unmanaged_access_code_id ?? null, - ); - } - - public function __construct( - public string|null $change_type, - public string|null $created_at, - public string|null $error_code, - public bool|null $is_access_code_error, - public bool|null $is_bridge_error, - public bool|null $is_connected_account_error, - public bool|null $is_device_error, - public string|null $managed_access_code_id, - public string|null $message, - public array $modified_fields, - public string|null $unmanaged_access_code_id, - ) {} -} diff --git a/src/Objects/UnmanagedAccessCodeModifiedFields.php b/src/Objects/UnmanagedAccessCodeModifiedFields.php deleted file mode 100644 index 87949ef8..00000000 --- a/src/Objects/UnmanagedAccessCodeModifiedFields.php +++ /dev/null @@ -1,25 +0,0 @@ -field ?? null, - from: $json->from ?? null, - to: $json->to ?? null, - ); - } - - public function __construct( - public string|null $field, - public string|null $from, - public string|null $to, - ) {} -} diff --git a/src/Objects/UnmanagedAccessCodeWarnings.php b/src/Objects/UnmanagedAccessCodeWarnings.php deleted file mode 100644 index daf28e62..00000000 --- a/src/Objects/UnmanagedAccessCodeWarnings.php +++ /dev/null @@ -1,32 +0,0 @@ -change_type ?? null, - created_at: $json->created_at ?? null, - message: $json->message ?? null, - modified_fields: array_map( - fn($m) => UnmanagedAccessCodeModifiedFields::from_json($m), - $json->modified_fields ?? [], - ), - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $change_type, - public string|null $created_at, - public string|null $message, - public array $modified_fields, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/UnmanagedDevice.php b/src/Objects/UnmanagedDevice.php deleted file mode 100644 index 38cc60a0..00000000 --- a/src/Objects/UnmanagedDevice.php +++ /dev/null @@ -1,102 +0,0 @@ -can_configure_auto_lock ?? null, - can_hvac_cool: $json->can_hvac_cool ?? null, - can_hvac_heat: $json->can_hvac_heat ?? null, - can_hvac_heat_cool: $json->can_hvac_heat_cool ?? null, - can_program_offline_access_codes: $json->can_program_offline_access_codes ?? - null, - can_program_online_access_codes: $json->can_program_online_access_codes ?? - null, - can_program_thermostat_programs_as_different_each_day: $json->can_program_thermostat_programs_as_different_each_day ?? - null, - can_program_thermostat_programs_as_same_each_day: $json->can_program_thermostat_programs_as_same_each_day ?? - null, - can_program_thermostat_programs_as_weekday_weekend: $json->can_program_thermostat_programs_as_weekday_weekend ?? - null, - can_remotely_lock: $json->can_remotely_lock ?? null, - can_remotely_unlock: $json->can_remotely_unlock ?? null, - can_run_thermostat_programs: $json->can_run_thermostat_programs ?? - null, - can_simulate_connection: $json->can_simulate_connection ?? null, - can_simulate_disconnection: $json->can_simulate_disconnection ?? - null, - can_simulate_hub_connection: $json->can_simulate_hub_connection ?? - null, - can_simulate_hub_disconnection: $json->can_simulate_hub_disconnection ?? - null, - can_simulate_paid_subscription: $json->can_simulate_paid_subscription ?? - null, - can_simulate_removal: $json->can_simulate_removal ?? null, - can_turn_off_hvac: $json->can_turn_off_hvac ?? null, - can_unlock_with_code: $json->can_unlock_with_code ?? null, - capabilities_supported: $json->capabilities_supported ?? null, - connected_account_id: $json->connected_account_id ?? null, - created_at: $json->created_at ?? null, - custom_metadata: $json->custom_metadata ?? null, - device_id: $json->device_id ?? null, - device_type: $json->device_type ?? null, - errors: array_map( - fn($e) => UnmanagedDeviceErrors::from_json($e), - $json->errors ?? [], - ), - is_managed: $json->is_managed ?? null, - location: isset($json->location) - ? UnmanagedDeviceLocation::from_json($json->location) - : null, - properties: isset($json->properties) - ? UnmanagedDeviceProperties::from_json($json->properties) - : null, - warnings: array_map( - fn($w) => UnmanagedDeviceWarnings::from_json($w), - $json->warnings ?? [], - ), - workspace_id: $json->workspace_id ?? null, - ); - } - - public function __construct( - public bool|null $can_configure_auto_lock, - public bool|null $can_hvac_cool, - public bool|null $can_hvac_heat, - public bool|null $can_hvac_heat_cool, - public bool|null $can_program_offline_access_codes, - public bool|null $can_program_online_access_codes, - public bool|null $can_program_thermostat_programs_as_different_each_day, - public bool|null $can_program_thermostat_programs_as_same_each_day, - public bool|null $can_program_thermostat_programs_as_weekday_weekend, - public bool|null $can_remotely_lock, - public bool|null $can_remotely_unlock, - public bool|null $can_run_thermostat_programs, - public bool|null $can_simulate_connection, - public bool|null $can_simulate_disconnection, - public bool|null $can_simulate_hub_connection, - public bool|null $can_simulate_hub_disconnection, - public bool|null $can_simulate_paid_subscription, - public bool|null $can_simulate_removal, - public bool|null $can_turn_off_hvac, - public bool|null $can_unlock_with_code, - public array|null $capabilities_supported, - public string|null $connected_account_id, - public string|null $created_at, - public mixed $custom_metadata, - public string|null $device_id, - public string|null $device_type, - public array $errors, - public bool|null $is_managed, - public UnmanagedDeviceLocation|null $location, - public UnmanagedDeviceProperties|null $properties, - public array $warnings, - public string|null $workspace_id, - ) {} -} diff --git a/src/Objects/UnmanagedDeviceAccessoryKeypad.php b/src/Objects/UnmanagedDeviceAccessoryKeypad.php deleted file mode 100644 index 2500dc3d..00000000 --- a/src/Objects/UnmanagedDeviceAccessoryKeypad.php +++ /dev/null @@ -1,25 +0,0 @@ -battery) - ? UnmanagedDeviceBattery::from_json($json->battery) - : null, - is_connected: $json->is_connected ?? null, - ); - } - - public function __construct( - public UnmanagedDeviceBattery|null $battery, - public bool|null $is_connected, - ) {} -} diff --git a/src/Objects/UnmanagedDeviceBattery.php b/src/Objects/UnmanagedDeviceBattery.php deleted file mode 100644 index 2663b5b8..00000000 --- a/src/Objects/UnmanagedDeviceBattery.php +++ /dev/null @@ -1,16 +0,0 @@ -level ?? null); - } - - public function __construct(public float|null $level) {} -} diff --git a/src/Objects/UnmanagedDeviceErrors.php b/src/Objects/UnmanagedDeviceErrors.php deleted file mode 100644 index a2b2806b..00000000 --- a/src/Objects/UnmanagedDeviceErrors.php +++ /dev/null @@ -1,31 +0,0 @@ -created_at ?? null, - error_code: $json->error_code ?? null, - is_bridge_error: $json->is_bridge_error ?? null, - is_connected_account_error: $json->is_connected_account_error ?? - null, - is_device_error: $json->is_device_error ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $error_code, - public bool|null $is_bridge_error, - public bool|null $is_connected_account_error, - public bool|null $is_device_error, - public string|null $message, - ) {} -} diff --git a/src/Objects/UnmanagedDeviceLocation.php b/src/Objects/UnmanagedDeviceLocation.php deleted file mode 100644 index 5c857e31..00000000 --- a/src/Objects/UnmanagedDeviceLocation.php +++ /dev/null @@ -1,24 +0,0 @@ -location_name ?? null, - time_zone: $json->time_zone ?? null, - timezone: $json->timezone ?? null, - ); - } - - public function __construct( - public string|null $location_name, - public string|null $time_zone, - public string|null $timezone, - ) {} -} diff --git a/src/Objects/UnmanagedDeviceModel.php b/src/Objects/UnmanagedDeviceModel.php deleted file mode 100644 index a1c67310..00000000 --- a/src/Objects/UnmanagedDeviceModel.php +++ /dev/null @@ -1,36 +0,0 @@ -accessory_keypad_supported ?? - null, - can_connect_accessory_keypad: $json->can_connect_accessory_keypad ?? - null, - display_name: $json->display_name ?? null, - has_built_in_keypad: $json->has_built_in_keypad ?? null, - manufacturer_display_name: $json->manufacturer_display_name ?? null, - offline_access_codes_supported: $json->offline_access_codes_supported ?? - null, - online_access_codes_supported: $json->online_access_codes_supported ?? - null, - ); - } - - public function __construct( - public bool|null $accessory_keypad_supported, - public bool|null $can_connect_accessory_keypad, - public string|null $display_name, - public bool|null $has_built_in_keypad, - public string|null $manufacturer_display_name, - public bool|null $offline_access_codes_supported, - public bool|null $online_access_codes_supported, - ) {} -} diff --git a/src/Objects/UnmanagedDeviceProperties.php b/src/Objects/UnmanagedDeviceProperties.php deleted file mode 100644 index 40f13def..00000000 --- a/src/Objects/UnmanagedDeviceProperties.php +++ /dev/null @@ -1,51 +0,0 @@ -accessory_keypad) - ? UnmanagedDeviceAccessoryKeypad::from_json( - $json->accessory_keypad, - ) - : null, - battery: isset($json->battery) - ? UnmanagedDeviceBattery::from_json($json->battery) - : null, - battery_level: $json->battery_level ?? null, - image_alt_text: $json->image_alt_text ?? null, - image_url: $json->image_url ?? null, - manufacturer: $json->manufacturer ?? null, - model: isset($json->model) - ? UnmanagedDeviceModel::from_json($json->model) - : null, - name: $json->name ?? null, - offline_access_codes_enabled: $json->offline_access_codes_enabled ?? - null, - online: $json->online ?? null, - online_access_codes_enabled: $json->online_access_codes_enabled ?? - null, - ); - } - - public function __construct( - public UnmanagedDeviceAccessoryKeypad|null $accessory_keypad, - public UnmanagedDeviceBattery|null $battery, - public float|null $battery_level, - public string|null $image_alt_text, - public string|null $image_url, - public string|null $manufacturer, - public UnmanagedDeviceModel|null $model, - public string|null $name, - public bool|null $offline_access_codes_enabled, - public bool|null $online, - public bool|null $online_access_codes_enabled, - ) {} -} diff --git a/src/Objects/UnmanagedDeviceWarnings.php b/src/Objects/UnmanagedDeviceWarnings.php deleted file mode 100644 index 224d6ad1..00000000 --- a/src/Objects/UnmanagedDeviceWarnings.php +++ /dev/null @@ -1,29 +0,0 @@ -active_access_code_count ?? null, - created_at: $json->created_at ?? null, - max_active_access_code_count: $json->max_active_access_code_count ?? - null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public int|null $active_access_code_count, - public string|null $created_at, - public int|null $max_active_access_code_count, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/UserIdentityErrors.php b/src/Objects/UserIdentityErrors.php deleted file mode 100644 index baeaf0f3..00000000 --- a/src/Objects/UserIdentityErrors.php +++ /dev/null @@ -1,28 +0,0 @@ -acs_system_id ?? null, - acs_user_id: $json->acs_user_id ?? null, - created_at: $json->created_at ?? null, - error_code: $json->error_code ?? null, - message: $json->message ?? null, - ); - } - - public function __construct( - public string|null $acs_system_id, - public string|null $acs_user_id, - public string|null $created_at, - public string|null $error_code, - public string|null $message, - ) {} -} diff --git a/src/Objects/UserIdentityWarnings.php b/src/Objects/UserIdentityWarnings.php deleted file mode 100644 index dd16a01b..00000000 --- a/src/Objects/UserIdentityWarnings.php +++ /dev/null @@ -1,24 +0,0 @@ -created_at ?? null, - message: $json->message ?? null, - warning_code: $json->warning_code ?? null, - ); - } - - public function __construct( - public string|null $created_at, - public string|null $message, - public string|null $warning_code, - ) {} -} diff --git a/src/Objects/WorkspaceConnectWebviewCustomization.php b/src/Objects/WorkspaceConnectWebviewCustomization.php deleted file mode 100644 index 373165eb..00000000 --- a/src/Objects/WorkspaceConnectWebviewCustomization.php +++ /dev/null @@ -1,29 +0,0 @@ -inviter_logo_url ?? null, - logo_shape: $json->logo_shape ?? null, - primary_button_color: $json->primary_button_color ?? null, - primary_button_text_color: $json->primary_button_text_color ?? null, - success_message: $json->success_message ?? null, - ); - } - - public function __construct( - public string|null $inviter_logo_url, - public string|null $logo_shape, - public string|null $primary_button_color, - public string|null $primary_button_text_color, - public string|null $success_message, - ) {} -} diff --git a/src/Resources/AccessCode.php b/src/Resources/AccessCode.php new file mode 100644 index 00000000..2eb0f946 --- /dev/null +++ b/src/Resources/AccessCode.php @@ -0,0 +1,281 @@ +access_code_id ?? null, + code: $json->code ?? null, + common_code_key: $json->common_code_key ?? null, + created_at: $json->created_at ?? null, + device_id: $json->device_id ?? null, + dormakaba_oracode_metadata: isset($json->dormakaba_oracode_metadata) + ? AccessCodeDormakabaOracodeMetadata::from_json( + $json->dormakaba_oracode_metadata, + ) + : null, + ends_at: $json->ends_at ?? null, + errors: array_map( + fn($e) => AccessCodeErrors::from_json($e), + $json->errors ?? [], + ), + is_backup: $json->is_backup ?? null, + is_backup_access_code_available: $json->is_backup_access_code_available ?? + null, + is_external_modification_allowed: $json->is_external_modification_allowed ?? + null, + is_managed: $json->is_managed ?? null, + is_offline_access_code: $json->is_offline_access_code ?? null, + is_one_time_use: $json->is_one_time_use ?? null, + is_scheduled_on_device: $json->is_scheduled_on_device ?? null, + is_waiting_for_code_assignment: $json->is_waiting_for_code_assignment ?? + null, + name: $json->name ?? null, + pending_mutations: array_map( + fn($p) => AccessCodePendingMutations::from_json($p), + $json->pending_mutations ?? [], + ), + pulled_backup_access_code_id: $json->pulled_backup_access_code_id ?? + null, + starts_at: $json->starts_at ?? null, + status: $json->status ?? null, + type: $json->type ?? null, + warnings: array_map( + fn($w) => AccessCodeWarnings::from_json($w), + $json->warnings ?? [], + ), + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public string|null $access_code_id, + public string|null $code, + public string|null $common_code_key, + public string|null $created_at, + public string|null $device_id, + public AccessCodeDormakabaOracodeMetadata|null $dormakaba_oracode_metadata, + public string|null $ends_at, + public array $errors, + public bool|null $is_backup, + public bool|null $is_backup_access_code_available, + public bool|null $is_external_modification_allowed, + public bool|null $is_managed, + public bool|null $is_offline_access_code, + public bool|null $is_one_time_use, + public bool|null $is_scheduled_on_device, + public bool|null $is_waiting_for_code_assignment, + public string|null $name, + public array $pending_mutations, + public string|null $pulled_backup_access_code_id, + public string|null $starts_at, + public string|null $status, + public string|null $type, + public array $warnings, + public string|null $workspace_id, + ) {} +} + +class AccessCodeDormakabaOracodeMetadata +{ + public static function from_json( + mixed $json, + ): AccessCodeDormakabaOracodeMetadata|null { + if (!$json) { + return null; + } + return new self( + is_cancellable: $json->is_cancellable ?? null, + is_early_checkin_able: $json->is_early_checkin_able ?? null, + is_extendable: $json->is_extendable ?? null, + is_overridable: $json->is_overridable ?? null, + site_name: $json->site_name ?? null, + stay_id: $json->stay_id ?? null, + user_level_id: $json->user_level_id ?? null, + user_level_name: $json->user_level_name ?? null, + ); + } + + public function __construct( + public bool|null $is_cancellable, + public bool|null $is_early_checkin_able, + public bool|null $is_extendable, + public bool|null $is_overridable, + public string|null $site_name, + public float|null $stay_id, + public string|null $user_level_id, + public string|null $user_level_name, + ) {} +} + +class AccessCodeErrors +{ + public static function from_json(mixed $json): AccessCodeErrors|null + { + if (!$json) { + return null; + } + return new self( + change_type: $json->change_type ?? null, + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + is_access_code_error: $json->is_access_code_error ?? null, + is_bridge_error: $json->is_bridge_error ?? null, + is_connected_account_error: $json->is_connected_account_error ?? + null, + is_device_error: $json->is_device_error ?? null, + managed_access_code_id: $json->managed_access_code_id ?? null, + message: $json->message ?? null, + modified_fields: array_map( + fn($m) => AccessCodeModifiedFields::from_json($m), + $json->modified_fields ?? [], + ), + unmanaged_access_code_id: $json->unmanaged_access_code_id ?? null, + ); + } + + public function __construct( + public string|null $change_type, + public string|null $created_at, + public string|null $error_code, + public bool|null $is_access_code_error, + public bool|null $is_bridge_error, + public bool|null $is_connected_account_error, + public bool|null $is_device_error, + public string|null $managed_access_code_id, + public string|null $message, + public array $modified_fields, + public string|null $unmanaged_access_code_id, + ) {} +} + +class AccessCodeFrom +{ + public static function from_json(mixed $json): AccessCodeFrom|null + { + if (!$json) { + return null; + } + return new self( + code: $json->code ?? null, + ends_at: $json->ends_at ?? null, + name: $json->name ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $code, + public string|null $ends_at, + public string|null $name, + public string|null $starts_at, + ) {} +} + +class AccessCodeModifiedFields +{ + public static function from_json(mixed $json): AccessCodeModifiedFields|null + { + if (!$json) { + return null; + } + return new self( + field: $json->field ?? null, + from: $json->from ?? null, + to: $json->to ?? null, + ); + } + + public function __construct( + public string|null $field, + public string|null $from, + public string|null $to, + ) {} +} + +class AccessCodePendingMutations +{ + public static function from_json( + mixed $json, + ): AccessCodePendingMutations|null { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + from: isset($json->from) + ? AccessCodeFrom::from_json($json->from) + : null, + message: $json->message ?? null, + mutation_code: $json->mutation_code ?? null, + scheduled_at: $json->scheduled_at ?? null, + to: isset($json->to) ? AccessCodeTo::from_json($json->to) : null, + ); + } + + public function __construct( + public string|null $created_at, + public AccessCodeFrom|null $from, + public string|null $message, + public string|null $mutation_code, + public string|null $scheduled_at, + public AccessCodeTo|null $to, + ) {} +} + +class AccessCodeTo +{ + public static function from_json(mixed $json): AccessCodeTo|null + { + if (!$json) { + return null; + } + return new self( + code: $json->code ?? null, + ends_at: $json->ends_at ?? null, + name: $json->name ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $code, + public string|null $ends_at, + public string|null $name, + public string|null $starts_at, + ) {} +} + +class AccessCodeWarnings +{ + public static function from_json(mixed $json): AccessCodeWarnings|null + { + if (!$json) { + return null; + } + return new self( + change_type: $json->change_type ?? null, + created_at: $json->created_at ?? null, + message: $json->message ?? null, + modified_fields: array_map( + fn($m) => AccessCodeModifiedFields::from_json($m), + $json->modified_fields ?? [], + ), + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $change_type, + public string|null $created_at, + public string|null $message, + public array $modified_fields, + public string|null $warning_code, + ) {} +} diff --git a/src/Resources/AccessGrant.php b/src/Resources/AccessGrant.php new file mode 100644 index 00000000..cd7a8250 --- /dev/null +++ b/src/Resources/AccessGrant.php @@ -0,0 +1,252 @@ +access_grant_id ?? null, + access_grant_key: $json->access_grant_key ?? null, + access_method_ids: $json->access_method_ids ?? null, + client_session_token: $json->client_session_token ?? null, + created_at: $json->created_at ?? null, + customization_profile_id: $json->customization_profile_id ?? null, + display_name: $json->display_name ?? null, + ends_at: $json->ends_at ?? null, + errors: array_map( + fn($e) => AccessGrantErrors::from_json($e), + $json->errors ?? [], + ), + instant_key_url: $json->instant_key_url ?? null, + location_ids: $json->location_ids ?? null, + name: $json->name ?? null, + pending_mutations: array_map( + fn($p) => AccessGrantPendingMutations::from_json($p), + $json->pending_mutations ?? [], + ), + requested_access_methods: array_map( + fn($r) => AccessGrantRequestedAccessMethods::from_json($r), + $json->requested_access_methods ?? [], + ), + reservation_key: $json->reservation_key ?? null, + space_ids: $json->space_ids ?? null, + starts_at: $json->starts_at ?? null, + user_identity_id: $json->user_identity_id ?? null, + warnings: array_map( + fn($w) => AccessGrantWarnings::from_json($w), + $json->warnings ?? [], + ), + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public string|null $access_grant_id, + public string|null $access_grant_key, + public array|null $access_method_ids, + public string|null $client_session_token, + public string|null $created_at, + public string|null $customization_profile_id, + public string|null $display_name, + public string|null $ends_at, + public array $errors, + public string|null $instant_key_url, + public array|null $location_ids, + public string|null $name, + public array $pending_mutations, + public array $requested_access_methods, + public string|null $reservation_key, + public array|null $space_ids, + public string|null $starts_at, + public string|null $user_identity_id, + public array $warnings, + public string|null $workspace_id, + ) {} +} + +class AccessGrantErrors +{ + public static function from_json(mixed $json): AccessGrantErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + missing_device_ids: $json->missing_device_ids ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + public array|null $missing_device_ids, + ) {} +} + +class AccessGrantFailedDevices +{ + public static function from_json(mixed $json): AccessGrantFailedDevices|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $error_code, + public string|null $message, + ) {} +} + +class AccessGrantFrom +{ + public static function from_json(mixed $json): AccessGrantFrom|null + { + if (!$json) { + return null; + } + return new self( + device_ids: $json->device_ids ?? null, + ends_at: $json->ends_at ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public array|null $device_ids, + public string|null $ends_at, + public string|null $starts_at, + ) {} +} + +class AccessGrantPendingMutations +{ + public static function from_json( + mixed $json, + ): AccessGrantPendingMutations|null { + if (!$json) { + return null; + } + return new self( + access_method_ids: $json->access_method_ids ?? null, + created_at: $json->created_at ?? null, + from: isset($json->from) + ? AccessGrantFrom::from_json($json->from) + : null, + message: $json->message ?? null, + mutation_code: $json->mutation_code ?? null, + to: isset($json->to) ? AccessGrantTo::from_json($json->to) : null, + ); + } + + public function __construct( + public array|null $access_method_ids, + public string|null $created_at, + public AccessGrantFrom|null $from, + public string|null $message, + public string|null $mutation_code, + public AccessGrantTo|null $to, + ) {} +} + +class AccessGrantRequestedAccessMethods +{ + public static function from_json( + mixed $json, + ): AccessGrantRequestedAccessMethods|null { + if (!$json) { + return null; + } + return new self( + code: $json->code ?? null, + created_access_method_ids: $json->created_access_method_ids ?? null, + created_at: $json->created_at ?? null, + display_name: $json->display_name ?? null, + instant_key_max_use_count: $json->instant_key_max_use_count ?? null, + mode: $json->mode ?? null, + ); + } + + public function __construct( + public string|null $code, + public array|null $created_access_method_ids, + public string|null $created_at, + public string|null $display_name, + public int|null $instant_key_max_use_count, + public string|null $mode, + ) {} +} + +class AccessGrantTo +{ + public static function from_json(mixed $json): AccessGrantTo|null + { + if (!$json) { + return null; + } + return new self( + common_code_key: $json->common_code_key ?? null, + device_ids: $json->device_ids ?? null, + ends_at: $json->ends_at ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $common_code_key, + public array|null $device_ids, + public string|null $ends_at, + public string|null $starts_at, + ) {} +} + +class AccessGrantWarnings +{ + public static function from_json(mixed $json): AccessGrantWarnings|null + { + if (!$json) { + return null; + } + return new self( + access_method_ids: $json->access_method_ids ?? null, + created_at: $json->created_at ?? null, + device_id: $json->device_id ?? null, + failed_devices: array_map( + fn($f) => AccessGrantFailedDevices::from_json($f), + $json->failed_devices ?? [], + ), + message: $json->message ?? null, + new_code: $json->new_code ?? null, + original_code: $json->original_code ?? null, + reason: $json->reason ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public array|null $access_method_ids, + public string|null $created_at, + public string|null $device_id, + public array $failed_devices, + public string|null $message, + public string|null $new_code, + public string|null $original_code, + public string|null $reason, + public string|null $warning_code, + ) {} +} diff --git a/src/Resources/AccessMethod.php b/src/Resources/AccessMethod.php new file mode 100644 index 00000000..b46fab94 --- /dev/null +++ b/src/Resources/AccessMethod.php @@ -0,0 +1,177 @@ +access_method_id ?? null, + client_session_token: $json->client_session_token ?? null, + code: $json->code ?? null, + created_at: $json->created_at ?? null, + customization_profile_id: $json->customization_profile_id ?? null, + display_name: $json->display_name ?? null, + errors: array_map( + fn($e) => AccessMethodErrors::from_json($e), + $json->errors ?? [], + ), + instant_key_url: $json->instant_key_url ?? null, + is_assignment_required: $json->is_assignment_required ?? null, + is_encoding_required: $json->is_encoding_required ?? null, + is_issued: $json->is_issued ?? null, + is_ready_for_assignment: $json->is_ready_for_assignment ?? null, + is_ready_for_encoding: $json->is_ready_for_encoding ?? null, + issued_at: $json->issued_at ?? null, + mode: $json->mode ?? null, + pending_mutations: array_map( + fn($p) => AccessMethodPendingMutations::from_json($p), + $json->pending_mutations ?? [], + ), + warnings: array_map( + fn($w) => AccessMethodWarnings::from_json($w), + $json->warnings ?? [], + ), + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public string|null $access_method_id, + public string|null $client_session_token, + public string|null $code, + public string|null $created_at, + public string|null $customization_profile_id, + public string|null $display_name, + public array $errors, + public string|null $instant_key_url, + public bool|null $is_assignment_required, + public bool|null $is_encoding_required, + public bool|null $is_issued, + public bool|null $is_ready_for_assignment, + public bool|null $is_ready_for_encoding, + public string|null $issued_at, + public string|null $mode, + public array $pending_mutations, + public array $warnings, + public string|null $workspace_id, + ) {} +} + +class AccessMethodErrors +{ + public static function from_json(mixed $json): AccessMethodErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class AccessMethodFrom +{ + public static function from_json(mixed $json): AccessMethodFrom|null + { + if (!$json) { + return null; + } + return new self( + device_ids: $json->device_ids ?? null, + ends_at: $json->ends_at ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public array|null $device_ids, + public string|null $ends_at, + public string|null $starts_at, + ) {} +} + +class AccessMethodPendingMutations +{ + public static function from_json( + mixed $json, + ): AccessMethodPendingMutations|null { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + from: isset($json->from) + ? AccessMethodFrom::from_json($json->from) + : null, + message: $json->message ?? null, + mutation_code: $json->mutation_code ?? null, + to: isset($json->to) ? AccessMethodTo::from_json($json->to) : null, + ); + } + + public function __construct( + public string|null $created_at, + public AccessMethodFrom|null $from, + public string|null $message, + public string|null $mutation_code, + public AccessMethodTo|null $to, + ) {} +} + +class AccessMethodTo +{ + public static function from_json(mixed $json): AccessMethodTo|null + { + if (!$json) { + return null; + } + return new self( + device_ids: $json->device_ids ?? null, + ends_at: $json->ends_at ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public array|null $device_ids, + public string|null $ends_at, + public string|null $starts_at, + ) {} +} + +class AccessMethodWarnings +{ + public static function from_json(mixed $json): AccessMethodWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + original_access_method_id: $json->original_access_method_id ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $original_access_method_id, + public string|null $warning_code, + ) {} +} diff --git a/src/Resources/AcsAccessGroup.php b/src/Resources/AcsAccessGroup.php new file mode 100644 index 00000000..458df094 --- /dev/null +++ b/src/Resources/AcsAccessGroup.php @@ -0,0 +1,211 @@ +access_group_type ?? null, + access_group_type_display_name: $json->access_group_type_display_name ?? + null, + access_schedule: isset($json->access_schedule) + ? AcsAccessGroupAccessSchedule::from_json( + $json->access_schedule, + ) + : null, + acs_access_group_id: $json->acs_access_group_id ?? null, + acs_system_id: $json->acs_system_id ?? null, + connected_account_id: $json->connected_account_id ?? null, + created_at: $json->created_at ?? null, + display_name: $json->display_name ?? null, + errors: array_map( + fn($e) => AcsAccessGroupErrors::from_json($e), + $json->errors ?? [], + ), + external_type: $json->external_type ?? null, + external_type_display_name: $json->external_type_display_name ?? + null, + is_managed: $json->is_managed ?? null, + name: $json->name ?? null, + pending_mutations: array_map( + fn($p) => AcsAccessGroupPendingMutations::from_json($p), + $json->pending_mutations ?? [], + ), + warnings: array_map( + fn($w) => AcsAccessGroupWarnings::from_json($w), + $json->warnings ?? [], + ), + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public string|null $access_group_type, + public string|null $access_group_type_display_name, + public AcsAccessGroupAccessSchedule|null $access_schedule, + public string|null $acs_access_group_id, + public string|null $acs_system_id, + public string|null $connected_account_id, + public string|null $created_at, + public string|null $display_name, + public array $errors, + public string|null $external_type, + public string|null $external_type_display_name, + public bool|null $is_managed, + public string|null $name, + public array $pending_mutations, + public array $warnings, + public string|null $workspace_id, + ) {} +} + +class AcsAccessGroupAccessSchedule +{ + public static function from_json( + mixed $json, + ): AcsAccessGroupAccessSchedule|null { + if (!$json) { + return null; + } + return new self( + ends_at: $json->ends_at ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $ends_at, + public string|null $starts_at, + ) {} +} + +class AcsAccessGroupErrors +{ + public static function from_json(mixed $json): AcsAccessGroupErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class AcsAccessGroupFrom +{ + public static function from_json(mixed $json): AcsAccessGroupFrom|null + { + if (!$json) { + return null; + } + return new self( + acs_entrance_id: $json->acs_entrance_id ?? null, + acs_user_id: $json->acs_user_id ?? null, + ends_at: $json->ends_at ?? null, + name: $json->name ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $acs_entrance_id, + public string|null $acs_user_id, + public string|null $ends_at, + public string|null $name, + public string|null $starts_at, + ) {} +} + +class AcsAccessGroupPendingMutations +{ + public static function from_json( + mixed $json, + ): AcsAccessGroupPendingMutations|null { + if (!$json) { + return null; + } + return new self( + acs_user_id: $json->acs_user_id ?? null, + created_at: $json->created_at ?? null, + from: isset($json->from) + ? AcsAccessGroupFrom::from_json($json->from) + : null, + message: $json->message ?? null, + mutation_code: $json->mutation_code ?? null, + to: isset($json->to) + ? AcsAccessGroupTo::from_json($json->to) + : null, + variant: $json->variant ?? null, + ); + } + + public function __construct( + public string|null $acs_user_id, + public string|null $created_at, + public AcsAccessGroupFrom|null $from, + public string|null $message, + public string|null $mutation_code, + public AcsAccessGroupTo|null $to, + public string|null $variant, + ) {} +} + +class AcsAccessGroupTo +{ + public static function from_json(mixed $json): AcsAccessGroupTo|null + { + if (!$json) { + return null; + } + return new self( + acs_entrance_id: $json->acs_entrance_id ?? null, + acs_user_id: $json->acs_user_id ?? null, + ends_at: $json->ends_at ?? null, + name: $json->name ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $acs_entrance_id, + public string|null $acs_user_id, + public string|null $ends_at, + public string|null $name, + public string|null $starts_at, + ) {} +} + +class AcsAccessGroupWarnings +{ + public static function from_json(mixed $json): AcsAccessGroupWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} diff --git a/src/Objects/AcsCredential.php b/src/Resources/AcsCredential.php similarity index 55% rename from src/Objects/AcsCredential.php rename to src/Resources/AcsCredential.php index 0bb6fb5c..63dec517 100644 --- a/src/Objects/AcsCredential.php +++ b/src/Resources/AcsCredential.php @@ -1,6 +1,6 @@ auto_join ?? null, + door_names: $json->door_names ?? null, + endpoint_id: $json->endpoint_id ?? null, + key_id: $json->key_id ?? null, + key_issuing_request_id: $json->key_issuing_request_id ?? null, + override_guest_acs_entrance_ids: $json->override_guest_acs_entrance_ids ?? + null, + ); + } + + public function __construct( + public bool|null $auto_join, + public array|null $door_names, + public string|null $endpoint_id, + public string|null $key_id, + public string|null $key_issuing_request_id, + public array|null $override_guest_acs_entrance_ids, + ) {} +} + +class AcsCredentialErrors +{ + public static function from_json(mixed $json): AcsCredentialErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class AcsCredentialVisionlineMetadata +{ + public static function from_json( + mixed $json, + ): AcsCredentialVisionlineMetadata|null { + if (!$json) { + return null; + } + return new self( + auto_join: $json->auto_join ?? null, + card_function_type: $json->card_function_type ?? null, + card_id: $json->card_id ?? null, + common_acs_entrance_ids: $json->common_acs_entrance_ids ?? null, + credential_id: $json->credential_id ?? null, + guest_acs_entrance_ids: $json->guest_acs_entrance_ids ?? null, + is_valid: $json->is_valid ?? null, + joiner_acs_credential_ids: $json->joiner_acs_credential_ids ?? null, + ); + } + + public function __construct( + public bool|null $auto_join, + public string|null $card_function_type, + public string|null $card_id, + public array|null $common_acs_entrance_ids, + public string|null $credential_id, + public array|null $guest_acs_entrance_ids, + public bool|null $is_valid, + public array|null $joiner_acs_credential_ids, + ) {} +} + +class AcsCredentialWarnings +{ + public static function from_json(mixed $json): AcsCredentialWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} diff --git a/src/Objects/AcsEncoder.php b/src/Resources/AcsEncoder.php similarity index 65% rename from src/Objects/AcsEncoder.php rename to src/Resources/AcsEncoder.php index 58974825..92a222ca 100644 --- a/src/Objects/AcsEncoder.php +++ b/src/Resources/AcsEncoder.php @@ -1,6 +1,6 @@ created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} diff --git a/src/Resources/AcsEntrance.php b/src/Resources/AcsEntrance.php new file mode 100644 index 00000000..76e40fe2 --- /dev/null +++ b/src/Resources/AcsEntrance.php @@ -0,0 +1,457 @@ +acs_entrance_id ?? null, + acs_system_id: $json->acs_system_id ?? null, + akiles_metadata: isset($json->akiles_metadata) + ? AcsEntranceAkilesMetadata::from_json($json->akiles_metadata) + : null, + assa_abloy_vostio_metadata: isset($json->assa_abloy_vostio_metadata) + ? AcsEntranceAssaAbloyVostioMetadata::from_json( + $json->assa_abloy_vostio_metadata, + ) + : null, + avigilon_alta_metadata: isset($json->avigilon_alta_metadata) + ? AcsEntranceAvigilonAltaMetadata::from_json( + $json->avigilon_alta_metadata, + ) + : null, + brivo_metadata: isset($json->brivo_metadata) + ? AcsEntranceBrivoMetadata::from_json($json->brivo_metadata) + : null, + can_belong_to_reservation: $json->can_belong_to_reservation ?? null, + can_unlock_with_card: $json->can_unlock_with_card ?? null, + can_unlock_with_cloud_key: $json->can_unlock_with_cloud_key ?? null, + can_unlock_with_code: $json->can_unlock_with_code ?? null, + can_unlock_with_mobile_key: $json->can_unlock_with_mobile_key ?? + null, + connected_account_id: $json->connected_account_id ?? null, + created_at: $json->created_at ?? null, + display_name: $json->display_name ?? null, + dormakaba_ambiance_metadata: isset( + $json->dormakaba_ambiance_metadata, + ) + ? AcsEntranceDormakabaAmbianceMetadata::from_json( + $json->dormakaba_ambiance_metadata, + ) + : null, + dormakaba_community_metadata: isset( + $json->dormakaba_community_metadata, + ) + ? AcsEntranceDormakabaCommunityMetadata::from_json( + $json->dormakaba_community_metadata, + ) + : null, + errors: array_map( + fn($e) => AcsEntranceErrors::from_json($e), + $json->errors ?? [], + ), + hotek_metadata: isset($json->hotek_metadata) + ? AcsEntranceHotekMetadata::from_json($json->hotek_metadata) + : null, + is_locked: $json->is_locked ?? null, + latch_metadata: isset($json->latch_metadata) + ? AcsEntranceLatchMetadata::from_json($json->latch_metadata) + : null, + salto_ks_metadata: isset($json->salto_ks_metadata) + ? AcsEntranceSaltoKsMetadata::from_json( + $json->salto_ks_metadata, + ) + : null, + salto_space_metadata: isset($json->salto_space_metadata) + ? AcsEntranceSaltoSpaceMetadata::from_json( + $json->salto_space_metadata, + ) + : null, + space_ids: $json->space_ids ?? null, + visionline_metadata: isset($json->visionline_metadata) + ? AcsEntranceVisionlineMetadata::from_json( + $json->visionline_metadata, + ) + : null, + warnings: array_map( + fn($w) => AcsEntranceWarnings::from_json($w), + $json->warnings ?? [], + ), + ); + } + + public function __construct( + public string|null $acs_entrance_id, + public string|null $acs_system_id, + public AcsEntranceAkilesMetadata|null $akiles_metadata, + public AcsEntranceAssaAbloyVostioMetadata|null $assa_abloy_vostio_metadata, + public AcsEntranceAvigilonAltaMetadata|null $avigilon_alta_metadata, + public AcsEntranceBrivoMetadata|null $brivo_metadata, + public bool|null $can_belong_to_reservation, + public bool|null $can_unlock_with_card, + public bool|null $can_unlock_with_cloud_key, + public bool|null $can_unlock_with_code, + public bool|null $can_unlock_with_mobile_key, + public string|null $connected_account_id, + public string|null $created_at, + public string|null $display_name, + public AcsEntranceDormakabaAmbianceMetadata|null $dormakaba_ambiance_metadata, + public AcsEntranceDormakabaCommunityMetadata|null $dormakaba_community_metadata, + public array $errors, + public AcsEntranceHotekMetadata|null $hotek_metadata, + public bool|null $is_locked, + public AcsEntranceLatchMetadata|null $latch_metadata, + public AcsEntranceSaltoKsMetadata|null $salto_ks_metadata, + public AcsEntranceSaltoSpaceMetadata|null $salto_space_metadata, + public array|null $space_ids, + public AcsEntranceVisionlineMetadata|null $visionline_metadata, + public array $warnings, + ) {} +} + +class AcsEntranceActions +{ + public static function from_json(mixed $json): AcsEntranceActions|null + { + if (!$json) { + return null; + } + return new self(id: $json->id ?? null, name: $json->name ?? null); + } + + public function __construct( + public string|null $id, + public string|null $name, + ) {} +} + +class AcsEntranceAkilesMetadata +{ + public static function from_json( + mixed $json, + ): AcsEntranceAkilesMetadata|null { + if (!$json) { + return null; + } + return new self( + actions: array_map( + fn($a) => AcsEntranceActions::from_json($a), + $json->actions ?? [], + ), + gadget_id: $json->gadget_id ?? null, + site_id: $json->site_id ?? null, + site_name: $json->site_name ?? null, + ); + } + + public function __construct( + public array $actions, + public string|null $gadget_id, + public string|null $site_id, + public string|null $site_name, + ) {} +} + +class AcsEntranceAssaAbloyVostioMetadata +{ + public static function from_json( + mixed $json, + ): AcsEntranceAssaAbloyVostioMetadata|null { + if (!$json) { + return null; + } + return new self( + door_name: $json->door_name ?? null, + door_number: $json->door_number ?? null, + door_type: $json->door_type ?? null, + pms_id: $json->pms_id ?? null, + stand_open: $json->stand_open ?? null, + ); + } + + public function __construct( + public string|null $door_name, + public float|null $door_number, + public string|null $door_type, + public string|null $pms_id, + public bool|null $stand_open, + ) {} +} + +class AcsEntranceAvigilonAltaMetadata +{ + public static function from_json( + mixed $json, + ): AcsEntranceAvigilonAltaMetadata|null { + if (!$json) { + return null; + } + return new self( + entry_name: $json->entry_name ?? null, + entry_relays_total_count: $json->entry_relays_total_count ?? null, + org_name: $json->org_name ?? null, + site_id: $json->site_id ?? null, + site_name: $json->site_name ?? null, + zone_id: $json->zone_id ?? null, + zone_name: $json->zone_name ?? null, + ); + } + + public function __construct( + public string|null $entry_name, + public float|null $entry_relays_total_count, + public string|null $org_name, + public float|null $site_id, + public string|null $site_name, + public float|null $zone_id, + public string|null $zone_name, + ) {} +} + +class AcsEntranceBrivoMetadata +{ + public static function from_json(mixed $json): AcsEntranceBrivoMetadata|null + { + if (!$json) { + return null; + } + return new self( + access_point_id: $json->access_point_id ?? null, + site_id: $json->site_id ?? null, + site_name: $json->site_name ?? null, + ); + } + + public function __construct( + public string|null $access_point_id, + public float|null $site_id, + public string|null $site_name, + ) {} +} + +class AcsEntranceDormakabaAmbianceMetadata +{ + public static function from_json( + mixed $json, + ): AcsEntranceDormakabaAmbianceMetadata|null { + if (!$json) { + return null; + } + return new self(access_point_name: $json->access_point_name ?? null); + } + + public function __construct(public string|null $access_point_name) {} +} + +class AcsEntranceDormakabaCommunityMetadata +{ + public static function from_json( + mixed $json, + ): AcsEntranceDormakabaCommunityMetadata|null { + if (!$json) { + return null; + } + return new self( + access_point_profile: $json->access_point_profile ?? null, + ); + } + + public function __construct(public string|null $access_point_profile) {} +} + +class AcsEntranceErrors +{ + public static function from_json(mixed $json): AcsEntranceErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class AcsEntranceHotekMetadata +{ + public static function from_json(mixed $json): AcsEntranceHotekMetadata|null + { + if (!$json) { + return null; + } + return new self( + common_area_name: $json->common_area_name ?? null, + common_area_number: $json->common_area_number ?? null, + room_number: $json->room_number ?? null, + ); + } + + public function __construct( + public string|null $common_area_name, + public string|null $common_area_number, + public string|null $room_number, + ) {} +} + +class AcsEntranceLatchMetadata +{ + public static function from_json(mixed $json): AcsEntranceLatchMetadata|null + { + if (!$json) { + return null; + } + return new self( + accessibility_type: $json->accessibility_type ?? null, + door_name: $json->door_name ?? null, + door_type: $json->door_type ?? null, + is_connected: $json->is_connected ?? null, + ); + } + + public function __construct( + public string|null $accessibility_type, + public string|null $door_name, + public string|null $door_type, + public bool|null $is_connected, + ) {} +} + +class AcsEntranceProfiles +{ + public static function from_json(mixed $json): AcsEntranceProfiles|null + { + if (!$json) { + return null; + } + return new self( + visionline_door_profile_id: $json->visionline_door_profile_id ?? + null, + visionline_door_profile_type: $json->visionline_door_profile_type ?? + null, + ); + } + + public function __construct( + public string|null $visionline_door_profile_id, + public string|null $visionline_door_profile_type, + ) {} +} + +class AcsEntranceSaltoKsMetadata +{ + public static function from_json( + mixed $json, + ): AcsEntranceSaltoKsMetadata|null { + if (!$json) { + return null; + } + return new self( + battery_level: $json->battery_level ?? null, + door_name: $json->door_name ?? null, + intrusion_alarm: $json->intrusion_alarm ?? null, + left_open_alarm: $json->left_open_alarm ?? null, + lock_type: $json->lock_type ?? null, + locked_state: $json->locked_state ?? null, + online: $json->online ?? null, + privacy_mode: $json->privacy_mode ?? null, + ); + } + + public function __construct( + public string|null $battery_level, + public string|null $door_name, + public bool|null $intrusion_alarm, + public bool|null $left_open_alarm, + public string|null $lock_type, + public string|null $locked_state, + public bool|null $online, + public bool|null $privacy_mode, + ) {} +} + +class AcsEntranceSaltoSpaceMetadata +{ + public static function from_json( + mixed $json, + ): AcsEntranceSaltoSpaceMetadata|null { + if (!$json) { + return null; + } + return new self( + audit_on_keys: $json->audit_on_keys ?? null, + door_description: $json->door_description ?? null, + door_id: $json->door_id ?? null, + door_name: $json->door_name ?? null, + room_description: $json->room_description ?? null, + room_name: $json->room_name ?? null, + ); + } + + public function __construct( + public bool|null $audit_on_keys, + public string|null $door_description, + public string|null $door_id, + public string|null $door_name, + public string|null $room_description, + public string|null $room_name, + ) {} +} + +class AcsEntranceVisionlineMetadata +{ + public static function from_json( + mixed $json, + ): AcsEntranceVisionlineMetadata|null { + if (!$json) { + return null; + } + return new self( + door_category: $json->door_category ?? null, + door_name: $json->door_name ?? null, + profiles: array_map( + fn($p) => AcsEntranceProfiles::from_json($p), + $json->profiles ?? [], + ), + ); + } + + public function __construct( + public string|null $door_category, + public string|null $door_name, + public array $profiles, + ) {} +} + +class AcsEntranceWarnings +{ + public static function from_json(mixed $json): AcsEntranceWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} diff --git a/src/Objects/AcsSystem.php b/src/Resources/AcsSystem.php similarity index 56% rename from src/Objects/AcsSystem.php rename to src/Resources/AcsSystem.php index d3c47822..a187b847 100644 --- a/src/Objects/AcsSystem.php +++ b/src/Resources/AcsSystem.php @@ -1,6 +1,6 @@ created_at ?? null, + error_code: $json->error_code ?? null, + is_bridge_error: $json->is_bridge_error ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public bool|null $is_bridge_error, + public string|null $message, + ) {} +} + +class AcsSystemLocation +{ + public static function from_json(mixed $json): AcsSystemLocation|null + { + if (!$json) { + return null; + } + return new self(time_zone: $json->time_zone ?? null); + } + + public function __construct(public string|null $time_zone) {} +} + +class AcsSystemVisionlineMetadata +{ + public static function from_json( + mixed $json, + ): AcsSystemVisionlineMetadata|null { + if (!$json) { + return null; + } + return new self( + lan_address: $json->lan_address ?? null, + mobile_access_uuid: $json->mobile_access_uuid ?? null, + system_id: $json->system_id ?? null, + ); + } + + public function __construct( + public string|null $lan_address, + public string|null $mobile_access_uuid, + public string|null $system_id, + ) {} +} + +class AcsSystemWarnings +{ + public static function from_json(mixed $json): AcsSystemWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + misconfigured_acs_entrance_ids: $json->misconfigured_acs_entrance_ids ?? + null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public array|null $misconfigured_acs_entrance_ids, + public string|null $warning_code, + ) {} +} diff --git a/src/Resources/AcsUser.php b/src/Resources/AcsUser.php new file mode 100644 index 00000000..60cff9fe --- /dev/null +++ b/src/Resources/AcsUser.php @@ -0,0 +1,277 @@ +access_schedule) + ? AcsUserAccessSchedule::from_json($json->access_schedule) + : null, + acs_system_id: $json->acs_system_id ?? null, + acs_user_id: $json->acs_user_id ?? null, + connected_account_id: $json->connected_account_id ?? null, + created_at: $json->created_at ?? null, + display_name: $json->display_name ?? null, + email: $json->email ?? null, + email_address: $json->email_address ?? null, + errors: array_map( + fn($e) => AcsUserErrors::from_json($e), + $json->errors ?? [], + ), + external_type: $json->external_type ?? null, + external_type_display_name: $json->external_type_display_name ?? + null, + full_name: $json->full_name ?? null, + hid_acs_system_id: $json->hid_acs_system_id ?? null, + is_managed: $json->is_managed ?? null, + is_suspended: $json->is_suspended ?? null, + pending_mutations: array_map( + fn($p) => AcsUserPendingMutations::from_json($p), + $json->pending_mutations ?? [], + ), + phone_number: $json->phone_number ?? null, + salto_ks_metadata: isset($json->salto_ks_metadata) + ? AcsUserSaltoKsMetadata::from_json($json->salto_ks_metadata) + : null, + salto_space_metadata: isset($json->salto_space_metadata) + ? AcsUserSaltoSpaceMetadata::from_json( + $json->salto_space_metadata, + ) + : null, + user_identity_email_address: $json->user_identity_email_address ?? + null, + user_identity_full_name: $json->user_identity_full_name ?? null, + user_identity_id: $json->user_identity_id ?? null, + user_identity_phone_number: $json->user_identity_phone_number ?? + null, + warnings: array_map( + fn($w) => AcsUserWarnings::from_json($w), + $json->warnings ?? [], + ), + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public AcsUserAccessSchedule|null $access_schedule, + public string|null $acs_system_id, + public string|null $acs_user_id, + public string|null $connected_account_id, + public string|null $created_at, + public string|null $display_name, + public string|null $email, + public string|null $email_address, + public array $errors, + public string|null $external_type, + public string|null $external_type_display_name, + public string|null $full_name, + public string|null $hid_acs_system_id, + public bool|null $is_managed, + public bool|null $is_suspended, + public array $pending_mutations, + public string|null $phone_number, + public AcsUserSaltoKsMetadata|null $salto_ks_metadata, + public AcsUserSaltoSpaceMetadata|null $salto_space_metadata, + public string|null $user_identity_email_address, + public string|null $user_identity_full_name, + public string|null $user_identity_id, + public string|null $user_identity_phone_number, + public array $warnings, + public string|null $workspace_id, + ) {} +} + +class AcsUserAccessSchedule +{ + public static function from_json(mixed $json): AcsUserAccessSchedule|null + { + if (!$json) { + return null; + } + return new self( + ends_at: $json->ends_at ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $ends_at, + public string|null $starts_at, + ) {} +} + +class AcsUserErrors +{ + public static function from_json(mixed $json): AcsUserErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class AcsUserFrom +{ + public static function from_json(mixed $json): AcsUserFrom|null + { + if (!$json) { + return null; + } + return new self( + acs_access_group_id: $json->acs_access_group_id ?? null, + acs_credential_id: $json->acs_credential_id ?? null, + email_address: $json->email_address ?? null, + ends_at: $json->ends_at ?? null, + full_name: $json->full_name ?? null, + is_suspended: $json->is_suspended ?? null, + phone_number: $json->phone_number ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $acs_access_group_id, + public string|null $acs_credential_id, + public string|null $email_address, + public string|null $ends_at, + public string|null $full_name, + public bool|null $is_suspended, + public string|null $phone_number, + public string|null $starts_at, + ) {} +} + +class AcsUserPendingMutations +{ + public static function from_json(mixed $json): AcsUserPendingMutations|null + { + if (!$json) { + return null; + } + return new self( + acs_access_group_id: $json->acs_access_group_id ?? null, + created_at: $json->created_at ?? null, + from: isset($json->from) + ? AcsUserFrom::from_json($json->from) + : null, + message: $json->message ?? null, + mutation_code: $json->mutation_code ?? null, + scheduled_at: $json->scheduled_at ?? null, + to: isset($json->to) ? AcsUserTo::from_json($json->to) : null, + variant: $json->variant ?? null, + ); + } + + public function __construct( + public string|null $acs_access_group_id, + public string|null $created_at, + public AcsUserFrom|null $from, + public string|null $message, + public string|null $mutation_code, + public string|null $scheduled_at, + public AcsUserTo|null $to, + public string|null $variant, + ) {} +} + +class AcsUserSaltoKsMetadata +{ + public static function from_json(mixed $json): AcsUserSaltoKsMetadata|null + { + if (!$json) { + return null; + } + return new self(is_subscribed: $json->is_subscribed ?? null); + } + + public function __construct(public bool|null $is_subscribed) {} +} + +class AcsUserSaltoSpaceMetadata +{ + public static function from_json( + mixed $json, + ): AcsUserSaltoSpaceMetadata|null { + if (!$json) { + return null; + } + return new self( + audit_openings: $json->audit_openings ?? null, + user_id: $json->user_id ?? null, + ); + } + + public function __construct( + public bool|null $audit_openings, + public string|null $user_id, + ) {} +} + +class AcsUserTo +{ + public static function from_json(mixed $json): AcsUserTo|null + { + if (!$json) { + return null; + } + return new self( + acs_access_group_id: $json->acs_access_group_id ?? null, + acs_credential_id: $json->acs_credential_id ?? null, + email_address: $json->email_address ?? null, + ends_at: $json->ends_at ?? null, + full_name: $json->full_name ?? null, + is_suspended: $json->is_suspended ?? null, + phone_number: $json->phone_number ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $acs_access_group_id, + public string|null $acs_credential_id, + public string|null $email_address, + public string|null $ends_at, + public string|null $full_name, + public bool|null $is_suspended, + public string|null $phone_number, + public string|null $starts_at, + ) {} +} + +class AcsUserWarnings +{ + public static function from_json(mixed $json): AcsUserWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} diff --git a/src/Resources/ActionAttempt.php b/src/Resources/ActionAttempt.php new file mode 100644 index 00000000..a64b9565 --- /dev/null +++ b/src/Resources/ActionAttempt.php @@ -0,0 +1,476 @@ +action_attempt_id ?? null, + action_type: $json->action_type ?? null, + error: isset($json->error) + ? ActionAttemptError::from_json($json->error) + : null, + result: isset($json->result) + ? ActionAttemptResult::from_json($json->result) + : null, + status: $json->status ?? null, + ); + } + + public function __construct( + public string|null $action_attempt_id, + public string|null $action_type, + public ActionAttemptError|null $error, + public ActionAttemptResult|null $result, + public string|null $status, + ) {} +} + +class ActionAttemptAcsCredentialOnEncoder +{ + public static function from_json( + mixed $json, + ): ActionAttemptAcsCredentialOnEncoder|null { + if (!$json) { + return null; + } + return new self( + card_number: $json->card_number ?? null, + created_at: $json->created_at ?? null, + ends_at: $json->ends_at ?? null, + is_issued: $json->is_issued ?? null, + starts_at: $json->starts_at ?? null, + visionline_metadata: isset($json->visionline_metadata) + ? ActionAttemptVisionlineMetadata::from_json( + $json->visionline_metadata, + ) + : null, + ); + } + + public function __construct( + public string|null $card_number, + public string|null $created_at, + public string|null $ends_at, + public bool|null $is_issued, + public string|null $starts_at, + public ActionAttemptVisionlineMetadata|null $visionline_metadata, + ) {} +} + +class ActionAttemptAcsCredentialOnSeam +{ + public static function from_json( + mixed $json, + ): ActionAttemptAcsCredentialOnSeam|null { + if (!$json) { + return null; + } + return new self( + access_method: $json->access_method ?? null, + acs_credential_id: $json->acs_credential_id ?? null, + acs_credential_pool_id: $json->acs_credential_pool_id ?? null, + acs_system_id: $json->acs_system_id ?? null, + acs_user_id: $json->acs_user_id ?? null, + assa_abloy_vostio_metadata: isset($json->assa_abloy_vostio_metadata) + ? ActionAttemptAssaAbloyVostioMetadata::from_json( + $json->assa_abloy_vostio_metadata, + ) + : null, + card_number: $json->card_number ?? null, + code: $json->code ?? null, + connected_account_id: $json->connected_account_id ?? null, + created_at: $json->created_at ?? null, + display_name: $json->display_name ?? null, + ends_at: $json->ends_at ?? null, + errors: array_map( + fn($e) => ActionAttemptErrors::from_json($e), + $json->errors ?? [], + ), + external_type: $json->external_type ?? null, + external_type_display_name: $json->external_type_display_name ?? + null, + is_issued: $json->is_issued ?? null, + is_latest_desired_state_synced_with_provider: $json->is_latest_desired_state_synced_with_provider ?? + null, + is_managed: $json->is_managed ?? null, + is_multi_phone_sync_credential: $json->is_multi_phone_sync_credential ?? + null, + is_one_time_use: $json->is_one_time_use ?? null, + issued_at: $json->issued_at ?? null, + latest_desired_state_synced_with_provider_at: $json->latest_desired_state_synced_with_provider_at ?? + null, + parent_acs_credential_id: $json->parent_acs_credential_id ?? null, + starts_at: $json->starts_at ?? null, + user_identity_id: $json->user_identity_id ?? null, + visionline_metadata: isset($json->visionline_metadata) + ? ActionAttemptVisionlineMetadata::from_json( + $json->visionline_metadata, + ) + : null, + warnings: array_map( + fn($w) => ActionAttemptWarnings::from_json($w), + $json->warnings ?? [], + ), + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public string|null $access_method, + public string|null $acs_credential_id, + public string|null $acs_credential_pool_id, + public string|null $acs_system_id, + public string|null $acs_user_id, + public ActionAttemptAssaAbloyVostioMetadata|null $assa_abloy_vostio_metadata, + public string|null $card_number, + public string|null $code, + public string|null $connected_account_id, + public string|null $created_at, + public string|null $display_name, + public string|null $ends_at, + public array $errors, + public string|null $external_type, + public string|null $external_type_display_name, + public bool|null $is_issued, + public bool|null $is_latest_desired_state_synced_with_provider, + public bool|null $is_managed, + public bool|null $is_multi_phone_sync_credential, + public bool|null $is_one_time_use, + public string|null $issued_at, + public string|null $latest_desired_state_synced_with_provider_at, + public string|null $parent_acs_credential_id, + public string|null $starts_at, + public string|null $user_identity_id, + public ActionAttemptVisionlineMetadata|null $visionline_metadata, + public array $warnings, + public string|null $workspace_id, + ) {} +} + +class ActionAttemptAssaAbloyVostioMetadata +{ + public static function from_json( + mixed $json, + ): ActionAttemptAssaAbloyVostioMetadata|null { + if (!$json) { + return null; + } + return new self( + auto_join: $json->auto_join ?? null, + door_names: $json->door_names ?? null, + endpoint_id: $json->endpoint_id ?? null, + key_id: $json->key_id ?? null, + key_issuing_request_id: $json->key_issuing_request_id ?? null, + override_guest_acs_entrance_ids: $json->override_guest_acs_entrance_ids ?? + null, + ); + } + + public function __construct( + public bool|null $auto_join, + public array|null $door_names, + public string|null $endpoint_id, + public string|null $key_id, + public string|null $key_issuing_request_id, + public array|null $override_guest_acs_entrance_ids, + ) {} +} + +class ActionAttemptError +{ + public static function from_json(mixed $json): ActionAttemptError|null + { + if (!$json) { + return null; + } + return new self( + message: $json->message ?? null, + type: $json->type ?? null, + ); + } + + public function __construct( + public string|null $message, + public string|null $type, + ) {} +} + +class ActionAttemptErrors +{ + public static function from_json(mixed $json): ActionAttemptErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class ActionAttemptFrom +{ + public static function from_json(mixed $json): ActionAttemptFrom|null + { + if (!$json) { + return null; + } + return new self( + ends_at: $json->ends_at ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $ends_at, + public string|null $starts_at, + ) {} +} + +class ActionAttemptPendingMutations +{ + public static function from_json( + mixed $json, + ): ActionAttemptPendingMutations|null { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + from: isset($json->from) + ? ActionAttemptFrom::from_json($json->from) + : null, + message: $json->message ?? null, + mutation_code: $json->mutation_code ?? null, + to: isset($json->to) ? ActionAttemptTo::from_json($json->to) : null, + ); + } + + public function __construct( + public string|null $created_at, + public ActionAttemptFrom|null $from, + public string|null $message, + public string|null $mutation_code, + public ActionAttemptTo|null $to, + ) {} +} + +class ActionAttemptResult +{ + public static function from_json(mixed $json): ActionAttemptResult|null + { + if (!$json) { + return null; + } + return new self( + access_method: $json->access_method ?? null, + access_method_id: $json->access_method_id ?? null, + acs_credential_id: $json->acs_credential_id ?? null, + acs_credential_on_encoder: isset($json->acs_credential_on_encoder) + ? ActionAttemptAcsCredentialOnEncoder::from_json( + $json->acs_credential_on_encoder, + ) + : null, + acs_credential_on_seam: isset($json->acs_credential_on_seam) + ? ActionAttemptAcsCredentialOnSeam::from_json( + $json->acs_credential_on_seam, + ) + : null, + acs_credential_pool_id: $json->acs_credential_pool_id ?? null, + acs_system_id: $json->acs_system_id ?? null, + acs_user_id: $json->acs_user_id ?? null, + assa_abloy_vostio_metadata: isset($json->assa_abloy_vostio_metadata) + ? ActionAttemptAssaAbloyVostioMetadata::from_json( + $json->assa_abloy_vostio_metadata, + ) + : null, + card_number: $json->card_number ?? null, + client_session_token: $json->client_session_token ?? null, + code: $json->code ?? null, + connected_account_id: $json->connected_account_id ?? null, + created_at: $json->created_at ?? null, + customization_profile_id: $json->customization_profile_id ?? null, + display_name: $json->display_name ?? null, + ends_at: $json->ends_at ?? null, + errors: array_map( + fn($e) => ActionAttemptErrors::from_json($e), + $json->errors ?? [], + ), + external_type: $json->external_type ?? null, + external_type_display_name: $json->external_type_display_name ?? + null, + instant_key_url: $json->instant_key_url ?? null, + is_assignment_required: $json->is_assignment_required ?? null, + is_encoding_required: $json->is_encoding_required ?? null, + is_issued: $json->is_issued ?? null, + is_latest_desired_state_synced_with_provider: $json->is_latest_desired_state_synced_with_provider ?? + null, + is_managed: $json->is_managed ?? null, + is_multi_phone_sync_credential: $json->is_multi_phone_sync_credential ?? + null, + is_one_time_use: $json->is_one_time_use ?? null, + is_ready_for_assignment: $json->is_ready_for_assignment ?? null, + is_ready_for_encoding: $json->is_ready_for_encoding ?? null, + issued_at: $json->issued_at ?? null, + latest_desired_state_synced_with_provider_at: $json->latest_desired_state_synced_with_provider_at ?? + null, + mode: $json->mode ?? null, + parent_acs_credential_id: $json->parent_acs_credential_id ?? null, + pending_mutations: array_map( + fn($p) => ActionAttemptPendingMutations::from_json($p), + $json->pending_mutations ?? [], + ), + starts_at: $json->starts_at ?? null, + user_identity_id: $json->user_identity_id ?? null, + visionline_metadata: isset($json->visionline_metadata) + ? ActionAttemptVisionlineMetadata::from_json( + $json->visionline_metadata, + ) + : null, + warnings: array_map( + fn($w) => ActionAttemptWarnings::from_json($w), + $json->warnings ?? [], + ), + was_confirmed_by_device: $json->was_confirmed_by_device ?? null, + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public string|null $access_method, + public string|null $access_method_id, + public string|null $acs_credential_id, + public ActionAttemptAcsCredentialOnEncoder|null $acs_credential_on_encoder, + public ActionAttemptAcsCredentialOnSeam|null $acs_credential_on_seam, + public string|null $acs_credential_pool_id, + public string|null $acs_system_id, + public string|null $acs_user_id, + public ActionAttemptAssaAbloyVostioMetadata|null $assa_abloy_vostio_metadata, + public string|null $card_number, + public string|null $client_session_token, + public string|null $code, + public string|null $connected_account_id, + public string|null $created_at, + public string|null $customization_profile_id, + public string|null $display_name, + public string|null $ends_at, + public array $errors, + public string|null $external_type, + public string|null $external_type_display_name, + public string|null $instant_key_url, + public bool|null $is_assignment_required, + public bool|null $is_encoding_required, + public bool|null $is_issued, + public bool|null $is_latest_desired_state_synced_with_provider, + public bool|null $is_managed, + public bool|null $is_multi_phone_sync_credential, + public bool|null $is_one_time_use, + public bool|null $is_ready_for_assignment, + public bool|null $is_ready_for_encoding, + public string|null $issued_at, + public string|null $latest_desired_state_synced_with_provider_at, + public string|null $mode, + public string|null $parent_acs_credential_id, + public array $pending_mutations, + public string|null $starts_at, + public string|null $user_identity_id, + public ActionAttemptVisionlineMetadata|null $visionline_metadata, + public array $warnings, + public bool|null $was_confirmed_by_device, + public string|null $workspace_id, + ) {} +} + +class ActionAttemptTo +{ + public static function from_json(mixed $json): ActionAttemptTo|null + { + if (!$json) { + return null; + } + return new self( + ends_at: $json->ends_at ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $ends_at, + public string|null $starts_at, + ) {} +} + +class ActionAttemptVisionlineMetadata +{ + public static function from_json( + mixed $json, + ): ActionAttemptVisionlineMetadata|null { + if (!$json) { + return null; + } + return new self( + cancelled: $json->cancelled ?? null, + card_format: $json->card_format ?? null, + card_holder: $json->card_holder ?? null, + card_id: $json->card_id ?? null, + common_acs_entrance_ids: $json->common_acs_entrance_ids ?? null, + discarded: $json->discarded ?? null, + expired: $json->expired ?? null, + guest_acs_entrance_ids: $json->guest_acs_entrance_ids ?? null, + number_of_issued_cards: $json->number_of_issued_cards ?? null, + overridden: $json->overridden ?? null, + overwritten: $json->overwritten ?? null, + pending_auto_update: $json->pending_auto_update ?? null, + ); + } + + public function __construct( + public bool|null $cancelled, + public string|null $card_format, + public string|null $card_holder, + public string|null $card_id, + public array|null $common_acs_entrance_ids, + public bool|null $discarded, + public bool|null $expired, + public array|null $guest_acs_entrance_ids, + public float|null $number_of_issued_cards, + public bool|null $overridden, + public bool|null $overwritten, + public bool|null $pending_auto_update, + ) {} +} + +class ActionAttemptWarnings +{ + public static function from_json(mixed $json): ActionAttemptWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} diff --git a/src/Objects/Batch.php b/src/Resources/Batch.php similarity index 98% rename from src/Objects/Batch.php rename to src/Resources/Batch.php index 46fb69ca..4ee00388 100644 --- a/src/Objects/Batch.php +++ b/src/Resources/Batch.php @@ -1,6 +1,6 @@ accepted_capabilities ?? null, + account_type: $json->account_type ?? null, + account_type_display_name: $json->account_type_display_name ?? null, + automatically_manage_new_devices: $json->automatically_manage_new_devices ?? + null, + connected_account_id: $json->connected_account_id ?? null, + created_at: $json->created_at ?? null, + custom_metadata: $json->custom_metadata ?? null, + customer_key: $json->customer_key ?? null, + default_checkin_time: $json->default_checkin_time ?? null, + default_checkout_time: $json->default_checkout_time ?? null, + display_name: $json->display_name ?? null, + errors: array_map( + fn($e) => ConnectedAccountErrors::from_json($e), + $json->errors ?? [], + ), + ical_feed_origin: $json->ical_feed_origin ?? null, + ical_url: $json->ical_url ?? null, + image_url: $json->image_url ?? null, + time_zone: $json->time_zone ?? null, + user_identifier: isset($json->user_identifier) + ? ConnectedAccountUserIdentifier::from_json( + $json->user_identifier, + ) + : null, + warnings: array_map( + fn($w) => ConnectedAccountWarnings::from_json($w), + $json->warnings ?? [], + ), + ); + } + + public function __construct( + public array|null $accepted_capabilities, + public string|null $account_type, + public string|null $account_type_display_name, + public bool|null $automatically_manage_new_devices, + public string|null $connected_account_id, + public string|null $created_at, + public mixed $custom_metadata, + public string|null $customer_key, + public string|null $default_checkin_time, + public string|null $default_checkout_time, + public string|null $display_name, + public array $errors, + public string|null $ical_feed_origin, + public string|null $ical_url, + public string|null $image_url, + public string|null $time_zone, + public ConnectedAccountUserIdentifier|null $user_identifier, + public array $warnings, + ) {} +} + +class ConnectedAccountErrors +{ + public static function from_json(mixed $json): ConnectedAccountErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + is_bridge_error: $json->is_bridge_error ?? null, + is_connected_account_error: $json->is_connected_account_error ?? + null, + message: $json->message ?? null, + salto_ks_metadata: isset($json->salto_ks_metadata) + ? ConnectedAccountSaltoKsMetadata::from_json( + $json->salto_ks_metadata, + ) + : null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public bool|null $is_bridge_error, + public bool|null $is_connected_account_error, + public string|null $message, + public ConnectedAccountSaltoKsMetadata|null $salto_ks_metadata, + ) {} +} + +class ConnectedAccountSaltoKsMetadata +{ + public static function from_json( + mixed $json, + ): ConnectedAccountSaltoKsMetadata|null { + if (!$json) { + return null; + } + return new self( + sites: array_map( + fn($s) => ConnectedAccountSites::from_json($s), + $json->sites ?? [], + ), + ); + } + + public function __construct(public array $sites) {} +} + +class ConnectedAccountSites +{ + public static function from_json(mixed $json): ConnectedAccountSites|null + { + if (!$json) { + return null; + } + return new self( + site_id: $json->site_id ?? null, + site_name: $json->site_name ?? null, + site_user_subscription_limit: $json->site_user_subscription_limit ?? + null, + subscribed_site_user_count: $json->subscribed_site_user_count ?? + null, + ); + } + + public function __construct( + public string|null $site_id, + public string|null $site_name, + public int|null $site_user_subscription_limit, + public int|null $subscribed_site_user_count, + ) {} +} + +class ConnectedAccountUserIdentifier +{ + public static function from_json( + mixed $json, + ): ConnectedAccountUserIdentifier|null { + if (!$json) { + return null; + } + return new self( + api_url: $json->api_url ?? null, + email: $json->email ?? null, + exclusive: $json->exclusive ?? null, + phone: $json->phone ?? null, + username: $json->username ?? null, + ); + } + + public function __construct( + public string|null $api_url, + public string|null $email, + public bool|null $exclusive, + public string|null $phone, + public string|null $username, + ) {} +} + +class ConnectedAccountWarnings +{ + public static function from_json(mixed $json): ConnectedAccountWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + salto_ks_metadata: isset($json->salto_ks_metadata) + ? ConnectedAccountSaltoKsMetadata::from_json( + $json->salto_ks_metadata, + ) + : null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public ConnectedAccountSaltoKsMetadata|null $salto_ks_metadata, + public string|null $warning_code, + ) {} +} diff --git a/src/Objects/CustomerPortal.php b/src/Resources/CustomerPortal.php similarity index 96% rename from src/Objects/CustomerPortal.php rename to src/Resources/CustomerPortal.php index 86247dbf..501cb5f0 100644 --- a/src/Objects/CustomerPortal.php +++ b/src/Resources/CustomerPortal.php @@ -1,6 +1,6 @@ can_configure_auto_lock ?? null, + can_hvac_cool: $json->can_hvac_cool ?? null, + can_hvac_heat: $json->can_hvac_heat ?? null, + can_hvac_heat_cool: $json->can_hvac_heat_cool ?? null, + can_program_offline_access_codes: $json->can_program_offline_access_codes ?? + null, + can_program_online_access_codes: $json->can_program_online_access_codes ?? + null, + can_program_thermostat_programs_as_different_each_day: $json->can_program_thermostat_programs_as_different_each_day ?? + null, + can_program_thermostat_programs_as_same_each_day: $json->can_program_thermostat_programs_as_same_each_day ?? + null, + can_program_thermostat_programs_as_weekday_weekend: $json->can_program_thermostat_programs_as_weekday_weekend ?? + null, + can_remotely_lock: $json->can_remotely_lock ?? null, + can_remotely_unlock: $json->can_remotely_unlock ?? null, + can_run_thermostat_programs: $json->can_run_thermostat_programs ?? + null, + can_simulate_connection: $json->can_simulate_connection ?? null, + can_simulate_disconnection: $json->can_simulate_disconnection ?? + null, + can_simulate_hub_connection: $json->can_simulate_hub_connection ?? + null, + can_simulate_hub_disconnection: $json->can_simulate_hub_disconnection ?? + null, + can_simulate_paid_subscription: $json->can_simulate_paid_subscription ?? + null, + can_simulate_removal: $json->can_simulate_removal ?? null, + can_turn_off_hvac: $json->can_turn_off_hvac ?? null, + can_unlock_with_code: $json->can_unlock_with_code ?? null, + capabilities_supported: $json->capabilities_supported ?? null, + connected_account_id: $json->connected_account_id ?? null, + created_at: $json->created_at ?? null, + custom_metadata: $json->custom_metadata ?? null, + device_id: $json->device_id ?? null, + device_manufacturer: isset($json->device_manufacturer) + ? DeviceDeviceManufacturer::from_json( + $json->device_manufacturer, + ) + : null, + device_provider: isset($json->device_provider) + ? DeviceDeviceProvider::from_json($json->device_provider) + : null, + device_type: $json->device_type ?? null, + display_name: $json->display_name ?? null, + errors: array_map( + fn($e) => DeviceErrors::from_json($e), + $json->errors ?? [], + ), + is_managed: $json->is_managed ?? null, + location: isset($json->location) + ? DeviceLocation::from_json($json->location) + : null, + nickname: $json->nickname ?? null, + properties: isset($json->properties) + ? DeviceProperties::from_json($json->properties) + : null, + space_ids: $json->space_ids ?? null, + warnings: array_map( + fn($w) => DeviceWarnings::from_json($w), + $json->warnings ?? [], + ), + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public bool|null $can_configure_auto_lock, + public bool|null $can_hvac_cool, + public bool|null $can_hvac_heat, + public bool|null $can_hvac_heat_cool, + public bool|null $can_program_offline_access_codes, + public bool|null $can_program_online_access_codes, + public bool|null $can_program_thermostat_programs_as_different_each_day, + public bool|null $can_program_thermostat_programs_as_same_each_day, + public bool|null $can_program_thermostat_programs_as_weekday_weekend, + public bool|null $can_remotely_lock, + public bool|null $can_remotely_unlock, + public bool|null $can_run_thermostat_programs, + public bool|null $can_simulate_connection, + public bool|null $can_simulate_disconnection, + public bool|null $can_simulate_hub_connection, + public bool|null $can_simulate_hub_disconnection, + public bool|null $can_simulate_paid_subscription, + public bool|null $can_simulate_removal, + public bool|null $can_turn_off_hvac, + public bool|null $can_unlock_with_code, + public array|null $capabilities_supported, + public string|null $connected_account_id, + public string|null $created_at, + public mixed $custom_metadata, + public string|null $device_id, + public DeviceDeviceManufacturer|null $device_manufacturer, + public DeviceDeviceProvider|null $device_provider, + public string|null $device_type, + public string|null $display_name, + public array $errors, + public bool|null $is_managed, + public DeviceLocation|null $location, + public string|null $nickname, + public DeviceProperties|null $properties, + public array|null $space_ids, + public array $warnings, + public string|null $workspace_id, + ) {} +} + +class DeviceAccelerometerZ +{ + public static function from_json(mixed $json): DeviceAccelerometerZ|null + { + if (!$json) { + return null; + } + return new self(time: $json->time ?? null, value: $json->value ?? null); + } + + public function __construct( + public string|null $time, + public float|null $value, + ) {} +} + +class DeviceAccessoryKeypad +{ + public static function from_json(mixed $json): DeviceAccessoryKeypad|null + { + if (!$json) { + return null; + } + return new self( + battery: isset($json->battery) + ? DeviceBattery::from_json($json->battery) + : null, + is_connected: $json->is_connected ?? null, + ); + } + + public function __construct( + public DeviceBattery|null $battery, + public bool|null $is_connected, + ) {} +} + +class DeviceActiveThermostatSchedule +{ + public static function from_json( + mixed $json, + ): DeviceActiveThermostatSchedule|null { + if (!$json) { + return null; + } + return new self( + climate_preset_key: $json->climate_preset_key ?? null, + created_at: $json->created_at ?? null, + device_id: $json->device_id ?? null, + ends_at: $json->ends_at ?? null, + errors: array_map( + fn($e) => DeviceErrors::from_json($e), + $json->errors ?? [], + ), + is_override_allowed: $json->is_override_allowed ?? null, + max_override_period_minutes: $json->max_override_period_minutes ?? + null, + name: $json->name ?? null, + starts_at: $json->starts_at ?? null, + thermostat_schedule_id: $json->thermostat_schedule_id ?? null, + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public string|null $climate_preset_key, + public string|null $created_at, + public string|null $device_id, + public string|null $ends_at, + public array $errors, + public bool|null $is_override_allowed, + public int|null $max_override_period_minutes, + public string|null $name, + public string|null $starts_at, + public string|null $thermostat_schedule_id, + public string|null $workspace_id, + ) {} +} + +class DeviceAkilesMetadata +{ + public static function from_json(mixed $json): DeviceAkilesMetadata|null + { + if (!$json) { + return null; + } + return new self( + _member_group_id: $json->_member_group_id ?? null, + gadget_id: $json->gadget_id ?? null, + gadget_name: $json->gadget_name ?? null, + product_name: $json->product_name ?? null, + ); + } + + public function __construct( + public string|null $_member_group_id, + public string|null $gadget_id, + public string|null $gadget_name, + public string|null $product_name, + ) {} +} + +class DeviceAppearance +{ + public static function from_json(mixed $json): DeviceAppearance|null + { + if (!$json) { + return null; + } + return new self(name: $json->name ?? null); + } + + public function __construct(public string|null $name) {} +} + +class DeviceAqaraMetadata +{ + public static function from_json(mixed $json): DeviceAqaraMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_name: $json->device_name ?? null, + did: $json->did ?? null, + firmware_version: $json->firmware_version ?? null, + model: $json->model ?? null, + model_type: $json->model_type ?? null, + parent_did: $json->parent_did ?? null, + position_id: $json->position_id ?? null, + time_zone: $json->time_zone ?? null, + ); + } + + public function __construct( + public string|null $device_name, + public string|null $did, + public string|null $firmware_version, + public string|null $model, + public float|null $model_type, + public string|null $parent_did, + public string|null $position_id, + public string|null $time_zone, + ) {} +} + +class DeviceAssaAbloyCredentialServiceMetadata +{ + public static function from_json( + mixed $json, + ): DeviceAssaAbloyCredentialServiceMetadata|null { + if (!$json) { + return null; + } + return new self( + endpoints: array_map( + fn($e) => DeviceEndpoints::from_json($e), + $json->endpoints ?? [], + ), + has_active_endpoint: $json->has_active_endpoint ?? null, + ); + } + + public function __construct( + public array $endpoints, + public bool|null $has_active_endpoint, + ) {} +} + +class DeviceAssaAbloyVostioMetadata +{ + public static function from_json( + mixed $json, + ): DeviceAssaAbloyVostioMetadata|null { + if (!$json) { + return null; + } + return new self(encoder_name: $json->encoder_name ?? null); + } + + public function __construct(public string|null $encoder_name) {} +} + +class DeviceAugustMetadata +{ + public static function from_json(mixed $json): DeviceAugustMetadata|null + { + if (!$json) { + return null; + } + return new self( + has_keypad: $json->has_keypad ?? null, + house_id: $json->house_id ?? null, + house_name: $json->house_name ?? null, + keypad_battery_level: $json->keypad_battery_level ?? null, + lock_id: $json->lock_id ?? null, + lock_name: $json->lock_name ?? null, + model: $json->model ?? null, + ); + } + + public function __construct( + public bool|null $has_keypad, + public string|null $house_id, + public string|null $house_name, + public string|null $keypad_battery_level, + public string|null $lock_id, + public string|null $lock_name, + public string|null $model, + ) {} +} + +class DeviceAvailableClimatePresets +{ + public static function from_json( + mixed $json, + ): DeviceAvailableClimatePresets|null { + if (!$json) { + return null; + } + return new self( + can_delete: $json->can_delete ?? null, + can_edit: $json->can_edit ?? null, + can_use_with_thermostat_daily_programs: $json->can_use_with_thermostat_daily_programs ?? + null, + climate_preset_key: $json->climate_preset_key ?? null, + climate_preset_mode: $json->climate_preset_mode ?? null, + cooling_set_point_celsius: $json->cooling_set_point_celsius ?? null, + cooling_set_point_fahrenheit: $json->cooling_set_point_fahrenheit ?? + null, + display_name: $json->display_name ?? null, + ecobee_metadata: isset($json->ecobee_metadata) + ? DeviceEcobeeMetadata::from_json($json->ecobee_metadata) + : null, + fan_mode_setting: $json->fan_mode_setting ?? null, + heating_set_point_celsius: $json->heating_set_point_celsius ?? null, + heating_set_point_fahrenheit: $json->heating_set_point_fahrenheit ?? + null, + hvac_mode_setting: $json->hvac_mode_setting ?? null, + manual_override_allowed: $json->manual_override_allowed ?? null, + name: $json->name ?? null, + ); + } + + public function __construct( + public bool|null $can_delete, + public bool|null $can_edit, + public bool|null $can_use_with_thermostat_daily_programs, + public string|null $climate_preset_key, + public string|null $climate_preset_mode, + public float|null $cooling_set_point_celsius, + public float|null $cooling_set_point_fahrenheit, + public string|null $display_name, + public DeviceEcobeeMetadata|null $ecobee_metadata, + public string|null $fan_mode_setting, + public float|null $heating_set_point_celsius, + public float|null $heating_set_point_fahrenheit, + public string|null $hvac_mode_setting, + public bool|null $manual_override_allowed, + public string|null $name, + ) {} +} + +class DeviceAvigilonAltaMetadata +{ + public static function from_json( + mixed $json, + ): DeviceAvigilonAltaMetadata|null { + if (!$json) { + return null; + } + return new self( + entry_name: $json->entry_name ?? null, + entry_relays_total_count: $json->entry_relays_total_count ?? null, + org_name: $json->org_name ?? null, + site_id: $json->site_id ?? null, + site_name: $json->site_name ?? null, + zone_id: $json->zone_id ?? null, + zone_name: $json->zone_name ?? null, + ); + } + + public function __construct( + public string|null $entry_name, + public float|null $entry_relays_total_count, + public string|null $org_name, + public float|null $site_id, + public string|null $site_name, + public float|null $zone_id, + public string|null $zone_name, + ) {} +} + +class DeviceBattery +{ + public static function from_json(mixed $json): DeviceBattery|null + { + if (!$json) { + return null; + } + return new self(level: $json->level ?? null); + } + + public function __construct(public float|null $level) {} +} + +class DeviceBrivoMetadata +{ + public static function from_json(mixed $json): DeviceBrivoMetadata|null + { + if (!$json) { + return null; + } + return new self( + activation_enabled: $json->activation_enabled ?? null, + device_name: $json->device_name ?? null, + ); + } + + public function __construct( + public bool|null $activation_enabled, + public string|null $device_name, + ) {} +} + +class DeviceCodeConstraints +{ + public static function from_json(mixed $json): DeviceCodeConstraints|null + { + if (!$json) { + return null; + } + return new self( + constraint_type: $json->constraint_type ?? null, + max_length: $json->max_length ?? null, + min_length: $json->min_length ?? null, + ); + } + + public function __construct( + public string|null $constraint_type, + public float|null $max_length, + public float|null $min_length, + ) {} +} + +class DeviceControlbywebMetadata +{ + public static function from_json( + mixed $json, + ): DeviceControlbywebMetadata|null { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + relay_name: $json->relay_name ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + public string|null $relay_name, + ) {} +} + +class DeviceCurrentClimateSetting +{ + public static function from_json( + mixed $json, + ): DeviceCurrentClimateSetting|null { + if (!$json) { + return null; + } + return new self( + can_delete: $json->can_delete ?? null, + can_edit: $json->can_edit ?? null, + can_use_with_thermostat_daily_programs: $json->can_use_with_thermostat_daily_programs ?? + null, + climate_preset_key: $json->climate_preset_key ?? null, + climate_preset_mode: $json->climate_preset_mode ?? null, + cooling_set_point_celsius: $json->cooling_set_point_celsius ?? null, + cooling_set_point_fahrenheit: $json->cooling_set_point_fahrenheit ?? + null, + display_name: $json->display_name ?? null, + ecobee_metadata: isset($json->ecobee_metadata) + ? DeviceEcobeeMetadata::from_json($json->ecobee_metadata) + : null, + fan_mode_setting: $json->fan_mode_setting ?? null, + heating_set_point_celsius: $json->heating_set_point_celsius ?? null, + heating_set_point_fahrenheit: $json->heating_set_point_fahrenheit ?? + null, + hvac_mode_setting: $json->hvac_mode_setting ?? null, + manual_override_allowed: $json->manual_override_allowed ?? null, + name: $json->name ?? null, + ); + } + + public function __construct( + public bool|null $can_delete, + public bool|null $can_edit, + public bool|null $can_use_with_thermostat_daily_programs, + public string|null $climate_preset_key, + public string|null $climate_preset_mode, + public float|null $cooling_set_point_celsius, + public float|null $cooling_set_point_fahrenheit, + public string|null $display_name, + public DeviceEcobeeMetadata|null $ecobee_metadata, + public string|null $fan_mode_setting, + public float|null $heating_set_point_celsius, + public float|null $heating_set_point_fahrenheit, + public string|null $hvac_mode_setting, + public bool|null $manual_override_allowed, + public string|null $name, + ) {} +} + +class DeviceDefaultClimateSetting +{ + public static function from_json( + mixed $json, + ): DeviceDefaultClimateSetting|null { + if (!$json) { + return null; + } + return new self( + can_delete: $json->can_delete ?? null, + can_edit: $json->can_edit ?? null, + can_use_with_thermostat_daily_programs: $json->can_use_with_thermostat_daily_programs ?? + null, + climate_preset_key: $json->climate_preset_key ?? null, + climate_preset_mode: $json->climate_preset_mode ?? null, + cooling_set_point_celsius: $json->cooling_set_point_celsius ?? null, + cooling_set_point_fahrenheit: $json->cooling_set_point_fahrenheit ?? + null, + display_name: $json->display_name ?? null, + ecobee_metadata: isset($json->ecobee_metadata) + ? DeviceEcobeeMetadata::from_json($json->ecobee_metadata) + : null, + fan_mode_setting: $json->fan_mode_setting ?? null, + heating_set_point_celsius: $json->heating_set_point_celsius ?? null, + heating_set_point_fahrenheit: $json->heating_set_point_fahrenheit ?? + null, + hvac_mode_setting: $json->hvac_mode_setting ?? null, + manual_override_allowed: $json->manual_override_allowed ?? null, + name: $json->name ?? null, + ); + } + + public function __construct( + public bool|null $can_delete, + public bool|null $can_edit, + public bool|null $can_use_with_thermostat_daily_programs, + public string|null $climate_preset_key, + public string|null $climate_preset_mode, + public float|null $cooling_set_point_celsius, + public float|null $cooling_set_point_fahrenheit, + public string|null $display_name, + public DeviceEcobeeMetadata|null $ecobee_metadata, + public string|null $fan_mode_setting, + public float|null $heating_set_point_celsius, + public float|null $heating_set_point_fahrenheit, + public string|null $hvac_mode_setting, + public bool|null $manual_override_allowed, + public string|null $name, + ) {} +} + +class DeviceDeviceManufacturer +{ + public static function from_json(mixed $json): DeviceDeviceManufacturer|null + { + if (!$json) { + return null; + } + return new self( + display_name: $json->display_name ?? null, + image_url: $json->image_url ?? null, + manufacturer: $json->manufacturer ?? null, + ); + } + + public function __construct( + public string|null $display_name, + public string|null $image_url, + public string|null $manufacturer, + ) {} +} + +class DeviceDeviceProvider +{ + public static function from_json(mixed $json): DeviceDeviceProvider|null + { + if (!$json) { + return null; + } + return new self( + device_provider_name: $json->device_provider_name ?? null, + display_name: $json->display_name ?? null, + image_url: $json->image_url ?? null, + provider_category: $json->provider_category ?? null, + ); + } + + public function __construct( + public string|null $device_provider_name, + public string|null $display_name, + public string|null $image_url, + public string|null $provider_category, + ) {} +} + +class DeviceDormakabaOracodeMetadata +{ + public static function from_json( + mixed $json, + ): DeviceDormakabaOracodeMetadata|null { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + door_id: $json->door_id ?? null, + door_is_wireless: $json->door_is_wireless ?? null, + door_name: $json->door_name ?? null, + iana_timezone: $json->iana_timezone ?? null, + predefined_time_slots: array_map( + fn($p) => DevicePredefinedTimeSlots::from_json($p), + $json->predefined_time_slots ?? [], + ), + site_id: $json->site_id ?? null, + site_name: $json->site_name ?? null, + ); + } + + public function __construct( + public mixed $device_id, + public float|null $door_id, + public bool|null $door_is_wireless, + public string|null $door_name, + public string|null $iana_timezone, + public array $predefined_time_slots, + public float|null $site_id, + public string|null $site_name, + ) {} +} + +class DeviceEcobeeMetadata +{ + public static function from_json(mixed $json): DeviceEcobeeMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_name: $json->device_name ?? null, + ecobee_device_id: $json->ecobee_device_id ?? null, + ); + } + + public function __construct( + public string|null $device_name, + public string|null $ecobee_device_id, + ) {} +} + +class DeviceEndpoints +{ + public static function from_json(mixed $json): DeviceEndpoints|null + { + if (!$json) { + return null; + } + return new self( + endpoint_id: $json->endpoint_id ?? null, + is_active: $json->is_active ?? null, + ); + } + + public function __construct( + public string|null $endpoint_id, + public bool|null $is_active, + ) {} +} + +class DeviceErrors +{ + public static function from_json(mixed $json): DeviceErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + is_bridge_error: $json->is_bridge_error ?? null, + is_connected_account_error: $json->is_connected_account_error ?? + null, + is_device_error: $json->is_device_error ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public bool|null $is_bridge_error, + public bool|null $is_connected_account_error, + public bool|null $is_device_error, + public string|null $message, + ) {} +} + +class DeviceFeatures +{ + public static function from_json(mixed $json): DeviceFeatures|null + { + if (!$json) { + return null; + } + return new self( + auto_lock_time_config: $json->auto_lock_time_config ?? null, + incomplete_keyboard_passcode: $json->incomplete_keyboard_passcode ?? + null, + lock_command: $json->lock_command ?? null, + passcode: $json->passcode ?? null, + passcode_management: $json->passcode_management ?? null, + unlock_via_gateway: $json->unlock_via_gateway ?? null, + wifi: $json->wifi ?? null, + ); + } + + public function __construct( + public bool|null $auto_lock_time_config, + public bool|null $incomplete_keyboard_passcode, + public bool|null $lock_command, + public bool|null $passcode, + public bool|null $passcode_management, + public bool|null $unlock_via_gateway, + public bool|null $wifi, + ) {} +} + +class DeviceFourSuitesMetadata +{ + public static function from_json(mixed $json): DeviceFourSuitesMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + reclose_delay_in_seconds: $json->reclose_delay_in_seconds ?? null, + ); + } + + public function __construct( + public float|null $device_id, + public string|null $device_name, + public float|null $reclose_delay_in_seconds, + ) {} +} + +class DeviceGenieMetadata +{ + public static function from_json(mixed $json): DeviceGenieMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_name: $json->device_name ?? null, + door_name: $json->door_name ?? null, + ); + } + + public function __construct( + public string|null $device_name, + public string|null $door_name, + ) {} +} + +class DeviceHoneywellResideoMetadata +{ + public static function from_json( + mixed $json, + ): DeviceHoneywellResideoMetadata|null { + if (!$json) { + return null; + } + return new self( + device_name: $json->device_name ?? null, + honeywell_resideo_device_id: $json->honeywell_resideo_device_id ?? + null, + ); + } + + public function __construct( + public string|null $device_name, + public string|null $honeywell_resideo_device_id, + ) {} +} + +class DeviceHumidity +{ + public static function from_json(mixed $json): DeviceHumidity|null + { + if (!$json) { + return null; + } + return new self(time: $json->time ?? null, value: $json->value ?? null); + } + + public function __construct( + public string|null $time, + public float|null $value, + ) {} +} + +class DeviceIgloohomeMetadata +{ + public static function from_json(mixed $json): DeviceIgloohomeMetadata|null + { + if (!$json) { + return null; + } + return new self( + bridge_id: $json->bridge_id ?? null, + bridge_name: $json->bridge_name ?? null, + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + is_accessory_keypad_linked_to_bridge: $json->is_accessory_keypad_linked_to_bridge ?? + null, + keypad_id: $json->keypad_id ?? null, + ); + } + + public function __construct( + public string|null $bridge_id, + public string|null $bridge_name, + public string|null $device_id, + public string|null $device_name, + public bool|null $is_accessory_keypad_linked_to_bridge, + public string|null $keypad_id, + ) {} +} + +class DeviceIglooMetadata +{ + public static function from_json(mixed $json): DeviceIglooMetadata|null + { + if (!$json) { + return null; + } + return new self( + bridge_id: $json->bridge_id ?? null, + device_id: $json->device_id ?? null, + model: $json->model ?? null, + ); + } + + public function __construct( + public string|null $bridge_id, + public string|null $device_id, + public string|null $model, + ) {} +} + +class DeviceKeynestMetadata +{ + public static function from_json(mixed $json): DeviceKeynestMetadata|null + { + if (!$json) { + return null; + } + return new self( + address: $json->address ?? null, + current_or_last_store_id: $json->current_or_last_store_id ?? null, + current_status: $json->current_status ?? null, + current_user_company: $json->current_user_company ?? null, + current_user_email: $json->current_user_email ?? null, + current_user_name: $json->current_user_name ?? null, + current_user_phone_number: $json->current_user_phone_number ?? null, + default_office_id: $json->default_office_id ?? null, + device_name: $json->device_name ?? null, + fob_id: $json->fob_id ?? null, + handover_method: $json->handover_method ?? null, + has_photo: $json->has_photo ?? null, + is_quadient_locker: $json->is_quadient_locker ?? null, + key_id: $json->key_id ?? null, + key_notes: $json->key_notes ?? null, + keynest_app_user: $json->keynest_app_user ?? null, + last_movement: $json->last_movement ?? null, + property_id: $json->property_id ?? null, + property_postcode: $json->property_postcode ?? null, + status_type: $json->status_type ?? null, + subscription_plan: $json->subscription_plan ?? null, + ); + } + + public function __construct( + public string|null $address, + public float|null $current_or_last_store_id, + public string|null $current_status, + public string|null $current_user_company, + public string|null $current_user_email, + public string|null $current_user_name, + public string|null $current_user_phone_number, + public float|null $default_office_id, + public string|null $device_name, + public float|null $fob_id, + public string|null $handover_method, + public bool|null $has_photo, + public bool|null $is_quadient_locker, + public string|null $key_id, + public string|null $key_notes, + public string|null $keynest_app_user, + public string|null $last_movement, + public string|null $property_id, + public string|null $property_postcode, + public string|null $status_type, + public string|null $subscription_plan, + ) {} +} + +class DeviceKeypadBattery +{ + public static function from_json(mixed $json): DeviceKeypadBattery|null + { + if (!$json) { + return null; + } + return new self(level: $json->level ?? null); + } + + public function __construct(public float|null $level) {} +} + +class DeviceKisiMetadata +{ + public static function from_json(mixed $json): DeviceKisiMetadata|null + { + if (!$json) { + return null; + } + return new self( + description: $json->description ?? null, + lock_id: $json->lock_id ?? null, + lock_name: $json->lock_name ?? null, + place_name: $json->place_name ?? null, + ); + } + + public function __construct( + public string|null $description, + public float|null $lock_id, + public string|null $lock_name, + public string|null $place_name, + ) {} +} + +class DeviceKorelockMetadata +{ + public static function from_json(mixed $json): DeviceKorelockMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + firmware_version: $json->firmware_version ?? null, + location_id: $json->location_id ?? null, + model_code: $json->model_code ?? null, + serial_number: $json->serial_number ?? null, + wifi_signal_strength: $json->wifi_signal_strength ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + public string|null $firmware_version, + public string|null $location_id, + public string|null $model_code, + public string|null $serial_number, + public float|null $wifi_signal_strength, + ) {} +} + +class DeviceKwiksetMetadata +{ + public static function from_json(mixed $json): DeviceKwiksetMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + model_number: $json->model_number ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + public string|null $model_number, + ) {} +} + +class DeviceLatestSensorValues +{ + public static function from_json(mixed $json): DeviceLatestSensorValues|null + { + if (!$json) { + return null; + } + return new self( + accelerometer_z: isset($json->accelerometer_z) + ? DeviceAccelerometerZ::from_json($json->accelerometer_z) + : null, + humidity: isset($json->humidity) + ? DeviceHumidity::from_json($json->humidity) + : null, + pressure: isset($json->pressure) + ? DevicePressure::from_json($json->pressure) + : null, + sound: isset($json->sound) + ? DeviceSound::from_json($json->sound) + : null, + temperature: isset($json->temperature) + ? DeviceTemperature::from_json($json->temperature) + : null, + ); + } + + public function __construct( + public DeviceAccelerometerZ|null $accelerometer_z, + public DeviceHumidity|null $humidity, + public DevicePressure|null $pressure, + public DeviceSound|null $sound, + public DeviceTemperature|null $temperature, + ) {} +} + +class DeviceLocation +{ + public static function from_json(mixed $json): DeviceLocation|null + { + if (!$json) { + return null; + } + return new self( + location_name: $json->location_name ?? null, + time_zone: $json->time_zone ?? null, + timezone: $json->timezone ?? null, + ); + } + + public function __construct( + public string|null $location_name, + public string|null $time_zone, + public string|null $timezone, + ) {} +} + +class DeviceLocklyMetadata +{ + public static function from_json(mixed $json): DeviceLocklyMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + model: $json->model ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + public string|null $model, + ) {} +} + +class DeviceMinutMetadata +{ + public static function from_json(mixed $json): DeviceMinutMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + latest_sensor_values: isset($json->latest_sensor_values) + ? DeviceLatestSensorValues::from_json( + $json->latest_sensor_values, + ) + : null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + public DeviceLatestSensorValues|null $latest_sensor_values, + ) {} +} + +class DeviceModel +{ + public static function from_json(mixed $json): DeviceModel|null + { + if (!$json) { + return null; + } + return new self( + accessory_keypad_supported: $json->accessory_keypad_supported ?? + null, + can_connect_accessory_keypad: $json->can_connect_accessory_keypad ?? + null, + display_name: $json->display_name ?? null, + has_built_in_keypad: $json->has_built_in_keypad ?? null, + manufacturer_display_name: $json->manufacturer_display_name ?? null, + offline_access_codes_supported: $json->offline_access_codes_supported ?? + null, + online_access_codes_supported: $json->online_access_codes_supported ?? + null, + ); + } + + public function __construct( + public bool|null $accessory_keypad_supported, + public bool|null $can_connect_accessory_keypad, + public string|null $display_name, + public bool|null $has_built_in_keypad, + public string|null $manufacturer_display_name, + public bool|null $offline_access_codes_supported, + public bool|null $online_access_codes_supported, + ) {} +} + +class DeviceNestMetadata +{ + public static function from_json(mixed $json): DeviceNestMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_custom_name: $json->device_custom_name ?? null, + device_name: $json->device_name ?? null, + display_name: $json->display_name ?? null, + nest_device_id: $json->nest_device_id ?? null, + ); + } + + public function __construct( + public string|null $device_custom_name, + public string|null $device_name, + public string|null $display_name, + public string|null $nest_device_id, + ) {} +} + +class DeviceNoiseawareMetadata +{ + public static function from_json(mixed $json): DeviceNoiseawareMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_model: $json->device_model ?? null, + device_name: $json->device_name ?? null, + noise_level_decibel: $json->noise_level_decibel ?? null, + noise_level_nrs: $json->noise_level_nrs ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_model, + public string|null $device_name, + public float|null $noise_level_decibel, + public float|null $noise_level_nrs, + ) {} +} + +class DeviceNukiMetadata +{ + public static function from_json(mixed $json): DeviceNukiMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + keypad_2_paired: $json->keypad_2_paired ?? null, + keypad_battery_critical: $json->keypad_battery_critical ?? null, + keypad_paired: $json->keypad_paired ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + public bool|null $keypad_2_paired, + public bool|null $keypad_battery_critical, + public bool|null $keypad_paired, + ) {} +} + +class DeviceOfflineTimeFrameOptions +{ + public static function from_json( + mixed $json, + ): DeviceOfflineTimeFrameOptions|null { + if (!$json) { + return null; + } + return new self( + display_name: $json->display_name ?? null, + end_date_recurrence_rule: $json->end_date_recurrence_rule ?? null, + matching_start_end_time: $json->matching_start_end_time ?? null, + max_duration: $json->max_duration ?? null, + min_duration: $json->min_duration ?? null, + start_date_recurrence_rule: $json->start_date_recurrence_rule ?? + null, + time_pairs: array_map( + fn($t) => DeviceTimePairs::from_json($t), + $json->time_pairs ?? [], + ), + time_zone: $json->time_zone ?? null, + ); + } + + public function __construct( + public string|null $display_name, + public string|null $end_date_recurrence_rule, + public bool|null $matching_start_end_time, + public string|null $max_duration, + public string|null $min_duration, + public string|null $start_date_recurrence_rule, + public array $time_pairs, + public string|null $time_zone, + ) {} +} + +class DeviceOmnitecMetadata +{ + public static function from_json(mixed $json): DeviceOmnitecMetadata|null + { + if (!$json) { + return null; + } + return new self( + has_gateway: $json->has_gateway ?? null, + lock_alias: $json->lock_alias ?? null, + lock_id: $json->lock_id ?? null, + lock_mac: $json->lock_mac ?? null, + lock_name: $json->lock_name ?? null, + time_zone: $json->time_zone ?? null, + timezone_raw_offset_ms: $json->timezone_raw_offset_ms ?? null, + ); + } + + public function __construct( + public bool|null $has_gateway, + public string|null $lock_alias, + public float|null $lock_id, + public string|null $lock_mac, + public string|null $lock_name, + public string|null $time_zone, + public float|null $timezone_raw_offset_ms, + ) {} +} + +class DeviceOnlineTimeFrameOptions +{ + public static function from_json( + mixed $json, + ): DeviceOnlineTimeFrameOptions|null { + if (!$json) { + return null; + } + return new self( + display_name: $json->display_name ?? null, + end_date_recurrence_rule: $json->end_date_recurrence_rule ?? null, + matching_start_end_time: $json->matching_start_end_time ?? null, + max_duration: $json->max_duration ?? null, + min_duration: $json->min_duration ?? null, + start_date_recurrence_rule: $json->start_date_recurrence_rule ?? + null, + time_pairs: array_map( + fn($t) => DeviceTimePairs::from_json($t), + $json->time_pairs ?? [], + ), + time_zone: $json->time_zone ?? null, + ); + } + + public function __construct( + public string|null $display_name, + public string|null $end_date_recurrence_rule, + public bool|null $matching_start_end_time, + public string|null $max_duration, + public string|null $min_duration, + public string|null $start_date_recurrence_rule, + public array $time_pairs, + public string|null $time_zone, + ) {} +} + +class DevicePeriods +{ + public static function from_json(mixed $json): DevicePeriods|null + { + if (!$json) { + return null; + } + return new self( + climate_preset_key: $json->climate_preset_key ?? null, + starts_at_time: $json->starts_at_time ?? null, + ); + } + + public function __construct( + public string|null $climate_preset_key, + public string|null $starts_at_time, + ) {} +} + +class DevicePredefinedTimeSlots +{ + public static function from_json( + mixed $json, + ): DevicePredefinedTimeSlots|null { + if (!$json) { + return null; + } + return new self( + check_in_time: $json->check_in_time ?? null, + check_out_time: $json->check_out_time ?? null, + dormakaba_oracode_user_level_id: $json->dormakaba_oracode_user_level_id ?? + null, + dormakaba_oracode_user_level_prefix: $json->dormakaba_oracode_user_level_prefix ?? + null, + is_24_hour: $json->is_24_hour ?? null, + is_biweekly_mode: $json->is_biweekly_mode ?? null, + is_master: $json->is_master ?? null, + is_one_shot: $json->is_one_shot ?? null, + name: $json->name ?? null, + prefix: $json->prefix ?? null, + ); + } + + public function __construct( + public string|null $check_in_time, + public string|null $check_out_time, + public string|null $dormakaba_oracode_user_level_id, + public float|null $dormakaba_oracode_user_level_prefix, + public bool|null $is_24_hour, + public bool|null $is_biweekly_mode, + public bool|null $is_master, + public bool|null $is_one_shot, + public string|null $name, + public float|null $prefix, + ) {} +} + +class DevicePressure +{ + public static function from_json(mixed $json): DevicePressure|null + { + if (!$json) { + return null; + } + return new self(time: $json->time ?? null, value: $json->value ?? null); + } + + public function __construct( + public string|null $time, + public float|null $value, + ) {} +} + +class DeviceProperties +{ + public static function from_json(mixed $json): DeviceProperties|null + { + if (!$json) { + return null; + } + return new self( + accessory_keypad: isset($json->accessory_keypad) + ? DeviceAccessoryKeypad::from_json($json->accessory_keypad) + : null, + active_thermostat_schedule: isset($json->active_thermostat_schedule) + ? DeviceActiveThermostatSchedule::from_json( + $json->active_thermostat_schedule, + ) + : null, + active_thermostat_schedule_id: $json->active_thermostat_schedule_id ?? + null, + akiles_metadata: isset($json->akiles_metadata) + ? DeviceAkilesMetadata::from_json($json->akiles_metadata) + : null, + appearance: isset($json->appearance) + ? DeviceAppearance::from_json($json->appearance) + : null, + aqara_metadata: isset($json->aqara_metadata) + ? DeviceAqaraMetadata::from_json($json->aqara_metadata) + : null, + assa_abloy_credential_service_metadata: isset( + $json->assa_abloy_credential_service_metadata, + ) + ? DeviceAssaAbloyCredentialServiceMetadata::from_json( + $json->assa_abloy_credential_service_metadata, + ) + : null, + assa_abloy_vostio_metadata: isset($json->assa_abloy_vostio_metadata) + ? DeviceAssaAbloyVostioMetadata::from_json( + $json->assa_abloy_vostio_metadata, + ) + : null, + august_metadata: isset($json->august_metadata) + ? DeviceAugustMetadata::from_json($json->august_metadata) + : null, + auto_lock_delay_seconds: $json->auto_lock_delay_seconds ?? null, + auto_lock_enabled: $json->auto_lock_enabled ?? null, + available_climate_preset_modes: $json->available_climate_preset_modes ?? + null, + available_climate_presets: array_map( + fn($a) => DeviceAvailableClimatePresets::from_json($a), + $json->available_climate_presets ?? [], + ), + available_fan_mode_settings: $json->available_fan_mode_settings ?? + null, + available_hvac_mode_settings: $json->available_hvac_mode_settings ?? + null, + avigilon_alta_metadata: isset($json->avigilon_alta_metadata) + ? DeviceAvigilonAltaMetadata::from_json( + $json->avigilon_alta_metadata, + ) + : null, + backup_access_code_pool_enabled: $json->backup_access_code_pool_enabled ?? + null, + battery: isset($json->battery) + ? DeviceBattery::from_json($json->battery) + : null, + battery_level: $json->battery_level ?? null, + brivo_metadata: isset($json->brivo_metadata) + ? DeviceBrivoMetadata::from_json($json->brivo_metadata) + : null, + code_constraints: array_map( + fn($c) => DeviceCodeConstraints::from_json($c), + $json->code_constraints ?? [], + ), + controlbyweb_metadata: isset($json->controlbyweb_metadata) + ? DeviceControlbywebMetadata::from_json( + $json->controlbyweb_metadata, + ) + : null, + current_climate_setting: isset($json->current_climate_setting) + ? DeviceCurrentClimateSetting::from_json( + $json->current_climate_setting, + ) + : null, + currently_triggering_noise_threshold_ids: $json->currently_triggering_noise_threshold_ids ?? + null, + default_climate_setting: isset($json->default_climate_setting) + ? DeviceDefaultClimateSetting::from_json( + $json->default_climate_setting, + ) + : null, + door_open: $json->door_open ?? null, + dormakaba_oracode_metadata: isset($json->dormakaba_oracode_metadata) + ? DeviceDormakabaOracodeMetadata::from_json( + $json->dormakaba_oracode_metadata, + ) + : null, + ecobee_metadata: isset($json->ecobee_metadata) + ? DeviceEcobeeMetadata::from_json($json->ecobee_metadata) + : null, + fallback_climate_preset_key: $json->fallback_climate_preset_key ?? + null, + fan_mode_setting: $json->fan_mode_setting ?? null, + four_suites_metadata: isset($json->four_suites_metadata) + ? DeviceFourSuitesMetadata::from_json( + $json->four_suites_metadata, + ) + : null, + genie_metadata: isset($json->genie_metadata) + ? DeviceGenieMetadata::from_json($json->genie_metadata) + : null, + has_direct_power: $json->has_direct_power ?? null, + has_native_entry_events: $json->has_native_entry_events ?? null, + honeywell_resideo_metadata: isset($json->honeywell_resideo_metadata) + ? DeviceHoneywellResideoMetadata::from_json( + $json->honeywell_resideo_metadata, + ) + : null, + igloo_metadata: isset($json->igloo_metadata) + ? DeviceIglooMetadata::from_json($json->igloo_metadata) + : null, + igloohome_metadata: isset($json->igloohome_metadata) + ? DeviceIgloohomeMetadata::from_json($json->igloohome_metadata) + : null, + image_alt_text: $json->image_alt_text ?? null, + image_url: $json->image_url ?? null, + is_cooling: $json->is_cooling ?? null, + is_fan_running: $json->is_fan_running ?? null, + is_heating: $json->is_heating ?? null, + is_temporary_manual_override_active: $json->is_temporary_manual_override_active ?? + null, + keynest_metadata: isset($json->keynest_metadata) + ? DeviceKeynestMetadata::from_json($json->keynest_metadata) + : null, + keypad_battery: isset($json->keypad_battery) + ? DeviceKeypadBattery::from_json($json->keypad_battery) + : null, + kisi_metadata: isset($json->kisi_metadata) + ? DeviceKisiMetadata::from_json($json->kisi_metadata) + : null, + korelock_metadata: isset($json->korelock_metadata) + ? DeviceKorelockMetadata::from_json($json->korelock_metadata) + : null, + kwikset_metadata: isset($json->kwikset_metadata) + ? DeviceKwiksetMetadata::from_json($json->kwikset_metadata) + : null, + locked: $json->locked ?? null, + lockly_metadata: isset($json->lockly_metadata) + ? DeviceLocklyMetadata::from_json($json->lockly_metadata) + : null, + manufacturer: $json->manufacturer ?? null, + max_active_codes_supported: $json->max_active_codes_supported ?? + null, + max_cooling_set_point_celsius: $json->max_cooling_set_point_celsius ?? + null, + max_cooling_set_point_fahrenheit: $json->max_cooling_set_point_fahrenheit ?? + null, + max_heating_set_point_celsius: $json->max_heating_set_point_celsius ?? + null, + max_heating_set_point_fahrenheit: $json->max_heating_set_point_fahrenheit ?? + null, + max_thermostat_daily_program_periods_per_day: $json->max_thermostat_daily_program_periods_per_day ?? + null, + max_unique_climate_presets_per_thermostat_weekly_program: $json->max_unique_climate_presets_per_thermostat_weekly_program ?? + null, + min_cooling_set_point_celsius: $json->min_cooling_set_point_celsius ?? + null, + min_cooling_set_point_fahrenheit: $json->min_cooling_set_point_fahrenheit ?? + null, + min_heating_cooling_delta_celsius: $json->min_heating_cooling_delta_celsius ?? + null, + min_heating_cooling_delta_fahrenheit: $json->min_heating_cooling_delta_fahrenheit ?? + null, + min_heating_set_point_celsius: $json->min_heating_set_point_celsius ?? + null, + min_heating_set_point_fahrenheit: $json->min_heating_set_point_fahrenheit ?? + null, + minut_metadata: isset($json->minut_metadata) + ? DeviceMinutMetadata::from_json($json->minut_metadata) + : null, + model: isset($json->model) + ? DeviceModel::from_json($json->model) + : null, + name: $json->name ?? null, + nest_metadata: isset($json->nest_metadata) + ? DeviceNestMetadata::from_json($json->nest_metadata) + : null, + noise_level_decibels: $json->noise_level_decibels ?? null, + noiseaware_metadata: isset($json->noiseaware_metadata) + ? DeviceNoiseawareMetadata::from_json( + $json->noiseaware_metadata, + ) + : null, + nuki_metadata: isset($json->nuki_metadata) + ? DeviceNukiMetadata::from_json($json->nuki_metadata) + : null, + offline_access_codes_enabled: $json->offline_access_codes_enabled ?? + null, + offline_time_frame_options: array_map( + fn($o) => DeviceOfflineTimeFrameOptions::from_json($o), + $json->offline_time_frame_options ?? [], + ), + omnitec_metadata: isset($json->omnitec_metadata) + ? DeviceOmnitecMetadata::from_json($json->omnitec_metadata) + : null, + online: $json->online ?? null, + online_access_codes_enabled: $json->online_access_codes_enabled ?? + null, + online_time_frame_options: array_map( + fn($o) => DeviceOnlineTimeFrameOptions::from_json($o), + $json->online_time_frame_options ?? [], + ), + relative_humidity: $json->relative_humidity ?? null, + ring_metadata: isset($json->ring_metadata) + ? DeviceRingMetadata::from_json($json->ring_metadata) + : null, + salto_ks_metadata: isset($json->salto_ks_metadata) + ? DeviceSaltoKsMetadata::from_json($json->salto_ks_metadata) + : null, + salto_metadata: isset($json->salto_metadata) + ? DeviceSaltoMetadata::from_json($json->salto_metadata) + : null, + salto_space_credential_service_metadata: isset( + $json->salto_space_credential_service_metadata, + ) + ? DeviceSaltoSpaceCredentialServiceMetadata::from_json( + $json->salto_space_credential_service_metadata, + ) + : null, + schlage_metadata: isset($json->schlage_metadata) + ? DeviceSchlageMetadata::from_json($json->schlage_metadata) + : null, + seam_bridge_metadata: isset($json->seam_bridge_metadata) + ? DeviceSeamBridgeMetadata::from_json( + $json->seam_bridge_metadata, + ) + : null, + sensi_metadata: isset($json->sensi_metadata) + ? DeviceSensiMetadata::from_json($json->sensi_metadata) + : null, + serial_number: $json->serial_number ?? null, + smartthings_metadata: isset($json->smartthings_metadata) + ? DeviceSmartthingsMetadata::from_json( + $json->smartthings_metadata, + ) + : null, + supported_code_lengths: $json->supported_code_lengths ?? null, + supports_accessory_keypad: $json->supports_accessory_keypad ?? null, + supports_backup_access_code_pool: $json->supports_backup_access_code_pool ?? + null, + supports_offline_access_codes: $json->supports_offline_access_codes ?? + null, + tado_metadata: isset($json->tado_metadata) + ? DeviceTadoMetadata::from_json($json->tado_metadata) + : null, + tedee_metadata: isset($json->tedee_metadata) + ? DeviceTedeeMetadata::from_json($json->tedee_metadata) + : null, + temperature_celsius: $json->temperature_celsius ?? null, + temperature_fahrenheit: $json->temperature_fahrenheit ?? null, + temperature_threshold: isset($json->temperature_threshold) + ? DeviceTemperatureThreshold::from_json( + $json->temperature_threshold, + ) + : null, + thermostat_daily_program_period_precision_minutes: $json->thermostat_daily_program_period_precision_minutes ?? + null, + thermostat_daily_programs: array_map( + fn($t) => DeviceThermostatDailyPrograms::from_json($t), + $json->thermostat_daily_programs ?? [], + ), + thermostat_weekly_program: isset($json->thermostat_weekly_program) + ? DeviceThermostatWeeklyProgram::from_json( + $json->thermostat_weekly_program, + ) + : null, + ttlock_metadata: isset($json->ttlock_metadata) + ? DeviceTtlockMetadata::from_json($json->ttlock_metadata) + : null, + two_n_metadata: isset($json->two_n_metadata) + ? DeviceTwoNMetadata::from_json($json->two_n_metadata) + : null, + ultraloq_metadata: isset($json->ultraloq_metadata) + ? DeviceUltraloqMetadata::from_json($json->ultraloq_metadata) + : null, + visionline_metadata: isset($json->visionline_metadata) + ? DeviceVisionlineMetadata::from_json( + $json->visionline_metadata, + ) + : null, + wyze_metadata: isset($json->wyze_metadata) + ? DeviceWyzeMetadata::from_json($json->wyze_metadata) + : null, + ); + } + + public function __construct( + public DeviceAccessoryKeypad|null $accessory_keypad, + public DeviceActiveThermostatSchedule|null $active_thermostat_schedule, + public string|null $active_thermostat_schedule_id, + public DeviceAkilesMetadata|null $akiles_metadata, + public DeviceAppearance|null $appearance, + public DeviceAqaraMetadata|null $aqara_metadata, + public DeviceAssaAbloyCredentialServiceMetadata|null $assa_abloy_credential_service_metadata, + public DeviceAssaAbloyVostioMetadata|null $assa_abloy_vostio_metadata, + public DeviceAugustMetadata|null $august_metadata, + public float|null $auto_lock_delay_seconds, + public bool|null $auto_lock_enabled, + public array|null $available_climate_preset_modes, + public array $available_climate_presets, + public array|null $available_fan_mode_settings, + public array|null $available_hvac_mode_settings, + public DeviceAvigilonAltaMetadata|null $avigilon_alta_metadata, + public bool|null $backup_access_code_pool_enabled, + public DeviceBattery|null $battery, + public float|null $battery_level, + public DeviceBrivoMetadata|null $brivo_metadata, + public array $code_constraints, + public DeviceControlbywebMetadata|null $controlbyweb_metadata, + public DeviceCurrentClimateSetting|null $current_climate_setting, + public array|null $currently_triggering_noise_threshold_ids, + public DeviceDefaultClimateSetting|null $default_climate_setting, + public bool|null $door_open, + public DeviceDormakabaOracodeMetadata|null $dormakaba_oracode_metadata, + public DeviceEcobeeMetadata|null $ecobee_metadata, + public string|null $fallback_climate_preset_key, + public string|null $fan_mode_setting, + public DeviceFourSuitesMetadata|null $four_suites_metadata, + public DeviceGenieMetadata|null $genie_metadata, + public bool|null $has_direct_power, + public bool|null $has_native_entry_events, + public DeviceHoneywellResideoMetadata|null $honeywell_resideo_metadata, + public DeviceIglooMetadata|null $igloo_metadata, + public DeviceIgloohomeMetadata|null $igloohome_metadata, + public string|null $image_alt_text, + public string|null $image_url, + public bool|null $is_cooling, + public bool|null $is_fan_running, + public bool|null $is_heating, + public bool|null $is_temporary_manual_override_active, + public DeviceKeynestMetadata|null $keynest_metadata, + public DeviceKeypadBattery|null $keypad_battery, + public DeviceKisiMetadata|null $kisi_metadata, + public DeviceKorelockMetadata|null $korelock_metadata, + public DeviceKwiksetMetadata|null $kwikset_metadata, + public bool|null $locked, + public DeviceLocklyMetadata|null $lockly_metadata, + public string|null $manufacturer, + public float|null $max_active_codes_supported, + public float|null $max_cooling_set_point_celsius, + public float|null $max_cooling_set_point_fahrenheit, + public float|null $max_heating_set_point_celsius, + public float|null $max_heating_set_point_fahrenheit, + public float|null $max_thermostat_daily_program_periods_per_day, + public float|null $max_unique_climate_presets_per_thermostat_weekly_program, + public float|null $min_cooling_set_point_celsius, + public float|null $min_cooling_set_point_fahrenheit, + public float|null $min_heating_cooling_delta_celsius, + public float|null $min_heating_cooling_delta_fahrenheit, + public float|null $min_heating_set_point_celsius, + public float|null $min_heating_set_point_fahrenheit, + public DeviceMinutMetadata|null $minut_metadata, + public DeviceModel|null $model, + public string|null $name, + public DeviceNestMetadata|null $nest_metadata, + public float|null $noise_level_decibels, + public DeviceNoiseawareMetadata|null $noiseaware_metadata, + public DeviceNukiMetadata|null $nuki_metadata, + public bool|null $offline_access_codes_enabled, + public array $offline_time_frame_options, + public DeviceOmnitecMetadata|null $omnitec_metadata, + public bool|null $online, + public bool|null $online_access_codes_enabled, + public array $online_time_frame_options, + public float|null $relative_humidity, + public DeviceRingMetadata|null $ring_metadata, + public DeviceSaltoKsMetadata|null $salto_ks_metadata, + public DeviceSaltoMetadata|null $salto_metadata, + public DeviceSaltoSpaceCredentialServiceMetadata|null $salto_space_credential_service_metadata, + public DeviceSchlageMetadata|null $schlage_metadata, + public DeviceSeamBridgeMetadata|null $seam_bridge_metadata, + public DeviceSensiMetadata|null $sensi_metadata, + public string|null $serial_number, + public DeviceSmartthingsMetadata|null $smartthings_metadata, + public array|null $supported_code_lengths, + public bool|null $supports_accessory_keypad, + public bool|null $supports_backup_access_code_pool, + public bool|null $supports_offline_access_codes, + public DeviceTadoMetadata|null $tado_metadata, + public DeviceTedeeMetadata|null $tedee_metadata, + public float|null $temperature_celsius, + public float|null $temperature_fahrenheit, + public DeviceTemperatureThreshold|null $temperature_threshold, + public float|null $thermostat_daily_program_period_precision_minutes, + public array $thermostat_daily_programs, + public DeviceThermostatWeeklyProgram|null $thermostat_weekly_program, + public DeviceTtlockMetadata|null $ttlock_metadata, + public DeviceTwoNMetadata|null $two_n_metadata, + public DeviceUltraloqMetadata|null $ultraloq_metadata, + public DeviceVisionlineMetadata|null $visionline_metadata, + public DeviceWyzeMetadata|null $wyze_metadata, + ) {} +} + +class DeviceRingMetadata +{ + public static function from_json(mixed $json): DeviceRingMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + ) {} +} + +class DeviceSaltoKsMetadata +{ + public static function from_json(mixed $json): DeviceSaltoKsMetadata|null + { + if (!$json) { + return null; + } + return new self( + battery_level: $json->battery_level ?? null, + customer_reference: $json->customer_reference ?? null, + has_custom_pin_subscription: $json->has_custom_pin_subscription ?? + null, + lock_id: $json->lock_id ?? null, + lock_type: $json->lock_type ?? null, + locked_state: $json->locked_state ?? null, + model: $json->model ?? null, + site_id: $json->site_id ?? null, + site_name: $json->site_name ?? null, + ); + } + + public function __construct( + public string|null $battery_level, + public string|null $customer_reference, + public bool|null $has_custom_pin_subscription, + public string|null $lock_id, + public string|null $lock_type, + public string|null $locked_state, + public string|null $model, + public string|null $site_id, + public string|null $site_name, + ) {} +} + +class DeviceSaltoMetadata +{ + public static function from_json(mixed $json): DeviceSaltoMetadata|null + { + if (!$json) { + return null; + } + return new self( + battery_level: $json->battery_level ?? null, + customer_reference: $json->customer_reference ?? null, + lock_id: $json->lock_id ?? null, + lock_type: $json->lock_type ?? null, + locked_state: $json->locked_state ?? null, + model: $json->model ?? null, + site_id: $json->site_id ?? null, + site_name: $json->site_name ?? null, + ); + } + + public function __construct( + public string|null $battery_level, + public string|null $customer_reference, + public string|null $lock_id, + public string|null $lock_type, + public string|null $locked_state, + public string|null $model, + public string|null $site_id, + public string|null $site_name, + ) {} +} + +class DeviceSaltoSpaceCredentialServiceMetadata +{ + public static function from_json( + mixed $json, + ): DeviceSaltoSpaceCredentialServiceMetadata|null { + if (!$json) { + return null; + } + return new self(has_active_phone: $json->has_active_phone ?? null); + } + + public function __construct(public bool|null $has_active_phone) {} +} + +class DeviceSchlageMetadata +{ + public static function from_json(mixed $json): DeviceSchlageMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + model: $json->model ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + public string|null $model, + ) {} +} + +class DeviceSeamBridgeMetadata +{ + public static function from_json(mixed $json): DeviceSeamBridgeMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_num: $json->device_num ?? null, + name: $json->name ?? null, + unlock_method: $json->unlock_method ?? null, + ); + } + + public function __construct( + public float|null $device_num, + public string|null $name, + public string|null $unlock_method, + ) {} +} + +class DeviceSensiMetadata +{ + public static function from_json(mixed $json): DeviceSensiMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + dual_setpoints_not_supported: $json->dual_setpoints_not_supported ?? + null, + product_type: $json->product_type ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + public bool|null $dual_setpoints_not_supported, + public string|null $product_type, + ) {} +} + +class DeviceSmartthingsMetadata +{ + public static function from_json( + mixed $json, + ): DeviceSmartthingsMetadata|null { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + location_id: $json->location_id ?? null, + model: $json->model ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + public string|null $location_id, + public string|null $model, + ) {} +} + +class DeviceSound +{ + public static function from_json(mixed $json): DeviceSound|null + { + if (!$json) { + return null; + } + return new self(time: $json->time ?? null, value: $json->value ?? null); + } + + public function __construct( + public string|null $time, + public float|null $value, + ) {} +} + +class DeviceTadoMetadata +{ + public static function from_json(mixed $json): DeviceTadoMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_type: $json->device_type ?? null, + serial_no: $json->serial_no ?? null, + ); + } + + public function __construct( + public string|null $device_type, + public string|null $serial_no, + ) {} +} + +class DeviceTedeeMetadata +{ + public static function from_json(mixed $json): DeviceTedeeMetadata|null + { + if (!$json) { + return null; + } + return new self( + bridge_id: $json->bridge_id ?? null, + bridge_name: $json->bridge_name ?? null, + device_id: $json->device_id ?? null, + device_model: $json->device_model ?? null, + device_name: $json->device_name ?? null, + keypad_id: $json->keypad_id ?? null, + serial_number: $json->serial_number ?? null, + ); + } + + public function __construct( + public float|null $bridge_id, + public string|null $bridge_name, + public float|null $device_id, + public string|null $device_model, + public string|null $device_name, + public float|null $keypad_id, + public string|null $serial_number, + ) {} +} + +class DeviceTemperature +{ + public static function from_json(mixed $json): DeviceTemperature|null + { + if (!$json) { + return null; + } + return new self(time: $json->time ?? null, value: $json->value ?? null); + } + + public function __construct( + public string|null $time, + public float|null $value, + ) {} +} + +class DeviceTemperatureThreshold +{ + public static function from_json( + mixed $json, + ): DeviceTemperatureThreshold|null { + if (!$json) { + return null; + } + return new self( + lower_limit_celsius: $json->lower_limit_celsius ?? null, + lower_limit_fahrenheit: $json->lower_limit_fahrenheit ?? null, + upper_limit_celsius: $json->upper_limit_celsius ?? null, + upper_limit_fahrenheit: $json->upper_limit_fahrenheit ?? null, + ); + } + + public function __construct( + public float|null $lower_limit_celsius, + public float|null $lower_limit_fahrenheit, + public float|null $upper_limit_celsius, + public float|null $upper_limit_fahrenheit, + ) {} +} + +class DeviceThermostatDailyPrograms +{ + public static function from_json( + mixed $json, + ): DeviceThermostatDailyPrograms|null { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + device_id: $json->device_id ?? null, + name: $json->name ?? null, + periods: array_map( + fn($p) => DevicePeriods::from_json($p), + $json->periods ?? [], + ), + thermostat_daily_program_id: $json->thermostat_daily_program_id ?? + null, + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $device_id, + public string|null $name, + public array $periods, + public string|null $thermostat_daily_program_id, + public string|null $workspace_id, + ) {} +} + +class DeviceThermostatWeeklyProgram +{ + public static function from_json( + mixed $json, + ): DeviceThermostatWeeklyProgram|null { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + friday_program_id: $json->friday_program_id ?? null, + monday_program_id: $json->monday_program_id ?? null, + saturday_program_id: $json->saturday_program_id ?? null, + sunday_program_id: $json->sunday_program_id ?? null, + thursday_program_id: $json->thursday_program_id ?? null, + tuesday_program_id: $json->tuesday_program_id ?? null, + wednesday_program_id: $json->wednesday_program_id ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $friday_program_id, + public string|null $monday_program_id, + public string|null $saturday_program_id, + public string|null $sunday_program_id, + public string|null $thursday_program_id, + public string|null $tuesday_program_id, + public string|null $wednesday_program_id, + ) {} +} + +class DeviceTimePairs +{ + public static function from_json(mixed $json): DeviceTimePairs|null + { + if (!$json) { + return null; + } + return new self( + display_name: $json->display_name ?? null, + end_time: $json->end_time ?? null, + start_time: $json->start_time ?? null, + ); + } + + public function __construct( + public string|null $display_name, + public string|null $end_time, + public string|null $start_time, + ) {} +} + +class DeviceTtlockMetadata +{ + public static function from_json(mixed $json): DeviceTtlockMetadata|null + { + if (!$json) { + return null; + } + return new self( + feature_value: $json->feature_value ?? null, + features: isset($json->features) + ? DeviceFeatures::from_json($json->features) + : null, + has_gateway: $json->has_gateway ?? null, + lock_alias: $json->lock_alias ?? null, + lock_id: $json->lock_id ?? null, + timezone_raw_offset_ms: $json->timezone_raw_offset_ms ?? null, + wireless_keypads: array_map( + fn($w) => DeviceWirelessKeypads::from_json($w), + $json->wireless_keypads ?? [], + ), + ); + } + + public function __construct( + public string|null $feature_value, + public DeviceFeatures|null $features, + public bool|null $has_gateway, + public string|null $lock_alias, + public float|null $lock_id, + public float|null $timezone_raw_offset_ms, + public array $wireless_keypads, + ) {} +} + +class DeviceTwoNMetadata +{ + public static function from_json(mixed $json): DeviceTwoNMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + ); + } + + public function __construct( + public float|null $device_id, + public string|null $device_name, + ) {} +} + +class DeviceUltraloqMetadata +{ + public static function from_json(mixed $json): DeviceUltraloqMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_name: $json->device_name ?? null, + device_type: $json->device_type ?? null, + time_zone: $json->time_zone ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_name, + public string|null $device_type, + public string|null $time_zone, + ) {} +} + +class DeviceVisionlineMetadata +{ + public static function from_json(mixed $json): DeviceVisionlineMetadata|null + { + if (!$json) { + return null; + } + return new self(encoder_id: $json->encoder_id ?? null); + } + + public function __construct(public string|null $encoder_id) {} +} + +class DeviceWarnings +{ + public static function from_json(mixed $json): DeviceWarnings|null + { + if (!$json) { + return null; + } + return new self( + active_access_code_count: $json->active_access_code_count ?? null, + created_at: $json->created_at ?? null, + max_active_access_code_count: $json->max_active_access_code_count ?? + null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public int|null $active_access_code_count, + public string|null $created_at, + public int|null $max_active_access_code_count, + public string|null $message, + public string|null $warning_code, + ) {} +} + +class DeviceWirelessKeypads +{ + public static function from_json(mixed $json): DeviceWirelessKeypads|null + { + if (!$json) { + return null; + } + return new self( + wireless_keypad_id: $json->wireless_keypad_id ?? null, + wireless_keypad_name: $json->wireless_keypad_name ?? null, + ); + } + + public function __construct( + public float|null $wireless_keypad_id, + public string|null $wireless_keypad_name, + ) {} +} + +class DeviceWyzeMetadata +{ + public static function from_json(mixed $json): DeviceWyzeMetadata|null + { + if (!$json) { + return null; + } + return new self( + device_id: $json->device_id ?? null, + device_info_model: $json->device_info_model ?? null, + device_name: $json->device_name ?? null, + keypad_uuid: $json->keypad_uuid ?? null, + locker_status_hardlock: $json->locker_status_hardlock ?? null, + product_model: $json->product_model ?? null, + product_name: $json->product_name ?? null, + product_type: $json->product_type ?? null, + ); + } + + public function __construct( + public string|null $device_id, + public string|null $device_info_model, + public string|null $device_name, + public string|null $keypad_uuid, + public float|null $locker_status_hardlock, + public string|null $product_model, + public string|null $product_name, + public string|null $product_type, + ) {} +} diff --git a/src/Objects/DeviceProvider.php b/src/Resources/DeviceProvider.php similarity index 99% rename from src/Objects/DeviceProvider.php rename to src/Resources/DeviceProvider.php index f875e79b..cfd159e0 100644 --- a/src/Objects/DeviceProvider.php +++ b/src/Resources/DeviceProvider.php @@ -1,6 +1,6 @@ created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class EventAccessCodeWarnings +{ + public static function from_json(mixed $json): EventAccessCodeWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} + +class EventAcsSystemErrors +{ + public static function from_json(mixed $json): EventAcsSystemErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class EventAcsSystemWarnings +{ + public static function from_json(mixed $json): EventAcsSystemWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} + +class EventChangedProperties +{ + public static function from_json(mixed $json): EventChangedProperties|null + { + if (!$json) { + return null; + } + return new self( + from: $json->from ?? null, + property: $json->property ?? null, + to: $json->to ?? null, + ); + } + + public function __construct( + public string|null $from, + public string|null $property, + public string|null $to, + ) {} +} + +class EventConnectedAccountErrors +{ + public static function from_json( + mixed $json, + ): EventConnectedAccountErrors|null { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class EventConnectedAccountWarnings +{ + public static function from_json( + mixed $json, + ): EventConnectedAccountWarnings|null { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} + +class EventDeviceErrors +{ + public static function from_json(mixed $json): EventDeviceErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class EventDeviceWarnings +{ + public static function from_json(mixed $json): EventDeviceWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} + +class EventFrom +{ + public static function from_json(mixed $json): EventFrom|null + { + if (!$json) { + return null; + } + return new self( + code: $json->code ?? null, + ends_at: $json->ends_at ?? null, + name: $json->name ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $code, + public string|null $ends_at, + public string|null $name, + public string|null $starts_at, + ) {} +} + +class EventReason +{ + public static function from_json(mixed $json): EventReason|null + { + if (!$json) { + return null; + } + return new self( + message: $json->message ?? null, + reason_code: $json->reason_code ?? null, + ); + } + + public function __construct( + public string|null $message, + public string|null $reason_code, + ) {} +} + +class EventRequestedMutations +{ + public static function from_json(mixed $json): EventRequestedMutations|null + { + if (!$json) { + return null; + } + return new self( + from: $json->from ?? null, + mutation_code: $json->mutation_code ?? null, + to: $json->to ?? null, + ); + } + + public function __construct( + public mixed $from, + public string|null $mutation_code, + public mixed $to, + ) {} +} + +class EventTo +{ + public static function from_json(mixed $json): EventTo|null + { + if (!$json) { + return null; + } + return new self( + code: $json->code ?? null, + ends_at: $json->ends_at ?? null, + name: $json->name ?? null, + starts_at: $json->starts_at ?? null, + ); + } + + public function __construct( + public string|null $code, + public string|null $ends_at, + public string|null $name, + public string|null $starts_at, + ) {} +} diff --git a/src/Objects/InstantKey.php b/src/Resources/InstantKey.php similarity index 69% rename from src/Objects/InstantKey.php rename to src/Resources/InstantKey.php index eeb7c2d8..7e65a203 100644 --- a/src/Objects/InstantKey.php +++ b/src/Resources/InstantKey.php @@ -1,6 +1,6 @@ logo_url ?? null, + primary_color: $json->primary_color ?? null, + secondary_color: $json->secondary_color ?? null, + ); + } + + public function __construct( + public string|null $logo_url, + public string|null $primary_color, + public string|null $secondary_color, + ) {} +} diff --git a/src/Objects/NoiseThreshold.php b/src/Resources/NoiseThreshold.php similarity index 97% rename from src/Objects/NoiseThreshold.php rename to src/Resources/NoiseThreshold.php index 73d97c82..5a80e100 100644 --- a/src/Objects/NoiseThreshold.php +++ b/src/Resources/NoiseThreshold.php @@ -1,6 +1,6 @@ created_at ?? null, + custom_metadata: $json->custom_metadata ?? null, + device_id: $json->device_id ?? null, + device_type: $json->device_type ?? null, + display_name: $json->display_name ?? null, + errors: array_map( + fn($e) => PhoneErrors::from_json($e), + $json->errors ?? [], + ), + nickname: $json->nickname ?? null, + properties: isset($json->properties) + ? PhoneProperties::from_json($json->properties) + : null, + warnings: array_map( + fn($w) => PhoneWarnings::from_json($w), + $json->warnings ?? [], + ), + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public mixed $custom_metadata, + public string|null $device_id, + public string|null $device_type, + public string|null $display_name, + public array $errors, + public string|null $nickname, + public PhoneProperties|null $properties, + public array $warnings, + public string|null $workspace_id, + ) {} +} + +class PhoneAssaAbloyCredentialServiceMetadata +{ + public static function from_json( + mixed $json, + ): PhoneAssaAbloyCredentialServiceMetadata|null { + if (!$json) { + return null; + } + return new self( + endpoints: array_map( + fn($e) => PhoneEndpoints::from_json($e), + $json->endpoints ?? [], + ), + has_active_endpoint: $json->has_active_endpoint ?? null, + ); + } + + public function __construct( + public array $endpoints, + public bool|null $has_active_endpoint, + ) {} +} + +class PhoneEndpoints +{ + public static function from_json(mixed $json): PhoneEndpoints|null + { + if (!$json) { + return null; + } + return new self( + endpoint_id: $json->endpoint_id ?? null, + is_active: $json->is_active ?? null, + ); + } + + public function __construct( + public string|null $endpoint_id, + public bool|null $is_active, + ) {} +} + +class PhoneErrors +{ + public static function from_json(mixed $json): PhoneErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class PhoneProperties +{ + public static function from_json(mixed $json): PhoneProperties|null + { + if (!$json) { + return null; + } + return new self( + assa_abloy_credential_service_metadata: isset( + $json->assa_abloy_credential_service_metadata, + ) + ? PhoneAssaAbloyCredentialServiceMetadata::from_json( + $json->assa_abloy_credential_service_metadata, + ) + : null, + salto_space_credential_service_metadata: isset( + $json->salto_space_credential_service_metadata, + ) + ? PhoneSaltoSpaceCredentialServiceMetadata::from_json( + $json->salto_space_credential_service_metadata, + ) + : null, + ); + } + + public function __construct( + public PhoneAssaAbloyCredentialServiceMetadata|null $assa_abloy_credential_service_metadata, + public PhoneSaltoSpaceCredentialServiceMetadata|null $salto_space_credential_service_metadata, + ) {} +} + +class PhoneSaltoSpaceCredentialServiceMetadata +{ + public static function from_json( + mixed $json, + ): PhoneSaltoSpaceCredentialServiceMetadata|null { + if (!$json) { + return null; + } + return new self(has_active_phone: $json->has_active_phone ?? null); + } + + public function __construct(public bool|null $has_active_phone) {} +} + +class PhoneWarnings +{ + public static function from_json(mixed $json): PhoneWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} diff --git a/src/Objects/Space.php b/src/Resources/Space.php similarity index 56% rename from src/Objects/Space.php rename to src/Resources/Space.php index 11165522..c64d1c76 100644 --- a/src/Objects/Space.php +++ b/src/Resources/Space.php @@ -1,6 +1,6 @@ address ?? null, + default_checkin_time: $json->default_checkin_time ?? null, + default_checkout_time: $json->default_checkout_time ?? null, + time_zone: $json->time_zone ?? null, + ); + } + + public function __construct( + public string|null $address, + public string|null $default_checkin_time, + public string|null $default_checkout_time, + public string|null $time_zone, + ) {} +} + +class SpaceGeolocation +{ + public static function from_json(mixed $json): SpaceGeolocation|null + { + if (!$json) { + return null; + } + return new self( + latitude: $json->latitude ?? null, + longitude: $json->longitude ?? null, + ); + } + + public function __construct( + public float|null $latitude, + public float|null $longitude, + ) {} +} diff --git a/src/Objects/ThermostatDailyProgram.php b/src/Resources/ThermostatDailyProgram.php similarity index 64% rename from src/Objects/ThermostatDailyProgram.php rename to src/Resources/ThermostatDailyProgram.php index 0fef3434..54529623 100644 --- a/src/Objects/ThermostatDailyProgram.php +++ b/src/Resources/ThermostatDailyProgram.php @@ -1,6 +1,6 @@ climate_preset_key ?? null, + starts_at_time: $json->starts_at_time ?? null, + ); + } + + public function __construct( + public string|null $climate_preset_key, + public string|null $starts_at_time, + ) {} +} diff --git a/src/Objects/ThermostatSchedule.php b/src/Resources/ThermostatSchedule.php similarity index 72% rename from src/Objects/ThermostatSchedule.php rename to src/Resources/ThermostatSchedule.php index e943520f..0cc894b0 100644 --- a/src/Objects/ThermostatSchedule.php +++ b/src/Resources/ThermostatSchedule.php @@ -1,6 +1,6 @@ created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} diff --git a/src/Resources/UnmanagedAccessCode.php b/src/Resources/UnmanagedAccessCode.php new file mode 100644 index 00000000..c8bfc622 --- /dev/null +++ b/src/Resources/UnmanagedAccessCode.php @@ -0,0 +1,186 @@ +access_code_id ?? null, + cannot_be_managed: $json->cannot_be_managed ?? null, + cannot_delete_unmanaged_access_code: $json->cannot_delete_unmanaged_access_code ?? + null, + code: $json->code ?? null, + created_at: $json->created_at ?? null, + device_id: $json->device_id ?? null, + dormakaba_oracode_metadata: isset($json->dormakaba_oracode_metadata) + ? UnmanagedAccessCodeDormakabaOracodeMetadata::from_json( + $json->dormakaba_oracode_metadata, + ) + : null, + ends_at: $json->ends_at ?? null, + errors: array_map( + fn($e) => UnmanagedAccessCodeErrors::from_json($e), + $json->errors ?? [], + ), + is_managed: $json->is_managed ?? null, + name: $json->name ?? null, + starts_at: $json->starts_at ?? null, + status: $json->status ?? null, + type: $json->type ?? null, + warnings: array_map( + fn($w) => UnmanagedAccessCodeWarnings::from_json($w), + $json->warnings ?? [], + ), + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public string|null $access_code_id, + public bool|null $cannot_be_managed, + public bool|null $cannot_delete_unmanaged_access_code, + public string|null $code, + public string|null $created_at, + public string|null $device_id, + public UnmanagedAccessCodeDormakabaOracodeMetadata|null $dormakaba_oracode_metadata, + public string|null $ends_at, + public array $errors, + public bool|null $is_managed, + public string|null $name, + public string|null $starts_at, + public string|null $status, + public string|null $type, + public array $warnings, + public string|null $workspace_id, + ) {} +} + +class UnmanagedAccessCodeDormakabaOracodeMetadata +{ + public static function from_json( + mixed $json, + ): UnmanagedAccessCodeDormakabaOracodeMetadata|null { + if (!$json) { + return null; + } + return new self( + is_cancellable: $json->is_cancellable ?? null, + is_early_checkin_able: $json->is_early_checkin_able ?? null, + is_extendable: $json->is_extendable ?? null, + is_overridable: $json->is_overridable ?? null, + site_name: $json->site_name ?? null, + stay_id: $json->stay_id ?? null, + user_level_id: $json->user_level_id ?? null, + user_level_name: $json->user_level_name ?? null, + ); + } + + public function __construct( + public bool|null $is_cancellable, + public bool|null $is_early_checkin_able, + public bool|null $is_extendable, + public bool|null $is_overridable, + public string|null $site_name, + public float|null $stay_id, + public string|null $user_level_id, + public string|null $user_level_name, + ) {} +} + +class UnmanagedAccessCodeErrors +{ + public static function from_json( + mixed $json, + ): UnmanagedAccessCodeErrors|null { + if (!$json) { + return null; + } + return new self( + change_type: $json->change_type ?? null, + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + is_access_code_error: $json->is_access_code_error ?? null, + is_bridge_error: $json->is_bridge_error ?? null, + is_connected_account_error: $json->is_connected_account_error ?? + null, + is_device_error: $json->is_device_error ?? null, + managed_access_code_id: $json->managed_access_code_id ?? null, + message: $json->message ?? null, + modified_fields: array_map( + fn($m) => UnmanagedAccessCodeModifiedFields::from_json($m), + $json->modified_fields ?? [], + ), + unmanaged_access_code_id: $json->unmanaged_access_code_id ?? null, + ); + } + + public function __construct( + public string|null $change_type, + public string|null $created_at, + public string|null $error_code, + public bool|null $is_access_code_error, + public bool|null $is_bridge_error, + public bool|null $is_connected_account_error, + public bool|null $is_device_error, + public string|null $managed_access_code_id, + public string|null $message, + public array $modified_fields, + public string|null $unmanaged_access_code_id, + ) {} +} + +class UnmanagedAccessCodeModifiedFields +{ + public static function from_json( + mixed $json, + ): UnmanagedAccessCodeModifiedFields|null { + if (!$json) { + return null; + } + return new self( + field: $json->field ?? null, + from: $json->from ?? null, + to: $json->to ?? null, + ); + } + + public function __construct( + public string|null $field, + public string|null $from, + public string|null $to, + ) {} +} + +class UnmanagedAccessCodeWarnings +{ + public static function from_json( + mixed $json, + ): UnmanagedAccessCodeWarnings|null { + if (!$json) { + return null; + } + return new self( + change_type: $json->change_type ?? null, + created_at: $json->created_at ?? null, + message: $json->message ?? null, + modified_fields: array_map( + fn($m) => UnmanagedAccessCodeModifiedFields::from_json($m), + $json->modified_fields ?? [], + ), + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $change_type, + public string|null $created_at, + public string|null $message, + public array $modified_fields, + public string|null $warning_code, + ) {} +} diff --git a/src/Resources/UnmanagedDevice.php b/src/Resources/UnmanagedDevice.php new file mode 100644 index 00000000..2f0cc145 --- /dev/null +++ b/src/Resources/UnmanagedDevice.php @@ -0,0 +1,293 @@ +can_configure_auto_lock ?? null, + can_hvac_cool: $json->can_hvac_cool ?? null, + can_hvac_heat: $json->can_hvac_heat ?? null, + can_hvac_heat_cool: $json->can_hvac_heat_cool ?? null, + can_program_offline_access_codes: $json->can_program_offline_access_codes ?? + null, + can_program_online_access_codes: $json->can_program_online_access_codes ?? + null, + can_program_thermostat_programs_as_different_each_day: $json->can_program_thermostat_programs_as_different_each_day ?? + null, + can_program_thermostat_programs_as_same_each_day: $json->can_program_thermostat_programs_as_same_each_day ?? + null, + can_program_thermostat_programs_as_weekday_weekend: $json->can_program_thermostat_programs_as_weekday_weekend ?? + null, + can_remotely_lock: $json->can_remotely_lock ?? null, + can_remotely_unlock: $json->can_remotely_unlock ?? null, + can_run_thermostat_programs: $json->can_run_thermostat_programs ?? + null, + can_simulate_connection: $json->can_simulate_connection ?? null, + can_simulate_disconnection: $json->can_simulate_disconnection ?? + null, + can_simulate_hub_connection: $json->can_simulate_hub_connection ?? + null, + can_simulate_hub_disconnection: $json->can_simulate_hub_disconnection ?? + null, + can_simulate_paid_subscription: $json->can_simulate_paid_subscription ?? + null, + can_simulate_removal: $json->can_simulate_removal ?? null, + can_turn_off_hvac: $json->can_turn_off_hvac ?? null, + can_unlock_with_code: $json->can_unlock_with_code ?? null, + capabilities_supported: $json->capabilities_supported ?? null, + connected_account_id: $json->connected_account_id ?? null, + created_at: $json->created_at ?? null, + custom_metadata: $json->custom_metadata ?? null, + device_id: $json->device_id ?? null, + device_type: $json->device_type ?? null, + errors: array_map( + fn($e) => UnmanagedDeviceErrors::from_json($e), + $json->errors ?? [], + ), + is_managed: $json->is_managed ?? null, + location: isset($json->location) + ? UnmanagedDeviceLocation::from_json($json->location) + : null, + properties: isset($json->properties) + ? UnmanagedDeviceProperties::from_json($json->properties) + : null, + warnings: array_map( + fn($w) => UnmanagedDeviceWarnings::from_json($w), + $json->warnings ?? [], + ), + workspace_id: $json->workspace_id ?? null, + ); + } + + public function __construct( + public bool|null $can_configure_auto_lock, + public bool|null $can_hvac_cool, + public bool|null $can_hvac_heat, + public bool|null $can_hvac_heat_cool, + public bool|null $can_program_offline_access_codes, + public bool|null $can_program_online_access_codes, + public bool|null $can_program_thermostat_programs_as_different_each_day, + public bool|null $can_program_thermostat_programs_as_same_each_day, + public bool|null $can_program_thermostat_programs_as_weekday_weekend, + public bool|null $can_remotely_lock, + public bool|null $can_remotely_unlock, + public bool|null $can_run_thermostat_programs, + public bool|null $can_simulate_connection, + public bool|null $can_simulate_disconnection, + public bool|null $can_simulate_hub_connection, + public bool|null $can_simulate_hub_disconnection, + public bool|null $can_simulate_paid_subscription, + public bool|null $can_simulate_removal, + public bool|null $can_turn_off_hvac, + public bool|null $can_unlock_with_code, + public array|null $capabilities_supported, + public string|null $connected_account_id, + public string|null $created_at, + public mixed $custom_metadata, + public string|null $device_id, + public string|null $device_type, + public array $errors, + public bool|null $is_managed, + public UnmanagedDeviceLocation|null $location, + public UnmanagedDeviceProperties|null $properties, + public array $warnings, + public string|null $workspace_id, + ) {} +} + +class UnmanagedDeviceAccessoryKeypad +{ + public static function from_json( + mixed $json, + ): UnmanagedDeviceAccessoryKeypad|null { + if (!$json) { + return null; + } + return new self( + battery: isset($json->battery) + ? UnmanagedDeviceBattery::from_json($json->battery) + : null, + is_connected: $json->is_connected ?? null, + ); + } + + public function __construct( + public UnmanagedDeviceBattery|null $battery, + public bool|null $is_connected, + ) {} +} + +class UnmanagedDeviceBattery +{ + public static function from_json(mixed $json): UnmanagedDeviceBattery|null + { + if (!$json) { + return null; + } + return new self(level: $json->level ?? null); + } + + public function __construct(public float|null $level) {} +} + +class UnmanagedDeviceErrors +{ + public static function from_json(mixed $json): UnmanagedDeviceErrors|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + is_bridge_error: $json->is_bridge_error ?? null, + is_connected_account_error: $json->is_connected_account_error ?? + null, + is_device_error: $json->is_device_error ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $error_code, + public bool|null $is_bridge_error, + public bool|null $is_connected_account_error, + public bool|null $is_device_error, + public string|null $message, + ) {} +} + +class UnmanagedDeviceLocation +{ + public static function from_json(mixed $json): UnmanagedDeviceLocation|null + { + if (!$json) { + return null; + } + return new self( + location_name: $json->location_name ?? null, + time_zone: $json->time_zone ?? null, + timezone: $json->timezone ?? null, + ); + } + + public function __construct( + public string|null $location_name, + public string|null $time_zone, + public string|null $timezone, + ) {} +} + +class UnmanagedDeviceModel +{ + public static function from_json(mixed $json): UnmanagedDeviceModel|null + { + if (!$json) { + return null; + } + return new self( + accessory_keypad_supported: $json->accessory_keypad_supported ?? + null, + can_connect_accessory_keypad: $json->can_connect_accessory_keypad ?? + null, + display_name: $json->display_name ?? null, + has_built_in_keypad: $json->has_built_in_keypad ?? null, + manufacturer_display_name: $json->manufacturer_display_name ?? null, + offline_access_codes_supported: $json->offline_access_codes_supported ?? + null, + online_access_codes_supported: $json->online_access_codes_supported ?? + null, + ); + } + + public function __construct( + public bool|null $accessory_keypad_supported, + public bool|null $can_connect_accessory_keypad, + public string|null $display_name, + public bool|null $has_built_in_keypad, + public string|null $manufacturer_display_name, + public bool|null $offline_access_codes_supported, + public bool|null $online_access_codes_supported, + ) {} +} + +class UnmanagedDeviceProperties +{ + public static function from_json( + mixed $json, + ): UnmanagedDeviceProperties|null { + if (!$json) { + return null; + } + return new self( + accessory_keypad: isset($json->accessory_keypad) + ? UnmanagedDeviceAccessoryKeypad::from_json( + $json->accessory_keypad, + ) + : null, + battery: isset($json->battery) + ? UnmanagedDeviceBattery::from_json($json->battery) + : null, + battery_level: $json->battery_level ?? null, + image_alt_text: $json->image_alt_text ?? null, + image_url: $json->image_url ?? null, + manufacturer: $json->manufacturer ?? null, + model: isset($json->model) + ? UnmanagedDeviceModel::from_json($json->model) + : null, + name: $json->name ?? null, + offline_access_codes_enabled: $json->offline_access_codes_enabled ?? + null, + online: $json->online ?? null, + online_access_codes_enabled: $json->online_access_codes_enabled ?? + null, + ); + } + + public function __construct( + public UnmanagedDeviceAccessoryKeypad|null $accessory_keypad, + public UnmanagedDeviceBattery|null $battery, + public float|null $battery_level, + public string|null $image_alt_text, + public string|null $image_url, + public string|null $manufacturer, + public UnmanagedDeviceModel|null $model, + public string|null $name, + public bool|null $offline_access_codes_enabled, + public bool|null $online, + public bool|null $online_access_codes_enabled, + ) {} +} + +class UnmanagedDeviceWarnings +{ + public static function from_json(mixed $json): UnmanagedDeviceWarnings|null + { + if (!$json) { + return null; + } + return new self( + active_access_code_count: $json->active_access_code_count ?? null, + created_at: $json->created_at ?? null, + max_active_access_code_count: $json->max_active_access_code_count ?? + null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public int|null $active_access_code_count, + public string|null $created_at, + public int|null $max_active_access_code_count, + public string|null $message, + public string|null $warning_code, + ) {} +} diff --git a/src/Objects/UserIdentity.php b/src/Resources/UserIdentity.php similarity index 54% rename from src/Objects/UserIdentity.php rename to src/Resources/UserIdentity.php index a5054791..7ec6948f 100644 --- a/src/Objects/UserIdentity.php +++ b/src/Resources/UserIdentity.php @@ -1,6 +1,6 @@ acs_system_id ?? null, + acs_user_id: $json->acs_user_id ?? null, + created_at: $json->created_at ?? null, + error_code: $json->error_code ?? null, + message: $json->message ?? null, + ); + } + + public function __construct( + public string|null $acs_system_id, + public string|null $acs_user_id, + public string|null $created_at, + public string|null $error_code, + public string|null $message, + ) {} +} + +class UserIdentityWarnings +{ + public static function from_json(mixed $json): UserIdentityWarnings|null + { + if (!$json) { + return null; + } + return new self( + created_at: $json->created_at ?? null, + message: $json->message ?? null, + warning_code: $json->warning_code ?? null, + ); + } + + public function __construct( + public string|null $created_at, + public string|null $message, + public string|null $warning_code, + ) {} +} diff --git a/src/Objects/Webhook.php b/src/Resources/Webhook.php similarity index 95% rename from src/Objects/Webhook.php rename to src/Resources/Webhook.php index 247aeaac..d4c42314 100644 --- a/src/Objects/Webhook.php +++ b/src/Resources/Webhook.php @@ -1,6 +1,6 @@ inviter_logo_url ?? null, + logo_shape: $json->logo_shape ?? null, + primary_button_color: $json->primary_button_color ?? null, + primary_button_text_color: $json->primary_button_text_color ?? null, + success_message: $json->success_message ?? null, + ); + } + + public function __construct( + public string|null $inviter_logo_url, + public string|null $logo_shape, + public string|null $primary_button_color, + public string|null $primary_button_text_color, + public string|null $success_message, + ) {} +} diff --git a/src/SeamClient.php b/src/SeamClient.php index b79c99c3..70073438 100644 --- a/src/SeamClient.php +++ b/src/SeamClient.php @@ -2,35 +2,35 @@ namespace Seam; -use Seam\Objects\AccessCode; -use Seam\Objects\AccessGrant; -use Seam\Objects\AccessMethod; -use Seam\Objects\AcsAccessGroup; -use Seam\Objects\AcsCredential; -use Seam\Objects\AcsEncoder; -use Seam\Objects\AcsEntrance; -use Seam\Objects\AcsSystem; -use Seam\Objects\AcsUser; -use Seam\Objects\ActionAttempt; -use Seam\Objects\Batch; -use Seam\Objects\ClientSession; -use Seam\Objects\ConnectWebview; -use Seam\Objects\ConnectedAccount; -use Seam\Objects\CustomerPortal; -use Seam\Objects\Device; -use Seam\Objects\DeviceProvider; -use Seam\Objects\Event; -use Seam\Objects\InstantKey; -use Seam\Objects\NoiseThreshold; -use Seam\Objects\Phone; -use Seam\Objects\Space; -use Seam\Objects\ThermostatDailyProgram; -use Seam\Objects\ThermostatSchedule; -use Seam\Objects\UnmanagedAccessCode; -use Seam\Objects\UnmanagedDevice; -use Seam\Objects\UserIdentity; -use Seam\Objects\Webhook; -use Seam\Objects\Workspace; +use Seam\Resources\AccessCode; +use Seam\Resources\AccessGrant; +use Seam\Resources\AccessMethod; +use Seam\Resources\AcsAccessGroup; +use Seam\Resources\AcsCredential; +use Seam\Resources\AcsEncoder; +use Seam\Resources\AcsEntrance; +use Seam\Resources\AcsSystem; +use Seam\Resources\AcsUser; +use Seam\Resources\ActionAttempt; +use Seam\Resources\Batch; +use Seam\Resources\ClientSession; +use Seam\Resources\ConnectWebview; +use Seam\Resources\ConnectedAccount; +use Seam\Resources\CustomerPortal; +use Seam\Resources\Device; +use Seam\Resources\DeviceProvider; +use Seam\Resources\Event; +use Seam\Resources\InstantKey; +use Seam\Resources\NoiseThreshold; +use Seam\Resources\Phone; +use Seam\Resources\Space; +use Seam\Resources\ThermostatDailyProgram; +use Seam\Resources\ThermostatSchedule; +use Seam\Resources\UnmanagedAccessCode; +use Seam\Resources\UnmanagedDevice; +use Seam\Resources\UserIdentity; +use Seam\Resources\Webhook; +use Seam\Resources\Workspace; use Seam\Utils\PackageVersion; use GuzzleHttp\Client as HTTPClient;