Skip to main content

relay_knowledge/domain/code/
dependencies.rs

1use serde::{Deserialize, Serialize};
2
3use super::RepositoryCodeRange;
4
5/// Dependency declaration extracted from package manager manifest or lock files.
6#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
7pub struct CodeDependencyRecord {
8    pub repository_id: String,
9    pub source_scope: String,
10    pub dependency_id: String,
11    pub file_id: String,
12    pub path: String,
13    pub language_id: String,
14    pub ecosystem: String,
15    pub package_name: String,
16    #[serde(skip_serializing_if = "Option::is_none")]
17    pub requirement: Option<String>,
18    #[serde(skip_serializing_if = "Option::is_none")]
19    pub resolved_version: Option<String>,
20    pub dependency_group: String,
21    pub source_kind: String,
22    pub is_lockfile: bool,
23    pub line_range: RepositoryCodeRange,
24    pub excerpt: String,
25}