<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
                          https://www.doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
    <entity
            name="Basango\IdentityAndAccess\Domain\Model\Entity\LoginHistory"
            repository-class="Basango\IdentityAndAccess\Infrastructure\Persistence\Doctrine\ORM\LoginAttemptOrmRepository"
            table="login_history"
    >
        <id name="id" type="login_history_id">
            <generator strategy="NONE"/>
        </id>

        <many-to-one field="user" target-entity="Basango\IdentityAndAccess\Domain\Model\Entity\User">
            <join-column nullable="false" on-delete="CASCADE" />
        </many-to-one>

        <field name="ipAddress" type="inet" nullable="true" length="15" />
        <embedded name="device" class="Basango\SharedKernel\Domain\Model\ValueObject\Tracking\Device" />
        <embedded name="location" class="Basango\SharedKernel\Domain\Model\ValueObject\Tracking\GeoLocation" />


        <field name="createdAt" type="datetime_immutable"/>
    </entity>
</doctrine-mapping>
