first commit
This commit is contained in:
138
base44/entities/Announcement.jsonc
Normal file
138
base44/entities/Announcement.jsonc
Normal file
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"name": "Announcement",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"team_id": {
|
||||
"type": "string",
|
||||
"description": "ID of the team that created this announcement"
|
||||
},
|
||||
"vendor_id": {
|
||||
"type": "string",
|
||||
"description": "Vendor/owner ID"
|
||||
},
|
||||
"title": {
|
||||
"type": "string",
|
||||
"description": "Announcement headline"
|
||||
},
|
||||
"body": {
|
||||
"type": "string",
|
||||
"description": "Full announcement content/message"
|
||||
},
|
||||
"flyer_url": {
|
||||
"type": "string",
|
||||
"description": "URL to uploaded flyer image"
|
||||
},
|
||||
"audience": {
|
||||
"type": "array",
|
||||
"description": "Who can see this announcement",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"all",
|
||||
"vendor",
|
||||
"client",
|
||||
"workforce",
|
||||
"procurement",
|
||||
"operator",
|
||||
"sector",
|
||||
"admin"
|
||||
]
|
||||
}
|
||||
},
|
||||
"specific_recipients": {
|
||||
"type": "array",
|
||||
"description": "Specific individual staff members to send this announcement to",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"staff_id": {
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"type": "string"
|
||||
},
|
||||
"email": {
|
||||
"type": "string"
|
||||
},
|
||||
"phone": {
|
||||
"type": "string"
|
||||
},
|
||||
"position": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"draft",
|
||||
"scheduled",
|
||||
"active",
|
||||
"paused",
|
||||
"expired"
|
||||
],
|
||||
"default": "draft",
|
||||
"description": "Current status of the announcement"
|
||||
},
|
||||
"priority": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"low",
|
||||
"normal",
|
||||
"high",
|
||||
"urgent"
|
||||
],
|
||||
"default": "normal",
|
||||
"description": "Announcement priority/urgency level"
|
||||
},
|
||||
"publish_date": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "Scheduled publish date and time"
|
||||
},
|
||||
"expire_date": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "When the announcement stops being visible"
|
||||
},
|
||||
"send_email": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Whether to also send this as an email to audience"
|
||||
},
|
||||
"send_push": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Whether to send push notification"
|
||||
},
|
||||
"pin_to_top": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Pin this announcement to top of feed"
|
||||
},
|
||||
"view_count": {
|
||||
"type": "number",
|
||||
"default": 0,
|
||||
"description": "Number of views"
|
||||
},
|
||||
"tags": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Tags for categorization"
|
||||
},
|
||||
"created_by_name": {
|
||||
"type": "string",
|
||||
"description": "Name of user who created the announcement"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"team_id",
|
||||
"title",
|
||||
"body",
|
||||
"audience",
|
||||
"status"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user