f3-rs/src/f3_rs/release.rs.html

167 lines
No EOL
10 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `src/release.rs`."><title>release.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-cb6f1f67f1bcd037.css" id="mainThemeStyle"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="f3_rs" data-themes="" data-resource-suffix="" data-rustdoc-version="1.73.0 (cc66ad468 2023-10-03)" data-channel="1.73.0" data-search-js="search-6dfdfced5eff6596.js" data-settings-js="settings-de11bff964e9d4e5.js" data-settings-css="settings-8c76f75bfb6bd192.css" data-theme-light-css="light-1596385f77d47ef2.css" data-theme-dark-css="dark-0a43001d3fc2282c.css" data-theme-ayu-css="ayu-fd19013d6ce078bf.css" ><script src="../../static.files/storage-db41da1a38ea3cb8.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-0795b7d26be81095.js"></script><noscript><link rel="stylesheet" media="(prefers-color-scheme:light)" href="../../static.files/light-1596385f77d47ef2.css"><link rel="stylesheet" media="(prefers-color-scheme:dark)" href="../../static.files/dark-0a43001d3fc2282c.css"><link rel="stylesheet" href="../../static.files/noscript-cffde32267a19fd6.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../f3_rs/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
<a href="#2" id="2">2</a>
<a href="#3" id="3">3</a>
<a href="#4" id="4">4</a>
<a href="#5" id="5">5</a>
<a href="#6" id="6">6</a>
<a href="#7" id="7">7</a>
<a href="#8" id="8">8</a>
<a href="#9" id="9">9</a>
<a href="#10" id="10">10</a>
<a href="#11" id="11">11</a>
<a href="#12" id="12">12</a>
<a href="#13" id="13">13</a>
<a href="#14" id="14">14</a>
<a href="#15" id="15">15</a>
<a href="#16" id="16">16</a>
<a href="#17" id="17">17</a>
<a href="#18" id="18">18</a>
<a href="#19" id="19">19</a>
<a href="#20" id="20">20</a>
<a href="#21" id="21">21</a>
<a href="#22" id="22">22</a>
<a href="#23" id="23">23</a>
<a href="#24" id="24">24</a>
<a href="#25" id="25">25</a>
<a href="#26" id="26">26</a>
<a href="#27" id="27">27</a>
<a href="#28" id="28">28</a>
<a href="#29" id="29">29</a>
<a href="#30" id="30">30</a>
<a href="#31" id="31">31</a>
<a href="#32" id="32">32</a>
<a href="#33" id="33">33</a>
<a href="#34" id="34">34</a>
<a href="#35" id="35">35</a>
<a href="#36" id="36">36</a>
<a href="#37" id="37">37</a>
<a href="#38" id="38">38</a>
<a href="#39" id="39">39</a>
<a href="#40" id="40">40</a>
<a href="#41" id="41">41</a>
<a href="#42" id="42">42</a>
<a href="#43" id="43">43</a>
<a href="#44" id="44">44</a>
<a href="#45" id="45">45</a>
<a href="#46" id="46">46</a>
<a href="#47" id="47">47</a>
<a href="#48" id="48">48</a>
<a href="#49" id="49">49</a>
<a href="#50" id="50">50</a>
<a href="#51" id="51">51</a>
<a href="#52" id="52">52</a>
<a href="#53" id="53">53</a>
<a href="#54" id="54">54</a>
<a href="#55" id="55">55</a>
<a href="#56" id="56">56</a>
<a href="#57" id="57">57</a>
<a href="#58" id="58">58</a>
<a href="#59" id="59">59</a>
<a href="#60" id="60">60</a>
<a href="#61" id="61">61</a>
<a href="#62" id="62">62</a>
<a href="#63" id="63">63</a>
<a href="#64" id="64">64</a>
<a href="#65" id="65">65</a>
<a href="#66" id="66">66</a>
<a href="#67" id="67">67</a>
<a href="#68" id="68">68</a>
<a href="#69" id="69">69</a>
<a href="#70" id="70">70</a>
<a href="#71" id="71">71</a>
<a href="#72" id="72">72</a>
<a href="#73" id="73">73</a>
<a href="#74" id="74">74</a>
<a href="#75" id="75">75</a>
<a href="#76" id="76">76</a>
<a href="#77" id="77">77</a>
<a href="#78" id="78">78</a>
<a href="#79" id="79">79</a>
<a href="#80" id="80">80</a>
<a href="#81" id="81">81</a>
<a href="#82" id="82">82</a>
<a href="#83" id="83">83</a>
</pre></div><pre class="rust"><code><span class="comment">// Copyright (C) 2023 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
// SPDX-FileCopyrightText: 2023 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
//
// SPDX-License-Identifier: MIT
</span><span class="doccomment">//! Assets that constitute a release for a given tag.
</span><span class="kw">use </span>serde::{Deserialize, Serialize};
<span class="doccomment">/// Assets that constitute a release for a given tag.
</span><span class="attr">#[derive(Clone, Debug, Serialize, Deserialize, Default, Eq, PartialEq)]
</span><span class="kw">pub struct </span>Release {
<span class="doccomment">/// Unique identifier
</span><span class="kw">pub </span>index: usize,
<span class="doccomment">/// Git tag name of the release.
</span><span class="kw">pub </span>tag_name: String,
<span class="doccomment">/// Specifies the commitish value that determines where the Git tag is created from. Can be any
/// branch or commit SHA. Unused if the Git tag already exists.
</span><span class="kw">pub </span>target_commitish: <span class="prelude-ty">Option</span>&lt;String&gt;,
<span class="doccomment">/// The name of the release
</span><span class="kw">pub </span>name: String,
<span class="doccomment">/// Text describing the contents of the release.
</span><span class="kw">pub </span>body: String,
<span class="doccomment">/// True if the release is a draft.
</span><span class="kw">pub </span>draft: bool,
<span class="doccomment">/// True if the release is a pre-release.
</span><span class="kw">pub </span>prerelease: bool,
<span class="doccomment">/// Unique identifier of the user who authored the release.
</span><span class="kw">pub </span>publisher_id: usize,
<span class="doccomment">/// Name of the user who authored the release.
</span><span class="kw">pub </span>publisher_name: String,
<span class="doccomment">/// Email of the user who authored the release.
</span><span class="kw">pub </span>publisher_email: <span class="prelude-ty">Option</span>&lt;String&gt;,
<span class="doccomment">/// List of assets associated with the release.
</span><span class="kw">pub </span>assets: <span class="prelude-ty">Option</span>&lt;Vec&lt;ReleaseAsset&gt;&gt;,
<span class="comment">// TODO: add validation for format &quot;date-time&quot;
</span><span class="doccomment">/// Creation time
</span><span class="kw">pub </span>created: String,
<span class="comment">// TODO: add validation for format &quot;date-time&quot;
</span><span class="doccomment">/// Publication time.
</span><span class="kw">pub </span>published: String,
}
<span class="doccomment">/// A file associated with a release.
</span><span class="attr">#[derive(Clone, Debug, Serialize, Deserialize, Default, Eq, PartialEq)]
</span><span class="kw">pub struct </span>ReleaseAsset {
<span class="doccomment">/// Unique identifier of the release asset.
</span><span class="kw">pub </span>index: usize,
<span class="doccomment">/// The name of the release asset.
</span><span class="kw">pub </span>name: String,
<span class="doccomment">/// The content type of the release asset (application/zip, etc.).
</span><span class="kw">pub </span>content_type: String,
<span class="doccomment">/// Size in bytes of the release asset.
</span><span class="kw">pub </span>size: String,
<span class="doccomment">/// The number of times the release asset was downloaded.
</span><span class="kw">pub </span>download_count: usize,
<span class="comment">// TODO: add validation for format &quot;date-time&quot;
</span><span class="doccomment">/// Creation time
</span><span class="kw">pub </span>created: String,
<span class="comment">// TODO: add validation for format &quot;date-time&quot;
</span><span class="doccomment">/// Last update time.
</span><span class="kw">pub </span>updated: String,
<span class="doccomment">/// The URL from which the release asset can be downloaded.
</span><span class="kw">pub </span>download_url: String,
}
</code></pre></div></section></main></body></html>