mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
33 lines
662 B
TypeScript
33 lines
662 B
TypeScript
import { ILike } from 'typeorm'
|
|
import { appDataSource } from '../data_source'
|
|
import { Feed } from '../entity/feed'
|
|
|
|
export const feedRepository = appDataSource.getRepository(Feed).extend({
|
|
async searchFeeds(
|
|
query = '',
|
|
take = 10,
|
|
skip = 0,
|
|
orderBy = 'title',
|
|
order = 'ASC'
|
|
) {
|
|
const where = []
|
|
if (query !== '') {
|
|
query = `%${query}%`
|
|
where.push({ title: ILike(query) }, { url: ILike(query) })
|
|
}
|
|
|
|
const feeds = await this.find({
|
|
where,
|
|
order: { [orderBy]: order },
|
|
take,
|
|
skip,
|
|
})
|
|
|
|
const count = await this.countBy(where)
|
|
|
|
return {
|
|
feeds,
|
|
count,
|
|
}
|
|
},
|
|
})
|