diff --git a/build/inaturalistjs.js b/build/inaturalistjs.js index 4518c40..5a922e3 100644 --- a/build/inaturalistjs.js +++ b/build/inaturalistjs.js @@ -2581,6 +2581,15 @@ var Photo = /*#__PURE__*/function (_Model) { }); return flagged; } + }, { + key: "flaggedAsArtificial", + value: function flaggedAsArtificial() { + var flagged = false; + this.flags.forEach(function (flag) { + flagged = flagged || !flag.resolved && flag.flag === "artificially generated content"; + }); + return flagged; + } }, { key: "dimensions", value: function dimensions(size) { diff --git a/lib/models/photo.js b/lib/models/photo.js index aaf6fe8..9db2c88 100644 --- a/lib/models/photo.js +++ b/lib/models/photo.js @@ -31,6 +31,14 @@ const Photo = class Photo extends Model { return flagged; } + flaggedAsArtificial( ) { + let flagged = false; + this.flags.forEach( flag => { + flagged = flagged || ( !flag.resolved && flag.flag === "artificially generated content" ); + } ); + return flagged; + } + dimensions( size ) { const longEdges = { square: 75, diff --git a/test/models/photo.js b/test/models/photo.js index 3b542f4..4bf8c51 100644 --- a/test/models/photo.js +++ b/test/models/photo.js @@ -132,4 +132,31 @@ describe( "Photo", ( ) => { expect( p.flaggedAsCopyrighted( ) ).to.be.false; } ); } ); + + describe( "flaggedAsArtificial", ( ) => { + it( "returns false if there are no flags", ( ) => { + const p = new Photo( { flags: [] } ); + expect( p.flaggedAsArtificial( ) ).to.be.false; + } ); + + it( "returns true if there is an unresolved artificially generated content flag", ( ) => { + const p = new Photo( { + flags: [{ + resolved: false, + flag: "artificially generated content" + }] + } ); + expect( p.flaggedAsArtificial( ) ).to.be.true; + } ); + + it( "returns false if all artificially generated content flags are resolved", ( ) => { + const p = new Photo( { + flags: [{ + resolved: true, + flag: "artificially generated content" + }] + } ); + expect( p.flaggedAsArtificial( ) ).to.be.false; + } ); + } ); } );