UNPKG

ng-facial-recognition

Version:

Microsoft Project Oxford - AngularJS 1.x Facial Recognition API Wrapper (Face API)

1 lines 3.44 kB
!function(e){e.module("ngOxfordFace.config",[]).value("ngOxfordFace.config",{debug:!0}),e.module("ngOxfordFace.directives",[]),e.module("ngOxfordFace.services",["ngOxfordFace.services.face-api-wrapper"]),e.module("ngOxfordFace",["ngOxfordFace.config","ngOxfordFace.directives","ngOxfordFace.services","ngResource"])}(angular),angular.module("ngOxfordFace.services.face-api-wrapper",[]).provider("ProjectOxfordFace",function(e){var n,t="https://api.projectoxford.ai/face/v1.0/";return{setPrimaryKey:function(t){n=Array.isArray(t)?t[Math.floor(Math.random()*t.length)]:t,e.defaults.headers.common["Content-Type"]="application/json",e.defaults.headers.common["Ocp-Apim-Subscription-Key"]=n},setApiUrl:function(e){t=e||"https://api.projectoxford.ai/face/v1.0/"},$get:function(e){function n(){var n=e(t+"facelists/:id/:action/:actionId",{},{create:{method:"PUT"},update:{method:"PATCH"}});return{create:function(e,t,r){return n.create({id:e},{name:t,userData:r})},get:function(e){return n.get({id:e})},query:function(){return n.query()},update:function(e,t,r){return n.update({id:e},{name:t,userData:r})},"delete":function(e){return n.delete({id:e})},addFace:function(e,t,r,a){return t=t||"",r=r||"",n.save({id:e,action:"persistedFaces",userData:t,targetFace:r},{url:a})},deleteFace:function(e,t){return n.delete({id:e,action:"persistedFaces",actionId:t})}}}function r(){var n=e(t+":action/:id",{},{detect:{method:"POST",isArray:!0},similar:{method:"POST",isArray:!0}});return{detect:function(e,t){return t.action="detect",n.detect(t,{url:e})},similar:function(e){return n.similar({action:"findsimilars"},e)},group:function(e){return n.save({action:"group"},e)},identify:function(e){return n.save({action:"identify"},e)},verify:function(e){return n.save({action:"verify"},e)}}}function a(){var n=e(t+"persongroups/:groupId/:action",{},{create:{method:"PUT"},update:{method:"PATCH"}});return{create:function(e,t){return n.create({groupId:e},{name:t.name,userData:t.userData})},get:function(e){return n.get({groupId:e})},getTraining:function(e){return n.get({groupId:e,action:"training"})},getGroups:function(){return n.query()},update:function(e,t){return n.update({groupId:e},{name:t.name,userData:t.userData})},"delete":function(e){return n.delete({groupId:e})},train:function(e){return n.save({groupId:e,action:"train"},{})}}}function o(n,r){var a=e(t+"persongroups/:groupId/:noun/:nounId/:action/:actionId",{},{update:{method:"PUT"}});return{create:function(e){return a.save({groupId:e},{name:r.name,userData:r.userData})},get:function(e,n){return a.get({groupId:e,noun:"persons",nounId:n})},update:function(e,n,t){a.update({groupId:e,noun:"persons",nounId:n},{name:t.name,userData:t.userData})},"delete":function(e,n){a.delete({groupId:e,noun:"persons",nounId:n})},addFace:function(e,n,t,r){return a.save({groupId:e,noun:"persons",nounId:n,action:"persistedFaces",userData:t.userData,targetFace:t.targetFace},{url:r.url})},getFace:function(e,n,t){return a.get({groupId:e,noun:"persons",nounId:n,action:"persistedFaces",actionId:t})},updateFace:function(e,n,t,r){return a.update({groupId:e,noun:"persons",nounId:n,action:"persistedFaces",actionId:t},{userData:r.userData})},deleteFace:function(e,n,t){return a.delete({groupId:e,noun:"persons",nounId:n,action:"persistedFaces",actionId:t},{})},listPersonGroup:function(e){return a.query({groupId:e,noun:"persons"})}}}e(t+":action/:id");return{faceLists:n,face:r,personGroup:a,person:o}}}});