f2880b661e
* Moved to mongo * UI updated to use mongo * UI is a bit fancier now * Import sql to mongo
48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
/**
|
|
* Created by WebStorm.
|
|
* User: martin
|
|
* Date: 22/07/2020
|
|
* Time: 14:18
|
|
|
|
*/
|
|
const mongoose = require('mongoose');
|
|
const Schema = mongoose.Schema;
|
|
|
|
const jobSchema = new Schema({
|
|
'details': {
|
|
'title': { 'type': String, 'required': true },
|
|
'site': { 'type': String, 'required': true },
|
|
'url': { 'type': String, 'required': true, 'unique': true },
|
|
'id': String,
|
|
'summary': String,
|
|
'company': String,
|
|
'location': String,
|
|
'postdate': String,
|
|
'salary': String,
|
|
'easyapply': Number,
|
|
'timestamp': Number,
|
|
'hashed' : { 'type': String, 'required':true, 'unique':true }
|
|
},
|
|
'data': {
|
|
'read': { 'type': Number, 'default': 0 },
|
|
'applied': { 'type': Number, 'default': 0 },
|
|
'jobtype': { 'type': Number, 'default': 0 },
|
|
'class': { 'type': Number, 'default': 0 },
|
|
'autoclass': {
|
|
'good': Array,
|
|
'bad': Array,
|
|
'words': Array,
|
|
'score': { 'type': Number, 'default': 0 }
|
|
},
|
|
'timestamp': { 'type': Number, 'default': 0 },
|
|
'created_at': { 'type': Date, 'default': Date.now }
|
|
}
|
|
|
|
});
|
|
|
|
mongoose.set('useFindAndModify', false);
|
|
|
|
const Jobs = mongoose.model('Jobs', jobSchema);
|
|
|
|
module.exports = Jobs;
|