mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-09-10 17:58:02 +02:00
feat: reverse the order of the rss feed
This commit is contained in:
parent
c3c846f82d
commit
106489be75
@ -66,6 +66,7 @@ export default {
|
|||||||
currentFeed: null,
|
currentFeed: null,
|
||||||
metadataDetails: {
|
metadataDetails: {
|
||||||
preventIndexing: true,
|
preventIndexing: true,
|
||||||
|
reverseOrder: false,
|
||||||
ownerName: '',
|
ownerName: '',
|
||||||
ownerEmail: ''
|
ownerEmail: ''
|
||||||
},
|
},
|
||||||
|
@ -16,6 +16,12 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>{{ feed.meta.preventIndexing ? 'Yes' : 'No' }}</div>
|
<div>{{ feed.meta.preventIndexing ? 'Yes' : 'No' }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="flex py-0.5">
|
||||||
|
<div class="w-48">
|
||||||
|
<span class="text-white text-opacity-60 uppercase text-sm">{{ $strings.LabelRSSFeedReverseOrder }}</span>
|
||||||
|
</div>
|
||||||
|
<div>{{ feed.meta.reverseOrder ? 'Yes' : 'No' }}</div>
|
||||||
|
</div>
|
||||||
<div v-if="feed.meta.ownerName" class="flex py-0.5">
|
<div v-if="feed.meta.ownerName" class="flex py-0.5">
|
||||||
<div class="w-48">
|
<div class="w-48">
|
||||||
<span class="text-white text-opacity-60 uppercase text-sm">{{ $strings.LabelRSSFeedCustomOwnerName }}</span>
|
<span class="text-white text-opacity-60 uppercase text-sm">{{ $strings.LabelRSSFeedCustomOwnerName }}</span>
|
||||||
|
@ -24,6 +24,9 @@
|
|||||||
<div class="w-full relative mb-1">
|
<div class="w-full relative mb-1">
|
||||||
<ui-text-input-with-label v-model="ownerEmail" :label="$strings.LabelRSSFeedCustomOwnerEmail" />
|
<ui-text-input-with-label v-model="ownerEmail" :label="$strings.LabelRSSFeedCustomOwnerEmail" />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="w-full relative mb-1">
|
||||||
|
<ui-checkbox v-model="reverseOrder" :label="$strings.LabelRSSFeedReverseOrder" checkbox-bg="primary" border-color="gray-600" label-class="pl-2" />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -38,7 +41,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
preventIndexing: true,
|
preventIndexing: true,
|
||||||
ownerName: '',
|
ownerName: '',
|
||||||
ownerEmail: ''
|
ownerEmail: '',
|
||||||
|
reverseOrder: false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -82,6 +86,17 @@ export default {
|
|||||||
ownerEmail: value
|
ownerEmail: value
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
reverseOrder: {
|
||||||
|
get() {
|
||||||
|
return this.value.reverseOrder
|
||||||
|
},
|
||||||
|
set(value) {
|
||||||
|
this.$emit('input', {
|
||||||
|
...this.value,
|
||||||
|
reverseOrder: value
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {},
|
methods: {},
|
||||||
|
@ -508,6 +508,7 @@
|
|||||||
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
"LabelRSSFeedCustomOwnerName": "Custom owner Name",
|
||||||
"LabelRSSFeedOpen": "RSS Feed Open",
|
"LabelRSSFeedOpen": "RSS Feed Open",
|
||||||
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
"LabelRSSFeedPreventIndexing": "Prevent Indexing",
|
||||||
|
"LabelRSSFeedReverseOrder": "Reverse Episode Order",
|
||||||
"LabelRSSFeedSlug": "RSS Feed Slug",
|
"LabelRSSFeedSlug": "RSS Feed Slug",
|
||||||
"LabelRSSFeedURL": "RSS Feed URL",
|
"LabelRSSFeedURL": "RSS Feed URL",
|
||||||
"LabelRandomly": "Randomly",
|
"LabelRandomly": "Randomly",
|
||||||
@ -1081,4 +1082,4 @@
|
|||||||
"ToastUserPasswordMismatch": "Passwords do not match",
|
"ToastUserPasswordMismatch": "Passwords do not match",
|
||||||
"ToastUserPasswordMustChange": "New password cannot match old password",
|
"ToastUserPasswordMustChange": "New password cannot match old password",
|
||||||
"ToastUserRootRequireName": "Must enter a root username"
|
"ToastUserRootRequireName": "Must enter a root username"
|
||||||
}
|
}
|
@ -388,7 +388,11 @@ class Feed extends Model {
|
|||||||
ownerEmail: DataTypes.STRING,
|
ownerEmail: DataTypes.STRING,
|
||||||
explicit: DataTypes.BOOLEAN,
|
explicit: DataTypes.BOOLEAN,
|
||||||
preventIndexing: DataTypes.BOOLEAN,
|
preventIndexing: DataTypes.BOOLEAN,
|
||||||
coverPath: DataTypes.STRING
|
coverPath: DataTypes.STRING,
|
||||||
|
reverseOrder: {
|
||||||
|
type: DataTypes.BOOLEAN,
|
||||||
|
defaultValue: false
|
||||||
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
sequelize,
|
sequelize,
|
||||||
@ -613,8 +617,13 @@ class Feed extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const rssfeed = new RSS(rssData)
|
const rssfeed = new RSS(rssData)
|
||||||
this.feedEpisodes.forEach((ep) => {
|
let episodes = this.feedEpisodes || []
|
||||||
rssfeed.item(ep.getRSSData(hostPrefix))
|
if (this.reverseOrder) {
|
||||||
|
episodes = [...episodes].reverse()
|
||||||
|
}
|
||||||
|
|
||||||
|
episodes.forEach(episode => {
|
||||||
|
rssfeed.item(episode.getRSSData(hostPrefix))
|
||||||
})
|
})
|
||||||
return rssfeed.xml()
|
return rssfeed.xml()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user