<?xml version="1.0" encoding="UTF-8"?>

<doctrine-phpcr-mapping xmlns="http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xsi:schemaLocation="http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping
                        http://doctrine-project.org/schemas/odm/doctrine-mongo-mapping.xsd">

    <mapped-superclass name="Sonata\MediaBundle\PHPCR\BaseMedia" referenceable="true" >

        <uuid name="uuid" />

        <field name="name"               type="string" />
        <field name="description"        type="string" />
        <field name="enabled"            type="boolean" />

        <field name="providerName"       type="string" />
        <field name="providerStatus"     type="long" />
        <field name="providerReference"  type="string" />
        <field name="providerMetadata"   type="string" multivalue="true" />

        <field name="width"              type="long" />
        <field name="height"             type="long" />
        <field name="length"             type="double" />
        <field name="contentType"        type="string" />
        <field name="size"               type="long" />

        <field name="copyright"          type="string" />
        <field name="authorName"         type="string" />
        <field name="context"            type="string" />

        <field name="cdnIsFlushable"     type="boolean" />
        <field name="cdnFlushAt"         type="date" />
        <field name="cdnStatus"          type="long" />

        <field name="updatedAt"          type="date" />
        <field name="createdAt"          type="date" />

        <lifecycle-callbacks>
            <lifecycle-callback type="prePersist" method="prePersist" />
            <lifecycle-callback type="preUpdate" method="preUpdate" />
        </lifecycle-callbacks>

    </mapped-superclass>

</doctrine-phpcr-mapping>
