lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README | LICENSE

commit 32f2ff8515a239a61fe9f7945e6d8a68165e59dd
parent 82a70fe140d78f5feedd0d3029924bb615837af8
Author: triesap <tyson@radroots.org>
Date:   Sat,  9 Aug 2025 19:20:15 +0000

workspace: update indexer manifest and shard metadata types

Diffstat:
Mbindings/ts/src/schema.ts | 38+++++++++++++++++++-------------------
Mbindings/ts/src/types.ts | 38+++++++++++++++++++-------------------
Msrc/models/indexer.rs | 6+++---
3 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/bindings/ts/src/schema.ts b/bindings/ts/src/schema.ts @@ -76,6 +76,25 @@ export const listingOrderRequestSchema = z.object({ payload: listingOrderRequestPayloadSchema, }); +export const radrootsIndexShardMetadataSchema = z.object({ + file: z.string(), + count: z.number(), + first_id: z.string(), + last_id: z.string(), + first_published_at: z.number(), + last_published_at: z.number(), + sha256: z.string(), +}); + +export const radrootsIndexManifestSchema = z.object({ + country: z.string(), + total: z.number(), + shard_size: z.number(), + first_published_at: z.number(), + last_published_at: z.number(), + shards: z.array(radrootsIndexShardMetadataSchema), +}); + export const radrootsNostrEventSchema = z.object({ id: z.string(), author: z.string(), @@ -120,25 +139,6 @@ export const radrootsListingEventSchema = z.object({ data: radrootsListingEventDataSchema, }); -export const radrootsListingIndexShardMetadataSchema = z.object({ - file: z.string(), - count: z.number(), - first_id: z.string(), - last_id: z.string(), - first_published_at: z.number(), - last_published_at: z.number(), - sha256: z.string(), -}); - -export const radrootsListingIndexCountryManifestSchema = z.object({ - country: z.string(), - total: z.number(), - shard_size: z.number(), - first_published_at: z.number(), - last_published_at: z.number(), - shards: z.array(radrootsListingIndexShardMetadataSchema), -}); - export const radrootsMetadataEventDataMetadataSchema = z.object({ name: z.string(), display_name: z.string().optional(), diff --git a/bindings/ts/src/types.ts b/bindings/ts/src/types.ts @@ -77,6 +77,25 @@ export interface ListingOrderRequest { payload: ListingOrderRequestPayload; } +export interface RadrootsIndexShardMetadata { + file: string; + count: number; + first_id: string; + last_id: string; + first_published_at: number; + last_published_at: number; + sha256: string; +} + +export interface RadrootsIndexManifest { + country: string; + total: number; + shard_size: number; + first_published_at: number; + last_published_at: number; + shards: RadrootsIndexShardMetadata[]; +} + export interface RadrootsNostrEvent { id: string; author: string; @@ -121,25 +140,6 @@ export interface RadrootsListingEvent { data: RadrootsListingEventData; } -export interface RadrootsListingIndexShardMetadata { - file: string; - count: number; - first_id: string; - last_id: string; - first_published_at: number; - last_published_at: number; - sha256: string; -} - -export interface RadrootsListingIndexCountryManifest { - country: string; - total: number; - shard_size: number; - first_published_at: number; - last_published_at: number; - shards: RadrootsListingIndexShardMetadata[]; -} - export interface RadrootsMetadataEventDataMetadata { name: string; display_name?: string; diff --git a/src/models/indexer.rs b/src/models/indexer.rs @@ -3,7 +3,7 @@ use typeshare::typeshare; #[typeshare] #[derive(Clone, Debug, Serialize, Deserialize)] -pub struct RadrootsListingIndexShardMetadata { +pub struct RadrootsIndexShardMetadata { pub file: String, pub count: u32, pub first_id: String, @@ -15,11 +15,11 @@ pub struct RadrootsListingIndexShardMetadata { #[typeshare] #[derive(Clone, Debug, Serialize, Deserialize)] -pub struct RadrootsListingIndexCountryManifest { +pub struct RadrootsIndexManifest { pub country: String, pub total: u32, pub shard_size: u32, pub first_published_at: u32, pub last_published_at: u32, - pub shards: Vec<RadrootsListingIndexShardMetadata>, + pub shards: Vec<RadrootsIndexShardMetadata>, } \ No newline at end of file