LP1840050 IDL pkeyMatches function/tests
[working/Evergreen.git] / Open-ILS / src / eg2 / src / app / core / idl.service.ts
index 21ec24a..b5abf61 100644 (file)
@@ -196,5 +196,14 @@ export class IdlService {
 
         return hash;
     }
+
+    // Returns true if both objects have the same IDL class and pkey value.
+    pkeyMatches(obj1: IdlObject, obj2: IdlObject) {
+        if (!obj1 || !obj2) { return false; }
+        const idlClass = obj1.classname;
+        if (idlClass !== obj2.classname) { return false; }
+        const pkeyField = this.classes[idlClass].pkey || 'id';
+        return obj1[pkeyField]() === obj2[pkeyField]();
+    }
 }