1234567891011121314151617181920212223242526272829303132333435363738 |
- import JobContext from "@/JobContext";
- import { NewsStatus } from "./NewsStatus";
- import getData from "./getData";
- export default {
- documentVersion: 3,
- query: {
- published() {
- return this.where({ status: NewsStatus.PUBLISHED });
- },
- newest(showToNewUsers = false) {
- const query = this.published().sort({ createdAt: "desc" });
- if (showToNewUsers)
- return query.where({ showToNewUsers: !!showToNewUsers });
- return query;
- }
- },
- jobConfig: {
- published: {
- async method() {
- return this.find().published();
- },
- hasPermission: true
- },
- newest: {
- async method(
- context: JobContext,
- payload?: { showToNewUsers?: boolean; limit?: number }
- ) {
- const query = this.find().newest(payload?.showToNewUsers);
- if (payload?.limit) return query.limit(payload?.limit);
- return query;
- },
- hasPermission: true
- }
- },
- getData
- };
|