Skip to content

Commit

Permalink
timestamps
Browse files Browse the repository at this point in the history
  • Loading branch information
joel-simon committed Nov 18, 2018
1 parent 944b0a9 commit 3496f75
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 18 deletions.
1 change: 1 addition & 0 deletions server/knexfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
module.exports = require('./secrets.js').database
1 change: 0 additions & 1 deletion server/migrations/20181116084229_initial.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ exports.up = async function(knex, Promise) {
t.foreign('parent1').references('id').inTable('image')
t.integer('parent2')
t.foreign('parent2').references('id').inTable('image')
t.timestamps(false, true)
})
};

Expand Down
12 changes: 12 additions & 0 deletions server/migrations/20181117205935_timestamps.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@

exports.up = function(knex, Promise) {
return knex.schema.table('image', table => {
table.timestamp('created_at').defaultTo(knex.fn.now())
})
};

exports.down = function(knex, Promise) {
return knex.schema.table('image', table => {
table.dropColumn('created_at')
})
};
46 changes: 29 additions & 17 deletions server/server.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,41 @@ app.get('/i', async (req, res) => {
res.render('image.pug', { key, pkey })
})

app.get('/random', (req, res) => {
const q = 'select key from image where parent1 is null order by random() limit 12'
knex.raw(q).then(data => {
const keys = data.rows.map(({key}) => key)
res.render('random.pug', { keys })
}).catch(err => {
console.log('Error: /random', { err })
return res.sendStatus(500)
})
})

app.get('/', (req, res) => res.redirect('/random'))

app.get('/mix', (req, res) => res.render('mix'))

app.post('/latest', async (req, res) => {
try {
const images = await knex.
select('key').
from('image').
where({ id }).
limit(32)
return res.json(images.map(({ key }) => key))
} catch(err) {
console.log('Error: /latest', err)
return res.sendStatus(500)
}
})

app.post('/image_children', async (req, res) => {
const key = req.body.key
if (!key) return res.sendStatus(404)
try {
const { id, state, vector, label } = await knex.from('image').where({ key }).first()
if (state == IMAGE_STATE.INITIAL) {
console.time('make_children')
const [ imgs, vectors, labels ] = await request({
url: secrets.ganurl+'/children',
method: 'POST',
Expand All @@ -46,11 +74,8 @@ app.post('/image_children', async (req, res) => {
vector: JSON.stringify(vector)
}
})
console.timeEnd('make_children')
await knex('image').where({ id }).update({ state: 1 })
console.time('save_results')
const children = await save_results({ imgs, vectors, labels, parent1: id })
console.timeEnd('save_results')
return res.json(children)
} else if (state == 1) {
const children = await knex.from('image').select('key').where({ parent1: id, parent2:null })
Expand All @@ -66,17 +91,6 @@ app.post('/image_children', async (req, res) => {
}
})

app.get('/random', (req, res) => {
const q = 'select key from image where parent1 is null order by random() limit 12'
knex.raw(q).then(data => {
const keys = data.rows.map(({key}) => key)
res.render('random.pug', { keys })
}).catch(err => {
console.log('Error: /random', { err })
return res.sendStatus(500)
})
})

app.post('/mix_images', async (req, res) => {
const key1 = req.body.key1
const key2 = req.body.key2
Expand Down Expand Up @@ -106,6 +120,4 @@ app.post('/mix_images', async (req, res) => {
}
})

app.get('/', (req, res) => res.redirect('/random'))
app.get('/mix', (req, res) => res.render('mix'))
app.listen(port, () => console.log('Server running on', port))

0 comments on commit 3496f75

Please sign in to comment.