[30388f42] Infrastructure Hardening: Repaired CE/Connector DB schema, fixed frontend styling build, implemented robust echo shield in worker v2.1.1, and integrated Lead Engine into gateway.
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
import requests
|
||||
import json
|
||||
import os
|
||||
|
||||
TOKEN_FILE = 'notion_api_key.txt'
|
||||
PARENT_PAGE_ID = "2e088f42-8544-8024-8289-deb383da3818" # "Roboplanet" page
|
||||
|
||||
def create_product_database(token):
|
||||
print(f"Creating '📦 RoboPlanet Product Master' database under parent {PARENT_PAGE_ID}...")
|
||||
|
||||
url = "https://api.notion.com/v1/databases"
|
||||
headers = {
|
||||
"Authorization": f"Bearer {token}",
|
||||
"Notion-Version": "2022-06-28",
|
||||
"Content-Type": "application/json"
|
||||
}
|
||||
|
||||
database_definition = {
|
||||
"parent": {"type": "page_id", "page_id": PARENT_PAGE_ID},
|
||||
"title": [{"type": "text", "text": {"content": "📦 RoboPlanet Product Master"}}],
|
||||
"properties": {
|
||||
"Model Name": {"title": {}},
|
||||
"Brand": {"select": {"options": [
|
||||
{"name": "VIGGO", "color": "blue"},
|
||||
{"name": "PUDU", "color": "orange"}
|
||||
]}},
|
||||
"Category": {"select": {"options": [
|
||||
{"name": "cleaning", "color": "green"},
|
||||
{"name": "service", "color": "blue"},
|
||||
{"name": "security", "color": "red"}
|
||||
]}},
|
||||
# Core Specs
|
||||
"Battery Runtime (min)": {"number": {"format": "number"}},
|
||||
"Charge Time (min)": {"number": {"format": "number"}},
|
||||
"Weight (kg)": {"number": {"format": "number"}},
|
||||
"Max Slope (deg)": {"number": {"format": "number"}},
|
||||
# Cleaning Layer
|
||||
"Fresh Water (l)": {"number": {"format": "number"}},
|
||||
"Area Performance (m2/h)": {"number": {"format": "number"}},
|
||||
# Metadata
|
||||
"Manufacturer URL": {"url": {}},
|
||||
"GTM Status": {"status": {}}
|
||||
}
|
||||
}
|
||||
|
||||
try:
|
||||
response = requests.post(url, headers=headers, json=database_definition)
|
||||
response.raise_for_status()
|
||||
new_db = response.json()
|
||||
print(f"\n=== SUCCESS ===")
|
||||
print(f"Database created! ID: {new_db['id']}")
|
||||
print(f"URL: {new_db.get('url')}")
|
||||
return new_db['id']
|
||||
except requests.exceptions.HTTPError as e:
|
||||
print(f"\n=== ERROR ===")
|
||||
print(f"HTTP Error: {e}")
|
||||
print(f"Response: {response.text}")
|
||||
return None
|
||||
|
||||
def main():
|
||||
try:
|
||||
with open(TOKEN_FILE, 'r') as f:
|
||||
token = f.read().strip()
|
||||
except FileNotFoundError:
|
||||
print(f"Error: Could not find '{TOKEN_FILE}'")
|
||||
return
|
||||
|
||||
db_id = create_product_database(token)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user