|
@@ -17,6 +17,7 @@ export const NOTIFICATIONS_GROUP_MAX_AVATARS = 8;
|
|
interface BaseNotificationGroup
|
|
interface BaseNotificationGroup
|
|
extends Omit<BaseNotificationGroupJSON, 'sample_account_ids'> {
|
|
extends Omit<BaseNotificationGroupJSON, 'sample_account_ids'> {
|
|
sampleAccountIds: string[];
|
|
sampleAccountIds: string[];
|
|
|
|
+ partial: boolean;
|
|
}
|
|
}
|
|
|
|
|
|
interface BaseNotificationWithStatus<Type extends NotificationWithStatusType>
|
|
interface BaseNotificationWithStatus<Type extends NotificationWithStatusType>
|
|
@@ -142,6 +143,7 @@ export function createNotificationGroupFromJSON(
|
|
return {
|
|
return {
|
|
statusId: statusId ?? undefined,
|
|
statusId: statusId ?? undefined,
|
|
sampleAccountIds,
|
|
sampleAccountIds,
|
|
|
|
+ partial: false,
|
|
...groupWithoutStatus,
|
|
...groupWithoutStatus,
|
|
};
|
|
};
|
|
}
|
|
}
|
|
@@ -150,12 +152,14 @@ export function createNotificationGroupFromJSON(
|
|
return {
|
|
return {
|
|
report: createReportFromJSON(report),
|
|
report: createReportFromJSON(report),
|
|
sampleAccountIds,
|
|
sampleAccountIds,
|
|
|
|
+ partial: false,
|
|
...groupWithoutTargetAccount,
|
|
...groupWithoutTargetAccount,
|
|
};
|
|
};
|
|
}
|
|
}
|
|
case 'severed_relationships':
|
|
case 'severed_relationships':
|
|
return {
|
|
return {
|
|
...group,
|
|
...group,
|
|
|
|
+ partial: false,
|
|
event: createAccountRelationshipSeveranceEventFromJSON(group.event),
|
|
event: createAccountRelationshipSeveranceEventFromJSON(group.event),
|
|
sampleAccountIds,
|
|
sampleAccountIds,
|
|
};
|
|
};
|
|
@@ -163,6 +167,7 @@ export function createNotificationGroupFromJSON(
|
|
const { moderation_warning, ...groupWithoutModerationWarning } = group;
|
|
const { moderation_warning, ...groupWithoutModerationWarning } = group;
|
|
return {
|
|
return {
|
|
...groupWithoutModerationWarning,
|
|
...groupWithoutModerationWarning,
|
|
|
|
+ partial: false,
|
|
moderationWarning: createAccountWarningFromJSON(moderation_warning),
|
|
moderationWarning: createAccountWarningFromJSON(moderation_warning),
|
|
sampleAccountIds,
|
|
sampleAccountIds,
|
|
};
|
|
};
|
|
@@ -171,6 +176,7 @@ export function createNotificationGroupFromJSON(
|
|
const { annual_report, ...groupWithoutAnnualReport } = group;
|
|
const { annual_report, ...groupWithoutAnnualReport } = group;
|
|
return {
|
|
return {
|
|
...groupWithoutAnnualReport,
|
|
...groupWithoutAnnualReport,
|
|
|
|
+ partial: false,
|
|
annualReport: createAnnualReportEventFromJSON(annual_report),
|
|
annualReport: createAnnualReportEventFromJSON(annual_report),
|
|
sampleAccountIds,
|
|
sampleAccountIds,
|
|
};
|
|
};
|
|
@@ -178,6 +184,7 @@ export function createNotificationGroupFromJSON(
|
|
default:
|
|
default:
|
|
return {
|
|
return {
|
|
sampleAccountIds,
|
|
sampleAccountIds,
|
|
|
|
+ partial: false,
|
|
...group,
|
|
...group,
|
|
};
|
|
};
|
|
}
|
|
}
|
|
@@ -194,6 +201,7 @@ export function createNotificationGroupFromNotificationJSON(
|
|
page_min_id: notification.id,
|
|
page_min_id: notification.id,
|
|
page_max_id: notification.id,
|
|
page_max_id: notification.id,
|
|
latest_page_notification_at: notification.created_at,
|
|
latest_page_notification_at: notification.created_at,
|
|
|
|
+ partial: true,
|
|
};
|
|
};
|
|
|
|
|
|
switch (notification.type) {
|
|
switch (notification.type) {
|