-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathfirebase-blueprint.json
More file actions
29 lines (29 loc) · 1.25 KB
/
Copy pathfirebase-blueprint.json
File metadata and controls
29 lines (29 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
{
"entities": {
"Paper": {
"title": "Paper",
"description": "An intelligence briefing or document submitted or published on GrayTell.",
"type": "object",
"properties": {
"id": { "type": "string", "maxLength": 128 },
"title": { "type": "string", "maxLength": 200 },
"summary": { "type": "string", "maxLength": 1000 },
"content": { "type": "string", "maxLength": 10000 },
"category": { "type": "string", "enum": ["counter-terrorism", "military", "crime"] },
"status": { "type": "string", "enum": ["pending", "approved", "rejected"] },
"authorId": { "type": "string", "maxLength": 128 },
"authorEmail": { "type": "string", "maxLength": 128 },
"createdAt": { "type": "string", "maxLength": 128 },
"updatedAt": { "type": "string", "maxLength": 128 },
"sources": { "type": "array", "description": "Array of sources with name, url, logoUrl" }
},
"required": ["id", "title", "content", "category", "status", "authorId", "authorEmail", "createdAt", "updatedAt", "sources"]
}
},
"firestore": {
"/papers/{paperId}": {
"schema": "Paper",
"description": "Collection of intelligence papers, briefings, and draft submissions."
}
}
}