TODO
- [ ] PublicResource: $find - virker lidt mærkelig?
Examples
const liveblog = new Liveblog()
const liveblogEntry = new LiveblogEntry({ // liveblog/{id}/entry/{id} liveblogId: '.......', liveblog: liveblog, })
const liveblog = new LiveblogQuery().find(liveblogId) liveblog.entries() // new LiveblogEntryQueryBuilder({ liveblog_id: liveblogId, // api/liveblog/{liveblogId}/entries filter: { liveblog_uuid: liveblogId } })
// ArticlePrivateResource const article = new PrivateArticle({ ...data, $dataClient?: new DataClient(dataClientPropsWithAxios) || DataClientSingleton }) article.title, article.name, article.{property} article.authors = [AuthorResource, AuthorResource, ...] article.$find({id}) // article.$refresh() article.$save() article.$update() article.$delete() article._populate() // creates resources from data like authors, etc..
// ArticlePrivateQueryBuilder const articleQuery = article.query() article.where() article.limit() article.sortBy() article.offset() article.get() article.first() article.next() article.previous() article.find(articleId) => new ArticlePrivateResource
// ArticlePrivateResourceCollection const articleCollection = articleQuery.where().limit().get() articleCollection.index = 0 articleCollection.query = ArticlePrivateQueryBuilder articleCollection.next() // articleCollection.at(articleCollection.index + 1) articleCollection.previous() // articleCollection.at(articleCollection.index - 1) articleCollection.nextPage() // articleCollection.query.next().get() => ArticlePrivateResourceCollection articleCollection.previousPage() // articleCollection.query.previous().get() => ArticlePrivateResourceCollection articleCollection.collection // [rawResponseData, rawResponseData, ...] articleCollection.get() // [ArticlePrivateResource, ArticlePrivateResource, ...] articleCollection.at(idx) // articleCollection.get()[idx] === ArticlePrivateResource articleCollection.first() // articleCollection.at(0) === ArticlePrivateResource articleCollection.query() // new ArticlePrivateQuery