Fix all dates
This commit is contained in:
parent
b376070ca6
commit
86e60cb25d
|
@ -99,6 +99,22 @@ class DB {
|
||||||
}
|
}
|
||||||
return rows;
|
return rows;
|
||||||
}
|
}
|
||||||
|
async update(photo, fields) {
|
||||||
|
if (fields.indexOf('updated') === -1) {
|
||||||
|
fields.push('updated');
|
||||||
|
photo.updated = Date.now();
|
||||||
|
}
|
||||||
|
const values = fields.map(el => photo[el]);
|
||||||
|
const query = `UPDATE photos SET ${fields.map(el => { return el + ' = ?'; }).join(',')} WHERE id = ?;`;
|
||||||
|
values.push(photo.id);
|
||||||
|
try {
|
||||||
|
await this.run(query, values);
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
this.log.error(`Error updating photo with columns: ${fields.join(', ')}`, err);
|
||||||
|
this.log.info(query);
|
||||||
|
}
|
||||||
|
}
|
||||||
async getBsky(random = false) {
|
async getBsky(random = false) {
|
||||||
const order = random ? 'RANDOM()' : 'score ASC, created DESC';
|
const order = random ? 'RANDOM()' : 'score ASC, created DESC';
|
||||||
const query = `SELECT * FROM photos WHERE bsky = 0 ORDER BY ${order} LIMIT 1;`;
|
const query = `SELECT * FROM photos WHERE bsky = 0 ORDER BY ${order} LIMIT 1;`;
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,32 @@
|
||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
require("dotenv/config");
|
||||||
|
const log_1 = require("./log");
|
||||||
|
const db_1 = require("./db");
|
||||||
|
async function fixDates() {
|
||||||
|
const log = (0, log_1.createLog)('fixDates');
|
||||||
|
const db = new db_1.DB();
|
||||||
|
let rows;
|
||||||
|
let parts;
|
||||||
|
let d;
|
||||||
|
try {
|
||||||
|
rows = await db.getAll();
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
log.error(err);
|
||||||
|
}
|
||||||
|
for (let row of rows) {
|
||||||
|
parts = row.name.split('_');
|
||||||
|
d = new Date(parseInt(parts[0]), parseInt(parts[1]) - 1, parseInt(parts[2]));
|
||||||
|
row.created = +d;
|
||||||
|
try {
|
||||||
|
await db.update(row, ['created']);
|
||||||
|
log.info(`Updated row ${row.id}: created == ${row.created}`);
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
log.error('Error updating row', err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fixDates();
|
||||||
|
//# sourceMappingURL=fix.js.map
|
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"file":"fix.js","sourceRoot":"","sources":["../src/fix.ts"],"names":[],"mappings":";;AAAA,yBAAuB;AACvB,+BAAkC;AAElC,6BAA0B;AAE1B,KAAK,UAAU,QAAQ;IACtB,MAAM,GAAG,GAAY,IAAA,eAAS,EAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAQ,IAAI,OAAE,EAAE,CAAC;IACzB,IAAI,IAAY,CAAC;IACjB,IAAI,KAAgB,CAAC;IACrB,IAAI,CAAQ,CAAC;IAEb,IAAI,CAAC;QACJ,IAAI,GAAG,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,KAAK,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACtB,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,GAAG,CAAC,OAAO,GAAG,CAAE,CAAC,CAAC;QAClB,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE,gBAAgB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;AACF,CAAC;AAED,QAAQ,EAAE,CAAC"}
|
|
@ -11,6 +11,7 @@ interface LatLng {
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Photo {
|
interface Photo {
|
||||||
|
[key: string] : any;
|
||||||
id : string;
|
id : string;
|
||||||
name : string;
|
name : string;
|
||||||
description : string;
|
description : string;
|
||||||
|
@ -131,6 +132,22 @@ export class DB {
|
||||||
return rows;
|
return rows;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async update (photo : Photo, fields : string[]) {
|
||||||
|
if (fields.indexOf('updated') === -1) {
|
||||||
|
fields.push('updated');
|
||||||
|
photo.updated = Date.now();
|
||||||
|
}
|
||||||
|
const values : any[] = fields.map(el => photo[el]);
|
||||||
|
const query : string = `UPDATE photos SET ${fields.map(el => { return el + ' = ?'}).join(',')} WHERE id = ?;`;
|
||||||
|
values.push(photo.id);
|
||||||
|
try {
|
||||||
|
await this.run(query, values);
|
||||||
|
} catch (err) {
|
||||||
|
this.log.error(`Error updating photo with columns: ${fields.join(', ')}`, err);
|
||||||
|
this.log.info(query);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public async getBsky (random : boolean = false) : Promise<Photo> {
|
public async getBsky (random : boolean = false) : Promise<Photo> {
|
||||||
const order : string = random ? 'RANDOM()' : 'score ASC, created DESC';
|
const order : string = random ? 'RANDOM()' : 'score ASC, created DESC';
|
||||||
const query : string = `SELECT * FROM photos WHERE bsky = 0 ORDER BY ${order} LIMIT 1;`;
|
const query : string = `SELECT * FROM photos WHERE bsky = 0 ORDER BY ${order} LIMIT 1;`;
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
import 'dotenv/config';
|
||||||
|
import { createLog } from './log';
|
||||||
|
import type { Logger } from 'winston';
|
||||||
|
import { DB } from './db';
|
||||||
|
|
||||||
|
async function fixDates () {
|
||||||
|
const log : Logger = createLog('fixDates');
|
||||||
|
const db : DB = new DB();
|
||||||
|
let rows : any[];
|
||||||
|
let parts : string[];
|
||||||
|
let d : Date;
|
||||||
|
|
||||||
|
try {
|
||||||
|
rows = await db.getAll();
|
||||||
|
} catch (err) {
|
||||||
|
log.error(err);
|
||||||
|
}
|
||||||
|
for (let row of rows) {
|
||||||
|
parts = row.name.split('_')
|
||||||
|
d = new Date(parseInt(parts[0]), parseInt(parts[1])-1, parseInt(parts[2]));
|
||||||
|
row.created = + d;
|
||||||
|
try {
|
||||||
|
await db.update(row, ['created']);
|
||||||
|
log.info(`Updated row ${row.id}: created == ${row.created}`);
|
||||||
|
} catch (err) {
|
||||||
|
log.error('Error updating row', err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fixDates();
|
Loading…
Reference in New Issue