Source of file DataObjectInterfaceTypeCreator.php
Size: 1,061 Bytes - Last Modified: 2021-12-23T10:31:47+00:00
/var/www/docs.ssmods.com/process/src/src/DataObjectInterfaceTypeCreator.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | <?php namespace SilverStripe\GraphQL; use GraphQL\Type\Definition\Type; /** * Base interface for any {@link DataObject} passed back as a node. */ class DataObjectInterfaceTypeCreator extends InterfaceTypeCreator { public function attributes() { /** @skipUpgrade */ return [ 'name' => 'DataObject', 'description' => 'Base Interface', ]; } public function fields() { return [ 'id' => [ 'type' => Type::nonNull(Type::int()), ], 'created' => [ 'type' => Type::string(), ], 'lastEdited' => [ 'type' => Type::string(), ], ]; } public function resolveType($object) { $type = null; if ($fqnType = $this->manager->getType(get_class($object))) { $type = $fqnType; } if ($baseType = $this->manager->getType(get_class($object))) { $type = $baseType; } return $type; } } |