포그라운드 Push 표시 · 퀘스트 알림 다국어 제목 · 약관 미동의 계정의 행성 가입·성운 생성 차단
This commit is contained in:
@@ -2,6 +2,7 @@ import { FieldValue, getFirestore } from 'firebase-admin/firestore';
|
||||
import { onDocumentCreated, onDocumentUpdated, onDocumentWritten } from 'firebase-functions/v2/firestore';
|
||||
import { logger } from 'firebase-functions';
|
||||
|
||||
import { localizedText } from '../core/names.js';
|
||||
import { PUSH_CATEGORIES, sendUserPush, type UserPushOutcome } from './push.js';
|
||||
|
||||
/**
|
||||
@@ -99,8 +100,9 @@ export async function notifyQuestDone(
|
||||
const count = typeof after.count === 'number' ? after.count : 0;
|
||||
if (count < 1) return false;
|
||||
if (before && before.dayKey === after.dayKey && (before.count as number | undefined ?? 0) >= count) return false;
|
||||
const quest = await getFirestore().doc(`quests/${questId}`).get();
|
||||
const title = (quest.get('title') as string | undefined) ?? '';
|
||||
const db = getFirestore();
|
||||
const [quest, user] = await Promise.all([db.doc(`quests/${questId}`).get(), db.doc(`users/${uid}`).get()]);
|
||||
const title = localizedText(quest.get('title'), user.get('locale'));
|
||||
return notifyOnce(uid, `quest_${questId}_${String(after.dayKey)}_${count}`, {
|
||||
eventType: 'quest', type: 'essential',
|
||||
title: `[${title}] 퀘스트를 완료했어요!`, source: '퀘스트',
|
||||
|
||||
Reference in New Issue
Block a user