Do not accept stories without a name and no deletedAtTimestamp

This commit is contained in:
Josh Perez 2022-08-11 18:03:22 -04:00 committed by GitHub
parent f09b214016
commit 0a81376ca0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 39 additions and 3 deletions

View file

@ -1746,6 +1746,10 @@ async function _deleteAllStoryDistributions(): Promise<void> {
async function createNewStoryDistribution(
distribution: StoryDistributionWithMembersType
): Promise<void> {
strictAssert(
distribution.name,
'Distribution list does not have a valid name'
);
await channels.createNewStoryDistribution(distribution);
}
async function getAllStoryDistributionsWithMembers(): Promise<
@ -1761,6 +1765,17 @@ async function getStoryDistributionWithMembers(
async function modifyStoryDistribution(
distribution: StoryDistributionType
): Promise<void> {
if (distribution.deletedAtTimestamp) {
strictAssert(
!distribution.name,
'Attempt to delete distribution list but still has a name'
);
} else {
strictAssert(
distribution.name,
'Cannot clear distribution list name without deletedAtTimestamp set'
);
}
await channels.modifyStoryDistribution(distribution);
}
async function modifyStoryDistributionMembers(
@ -1779,6 +1794,17 @@ async function modifyStoryDistributionWithMembers(
toRemove: Array<UUIDStringType>;
}
): Promise<void> {
if (distribution.deletedAtTimestamp) {
strictAssert(
!distribution.name,
'Attempt to delete distribution list but still has a name'
);
} else {
strictAssert(
distribution.name,
'Cannot clear distribution list name without deletedAtTimestamp set'
);
}
await channels.modifyStoryDistributionWithMembers(distribution, options);
}
async function deleteStoryDistribution(id: UUIDStringType): Promise<void> {