(store: &ModStore)
| 218 | } |
| 219 | |
| 220 | pub async fn seed_dev_mods(store: &ModStore) -> Result<usize> { |
| 221 | let mut seeded = 0; |
| 222 | let mut reader = csv::Reader::from_reader(DEV_SEED_MODS_CSV.as_bytes()); |
| 223 | for row in reader.deserialize::<DevModSeedRow>() { |
| 224 | let row = row.context("parsing embedded dev mods seed")?; |
| 225 | let version = mod_version_from_id(&row.mod_id).to_string(); |
| 226 | let size_bytes = (row.mod_id.len() as u64) * 1_048_576; |
| 227 | |
| 228 | let metadata = ModCatalogEntry { |
| 229 | mod_id: row.mod_id, |
| 230 | app_name: Some("CWR".to_string()), |
| 231 | actver: Some(305), |
| 232 | version_tag: None, |
| 233 | compatible: false, |
| 234 | name: row.name, |
| 235 | version, |
| 236 | package_revision: 1, |
| 237 | sha256: None, |
| 238 | published_unix_ms: None, |
| 239 | folder_name: None, |
| 240 | description: row.description.trim_end_matches(" Website").to_string(), |
| 241 | authors: Vec::new(), |
| 242 | homepage_url: some_if_present(&row.homepage_url), |
| 243 | download_url: some_if_present(&row.download_url), |
| 244 | size_bytes: Some(size_bytes), |
| 245 | }; |
| 246 | |
| 247 | store.put_metadata(&metadata).await?; |
| 248 | seeded += 1; |
no test coverage detected