#include <stdlib.h>

#include "../miscellaneous/utilities.h"
#include "../miscellaneous/logger.h"
#include "persistentItem.h"

static
unsigned int getItemId(struct _persistent_item* item)
{
    return item->_db_id;
}

PersistentItem* createPersistentItem(unsigned int id)
{
    PersistentItem * entity = (PersistentItem * )malloc(sizeof(PersistentItem));

    // error
    handleError(
            !entity,
            NULL,
            "method creation",
            "error during pointer allocation");

    entity->_db_id = id;
    entity->getId = getItemId;

    return entity;
}

void            destroyPersistentItem(PersistentItem* item)
{
    free(item);
}
