pub struct GitLabIssueLink {
pub id: Uuid,
pub issue_iid: u64,
pub project_id: Option<u64>,
pub issue_title: String,
pub link_type: GitLabLinkType,
pub notes: Option<String>,
pub created_at: DateTime<Utc>,
pub created_by: Option<String>,
pub last_synced: Option<DateTime<Utc>>,
pub issue_state: Option<String>,
}Expand description
Represents a link between an AIDA requirement and a GitLab issue Used to track traceability between specs and implementation work
Fields§
§id: UuidUnique identifier for the link
issue_iid: u64GitLab issue IID (project-scoped issue number)
project_id: Option<u64>GitLab project ID (optional - uses default from config if not set)
issue_title: StringDisplay title for the issue (cached from GitLab)
link_type: GitLabLinkTypeType of link between requirement and issue
notes: Option<String>Optional notes about this link
created_at: DateTime<Utc>When this link was created
created_by: Option<String>Who created this link
last_synced: Option<DateTime<Utc>>Last time the issue data was synced from GitLab
issue_state: Option<String>GitLab issue state when last synced (open/closed)
Implementations§
Source§impl GitLabIssueLink
impl GitLabIssueLink
Sourcepub fn new(issue_iid: u64, issue_title: impl Into<String>) -> GitLabIssueLink
pub fn new(issue_iid: u64, issue_title: impl Into<String>) -> GitLabIssueLink
Creates a new GitLab issue link
Sourcepub fn with_project(self, project_id: u64) -> GitLabIssueLink
pub fn with_project(self, project_id: u64) -> GitLabIssueLink
Sets the project ID
Sourcepub fn with_link_type(self, link_type: GitLabLinkType) -> GitLabIssueLink
pub fn with_link_type(self, link_type: GitLabLinkType) -> GitLabIssueLink
Sets the link type
Sourcepub fn with_creator(self, creator: impl Into<String>) -> GitLabIssueLink
pub fn with_creator(self, creator: impl Into<String>) -> GitLabIssueLink
Sets the creator
Sourcepub fn with_notes(self, notes: impl Into<String>) -> GitLabIssueLink
pub fn with_notes(self, notes: impl Into<String>) -> GitLabIssueLink
Sets notes
Sourcepub fn update_from_issue(&mut self, title: &str, state: &str)
pub fn update_from_issue(&mut self, title: &str, state: &str)
Update sync metadata from GitLab issue
Sourcepub fn display_id(&self) -> String
pub fn display_id(&self) -> String
Returns a display string like “GL-123”
Trait Implementations§
Source§impl Clone for GitLabIssueLink
impl Clone for GitLabIssueLink
Source§fn clone(&self) -> GitLabIssueLink
fn clone(&self) -> GitLabIssueLink
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GitLabIssueLink
impl Debug for GitLabIssueLink
Source§impl<'de> Deserialize<'de> for GitLabIssueLink
impl<'de> Deserialize<'de> for GitLabIssueLink
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<GitLabIssueLink, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<GitLabIssueLink, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for GitLabIssueLink
impl PartialEq for GitLabIssueLink
Source§impl Serialize for GitLabIssueLink
impl Serialize for GitLabIssueLink
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl TS for GitLabIssueLink
impl TS for GitLabIssueLink
Source§type WithoutGenerics = GitLabIssueLink
type WithoutGenerics = GitLabIssueLink
If this type does not have generic parameters, then
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or ().
The only requirement for these dummy types is that EXPORT_TO must be None. Read moreSource§type OptionInnerType = GitLabIssueLink
type OptionInnerType = GitLabIssueLink
If the implementing type is
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn docs() -> Option<String>
fn docs() -> Option<String>
JSDoc comment to describe this type in TypeScript - when
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn decl_concrete() -> String
fn decl_concrete() -> String
Declaration of this type using the supplied generic arguments.
The resulting TypeScript definition will not be generic. For that, see
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl() -> String
fn decl() -> String
Declaration of this type, e.g.
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline() -> String
fn inline() -> String
Formats this types definition in TypeScript, e.g
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened() -> String
fn inline_flattened() -> String
Flatten a type declaration.
This function will panic if the type cannot be flattened.
This function will panic if the type cannot be flattened.
Source§fn visit_generics(v: &mut impl TypeVisitor)where
GitLabIssueLink: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
GitLabIssueLink: 'static,
Iterates over all type parameters of this type.
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
Returns the output path to where
The returned path does not include the base directory from
T should be exported.The returned path does not include the base directory from
TS_RS_EXPORT_DIR. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
GitLabIssueLink: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
GitLabIssueLink: 'static,
Iterates over all dependency of this type.
Source§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
Resolves all dependencies of this type recursively.
Source§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
Manually export this type to the filesystem.
To export this type together with all of its dependencies, use
TS::export_all. Read moreSource§fn export_all() -> Result<(), ExportError>where
Self: 'static,
fn export_all() -> Result<(), ExportError>where
Self: 'static,
Manually export this type to the filesystem, together with all of its dependencies.
To export only this type, without its dependencies, use
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
Manually export this type into the given directory, together with all of its dependencies.
To export only this type, without its dependencies, use
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
impl Eq for GitLabIssueLink
impl StructuralPartialEq for GitLabIssueLink
Auto Trait Implementations§
impl Freeze for GitLabIssueLink
impl RefUnwindSafe for GitLabIssueLink
impl Send for GitLabIssueLink
impl Sync for GitLabIssueLink
impl Unpin for GitLabIssueLink
impl UnsafeUnpin for GitLabIssueLink
impl UnwindSafe for GitLabIssueLink
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.