create abstract method
Create an Item
It takes an item to create and returns the added item that may be different form the taken item (ex: when the id is defined form the database).
param
is used to parametrize the query (ex: user
id, token).
Implementation
Future<T> create(T item, P? param);