Implement lastUpdated timestamp
This commit is contained in:
@@ -6,27 +6,34 @@ interface Plan {
|
||||
id: string;
|
||||
name: string;
|
||||
folder: string;
|
||||
lastUpdated: Date;
|
||||
}
|
||||
|
||||
const zeroPad = (s: number) => s.toString().padStart(2, '0');
|
||||
|
||||
const formatDateTime = (d: Date) =>
|
||||
`${d.getFullYear()}/${zeroPad(d.getMonth() + 1)}/${zeroPad(d.getDate())} ${d.getHours() === 12 ? 12 : d.getHours() % 12}:${zeroPad(d.getMinutes())} ${d.getHours() >= 12 ? 'PM' : 'AM'}`;
|
||||
|
||||
const makePlanButtons = (planId: string, deleted: boolean) =>
|
||||
deleted
|
||||
? `<button onclick="doAction('undelete','${planId}')">restore</button><button onclick="doAction('perm-delete','${planId}')">perm delete</button>`
|
||||
: `<button onclick="openPlan('${planId}')">open</button><button onclick="sharePlan('${planId}')">share</button><button onclick="doAction('rename','${planId}')">rename</button><button onclick="doAction('move','${planId}')">move</button><button onclick="doAction('delete','${planId}')">delete</button>`;
|
||||
|
||||
const makePlanItem = (plan: Plan, deleted: boolean) => `<li>${plan.folder}${plan.folder && '/'}${plan.name} - ${makePlanButtons(plan.id, deleted)}</li>`;
|
||||
const makePlanItem = (plan: Plan, deleted: boolean) =>
|
||||
`<li>${plan.folder}${plan.folder && '/'}${plan.name} - ${formatDateTime(plan.lastUpdated)} - ${makePlanButtons(plan.id, deleted)}</li>`;
|
||||
|
||||
export default async (userId: string, userName: string) => {
|
||||
let failed = false;
|
||||
|
||||
const plans: Plan[] = await dbClient
|
||||
.query('SELECT id, name, folder FROM plans WHERE ownerId = ? AND deleted = 0 GROUP BY folder,name,id ORDER BY folder ASC,name ASC', [userId])
|
||||
.query('SELECT id, name, folder, lastUpdated FROM plans WHERE ownerId = ? AND deleted = 0 GROUP BY folder,name,id ORDER BY folder ASC,name ASC', [userId])
|
||||
.catch((e) => {
|
||||
failed = true;
|
||||
});
|
||||
if (failed) return "Couldn't read DB.";
|
||||
|
||||
const deletedPlans: Plan[] = await dbClient
|
||||
.query('SELECT id, name, folder FROM plans WHERE ownerId = ? AND deleted = 1 GROUP BY folder,name,id ORDER BY folder ASC,name ASC', [userId])
|
||||
.query('SELECT id, name, folder, lastUpdated FROM plans WHERE ownerId = ? AND deleted = 1 GROUP BY folder,name,id ORDER BY folder ASC,name ASC', [userId])
|
||||
.catch(() => {
|
||||
failed = true;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user