Files
dealplustech/.astro/collections/products.schema.json
Kunthawat 28c4f8d981 feat: Migrate Astro to root - Replace Next.js completely
- Removed Next.js project (src, app, components, etc.)
- Moved Astro from dealplustech-astro/ to root
- Updated Dockerfile for Astro root deployment
- All PDPA compliance features preserved:
  * Cookie consent banner
  * Consent logging API with SQLite
  * Admin dashboard (/admin/consent-logs)
  * Privacy Policy (Thai, PDPA-compliant)
  * Terms & Conditions (Thai)
- 15 pages: homepage, 6 products, 3 blog posts, legal pages, admin
- Build: 660ms, all pages generated successfully
2026-03-10 22:11:57 +07:00

168 lines
3.6 KiB
JSON

{
"$ref": "#/definitions/products",
"definitions": {
"products": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"nameEn": {
"type": "string"
},
"slug": {
"type": "string"
},
"description": {
"type": "string"
},
"shortDescription": {
"type": "string"
},
"keywords": {
"type": "array",
"items": {
"type": "string"
}
},
"seoContent": {
"type": "string"
},
"image": {
"type": "string"
},
"specifications": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string"
},
"value": {
"type": "string"
},
"unit": {
"type": "string"
}
},
"required": [
"label",
"value"
],
"additionalProperties": false
}
},
"features": {
"type": "array",
"items": {
"type": "string"
}
},
"applications": {
"type": "array",
"items": {
"type": "string"
}
},
"certifications": {
"type": "array",
"items": {
"type": "string"
}
},
"productTables": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tableName": {
"type": "string"
},
"headers": {
"type": "array",
"items": {
"type": "string"
}
},
"rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"required": [
"tableName",
"headers",
"rows"
],
"additionalProperties": false
}
},
"faq": {
"type": "array",
"items": {
"type": "object",
"properties": {
"question": {
"type": "string"
},
"answer": {
"type": "string"
}
},
"required": [
"question",
"answer"
],
"additionalProperties": false
}
},
"relatedProductIds": {
"type": "array",
"items": {
"type": "string"
}
},
"schemaData": {
"type": "object",
"properties": {
"brand": {
"type": "string"
},
"manufacturer": {
"type": "string"
},
"material": {
"type": "string"
},
"category": {
"type": "string"
}
},
"additionalProperties": false
},
"$schema": {
"type": "string"
}
},
"required": [
"id",
"name",
"nameEn",
"slug",
"description",
"image"
],
"additionalProperties": false
}
},
"$schema": "http://json-schema.org/draft-07/schema#"
}