|
|
"""
|
|
|
Database views for CouchDB.
|
|
|
"""
|
|
|
from typing import Dict
|
|
|
|
|
|
|
|
|
|
|
|
VIEWS: Dict[str, Dict] = {
|
|
|
'agents': {
|
|
|
'_design/agents': {
|
|
|
'views': {
|
|
|
'active': {
|
|
|
'map': '''function(doc) {
|
|
|
if (doc.status === 'active') {
|
|
|
emit(doc._id, doc);
|
|
|
}
|
|
|
}'''
|
|
|
},
|
|
|
'by_status': {
|
|
|
'map': '''function(doc) {
|
|
|
emit(doc.status, doc);
|
|
|
}'''
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
'jobs': {
|
|
|
'_design/jobs': {
|
|
|
'views': {
|
|
|
'pending': {
|
|
|
'map': '''function(doc) {
|
|
|
if (doc.status === 'pending') {
|
|
|
emit(doc._id, doc);
|
|
|
}
|
|
|
}'''
|
|
|
},
|
|
|
'by_agent': {
|
|
|
'map': '''function(doc) {
|
|
|
if (doc.assigned_to) {
|
|
|
emit(doc.assigned_to, doc);
|
|
|
}
|
|
|
}'''
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
'gradients': {
|
|
|
'_design/gradients': {
|
|
|
'views': {
|
|
|
'by_job': {
|
|
|
'map': '''function(doc) {
|
|
|
emit(doc.job_id, doc);
|
|
|
}'''
|
|
|
},
|
|
|
'by_timestamp': {
|
|
|
'map': '''function(doc) {
|
|
|
emit(doc.timestamp, doc);
|
|
|
}'''
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
'model_state': {
|
|
|
'_design/model_state': {
|
|
|
'views': {
|
|
|
'by_timestamp': {
|
|
|
'map': '''function(doc) {
|
|
|
emit(doc.timestamp, doc);
|
|
|
}'''
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} |