mirror of
https://github.com/mito-systems/ranger-app.git
synced 2026-02-25 21:24:07 +00:00
duplicate record fix
This commit is contained in:
parent
caed17d870
commit
3da19f8b7f
@ -164,7 +164,10 @@ export async function getAnimalRecordsBySeiAddress(seiAddress: string): Promise<
|
||||
}
|
||||
|
||||
// Transform the response into our AnimalRecordResult format
|
||||
const records = (data.data?.queryRecords || []).map((record: any) => {
|
||||
console.log(`Received ${data.data?.queryRecords?.length || 0} records from GraphQL`);
|
||||
|
||||
// First, convert the records to our format
|
||||
const mappedRecords = (data.data?.queryRecords || []).map((record: any) => {
|
||||
// Convert attributes to a map
|
||||
const attributesMap = record.attributes.reduce((acc: any, attr: any) => {
|
||||
acc[attr.key] = attr.value.string || attr.value.int || attr.value.float;
|
||||
@ -198,7 +201,21 @@ export async function getAnimalRecordsBySeiAddress(seiAddress: string): Promise<
|
||||
seiAddress: attributesMap.seiAddress || seiAddress,
|
||||
timestamp: record.createTime || new Date().toISOString()
|
||||
};
|
||||
}).filter((record: AnimalRecordResult) => record.imageUrl && record.imageUrl.trim() !== '');
|
||||
});
|
||||
|
||||
// Filter valid records and remove duplicates by using the record ID
|
||||
const uniqueRecordMap = new Map();
|
||||
|
||||
mappedRecords
|
||||
.filter((record: AnimalRecordResult) => record.imageUrl && record.imageUrl.trim() !== '')
|
||||
.forEach((record: AnimalRecordResult) => {
|
||||
// Only add if this ID isn't already in our map
|
||||
if (!uniqueRecordMap.has(record.id)) {
|
||||
uniqueRecordMap.set(record.id, record);
|
||||
}
|
||||
});
|
||||
|
||||
const records = Array.from(uniqueRecordMap.values());
|
||||
|
||||
// Sort by timestamp descending (newest first)
|
||||
return records.sort((a, b) => {
|
||||
@ -264,7 +281,10 @@ export async function getAllAnimalRecords(): Promise<AnimalRecordResult[]> {
|
||||
}
|
||||
|
||||
// Transform the response into our AnimalRecordResult format
|
||||
const records = (data.data?.queryRecords || []).map((record: any) => {
|
||||
console.log(`Received ${data.data?.queryRecords?.length || 0} records from GraphQL for all records`);
|
||||
|
||||
// First, convert the records to our format
|
||||
const mappedRecords = (data.data?.queryRecords || []).map((record: any) => {
|
||||
// Convert attributes to a map
|
||||
const attributesMap = record.attributes.reduce((acc: any, attr: any) => {
|
||||
acc[attr.key] = attr.value.string || attr.value.int || attr.value.float;
|
||||
@ -298,7 +318,21 @@ export async function getAllAnimalRecords(): Promise<AnimalRecordResult[]> {
|
||||
seiAddress: attributesMap.seiAddress || '',
|
||||
timestamp: record.createTime || new Date().toISOString()
|
||||
};
|
||||
}).filter((record: AnimalRecordResult) => record.imageUrl && record.imageUrl.trim() !== '');
|
||||
});
|
||||
|
||||
// Filter valid records and remove duplicates by using the record ID
|
||||
const uniqueRecordMap = new Map();
|
||||
|
||||
mappedRecords
|
||||
.filter((record: AnimalRecordResult) => record.imageUrl && record.imageUrl.trim() !== '')
|
||||
.forEach((record: AnimalRecordResult) => {
|
||||
// Only add if this ID isn't already in our map
|
||||
if (!uniqueRecordMap.has(record.id)) {
|
||||
uniqueRecordMap.set(record.id, record);
|
||||
}
|
||||
});
|
||||
|
||||
const records = Array.from(uniqueRecordMap.values());
|
||||
|
||||
// Sort by timestamp descending (newest first)
|
||||
return records.sort((a, b) => {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user