Add soft delete of pages by updating page state to Deleted
This commit is contained in:
@ -224,12 +224,16 @@ export const updatePage = async (
|
||||
|
||||
if (body.result !== 'updated') return false
|
||||
|
||||
if (page.state === ArticleSavingRequestStatus.Deleted) {
|
||||
await ctx.pubsub.entityDeleted(EntityType.PAGE, id, ctx.uid)
|
||||
return true
|
||||
}
|
||||
|
||||
await ctx.pubsub.entityUpdated<Partial<Page>>(
|
||||
EntityType.PAGE,
|
||||
{ ...page, id },
|
||||
ctx.uid
|
||||
)
|
||||
|
||||
return true
|
||||
} catch (e) {
|
||||
if (
|
||||
@ -255,11 +259,7 @@ export const deletePage = async (
|
||||
refresh: ctx.refresh,
|
||||
})
|
||||
|
||||
if (body.deleted === 0) return false
|
||||
|
||||
await ctx.pubsub.entityDeleted(EntityType.PAGE, id, ctx.uid)
|
||||
|
||||
return true
|
||||
return body.deleted !== 0
|
||||
} catch (e) {
|
||||
if (
|
||||
e instanceof ResponseError &&
|
||||
@ -359,10 +359,10 @@ export const searchPages = async (
|
||||
const sortOrder = sort?.order || SortOrder.DESCENDING
|
||||
// default sort by saved_at
|
||||
const sortField = sort?.by || SortBy.SAVED
|
||||
const includeLabels = labelFilters.filter(
|
||||
const includeLabels = labelFilters?.filter(
|
||||
(filter) => filter.type === LabelFilterType.INCLUDE
|
||||
)
|
||||
const excludeLabels = labelFilters.filter(
|
||||
const excludeLabels = labelFilters?.filter(
|
||||
(filter) => filter.type === LabelFilterType.EXCLUDE
|
||||
)
|
||||
|
||||
@ -407,16 +407,16 @@ export const searchPages = async (
|
||||
if (readFilter !== ReadFilter.ALL) {
|
||||
appendReadFilter(body, readFilter)
|
||||
}
|
||||
if (hasFilters.length > 0) {
|
||||
if (hasFilters && hasFilters.length > 0) {
|
||||
appendHasFilters(body, hasFilters)
|
||||
}
|
||||
if (includeLabels.length > 0) {
|
||||
if (includeLabels && includeLabels.length > 0) {
|
||||
appendIncludeLabelFilter(body, includeLabels)
|
||||
}
|
||||
if (excludeLabels.length > 0) {
|
||||
if (excludeLabels && excludeLabels.length > 0) {
|
||||
appendExcludeLabelFilter(body, excludeLabels)
|
||||
}
|
||||
if (dateFilters.length > 0) {
|
||||
if (dateFilters && dateFilters.length > 0) {
|
||||
appendDateFilters(body, dateFilters)
|
||||
}
|
||||
if (termFilters) {
|
||||
|
||||
@ -264,9 +264,9 @@ export interface PageSearchArgs {
|
||||
inFilter?: InFilter
|
||||
readFilter?: ReadFilter
|
||||
typeFilter?: PageType
|
||||
labelFilters: LabelFilter[]
|
||||
hasFilters: HasFilter[]
|
||||
dateFilters: DateFilter[]
|
||||
labelFilters?: LabelFilter[]
|
||||
hasFilters?: HasFilter[]
|
||||
dateFilters?: DateFilter[]
|
||||
termFilters?: FieldFilter[]
|
||||
matchFilters?: FieldFilter[]
|
||||
includePending?: boolean | null
|
||||
|
||||
Reference in New Issue
Block a user