search for standard sites pub-search.waow.tech/
search zig blog atproto

Compare changes

Choose any two refs to compare.

Changed files
+21 -6
backend
src
+21 -6
backend/src/tap.zig
··· 8 const indexer = @import("indexer.zig"); 9 const extractor = @import("extractor.zig"); 10 11 - const DOCUMENT_COLLECTION = "pub.leaflet.document"; 12 - const PUBLICATION_COLLECTION = "pub.leaflet.publication"; 13 14 fn getTapHost() []const u8 { 15 return posix.getenv("TAP_HOST") orelse "leaflet-search-tap.fly.dev"; ··· 135 .create, .update => { 136 const record_obj = zat.json.getObject(parsed.value, "record.record") orelse return; 137 138 - if (mem.eql(u8, rec.collection, DOCUMENT_COLLECTION)) { 139 processDocument(allocator, uri, did.raw, rec.rkey, record_obj, rec.collection) catch |err| { 140 std.debug.print("document processing error: {}\n", .{err}); 141 }; 142 - } else if (mem.eql(u8, rec.collection, PUBLICATION_COLLECTION)) { 143 processPublication(allocator, uri, did.raw, rec.rkey, record_obj) catch |err| { 144 std.debug.print("publication processing error: {}\n", .{err}); 145 }; 146 } 147 }, 148 .delete => { 149 - if (mem.eql(u8, rec.collection, DOCUMENT_COLLECTION)) { 150 indexer.deleteDocument(uri); 151 std.debug.print("deleted document: {s}\n", .{uri}); 152 - } else if (mem.eql(u8, rec.collection, PUBLICATION_COLLECTION)) { 153 indexer.deletePublication(uri); 154 std.debug.print("deleted publication: {s}\n", .{uri}); 155 }
··· 8 const indexer = @import("indexer.zig"); 9 const extractor = @import("extractor.zig"); 10 11 + // leaflet-specific collections 12 + const LEAFLET_DOCUMENT = "pub.leaflet.document"; 13 + const LEAFLET_PUBLICATION = "pub.leaflet.publication"; 14 + 15 + // standard.site collections (cross-platform) 16 + const STANDARD_DOCUMENT = "site.standard.document"; 17 + const STANDARD_PUBLICATION = "site.standard.publication"; 18 + 19 + fn isDocumentCollection(collection: []const u8) bool { 20 + return mem.eql(u8, collection, LEAFLET_DOCUMENT) or 21 + mem.eql(u8, collection, STANDARD_DOCUMENT); 22 + } 23 + 24 + fn isPublicationCollection(collection: []const u8) bool { 25 + return mem.eql(u8, collection, LEAFLET_PUBLICATION) or 26 + mem.eql(u8, collection, STANDARD_PUBLICATION); 27 + } 28 29 fn getTapHost() []const u8 { 30 return posix.getenv("TAP_HOST") orelse "leaflet-search-tap.fly.dev"; ··· 150 .create, .update => { 151 const record_obj = zat.json.getObject(parsed.value, "record.record") orelse return; 152 153 + if (isDocumentCollection(rec.collection)) { 154 processDocument(allocator, uri, did.raw, rec.rkey, record_obj, rec.collection) catch |err| { 155 std.debug.print("document processing error: {}\n", .{err}); 156 }; 157 + } else if (isPublicationCollection(rec.collection)) { 158 processPublication(allocator, uri, did.raw, rec.rkey, record_obj) catch |err| { 159 std.debug.print("publication processing error: {}\n", .{err}); 160 }; 161 } 162 }, 163 .delete => { 164 + if (isDocumentCollection(rec.collection)) { 165 indexer.deleteDocument(uri); 166 std.debug.print("deleted document: {s}\n", .{uri}); 167 + } else if (isPublicationCollection(rec.collection)) { 168 indexer.deletePublication(uri); 169 std.debug.print("deleted publication: {s}\n", .{uri}); 170 }