summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints
diff options
context:
space:
mode:
authornenohi <kimutipartylove@gmail.com>2023-02-15 14:29:40 +0900
committerGitHub <noreply@github.com>2023-02-15 14:29:40 +0900
commit71c42bef9b652b2f5c3a66e068caa64aa87cf5ec (patch)
tree3449000308040e94d28490b3d32e930caa22e4d6 /packages/backend/src/server/api/endpoints
parentdrop group (#9942) (diff)
downloadsharkey-71c42bef9b652b2f5c3a66e068caa64aa87cf5ec.tar.gz
sharkey-71c42bef9b652b2f5c3a66e068caa64aa87cf5ec.tar.bz2
sharkey-71c42bef9b652b2f5c3a66e068caa64aa87cf5ec.zip
広告開始時期の設定 (#9944)
* 広告開始時期の設定 * 過去のものも表示するように
Diffstat (limited to 'packages/backend/src/server/api/endpoints')
-rw-r--r--packages/backend/src/server/api/endpoints/admin/ad/create.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/admin/ad/list.ts2
-rw-r--r--packages/backend/src/server/api/endpoints/admin/ad/update.ts4
-rw-r--r--packages/backend/src/server/api/endpoints/meta.ts3
4 files changed, 8 insertions, 5 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/ad/create.ts b/packages/backend/src/server/api/endpoints/admin/ad/create.ts
index 8fcbde591b..ba128c75a7 100644
--- a/packages/backend/src/server/api/endpoints/admin/ad/create.ts
+++ b/packages/backend/src/server/api/endpoints/admin/ad/create.ts
@@ -20,9 +20,10 @@ export const paramDef = {
priority: { type: 'string' },
ratio: { type: 'integer' },
expiresAt: { type: 'integer' },
+ startAt: { type: 'integer' },
imageUrl: { type: 'string', minLength: 1 },
},
- required: ['url', 'memo', 'place', 'priority', 'ratio', 'expiresAt', 'imageUrl'],
+ required: ['url', 'memo', 'place', 'priority', 'ratio', 'expiresAt', 'startAt', 'imageUrl'],
} as const;
// eslint-disable-next-line import/no-default-export
@@ -39,6 +40,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
id: this.idService.genId(),
createdAt: new Date(),
expiresAt: new Date(ps.expiresAt),
+ startAt: new Date(ps.startAt),
url: ps.url,
imageUrl: ps.imageUrl,
priority: ps.priority,
diff --git a/packages/backend/src/server/api/endpoints/admin/ad/list.ts b/packages/backend/src/server/api/endpoints/admin/ad/list.ts
index 29e245ab95..905036c40f 100644
--- a/packages/backend/src/server/api/endpoints/admin/ad/list.ts
+++ b/packages/backend/src/server/api/endpoints/admin/ad/list.ts
@@ -32,8 +32,6 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
) {
super(meta, paramDef, async (ps, me) => {
const query = this.queryService.makePaginationQuery(this.adsRepository.createQueryBuilder('ad'), ps.sinceId, ps.untilId)
- .andWhere('ad.expiresAt > :now', { now: new Date() });
-
const ads = await query.take(ps.limit).getMany();
return ads;
diff --git a/packages/backend/src/server/api/endpoints/admin/ad/update.ts b/packages/backend/src/server/api/endpoints/admin/ad/update.ts
index 08e3c96ca9..75f6f1d5ad 100644
--- a/packages/backend/src/server/api/endpoints/admin/ad/update.ts
+++ b/packages/backend/src/server/api/endpoints/admin/ad/update.ts
@@ -30,8 +30,9 @@ export const paramDef = {
priority: { type: 'string' },
ratio: { type: 'integer' },
expiresAt: { type: 'integer' },
+ startAt: { type: 'integer' },
},
- required: ['id', 'memo', 'url', 'imageUrl', 'place', 'priority', 'ratio', 'expiresAt'],
+ required: ['id', 'memo', 'url', 'imageUrl', 'place', 'priority', 'ratio', 'expiresAt', 'startAt'],
} as const;
// eslint-disable-next-line import/no-default-export
@@ -54,6 +55,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
memo: ps.memo,
imageUrl: ps.imageUrl,
expiresAt: new Date(ps.expiresAt),
+ startAt: new Date(ps.startAt),
});
});
}
diff --git a/packages/backend/src/server/api/endpoints/meta.ts b/packages/backend/src/server/api/endpoints/meta.ts
index 2fa7a09d49..823c3f72b0 100644
--- a/packages/backend/src/server/api/endpoints/meta.ts
+++ b/packages/backend/src/server/api/endpoints/meta.ts
@@ -1,4 +1,4 @@
-import { IsNull, MoreThan } from 'typeorm';
+import { IsNull, LessThanOrEqual, MoreThan } from 'typeorm';
import { Inject, Injectable } from '@nestjs/common';
import type { AdsRepository, EmojisRepository, UsersRepository } from '@/models/index.js';
import { MAX_NOTE_TEXT_LENGTH, DB_MAX_NOTE_TEXT_LENGTH } from '@/const.js';
@@ -262,6 +262,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> {
const ads = await this.adsRepository.find({
where: {
expiresAt: MoreThan(new Date()),
+ startAt: LessThanOrEqual(new Date()),
},
});