-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfirebase-blueprint.json
More file actions
128 lines (128 loc) · 4.26 KB
/
Copy pathfirebase-blueprint.json
File metadata and controls
128 lines (128 loc) · 4.26 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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
{
"entities": {
"Supplier": {
"title": "Supplier",
"description": "An external supply partner.",
"type": "object",
"properties": {
"code": { "type": "string" },
"name": { "type": "string" },
"contactPerson": { "type": "string" },
"email": { "type": "string", "format": "email" },
"phone": { "type": "string" },
"address": { "type": "string" },
"status": { "type": "string", "enum": ["active", "inactive"] },
"notes": { "type": "string" }
},
"required": ["code", "name", "email", "status"]
},
"Product": {
"title": "Product",
"description": "An inventory item.",
"type": "object",
"properties": {
"sku": { "type": "string" },
"name": { "type": "string" },
"category": { "type": "string" },
"unit": { "type": "string" },
"costPrice": { "type": "number" },
"sellingPrice": { "type": "number" },
"currentStock": { "type": "number" },
"reorderLevel": { "type": "number" },
"status": { "type": "string", "enum": ["active", "discontinued"] }
},
"required": ["sku", "name", "category", "status"]
},
"Lead": {
"title": "Lead",
"description": "A potential customer prospect.",
"type": "object",
"properties": {
"code": { "type": "string" },
"fullName": { "type": "string" },
"company": { "type": "string" },
"email": { "type": "string", "format": "email" },
"phone": { "type": "string" },
"source": { "type": "string" },
"status": { "type": "string", "enum": ["new", "contacted", "qualified", "proposal", "won", "lost"] },
"assignedUserId": { "type": "string" },
"notes": { "type": "string" }
},
"required": ["code", "fullName", "company", "status"]
},
"Customer": {
"title": "Customer",
"description": "A converted business account.",
"type": "object",
"properties": {
"code": { "type": "string" },
"name": { "type": "string" },
"company": { "type": "string" },
"email": { "type": "string", "format": "email" },
"phone": { "type": "string" },
"address": { "type": "string" },
"accountManagerId": { "type": "string" },
"status": { "type": "string", "enum": ["active", "inactive"] }
},
"required": ["code", "name", "company", "status"]
},
"Deal": {
"title": "Deal",
"description": "A sales opportunity pipeline entry.",
"type": "object",
"properties": {
"code": { "type": "string" },
"title": { "type": "string" },
"customerId": { "type": "string" },
"leadId": { "type": "string" },
"amount": { "type": "number" },
"stage": { "type": "string", "enum": ["open", "negotiation", "proposal", "won", "lost"] },
"ownerId": { "type": "string" },
"expectedCloseDate": { "type": "string" },
"notes": { "type": "string" }
},
"required": ["code", "title", "customerId", "amount", "stage"]
},
"AuditLog": {
"title": "Audit Log",
"description": "A record of system events.",
"type": "object",
"properties": {
"entityType": { "type": "string" },
"entityId": { "type": "string" },
"action": { "type": "string", "enum": ["create", "update", "delete", "login"] },
"userId": { "type": "string" },
"userName": { "type": "string" },
"details": { "type": "string" },
"timestamp": { "type": "string" }
},
"required": ["entityType", "entityId", "action", "userId", "timestamp"]
}
},
"firestore": {
"/suppliers/{supplierId}": {
"schema": "Supplier",
"description": "Supplier master records"
},
"/products/{productId}": {
"schema": "Product",
"description": "Inventory products"
},
"/leads/{leadId}": {
"schema": "Lead",
"description": "CRM leads"
},
"/customers/{customerId}": {
"schema": "Customer",
"description": "Customer accounts"
},
"/deals/{dealId}": {
"schema": "Deal",
"description": "Sales opportunities"
},
"/audit_logs/{logId}": {
"schema": "AuditLog",
"description": "System event logs"
}
}
}