use super::{DependencyPackage, SourceFile};
use toasty::Model;
#[derive(Debug, Clone, Model)]
#[table = "symbol"]
pub struct Symbol {
#[key]
#[auto]
pub id: u64,
#[index]
pub project_id: u64,
#[index]
pub file_id: u64,
#[belongs_to(key = file_id)]
pub source_file: toasty::Deferred<SourceFile>,
#[index]
pub dependency_package_id: Option<u64>,
#[belongs_to(key = dependency_package_id)]
pub dependency_package: toasty::Deferred<Option<DependencyPackage>>,
pub scope_id: Option<u64>,
#[index]
pub name: String,
#[index]
pub qualified_name: String, pub kind: String, pub visibility: String, pub signature: String,
pub docstring: Option<String>,
pub start_byte: usize,
pub end_byte: usize,
pub start_line: u32,
pub end_line: u32,
}