*/ class BaselineSnapshotItemFactory extends Factory { protected $model = BaselineSnapshotItem::class; /** * @return array */ public function definition(): array { $displayName = fake()->words(3, true); $policyType = 'deviceConfiguration'; $identity = ResourceIdentity::providerResource('fake-provider', 'policy', fake()->uuid()); $subjectKey = BaselineSubjectKey::forProviderResourceIdentity( subjectDomain: 'baseline', subjectClass: SubjectClass::PolicyBacked, subjectTypeKey: $policyType, identity: $identity, ); $subjectExternalId = BaselineSubjectKey::workspaceSafeSubjectExternalId($policyType, (string) $subjectKey); return [ 'baseline_snapshot_id' => BaselineSnapshot::factory(), 'subject_type' => 'policy', 'subject_external_id' => $subjectExternalId, 'subject_key' => $subjectKey, 'policy_type' => $policyType, 'baseline_hash' => hash('sha256', fake()->uuid()), 'meta_jsonb' => [ 'display_name' => $displayName, 'provider_key' => $identity->providerKey, 'provider_resource_identity' => $identity->toArray(), 'provider_resource_fingerprint' => $identity->fingerprint(), ], ]; } }