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

196 lines
No EOL
12 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`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>release.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script><script defer src="../../source-script.js"></script><script defer src="../../source-files.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../f3_rs/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../f3_rs/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../f3_rs/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
<span id="2"> 2</span>
<span id="3"> 3</span>
<span id="4"> 4</span>
<span id="5"> 5</span>
<span id="6"> 6</span>
<span id="7"> 7</span>
<span id="8"> 8</span>
<span id="9"> 9</span>
<span id="10">10</span>
<span id="11">11</span>
<span id="12">12</span>
<span id="13">13</span>
<span id="14">14</span>
<span id="15">15</span>
<span id="16">16</span>
<span id="17">17</span>
<span id="18">18</span>
<span id="19">19</span>
<span id="20">20</span>
<span id="21">21</span>
<span id="22">22</span>
<span id="23">23</span>
<span id="24">24</span>
<span id="25">25</span>
<span id="26">26</span>
<span id="27">27</span>
<span id="28">28</span>
<span id="29">29</span>
<span id="30">30</span>
<span id="31">31</span>
<span id="32">32</span>
<span id="33">33</span>
<span id="34">34</span>
<span id="35">35</span>
<span id="36">36</span>
<span id="37">37</span>
<span id="38">38</span>
<span id="39">39</span>
<span id="40">40</span>
<span id="41">41</span>
<span id="42">42</span>
<span id="43">43</span>
<span id="44">44</span>
<span id="45">45</span>
<span id="46">46</span>
<span id="47">47</span>
<span id="48">48</span>
<span id="49">49</span>
<span id="50">50</span>
<span id="51">51</span>
<span id="52">52</span>
<span id="53">53</span>
<span id="54">54</span>
<span id="55">55</span>
<span id="56">56</span>
<span id="57">57</span>
<span id="58">58</span>
<span id="59">59</span>
<span id="60">60</span>
<span id="61">61</span>
<span id="62">62</span>
<span id="63">63</span>
<span id="64">64</span>
<span id="65">65</span>
<span id="66">66</span>
<span id="67">67</span>
<span id="68">68</span>
<span id="69">69</span>
<span id="70">70</span>
<span id="71">71</span>
<span id="72">72</span>
<span id="73">73</span>
<span id="74">74</span>
<span id="75">75</span>
<span id="76">76</span>
<span id="77">77</span>
<span id="78">78</span>
<span id="79">79</span>
<span id="80">80</span>
<span id="81">81</span>
<span id="82">82</span>
<span id="83">83</span>
<span id="84">84</span>
<span id="85">85</span>
<span id="86">86</span>
<span id="87">87</span>
<span id="88">88</span>
<span id="89">89</span>
<span id="90">90</span>
<span id="91">91</span>
<span id="92">92</span>
<span id="93">93</span>
<span id="94">94</span>
</pre><pre class="rust"><code><span class="comment">/*
* Copyright (C) 2023 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see &lt;https://www.gnu.org/licenses/&gt;.
*/</span>
<span class="doccomment">//! Assets that constitute a release for a given tag.</span>
<span class="kw">use</span> <span class="ident">serde</span>::{<span class="ident">Deserialize</span>, <span class="ident">Serialize</span>};
<span class="doccomment">/// Assets that constitute a release for a given tag.</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Clone</span>, <span class="ident">Debug</span>, <span class="ident">Serialize</span>, <span class="ident">Deserialize</span>, <span class="ident">Default</span>, <span class="ident">Eq</span>, <span class="ident">PartialEq</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">Release</span> {
<span class="doccomment">/// Unique identifier</span>
<span class="kw">pub</span> <span class="ident">index</span>: <span class="ident">usize</span>,
<span class="doccomment">/// Git tag name of the release.</span>
<span class="kw">pub</span> <span class="ident">tag_name</span>: <span class="ident">String</span>,
<span class="doccomment">/// Specifies the commitish value that determines where the Git tag is created from. Can be any</span>
<span class="doccomment">/// branch or commit SHA. Unused if the Git tag already exists.</span>
<span class="kw">pub</span> <span class="ident">target_commitish</span>: <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">String</span><span class="op">&gt;</span>,
<span class="doccomment">/// The name of the release</span>
<span class="kw">pub</span> <span class="ident">name</span>: <span class="ident">String</span>,
<span class="doccomment">/// Text describing the contents of the release.</span>
<span class="kw">pub</span> <span class="ident">body</span>: <span class="ident">String</span>,
<span class="doccomment">/// True if the release is a draft.</span>
<span class="kw">pub</span> <span class="ident">draft</span>: <span class="ident">bool</span>,
<span class="doccomment">/// True if the release is a pre-release.</span>
<span class="kw">pub</span> <span class="ident">prerelease</span>: <span class="ident">bool</span>,
<span class="doccomment">/// Unique identifier of the user who authored the release.</span>
<span class="kw">pub</span> <span class="ident">publisher_id</span>: <span class="ident">usize</span>,
<span class="doccomment">/// Name of the user who authored the release.</span>
<span class="kw">pub</span> <span class="ident">publisher_name</span>: <span class="ident">String</span>,
<span class="doccomment">/// Email of the user who authored the release.</span>
<span class="kw">pub</span> <span class="ident">publisher_email</span>: <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">String</span><span class="op">&gt;</span>,
<span class="doccomment">/// List of assets associated with the release.</span>
<span class="kw">pub</span> <span class="ident">assets</span>: <span class="prelude-ty">Option</span><span class="op">&lt;</span><span class="ident">Vec</span><span class="op">&lt;</span><span class="ident">ReleaseAsset</span><span class="op">&gt;</span><span class="op">&gt;</span>,
<span class="comment">// TODO: add validation for format &quot;date-time&quot;</span>
<span class="doccomment">/// Creation time</span>
<span class="kw">pub</span> <span class="ident">created</span>: <span class="ident">String</span>,
<span class="comment">// TODO: add validation for format &quot;date-time&quot;</span>
<span class="doccomment">/// Publication time.</span>
<span class="kw">pub</span> <span class="ident">published</span>: <span class="ident">String</span>,
}
<span class="doccomment">/// A file associated with a release.</span>
<span class="attribute">#[<span class="ident">derive</span>(<span class="ident">Clone</span>, <span class="ident">Debug</span>, <span class="ident">Serialize</span>, <span class="ident">Deserialize</span>, <span class="ident">Default</span>, <span class="ident">Eq</span>, <span class="ident">PartialEq</span>)]</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">ReleaseAsset</span> {
<span class="doccomment">/// Unique identifier of the release asset.</span>
<span class="kw">pub</span> <span class="ident">index</span>: <span class="ident">usize</span>,
<span class="doccomment">/// The name of the release asset.</span>
<span class="kw">pub</span> <span class="ident">name</span>: <span class="ident">String</span>,
<span class="doccomment">/// The content type of the release asset (application/zip, etc.).</span>
<span class="kw">pub</span> <span class="ident">content_type</span>: <span class="ident">String</span>,
<span class="doccomment">/// Size in bytes of the release asset.</span>
<span class="kw">pub</span> <span class="ident">size</span>: <span class="ident">String</span>,
<span class="doccomment">/// The number of times the release asset was downloaded.</span>
<span class="kw">pub</span> <span class="ident">download_count</span>: <span class="ident">usize</span>,
<span class="comment">// TODO: add validation for format &quot;date-time&quot;</span>
<span class="doccomment">/// Creation time</span>
<span class="kw">pub</span> <span class="ident">created</span>: <span class="ident">String</span>,
<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> <span class="ident">updated</span>: <span class="ident">String</span>,
<span class="doccomment">/// The URL from which the release asset can be downloaded.</span>
<span class="kw">pub</span> <span class="ident">download_url</span>: <span class="ident">String</span>,
}
</code></pre></div>
</section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="f3_rs" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.60.0 (7737e0b5c 2022-04-04)" ></div>
</body></html>