sunuid-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sunuid-sdk.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: 'https://sunuid.fayma.sn/api',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n kycType: options.kycType || 'full',\n requiredFields: options.requiredFields || ['identity', 'address', 'phone'],\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(qrId) {\n try {\n const response = await this.makeRequest('/auth/qr-status', {\n qr_id: qrId\n });\n\n return response.data;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher le QR code dans le conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n const theme = options.theme || this.config.theme;\n const language = options.language || this.config.language;\n\n container.innerHTML = `\n <div class=\"sunuid-qr-container sunuid-theme-${theme}\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ${type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC'}\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ${type === 'auth' ? \n 'Scannez ce QR code avec l\\'application SunuID pour vous connecter' :\n 'Scannez ce QR code avec l\\'application SunuID pour compléter votre profil'\n }\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('${containerId}', '${type}', ${JSON.stringify(options)})\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n `;\n\n this.qrCode = {\n containerId,\n type,\n options,\n qrUrl\n };\n\n this.startTimer();\n }\n\n /**\n * Actualiser le QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n if (type === 'auth') {\n await this.generateAuthQR(containerId, options);\n } else {\n await this.generateKYCQR(containerId, options);\n }\n } catch (error) {\n this.handleError(error);\n }\n }\n\n /**\n * Démarrer le timer de rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n const url = `${this.config.apiUrl}${endpoint}`;\n \n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-SunuID-Client-ID': this.config.clientId,\n 'X-SunuID-Secret-ID': this.config.secretId\n },\n body: JSON.stringify(data)\n });\n\n if (!response.ok) {\n throw new Error(`Erreur HTTP: ${response.status}`);\n }\n\n return await response.json();\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","_objectSpread","qrCode","refreshTimer","isInitialized","init","_createClass","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qr_code_url","startAutoRefresh","a","message","warn","timestamp","Date","now","sessionId","Math","random","toString","substr","JSON","stringify","concat","encodeURIComponent","qr_id","expires_at","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","kycType","requiredFields","generateKYCQR","_x2","_checkQRStatus","_callee3","qrId","_t3","_context3","handleError","checkQRStatus","_x3","container","document","getElementById","innerHTML","startTimer","_refreshQR","_callee4","_args4","_t4","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t5","_context5","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","url","_context6","fetch","method","headers","body","ok","status","json","_x6","_x7","error","destroy","sunuidInstance","initSunuID"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ !function(){"use strict";function e(e,t,n,r,i,o,a){try{var s=e[o](a),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function t(t){return function(){var n=this,r=arguments;return new Promise(function(i,o){var a=t.apply(n,r);function s(t){e(a,i,o,s,c,"next",t)}function c(t){e(a,i,o,s,c,"throw",t)}s(void 0)})}}function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,c(r.key),r)}}function r(e,t,n){return(t=c(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach(function(t){r(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function a(){
2
+ /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
+ var e,t,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function o(n,r,i,o){var a=r&&r.prototype instanceof u?r:u,l=Object.create(a.prototype);return s(l,"_invoke",function(n,r,i){var o,a,s,u=0,l=i||[],f=!1,h={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(t,n){return o=t,a=0,s=e,h.n=n,c}};function d(n,r){for(a=n,s=r,t=0;!f&&u&&!i&&t<l.length;t++){var i,o=l[t],d=h.p,p=o[2];n>3?(i=p===r)&&(s=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=e):o[0]<=d&&((i=n<2&&d<o[1])?(a=0,h.v=r,h.n=o[1]):d<p&&(i=n<3||o[0]>r||r>p)&&(o[4]=n,o[5]=r,h.n=p,a=0))}if(i||n>1)return c;throw f=!0,r}return function(i,l,p){if(u>1)throw TypeError("Generator is already running");for(f&&1===l&&d(l,p),a=l,s=p;(t=a<2?e:s)||!f;){o||(a?a<3?(a>1&&(h.n=-1),d(a,s)):h.n=s:h.v=s);try{if(u=2,o){if(a||(i="next"),t=o[i]){if(!(t=t.call(o,s)))throw TypeError("iterator result is not an object");if(!t.done)return t;s=t.value,a<2&&(a=0)}else 1===a&&(t=o.return)&&t.call(o),a<2&&(s=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=e}else if((t=(f=h.n<0)?s:n.call(r,h))!==c)break}catch(t){o=e,a=1,s=t}finally{u=1}}return{value:t,done:f}}}(n,i,o),!0),l}var c={};function u(){}function l(){}function f(){}t=Object.getPrototypeOf;var h=[][r]?t(t([][r]())):(s(t={},r,function(){return this}),t),d=f.prototype=u.prototype=Object.create(h);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,s(e,i,"GeneratorFunction")),e.prototype=Object.create(d),e}return l.prototype=f,s(d,"constructor",f),s(f,"constructor",l),l.displayName="GeneratorFunction",s(f,i,"GeneratorFunction"),s(d),s(d,i,"Generator"),s(d,r,function(){return this}),s(d,"toString",function(){return"[object Generator]"}),(a=function(){return{w:o,m:p}})()}function s(e,t,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}s=function(e,t,n,r){function o(t,n){s(e,t,function(e){return this._invoke(t,n,e)})}t?i?i(e,t,{value:n,enumerable:!r,configurable:!r,writable:!r}):e[t]=n:(o("next",0),o("throw",1),o("return",2))},s(e,t,n,r)}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}
4
+ /**
5
+ * SunuID SDK - Package d'intégration pour partenaires
6
+ *
7
+ * @version 1.0.0
8
+ * @author SunuID Team
9
+ * @license MIT
10
+ */!function(e){var r={apiUrl:"https://sunuid.fayma.sn/api",clientId:null,secretId:null,theme:"light",language:"fr",autoRefresh:!0,refreshInterval:3e4,onSuccess:null,onError:null,onExpired:null},i=function(){return e=function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.config=o(o({},r),t),this.qrCode=null,this.refreshTimer=null,this.isInitialized=!1,this.init()},i=[{key:"init",value:function(){if(!this.config.clientId||!this.config.secretId)throw new Error("SunuID: clientId et secretId sont requis");this.isInitialized=!0,console.log("SunuID SDK initialisé avec succès")}},{key:"generateAuthQR",value:(h=t(a().m(function e(t){var n,r,i,s,c,u,l=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(n=l.length>1&&void 0!==l[1]?l[1]:{},this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/auth/qr-generate",o({type:"auth"},n));case 2:if(!(r=e.v).success){e.n=3;break}return this.displayQRCode(t,r.data.qr_code_url,"auth",n),this.startAutoRefresh(t,"auth",n),e.a(2,r.data);case 3:throw new Error(r.message);case 4:e.n=6;break;case 5:return e.p=5,u=e.v,console.warn("Erreur API, génération d'un QR code de test:",u.message),i=o({type:"auth",clientId:this.config.clientId,timestamp:Date.now(),sessionId:"test_"+Math.random().toString(36).substr(2,9),apiUrl:this.config.apiUrl},n),s=JSON.stringify(i),c="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(s)),this.displayQRCode(t,c,"auth",n),this.startAutoRefresh(t,"auth",n),e.a(2,{success:!0,data:{qr_code_url:c,qr_id:i.sessionId,expires_at:Date.now()+3e4}});case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return h.apply(this,arguments)})},{key:"generateKYCQR",value:(f=t(a().m(function e(t){var n,r,i,s,c,u,l=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(n=l.length>1&&void 0!==l[1]?l[1]:{},this.isInitialized){e.n=1;break}throw new Error("SunuID: SDK non initialisé");case 1:return e.p=1,e.n=2,this.makeRequest("/auth/qr-generate",o({type:"kyc"},n));case 2:if(!(r=e.v).success){e.n=3;break}return this.displayQRCode(t,r.data.qr_code_url,"kyc",n),this.startAutoRefresh(t,"kyc",n),e.a(2,r.data);case 3:throw new Error(r.message);case 4:e.n=6;break;case 5:return e.p=5,u=e.v,console.warn("Erreur API, génération d'un QR code de test:",u.message),i=o({type:"kyc",clientId:this.config.clientId,timestamp:Date.now(),sessionId:"test_"+Math.random().toString(36).substr(2,9),kycType:n.kycType||"full",requiredFields:n.requiredFields||["identity","address","phone"],apiUrl:this.config.apiUrl},n),s=JSON.stringify(i),c="https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=".concat(encodeURIComponent(s)),this.displayQRCode(t,c,"kyc",n),this.startAutoRefresh(t,"kyc",n),e.a(2,{success:!0,data:{qr_code_url:c,qr_id:i.sessionId,expires_at:Date.now()+3e4}});case 6:return e.a(2)}},e,this,[[1,5]])})),function(e){return f.apply(this,arguments)})},{key:"checkQRStatus",value:(l=t(a().m(function e(t){var n,r;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,this.makeRequest("/auth/qr-status",{qr_id:t});case 1:return n=e.v,e.a(2,n.data);case 2:throw e.p=2,r=e.v,this.handleError(r),r;case 3:return e.a(2)}},e,this,[[0,2]])})),function(e){return l.apply(this,arguments)})},{key:"displayQRCode",value:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=document.getElementById(e);if(!i)throw new Error("Conteneur avec l'ID \"".concat(e,'" non trouvé'));var o=r.theme||this.config.theme;r.language||this.config.language,i.innerHTML='\n <div class="sunuid-qr-container sunuid-theme-'.concat(o,'">\n <div class="sunuid-qr-header">\n <h3 class="sunuid-qr-title">\n ').concat("auth"===n?"🔐 Authentification":"📋 Vérification KYC",'\n </h3>\n <p class="sunuid-qr-subtitle">\n ').concat("auth"===n?"Scannez ce QR code avec l'application SunuID pour vous connecter":"Scannez ce QR code avec l'application SunuID pour compléter votre profil",'\n </p>\n </div>\n <div class="sunuid-qr-code">\n <img src="').concat(t,'" alt="QR Code SunuID" class="sunuid-qr-image">\n <div class="sunuid-qr-overlay">\n <div class="sunuid-qr-spinner"></div>\n </div>\n </div>\n <div class="sunuid-qr-footer">\n <p class="sunuid-qr-timer">\n <i class="fa-solid fa-clock"></i>\n <span id="sunuid-timer">30</span> secondes\n </p>\n <button class="sunuid-qr-refresh" onclick="sunuidInstance.refreshQR(\'').concat(e,"', '").concat(n,"', ").concat(JSON.stringify(r),')">\n <i class="fa-solid fa-sync-alt"></i>\n Actualiser\n </button>\n </div>\n </div>\n '),this.qrCode={containerId:e,type:n,options:r,qrUrl:t},this.startTimer()}},{key:"refreshQR",value:(u=t(a().m(function e(t,n){var r,i,o=arguments;return a().w(function(e){for(;;)switch(e.p=e.n){case 0:if(r=o.length>2&&void 0!==o[2]?o[2]:{},e.p=1,"auth"!==n){e.n=3;break}return e.n=2,this.generateAuthQR(t,r);case 2:e.n=4;break;case 3:return e.n=4,this.generateKYCQR(t,r);case 4:e.n=6;break;case 5:e.p=5,i=e.v,this.handleError(i);case 6:return e.a(2)}},e,this,[[1,5]])})),function(e,t){return u.apply(this,arguments)})},{key:"startAutoRefresh",value:function(e,n,r){var i=this;this.config.autoRefresh&&(this.refreshTimer=setInterval(t(a().m(function t(){var o;return a().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,i.refreshQR(e,n,r);case 1:t.n=3;break;case 2:t.p=2,o=t.v,console.warn("Erreur lors du rafraîchissement automatique:",o);case 3:return t.a(2)}},t,null,[[0,2]])})),this.config.refreshInterval))}},{key:"startTimer",value:function(){var e=this,t=30,n=document.getElementById("sunuid-timer"),r=setInterval(function(){t--,n&&(n.textContent=t),t<=0&&(clearInterval(r),e.config.onExpired&&e.config.onExpired())},1e3)}},{key:"makeRequest",value:(c=t(a().m(function e(t,n){var r,i;return a().w(function(e){for(;;)switch(e.n){case 0:return r="".concat(this.config.apiUrl).concat(t),e.n=1,fetch(r,{method:"POST",headers:{"Content-Type":"application/json","X-SunuID-Client-ID":this.config.clientId,"X-SunuID-Secret-ID":this.config.secretId},body:JSON.stringify(n)});case 1:if((i=e.v).ok){e.n=2;break}throw new Error("Erreur HTTP: ".concat(i.status));case 2:return e.n=3,i.json();case 3:return e.a(2,e.v)}},e,this)})),function(e,t){return c.apply(this,arguments)})},{key:"handleError",value:function(e){console.error("SunuID SDK Error:",e),this.config.onError&&this.config.onError(e)}},{key:"destroy",value:function(){this.refreshTimer&&clearInterval(this.refreshTimer),this.isInitialized=!1,console.log("SunuID SDK détruit")}}],i&&n(e.prototype,i),s&&n(e,s),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,i,s,c,u,l,f,h}();e.SunuID=i,e.sunuidInstance=null,e.initSunuID=function(t){try{return e.sunuidInstance=new i(t),e.sunuidInstance}catch(e){throw console.error("Erreur lors de l'initialisation de SunuID:",e),e}}}(window)}();
11
+ //# sourceMappingURL=sunuid-sdk.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sunuid-sdk.min.js","sources":["../src/sunuid-sdk.js"],"sourcesContent":["/**\n * SunuID SDK - Package d'intégration pour partenaires\n * \n * @version 1.0.0\n * @author SunuID Team\n * @license MIT\n */\n\n(function(window) {\n 'use strict';\n\n // Configuration par défaut\n const DEFAULT_CONFIG = {\n apiUrl: 'https://sunuid.fayma.sn/api',\n clientId: null,\n secretId: null,\n theme: 'light',\n language: 'fr',\n autoRefresh: true,\n refreshInterval: 30000, // 30 secondes\n onSuccess: null,\n onError: null,\n onExpired: null\n };\n\n /**\n * Classe principale SunuID\n */\n class SunuID {\n constructor(config = {}) {\n this.config = { ...DEFAULT_CONFIG, ...config };\n this.qrCode = null;\n this.refreshTimer = null;\n this.isInitialized = false;\n \n this.init();\n }\n\n /**\n * Initialisation du SDK\n */\n init() {\n if (!this.config.clientId || !this.config.secretId) {\n throw new Error('SunuID: clientId et secretId sont requis');\n }\n\n this.isInitialized = true;\n console.log('SunuID SDK initialisé avec succès');\n }\n\n /**\n * Générer un QR code d'authentification\n */\n async generateAuthQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'auth',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Générer un QR code KYC\n */\n async generateKYCQR(containerId, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n // Essayer d'abord l'API réelle\n const response = await this.makeRequest('/auth/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n this.displayQRCode(containerId, response.data.qr_code_url, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return response.data;\n } else {\n throw new Error(response.message);\n }\n } catch (error) {\n console.warn('Erreur API, génération d\\'un QR code de test:', error.message);\n \n // En cas d'échec de l'API, générer un QR code de test\n const testData = {\n type: 'kyc',\n clientId: this.config.clientId,\n timestamp: Date.now(),\n sessionId: 'test_' + Math.random().toString(36).substr(2, 9),\n kycType: options.kycType || 'full',\n requiredFields: options.requiredFields || ['identity', 'address', 'phone'],\n apiUrl: this.config.apiUrl,\n ...options\n };\n \n const qrData = JSON.stringify(testData);\n const qrUrl = `https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=${encodeURIComponent(qrData)}`;\n \n this.displayQRCode(containerId, qrUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n \n return {\n success: true,\n data: {\n qr_code_url: qrUrl,\n qr_id: testData.sessionId,\n expires_at: Date.now() + 30000\n }\n };\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(qrId) {\n try {\n const response = await this.makeRequest('/auth/qr-status', {\n qr_id: qrId\n });\n\n return response.data;\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher le QR code dans le conteneur\n */\n displayQRCode(containerId, qrUrl, type, options = {}) {\n const container = document.getElementById(containerId);\n if (!container) {\n throw new Error(`Conteneur avec l'ID \"${containerId}\" non trouvé`);\n }\n\n const theme = options.theme || this.config.theme;\n const language = options.language || this.config.language;\n\n container.innerHTML = `\n <div class=\"sunuid-qr-container sunuid-theme-${theme}\">\n <div class=\"sunuid-qr-header\">\n <h3 class=\"sunuid-qr-title\">\n ${type === 'auth' ? '🔐 Authentification' : '📋 Vérification KYC'}\n </h3>\n <p class=\"sunuid-qr-subtitle\">\n ${type === 'auth' ? \n 'Scannez ce QR code avec l\\'application SunuID pour vous connecter' :\n 'Scannez ce QR code avec l\\'application SunuID pour compléter votre profil'\n }\n </p>\n </div>\n <div class=\"sunuid-qr-code\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" class=\"sunuid-qr-image\">\n <div class=\"sunuid-qr-overlay\">\n <div class=\"sunuid-qr-spinner\"></div>\n </div>\n </div>\n <div class=\"sunuid-qr-footer\">\n <p class=\"sunuid-qr-timer\">\n <i class=\"fa-solid fa-clock\"></i>\n <span id=\"sunuid-timer\">30</span> secondes\n </p>\n <button class=\"sunuid-qr-refresh\" onclick=\"sunuidInstance.refreshQR('${containerId}', '${type}', ${JSON.stringify(options)})\">\n <i class=\"fa-solid fa-sync-alt\"></i>\n Actualiser\n </button>\n </div>\n </div>\n `;\n\n this.qrCode = {\n containerId,\n type,\n options,\n qrUrl\n };\n\n this.startTimer();\n }\n\n /**\n * Actualiser le QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n if (type === 'auth') {\n await this.generateAuthQR(containerId, options);\n } else {\n await this.generateKYCQR(containerId, options);\n }\n } catch (error) {\n this.handleError(error);\n }\n }\n\n /**\n * Démarrer le timer de rafraîchissement automatique\n */\n startAutoRefresh(containerId, type, options) {\n if (!this.config.autoRefresh) return;\n\n this.refreshTimer = setInterval(async () => {\n try {\n await this.refreshQR(containerId, type, options);\n } catch (error) {\n console.warn('Erreur lors du rafraîchissement automatique:', error);\n }\n }, this.config.refreshInterval);\n }\n\n /**\n * Démarrer le timer de compte à rebours\n */\n startTimer() {\n let timeLeft = 30;\n const timerElement = document.getElementById('sunuid-timer');\n \n const timer = setInterval(() => {\n timeLeft--;\n if (timerElement) {\n timerElement.textContent = timeLeft;\n }\n \n if (timeLeft <= 0) {\n clearInterval(timer);\n if (this.config.onExpired) {\n this.config.onExpired();\n }\n }\n }, 1000);\n }\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n const url = `${this.config.apiUrl}${endpoint}`;\n \n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'X-SunuID-Client-ID': this.config.clientId,\n 'X-SunuID-Secret-ID': this.config.secretId\n },\n body: JSON.stringify(data)\n });\n\n if (!response.ok) {\n throw new Error(`Erreur HTTP: ${response.status}`);\n }\n\n return await response.json();\n }\n\n /**\n * Gérer les erreurs\n */\n handleError(error) {\n console.error('SunuID SDK Error:', error);\n \n if (this.config.onError) {\n this.config.onError(error);\n }\n }\n\n /**\n * Nettoyer les ressources\n */\n destroy() {\n if (this.refreshTimer) {\n clearInterval(this.refreshTimer);\n }\n \n this.isInitialized = false;\n console.log('SunuID SDK détruit');\n }\n }\n\n // Exposer la classe globalement\n window.SunuID = SunuID;\n window.sunuidInstance = null;\n\n // Fonction d'initialisation globale\n window.initSunuID = function(config) {\n try {\n window.sunuidInstance = new SunuID(config);\n return window.sunuidInstance;\n } catch (error) {\n console.error('Erreur lors de l\\'initialisation de SunuID:', error);\n throw error;\n }\n };\n\n})(window); "],"names":["window","DEFAULT_CONFIG","apiUrl","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","onExpired","SunuID","config","arguments","length","undefined","_classCallCheck","this","_objectSpread","qrCode","refreshTimer","isInitialized","init","key","value","Error","console","log","_generateAuthQR","_asyncToGenerator","_regenerator","m","_callee","containerId","options","response","testData","qrData","qrUrl","_t","_args","w","_context","p","n","makeRequest","type","v","success","displayQRCode","data","qr_code_url","startAutoRefresh","a","message","warn","timestamp","Date","now","sessionId","Math","random","toString","substr","JSON","stringify","concat","encodeURIComponent","qr_id","expires_at","_x","apply","_generateKYCQR","_callee2","_t2","_args2","_context2","kycType","requiredFields","_x2","_checkQRStatus","_callee3","qrId","_t3","_context3","handleError","_x3","container","document","getElementById","innerHTML","startTimer","_refreshQR","_callee4","_t4","_args4","_context4","generateAuthQR","generateKYCQR","_x4","_x5","_this","setInterval","_callee5","_t5","_context5","refreshQR","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","url","_context6","fetch","method","headers","body","ok","status","json","_x6","_x7","error","sunuidInstance","initSunuID"],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "sunuid-sdk",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "description": "SDK JavaScript pour l'intégration des QR codes d'authentification et KYC SunuID",
6
+ "main": "dist/sunuid-sdk.js",
7
+ "module": "dist/sunuid-sdk.esm.js",
8
+ "unpkg": "dist/sunuid-sdk.min.js",
9
+ "jsdelivr": "dist/sunuid-sdk.min.js",
10
+ "files": [
11
+ "dist",
12
+ "README.md",
13
+ "LICENSE"
14
+ ],
15
+ "scripts": {
16
+ "build": "rollup -c",
17
+ "dev": "rollup -c -w",
18
+ "test": "jest",
19
+ "lint": "eslint src/**/*.js",
20
+ "format": "prettier --write src/**/*.js",
21
+ "prepare": "npm run build",
22
+ "prepublishOnly": "npm run build",
23
+ "serve": "python3 -m http.server 8080",
24
+ "demo": "open http://localhost:8080/examples/demo.html"
25
+ },
26
+ "keywords": [
27
+ "sunuid",
28
+ "authentication",
29
+ "kyc",
30
+ "qr-code",
31
+ "identity",
32
+ "verification",
33
+ "sdk",
34
+ "javascript"
35
+ ],
36
+ "author": {
37
+ "name": "SunuID Team",
38
+ "email": "dev@sunuid.sn",
39
+ "url": "https://sunuid.sn"
40
+ },
41
+ "license": "MIT",
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "https://github.com/sunuid/sunuid-sdk.git"
45
+ },
46
+ "bugs": {
47
+ "url": "https://github.com/sunuid/sunuid-sdk/issues"
48
+ },
49
+ "homepage": "https://docs.sunuid.sn",
50
+ "devDependencies": {
51
+ "@babel/core": "^7.22.0",
52
+ "@babel/preset-env": "^7.22.0",
53
+ "@rollup/plugin-babel": "^6.0.0",
54
+ "@rollup/plugin-commonjs": "^25.0.0",
55
+ "@rollup/plugin-node-resolve": "^15.0.0",
56
+ "@rollup/plugin-terser": "^0.4.0",
57
+ "eslint": "^8.0.0",
58
+ "jest": "^29.0.0",
59
+ "prettier": "^3.0.0",
60
+ "rollup": "^3.0.0",
61
+ "rollup-plugin-dts": "^5.0.0"
62
+ },
63
+ "engines": {
64
+ "node": ">=14.0.0"
65
+ },
66
+ "browserslist": [
67
+ "> 1%",
68
+ "last 2 versions",
69
+ "not dead",
70
+ "not ie 11"
71
+ ]
72
+ }