Skip to content
Snippets Groups Projects
Commit 5aa419c6 authored by moon's avatar moon
Browse files

Close #82: Implement "Last Updated"

parent b1f47c66
No related branches found
No related tags found
No related merge requests found
......@@ -94,6 +94,28 @@ module.exports = createCoreController('api::novel-condensate.novel-condensate',
const sanitizedEntity = await this.sanitizeOutput(entity, ctx);
return this.transformResponse(sanitizedEntity);
},
async checkSyncedAt(ctx) {
const { query } = ctx;
query['sort'] = ['SyncedAt:desc'];
query['filters'] = { SyncedAt: { $null: false } }
let results = []
let entity = await strapi.service("api::novel-condensate.novel-condensate").find(query);
if(entity.results.length > 1) {
results.push({ SyncedAt: entity.results[0].SyncedAt })
}
entity = await strapi.service("api::update-item.update-item").find(query);
if(entity.results.length > 1) {
results.push({ SyncedAt: entity.results[0].SyncedAt })
}
const sanitizedEntity = await this.sanitizeOutput(results, ctx);
return this.transformResponse(sanitizedEntity);
}
}));
module.exports = {
routes: [
{
method: 'PUT',
path: '/novel-condensate/review/:id',
handler: 'api::novel-condensate.novel-condensate.updateReview',
},
{
method: 'GET',
path: '/novel-condensate/synced',
handler: 'api::novel-condensate.novel-condensate.checkSyncedAt',
},
]
}
......@@ -13,7 +13,7 @@
"
>
<div class="text-right px-8 w-full">
Last updated: 30-06-2022
Last updated: {{ lastUpdated.toLocaleDateString() + ' ' + lastUpdated.toLocaleTimeString() }}
</div>
<div class="px-4 flex mb-2 flex-wrap w-full items-center justify-between">
<div class="ml-4">
......@@ -515,9 +515,14 @@ export default {
// userData: this.$store.getters['User/userData']
openCondensateSubMenu: false,
profileMenuOpen: false,
lastUpdated: '',
isDev: process.env.NODE_ENV === 'development',
};
},
computed: {
jwt: function () {
return this.$store.getters['User/jwt'];
},
userData: function () {
return this.$store.getters['User/userData'];
},
......@@ -541,11 +546,23 @@ export default {
mounted: function () {
const vm = this;
// console.log(vm.userData)
// console.log(this.$route.name)
// if(vm.userData !== null) {
// vm.$router.push('/profile')
// }
let host = vm.isDev
? require('../js/const').devApiHost
: require('../js/const').apiHost;
let url = `${host}/api/novel-condensate/synced`;
vm.axios.get(
url,
{
headers: {
Authorization: `Bearer ${vm.jwt}`,
},
}
).then((dat) => {
let data = _.map(dat.data.data, e => new Date(Date.parse(e.attributes.SyncedAt)));
vm.lastUpdated = _.max(data)
})
},
methods: {
parsingUserData() {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment