pub struct ProjectsProject {Show 26 fields
pub analytics: Option<bool>,
pub bucket: Option<String>,
pub cache_control: Option<String>,
pub created_at: Option<i32>,
pub current_deployment_id: Option<String>,
pub description: Option<String>,
pub forked_from: Option<String>,
pub framework: Option<String>,
pub hidden: Option<bool>,
pub hidden_reason: Option<String>,
pub id: Option<String>,
pub key: Option<String>,
pub last_purge_at: Option<i32>,
pub license: Option<String>,
pub live_url: Option<String>,
pub name: Option<String>,
pub org: Option<String>,
pub repo: Option<Box<ProjectsRepo>>,
pub slug: Option<String>,
pub space: Option<String>,
pub starred: Option<bool>,
pub status: Option<String>,
pub tags: Option<HashMap<String, String>>,
pub updated_at: Option<i32>,
pub upstream: Option<String>,
pub visibility: Option<String>,
}Fields§
§analytics: Option<bool>Analytics is whether the web-analytics beacon is injected into this site’s pages. It is ON by default — a project has to opt out — and it is what the static builder reads to decide whether to inject at all.
bucket: Option<String>Bucket is the object-store bucket the site’s files are served out of.
cache_control: Option<String>CacheControl is the Cache-Control policy the edge serves this site’s HTML under — how long a reader may hold a stale page before asking again. Assets are content-addressed and are not governed by it.
created_at: Option<i32>CreatedAt is when the project was created, as Unix seconds.
current_deployment_id: Option<String>CurrentDeploymentID names the deployment currently serving, so a caller can ask what is live without scanning the history.
description: Option<String>Description is the one-line summary, which is copied onto forks of this project and shown on a gallery card.
forked_from: Option<String>ForkedFrom is the parent this project was forked from ("
framework: Option<String>Framework is a BUILD HINT from a closed set, defaulting to static. It tells CI how to build a linked repo and never gates a deploy, so a wrong value costs a build rather than access.
Hidden is PLATFORM MODERATION, and it is a different axis from visibility: it pulls a public project out of the catalogue without editing the publisher’s own choice, so un-hiding restores exactly what they asked for. A project is listed only when it is public AND not hidden. Always present, never omitted, for the same reason as visibility.
HiddenReason is why moderation hid it. Absent when it is not hidden.
id: Option<String>ID is the project’s internal identifier. It is stable across a rename, but it is not what the API addresses this project by — slug is.
key: Option<String>Key is the project’s publishable ingest key, minted at create. It is the value the injected beacon carries and the ONE thing that attributes this site’s events; the static-builder reads it beside analytics. Publishable means it belongs in a page’s source: it names a write scope and mints no principal, so it is returned in full rather than masked. Masking it would only mean every caller needed a second endpoint to get the thing the page already ships.
last_purge_at: Option<i32>LastPurgeAt is when the edge cache was last cleared, as Unix seconds, so a console can say how fresh what readers see actually is. Absent means never.
license: Option<String>License is the terms that upstream work carries. Absent has the same reading: undeclared, not unencumbered.
live_url: Option<String>LiveURL is where the site answers today. Absent until something has been deployed.
name: Option<String>Name is the project’s display name, free text a person chose.
org: Option<String>Org is the organisation that owns the project, and therefore who pays for it and who may change it. It is also the AUTHORSHIP line a gallery credits; there is no separate author field.
repo: Option<Box<ProjectsRepo>>Repo is the git source this project builds from, empty when it is deployed by uploading an artifact instead.
slug: Option<String>Slug is the identifier that MATTERS: the handle every later call addresses, the S3 key segment the site’s objects live under, and the label of the public host <slug>.hanzo.app. Because it is a hostname it is constrained and reserved labels such as api are refused.
space: Option<String>Space is the project’s Base data space, which is where a deployed site’s form, forum and data submissions land. Absent means the site stores nothing.
starred: Option<bool>Starred is THIS CALLER’s star, not a property of the project — two people in the same org see different values for the same row, which is the whole point of it. Always present so a client can tell "not starred" from "this API is too old to say", the same reason visibility and hidden are.
status: Option<String>Status is where the project stands — whether a build has ever succeeded and whether anything is serving right now.
Tags is the site’s browser tag config: platform slug → non-secret pixel id (GA measurement, Meta pixel, …) — what track.js injects and the server CAPI reads, per site. Omitted when none are set. The API SECRET is never here (KMS).
updated_at: Option<i32>UpdatedAt is when the project’s own record last changed, as Unix seconds. A deploy is not an edit of the project, so this does not move on every publish.
upstream: Option<String>Upstream credits the third-party work this project was published from — a free-text line, because the honest answer is a name and a title that no enum could hold. Absent means NOBODY HAS SAID, not that there is nothing to say.
visibility: Option<String>Visibility is "public" or "private", and Hidden reports platform moderation. Both are always present (never omitempty) so a consumer can tell a real answer from "this API is too old to say" — and so a console never renders a project as public because a field was missing. Authorship is deliberately absent: it is Org, above.
Implementations§
Source§impl ProjectsProject
impl ProjectsProject
pub fn new() -> ProjectsProject
Trait Implementations§
Source§impl Clone for ProjectsProject
impl Clone for ProjectsProject
Source§fn clone(&self) -> ProjectsProject
fn clone(&self) -> ProjectsProject
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more