func (c *Client) Create(model coal.Model) (coal.Model, *jsonapi.Document, error) {
	resource, err := ConvertModel(model)
	if err != nil {
		return nil, nil, err
	}
	resource.ID = ""
	doc, err := c.client.Create(resource)
	if err != nil {
		return nil, doc, err
	}
	createdModel := coal.GetMeta(model).Make()
	err = AssignResource(createdModel, doc.Data.One)
	if err != nil {
		return nil, doc, err
	}
	return createdModel, doc, nil
}
Create will create the provided model and return the created model.
package roast
import (
	"github.com/256dpi/fire/coal"
	"github.com/256dpi/jsonapi/v2"
)
type Client struct {
	client *jsonapi.Client
}
func NewClient(client *jsonapi.Client) *Client {
	return &Client{
		client: client,
	}
}
func (c *Client) List(model coal.Model, reqs ...jsonapi.Request) ([]coal.Model, *jsonapi.Document, error) {
	doc, err := c.client.List(getType(model), reqs...)
	if err != nil {
		return nil, doc, err
	}
	var listedModels []coal.Model
	for _, resource := range doc.Data.Many {
		model := coal.GetMeta(model).Make()
		err = AssignResource(model, resource)
		if err != nil {
			return nil, doc, err
		}
		listedModels = append(listedModels, model)
	}
	return listedModels, doc, nil
}
func (c *Client) Find(model coal.Model, reqs ...jsonapi.Request) (coal.Model, *jsonapi.Document, error) {
	doc, err := c.client.Find(getType(model), model.ID().Hex(), reqs...)
	if err != nil {
		return nil, doc, err
	}
	foundModel := coal.GetMeta(model).Make()
	err = AssignResource(foundModel, doc.Data.One)
	if err != nil {
		return nil, doc, err
	}
	return foundModel, doc, nil
}