sunuid-sdk 1.0.16 → 1.0.18

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.
@@ -213,8 +213,7 @@
213
213
  refreshInterval: 30000,
214
214
  // 30 secondes
215
215
  onSuccess: null,
216
- onError: null,
217
- onExpired: null
216
+ onError: null
218
217
  };
219
218
 
220
219
  /**
@@ -270,7 +269,7 @@
270
269
  _context.p = 1;
271
270
  _context.n = 2;
272
271
  return this.makeRequest('/qr-generate', _objectSpread2({
273
- type: 'auth'
272
+ type: 1
274
273
  }, options));
275
274
  case 2:
276
275
  response = _context.v;
@@ -336,7 +335,7 @@
336
335
  _context2.p = 1;
337
336
  _context2.n = 2;
338
337
  return this.makeRequest('/qr-generate', _objectSpread2({
339
- type: 'kyc'
338
+ type: 2
340
339
  }, options));
341
340
  case 2:
342
341
  response = _context2.v;
@@ -376,17 +375,23 @@
376
375
  return generateKYCQR;
377
376
  }()
378
377
  /**
379
- * Vérifier le statut d'un QR code
378
+ * Générer un QR code avec un type personnalisé
380
379
  */
381
380
  )
382
381
  }, {
383
- key: "checkQRStatus",
382
+ key: "generateCustomQR",
384
383
  value: (function () {
385
- var _checkQRStatus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(sessionId) {
386
- var response, _t3;
384
+ var _generateCustomQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(containerId, type) {
385
+ var options,
386
+ response,
387
+ imageBaseUrl,
388
+ qrImageUrl,
389
+ _args3 = arguments,
390
+ _t3;
387
391
  return _regenerator().w(function (_context3) {
388
392
  while (1) switch (_context3.p = _context3.n) {
389
393
  case 0:
394
+ options = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : {};
390
395
  if (this.isInitialized) {
391
396
  _context3.n = 1;
392
397
  break;
@@ -395,32 +400,92 @@
395
400
  case 1:
396
401
  _context3.p = 1;
397
402
  _context3.n = 2;
398
- return this.makeRequest('/qr-status', {
399
- serviceId: sessionId
400
- });
403
+ return this.makeRequest('/qr-generate', _objectSpread2({
404
+ type: type
405
+ }, options));
401
406
  case 2:
402
407
  response = _context3.v;
403
408
  if (!response.success) {
404
409
  _context3.n = 3;
405
410
  break;
406
411
  }
407
- return _context3.a(2, response.data);
412
+ // Construire l'URL complète de l'image QR avec la base URL pour les images
413
+ imageBaseUrl = 'https://sunuid.fayma.sn';
414
+ qrImageUrl = "".concat(imageBaseUrl).concat(response.data.qrcode);
415
+ this.displayQRCode(containerId, qrImageUrl, type, options);
416
+ this.startAutoRefresh(containerId, type, options);
417
+ return _context3.a(2, _objectSpread2(_objectSpread2({}, response.data), {}, {
418
+ qrCodeUrl: qrImageUrl,
419
+ sessionId: response.data.service_id
420
+ }));
408
421
  case 3:
409
- throw new Error(response.message || 'Erreur lors de la vérification du statut');
422
+ throw new Error(response.message || 'Erreur lors de la génération du QR code');
410
423
  case 4:
411
424
  _context3.n = 6;
412
425
  break;
413
426
  case 5:
414
427
  _context3.p = 5;
415
428
  _t3 = _context3.v;
416
- this.handleError(_t3);
417
- throw _t3;
429
+ console.error('Erreur API détectée:', _t3.message);
430
+ console.log('Affichage du message "Service non disponible" pour type ' + type);
431
+ this.displayServiceUnavailable(containerId, type);
432
+ throw new Error('Service non disponible');
418
433
  case 6:
419
434
  return _context3.a(2);
420
435
  }
421
436
  }, _callee3, this, [[1, 5]]);
422
437
  }));
423
- function checkQRStatus(_x3) {
438
+ function generateCustomQR(_x3, _x4) {
439
+ return _generateCustomQR.apply(this, arguments);
440
+ }
441
+ return generateCustomQR;
442
+ }()
443
+ /**
444
+ * Vérifier le statut d'un QR code
445
+ */
446
+ )
447
+ }, {
448
+ key: "checkQRStatus",
449
+ value: (function () {
450
+ var _checkQRStatus = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(sessionId) {
451
+ var response, _t4;
452
+ return _regenerator().w(function (_context4) {
453
+ while (1) switch (_context4.p = _context4.n) {
454
+ case 0:
455
+ if (this.isInitialized) {
456
+ _context4.n = 1;
457
+ break;
458
+ }
459
+ throw new Error('SunuID: SDK non initialisé');
460
+ case 1:
461
+ _context4.p = 1;
462
+ _context4.n = 2;
463
+ return this.makeRequest('/qr-status', {
464
+ serviceId: sessionId
465
+ });
466
+ case 2:
467
+ response = _context4.v;
468
+ if (!response.success) {
469
+ _context4.n = 3;
470
+ break;
471
+ }
472
+ return _context4.a(2, response.data);
473
+ case 3:
474
+ throw new Error(response.message || 'Erreur lors de la vérification du statut');
475
+ case 4:
476
+ _context4.n = 6;
477
+ break;
478
+ case 5:
479
+ _context4.p = 5;
480
+ _t4 = _context4.v;
481
+ this.handleError(_t4);
482
+ throw _t4;
483
+ case 6:
484
+ return _context4.a(2);
485
+ }
486
+ }, _callee4, this, [[1, 5]]);
487
+ }));
488
+ function checkQRStatus(_x5) {
424
489
  return _checkQRStatus.apply(this, arguments);
425
490
  }
426
491
  return checkQRStatus;
@@ -444,12 +509,9 @@
444
509
  // Créer l'élément QR code
445
510
  var qrElement = document.createElement('div');
446
511
  qrElement.className = 'sunuid-qr-code';
447
- qrElement.innerHTML = "\n <div class=\"sunuid-qr-header\">\n <h3>".concat(type === 'auth' ? 'Authentification' : 'Vérification KYC', "</h3>\n <div class=\"sunuid-timer\">\n <span>Expire dans: </span>\n <span id=\"sunuid-timer\">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"").concat(qrUrl, "\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n ");
512
+ qrElement.innerHTML = "\n <div class=\"sunuid-qr-header\">\n <h3>".concat(type === 1 ? 'Authentification' : type === 2 ? 'Vérification KYC' : 'Service Type ' + type, "</h3>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"").concat(qrUrl, "\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n ");
448
513
  container.appendChild(qrElement);
449
514
 
450
- // Démarrer le timer
451
- this.startTimer();
452
-
453
515
  // Appliquer le thème
454
516
  this.applyTheme(options.theme || this.config.theme);
455
517
  }
@@ -475,47 +537,61 @@
475
537
  }, {
476
538
  key: "refreshQR",
477
539
  value: (function () {
478
- var _refreshQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(containerId, type) {
540
+ var _refreshQR = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(containerId, type) {
479
541
  var options,
480
542
  result,
481
- _args4 = arguments,
482
- _t4,
483
- _t5;
484
- return _regenerator().w(function (_context4) {
485
- while (1) switch (_context4.p = _context4.n) {
543
+ _args5 = arguments,
544
+ _t5,
545
+ _t6,
546
+ _t7;
547
+ return _regenerator().w(function (_context5) {
548
+ while (1) switch (_context5.p = _context5.n) {
486
549
  case 0:
487
- options = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : {};
488
- _context4.p = 1;
489
- if (!(type === 'auth')) {
490
- _context4.n = 3;
550
+ options = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : {};
551
+ _context5.p = 1;
552
+ if (!(type === 1)) {
553
+ _context5.n = 3;
491
554
  break;
492
555
  }
493
- _context4.n = 2;
556
+ _context5.n = 2;
494
557
  return this.generateAuthQR(containerId, options);
495
558
  case 2:
496
- _t4 = _context4.v;
497
- _context4.n = 5;
559
+ _t5 = _context5.v;
560
+ _context5.n = 8;
498
561
  break;
499
562
  case 3:
500
- _context4.n = 4;
563
+ if (!(type === 2)) {
564
+ _context5.n = 5;
565
+ break;
566
+ }
567
+ _context5.n = 4;
501
568
  return this.generateKYCQR(containerId, options);
502
569
  case 4:
503
- _t4 = _context4.v;
570
+ _t6 = _context5.v;
571
+ _context5.n = 7;
572
+ break;
504
573
  case 5:
505
- result = _t4;
506
- return _context4.a(2, result);
574
+ _context5.n = 6;
575
+ return this.generateCustomQR(containerId, type, options);
507
576
  case 6:
508
- _context4.p = 6;
509
- _t5 = _context4.v;
510
- console.error('Erreur lors du rafraîchissement:', _t5.message);
511
- this.displayServiceUnavailable(containerId, type);
512
- throw _t5;
577
+ _t6 = _context5.v;
513
578
  case 7:
514
- return _context4.a(2);
579
+ _t5 = _t6;
580
+ case 8:
581
+ result = _t5;
582
+ return _context5.a(2, result);
583
+ case 9:
584
+ _context5.p = 9;
585
+ _t7 = _context5.v;
586
+ console.error('Erreur lors du rafraîchissement:', _t7.message);
587
+ this.displayServiceUnavailable(containerId, type);
588
+ throw _t7;
589
+ case 10:
590
+ return _context5.a(2);
515
591
  }
516
- }, _callee4, this, [[1, 6]]);
592
+ }, _callee5, this, [[1, 9]]);
517
593
  }));
518
- function refreshQR(_x4, _x5) {
594
+ function refreshQR(_x6, _x7) {
519
595
  return _refreshQR.apply(this, arguments);
520
596
  }
521
597
  return refreshQR;
@@ -529,50 +605,31 @@
529
605
  value: function startAutoRefresh(containerId, type, options) {
530
606
  var _this = this;
531
607
  if (!this.config.autoRefresh) return;
532
- this.refreshTimer = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
533
- var _t6;
534
- return _regenerator().w(function (_context5) {
535
- while (1) switch (_context5.p = _context5.n) {
608
+ this.refreshTimer = setInterval(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {
609
+ var _t8;
610
+ return _regenerator().w(function (_context6) {
611
+ while (1) switch (_context6.p = _context6.n) {
536
612
  case 0:
537
- _context5.p = 0;
538
- _context5.n = 1;
613
+ _context6.p = 0;
614
+ _context6.n = 1;
539
615
  return _this.refreshQR(containerId, type, options);
540
616
  case 1:
541
- _context5.n = 3;
617
+ _context6.n = 3;
542
618
  break;
543
619
  case 2:
544
- _context5.p = 2;
545
- _t6 = _context5.v;
546
- console.warn('Erreur lors du rafraîchissement automatique:', _t6);
620
+ _context6.p = 2;
621
+ _t8 = _context6.v;
622
+ console.warn('Erreur lors du rafraîchissement automatique:', _t8);
547
623
  case 3:
548
- return _context5.a(2);
624
+ return _context6.a(2);
549
625
  }
550
- }, _callee5, null, [[0, 2]]);
626
+ }, _callee6, null, [[0, 2]]);
551
627
  })), this.config.refreshInterval);
552
628
  }
553
629
 
554
630
  /**
555
631
  * Démarrer le timer de compte à rebours
556
632
  */
557
- }, {
558
- key: "startTimer",
559
- value: function startTimer() {
560
- var _this2 = this;
561
- var timeLeft = 30;
562
- var timerElement = document.getElementById('sunuid-timer');
563
- var timer = setInterval(function () {
564
- timeLeft--;
565
- if (timerElement) {
566
- timerElement.textContent = timeLeft;
567
- }
568
- if (timeLeft <= 0) {
569
- clearInterval(timer);
570
- if (_this2.config.onExpired) {
571
- _this2.config.onExpired();
572
- }
573
- }
574
- }, 1000);
575
- }
576
633
 
577
634
  /**
578
635
  * Effectuer une requête API
@@ -580,17 +637,17 @@
580
637
  }, {
581
638
  key: "makeRequest",
582
639
  value: (function () {
583
- var _makeRequest = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(endpoint, data) {
640
+ var _makeRequest = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(endpoint, data) {
584
641
  var _window$SunuIDConfig2;
585
- var endpointPath, url, response, errorText, errorData, result, _t7;
586
- return _regenerator().w(function (_context6) {
587
- while (1) switch (_context6.p = _context6.n) {
642
+ var endpointPath, url, response, errorText, errorData, result, _t9;
643
+ return _regenerator().w(function (_context7) {
644
+ while (1) switch (_context7.p = _context7.n) {
588
645
  case 0:
589
646
  // Utiliser l'endpoint depuis la configuration si disponible
590
647
  endpointPath = ((_window$SunuIDConfig2 = window.SunuIDConfig) === null || _window$SunuIDConfig2 === void 0 || (_window$SunuIDConfig2 = _window$SunuIDConfig2.endpoints) === null || _window$SunuIDConfig2 === void 0 ? void 0 : _window$SunuIDConfig2[endpoint.replace('/', '')]) || endpoint;
591
648
  url = "".concat(this.config.apiUrl).concat(endpointPath);
592
- _context6.p = 1;
593
- _context6.n = 2;
649
+ _context7.p = 1;
650
+ _context7.n = 2;
594
651
  return fetch(url, {
595
652
  method: 'POST',
596
653
  headers: {
@@ -604,15 +661,15 @@
604
661
  }))
605
662
  });
606
663
  case 2:
607
- response = _context6.v;
664
+ response = _context7.v;
608
665
  if (response.ok) {
609
- _context6.n = 4;
666
+ _context7.n = 4;
610
667
  break;
611
668
  }
612
- _context6.n = 3;
669
+ _context7.n = 3;
613
670
  return response.text();
614
671
  case 3:
615
- errorText = _context6.v;
672
+ errorText = _context7.v;
616
673
  try {
617
674
  errorData = JSON.parse(errorText);
618
675
  } catch (e) {
@@ -622,22 +679,22 @@
622
679
  }
623
680
  throw new Error(errorData.message || "Erreur HTTP: ".concat(response.status));
624
681
  case 4:
625
- _context6.n = 5;
682
+ _context7.n = 5;
626
683
  return response.json();
627
684
  case 5:
628
- result = _context6.v;
629
- return _context6.a(2, result);
685
+ result = _context7.v;
686
+ return _context7.a(2, result);
630
687
  case 6:
631
- _context6.p = 6;
632
- _t7 = _context6.v;
633
- console.error('Erreur API SunuID:', _t7);
634
- throw _t7;
688
+ _context7.p = 6;
689
+ _t9 = _context7.v;
690
+ console.error('Erreur API SunuID:', _t9);
691
+ throw _t9;
635
692
  case 7:
636
- return _context6.a(2);
693
+ return _context7.a(2);
637
694
  }
638
- }, _callee6, this, [[1, 6]]);
695
+ }, _callee7, this, [[1, 6]]);
639
696
  }));
640
- function makeRequest(_x6, _x7) {
697
+ function makeRequest(_x8, _x9) {
641
698
  return _makeRequest.apply(this, arguments);
642
699
  }
643
700
  return makeRequest;
@@ -1 +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: window.SunuIDConfig?.apiUrl || 'https://api.sunuid.fayma.sn',\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 const response = await this.makeRequest('/qr-generate', {\n type: 'auth',\n ...options\n });\n\n if (response.success) {\n // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n console.log('Affichage du message \"Service non disponible\" pour auth');\n this.displayServiceUnavailable(containerId, 'auth');\n throw new Error('Service non disponible');\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 const response = await this.makeRequest('/qr-generate', {\n type: 'kyc',\n ...options\n });\n\n if (response.success) {\n // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n console.log('Affichage du message \"Service non disponible\" pour kyc');\n this.displayServiceUnavailable(containerId, 'kyc');\n throw new Error('Service non disponible');\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(sessionId) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-status', {\n serviceId: sessionId\n });\n\n if (response.success) {\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la vérification du statut');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher un QR code dans un 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 // Nettoyer le conteneur\n container.innerHTML = '';\n\n // Créer l'élément QR code\n const qrElement = document.createElement('div');\n qrElement.className = 'sunuid-qr-code';\n qrElement.innerHTML = `\n <div class=\"sunuid-qr-header\">\n <h3>${type === 'auth' ? 'Authentification' : 'Vérification KYC'}</h3>\n <div class=\"sunuid-timer\">\n <span>Expire dans: </span>\n <span id=\"sunuid-timer\">30</span>\n <span> secondes</span>\n </div>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n `;\n\n container.appendChild(qrElement);\n\n // Démarrer le timer\n this.startTimer();\n\n // Appliquer le thème\n this.applyTheme(options.theme || this.config.theme);\n }\n\n /**\n * Afficher \"Service non disponible\"\n */\n displayServiceUnavailable(containerId, type) {\n console.log(`displayServiceUnavailable appelée pour ${containerId}, type: ${type}`);\n const container = document.getElementById(containerId);\n if (!container) {\n console.error(`Container ${containerId} non trouvé`);\n return;\n }\n\n container.innerHTML = `\n <div class=\"sunuid-service-unavailable\" style=\"\n text-align: center;\n padding: 40px 20px;\n background: #f8f9fa;\n border: 2px dashed #dee2e6;\n border-radius: 10px;\n color: #6c757d;\n font-family: Arial, sans-serif;\n \">\n <div style=\"font-size: 48px; margin-bottom: 20px;\">⚠️</div>\n <h3 style=\"margin: 0 0 10px 0; color: #495057;\">Service Non Disponible</h3>\n <p style=\"margin: 0; font-size: 14px;\">\n Le service d'authentification est temporairement indisponible.<br>\n Veuillez réessayer plus tard.\n </p>\n <div style=\"margin-top: 20px; font-size: 12px; color: #adb5bd;\">\n Type: ${type.toUpperCase()}\n </div>\n </div>\n `;\n }\n\n /**\n * Rafraîchir un QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n const result = type === 'auth' \n ? await this.generateAuthQR(containerId, options)\n : await this.generateKYCQR(containerId, options);\n \n return result;\n } catch (error) {\n console.error('Erreur lors du rafraîchissement:', error.message);\n this.displayServiceUnavailable(containerId, type);\n throw error;\n }\n }\n\n /**\n * Démarrer le 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 // Utiliser l'endpoint depuis la configuration si disponible\n const endpointPath = window.SunuIDConfig?.endpoints?.[endpoint.replace('/', '')] || endpoint;\n const url = `${this.config.apiUrl}${endpointPath}`;\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.config.clientId}:${this.config.secretId}`,\n 'Accept': 'application/json'\n },\n body: JSON.stringify({\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n })\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n let errorData;\n try {\n errorData = JSON.parse(errorText);\n } catch (e) {\n errorData = { message: errorText };\n }\n \n throw new Error(errorData.message || `Erreur HTTP: ${response.status}`);\n }\n\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Erreur API SunuID:', error);\n throw error;\n }\n }\n\n /**\n * Appliquer le thème\n */\n applyTheme(theme) {\n const container = document.querySelector('.sunuid-qr-code');\n if (container) {\n container.className = `sunuid-qr-code sunuid-theme-${theme}`;\n }\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","_window$SunuIDConfig","DEFAULT_CONFIG","apiUrl","SunuIDConfig","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","imageBaseUrl","qrImageUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","concat","data","qrcode","displayQRCode","startAutoRefresh","a","qrCodeUrl","sessionId","service_id","message","error","displayServiceUnavailable","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","generateKYCQR","_x2","_checkQRStatus","_callee3","_t3","_context3","serviceId","handleError","checkQRStatus","_x3","qrUrl","container","document","getElementById","innerHTML","qrElement","createElement","className","appendChild","startTimer","applyTheme","toUpperCase","_refreshQR","_callee4","result","_args4","_t4","_t5","_context4","refreshQR","_x4","_x5","_this","setInterval","_callee5","_t6","_context5","warn","_this2","timeLeft","timerElement","timer","textContent","clearInterval","_makeRequest","_callee6","endpoint","_window$SunuIDConfig2","endpointPath","url","errorText","errorData","_t7","_context6","endpoints","replace","fetch","method","headers","body","JSON","stringify","client_id","secret_id","ok","text","parse","e","status","json","_x6","_x7","querySelector","destroy","sunuidInstance","initSunuID"],"mappings":"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"}
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: window.SunuIDConfig?.apiUrl || 'https://api.sunuid.fayma.sn',\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 };\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 const response = await this.makeRequest('/qr-generate', {\n type: 1, // Type 1 pour authentification\n ...options\n });\n\n if (response.success) {\n // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, 'auth', options);\n this.startAutoRefresh(containerId, 'auth', options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n console.log('Affichage du message \"Service non disponible\" pour auth');\n this.displayServiceUnavailable(containerId, 'auth');\n throw new Error('Service non disponible');\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 const response = await this.makeRequest('/qr-generate', {\n type: 2, // Type 2 pour KYC\n ...options\n });\n\n if (response.success) {\n // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, 'kyc', options);\n this.startAutoRefresh(containerId, 'kyc', options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code KYC');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n console.log('Affichage du message \"Service non disponible\" pour kyc');\n this.displayServiceUnavailable(containerId, 'kyc');\n throw new Error('Service non disponible');\n }\n }\n\n /**\n * Générer un QR code avec un type personnalisé\n */\n async generateCustomQR(containerId, type, options = {}) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-generate', {\n type: type, // Type personnalisé (1, 2, 3, etc.)\n ...options\n });\n\n if (response.success) {\n // Construire l'URL complète de l'image QR avec la base URL pour les images\n const imageBaseUrl = 'https://sunuid.fayma.sn';\n const qrImageUrl = `${imageBaseUrl}${response.data.qrcode}`;\n this.displayQRCode(containerId, qrImageUrl, type, options);\n this.startAutoRefresh(containerId, type, options);\n return {\n ...response.data,\n qrCodeUrl: qrImageUrl,\n sessionId: response.data.service_id\n };\n } else {\n throw new Error(response.message || 'Erreur lors de la génération du QR code');\n }\n } catch (error) {\n console.error('Erreur API détectée:', error.message);\n console.log('Affichage du message \"Service non disponible\" pour type ' + type);\n this.displayServiceUnavailable(containerId, type);\n throw new Error('Service non disponible');\n }\n }\n\n /**\n * Vérifier le statut d'un QR code\n */\n async checkQRStatus(sessionId) {\n if (!this.isInitialized) {\n throw new Error('SunuID: SDK non initialisé');\n }\n\n try {\n const response = await this.makeRequest('/qr-status', {\n serviceId: sessionId\n });\n\n if (response.success) {\n return response.data;\n } else {\n throw new Error(response.message || 'Erreur lors de la vérification du statut');\n }\n } catch (error) {\n this.handleError(error);\n throw error;\n }\n }\n\n /**\n * Afficher un QR code dans un 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 // Nettoyer le conteneur\n container.innerHTML = '';\n\n // Créer l'élément QR code\n const qrElement = document.createElement('div');\n qrElement.className = 'sunuid-qr-code';\n qrElement.innerHTML = `\n <div class=\"sunuid-qr-header\">\n <h3>${type === 1 ? 'Authentification' : type === 2 ? 'Vérification KYC' : 'Service Type ' + type}</h3>\n </div>\n <div class=\"sunuid-qr-image\">\n <img src=\"${qrUrl}\" alt=\"QR Code SunuID\" style=\"max-width: 300px; height: auto;\">\n </div>\n <div class=\"sunuid-qr-instructions\">\n <p>Scannez ce QR code avec l'application SunuID pour vous connecter</p>\n </div>\n <div class=\"sunuid-qr-status\" id=\"sunuid-status\">\n <p>En attente de scan...</p>\n </div>\n `;\n\n container.appendChild(qrElement);\n\n // Appliquer le thème\n this.applyTheme(options.theme || this.config.theme);\n }\n\n /**\n * Afficher \"Service non disponible\"\n */\n displayServiceUnavailable(containerId, type) {\n console.log(`displayServiceUnavailable appelée pour ${containerId}, type: ${type}`);\n const container = document.getElementById(containerId);\n if (!container) {\n console.error(`Container ${containerId} non trouvé`);\n return;\n }\n\n container.innerHTML = `\n <div class=\"sunuid-service-unavailable\" style=\"\n text-align: center;\n padding: 40px 20px;\n background: #f8f9fa;\n border: 2px dashed #dee2e6;\n border-radius: 10px;\n color: #6c757d;\n font-family: Arial, sans-serif;\n \">\n <div style=\"font-size: 48px; margin-bottom: 20px;\">⚠️</div>\n <h3 style=\"margin: 0 0 10px 0; color: #495057;\">Service Non Disponible</h3>\n <p style=\"margin: 0; font-size: 14px;\">\n Le service d'authentification est temporairement indisponible.<br>\n Veuillez réessayer plus tard.\n </p>\n <div style=\"margin-top: 20px; font-size: 12px; color: #adb5bd;\">\n Type: ${type.toUpperCase()}\n </div>\n </div>\n `;\n }\n\n /**\n * Rafraîchir un QR code\n */\n async refreshQR(containerId, type, options = {}) {\n try {\n const result = type === 1 \n ? await this.generateAuthQR(containerId, options)\n : type === 2 \n ? await this.generateKYCQR(containerId, options)\n : await this.generateCustomQR(containerId, type, options);\n \n return result;\n } catch (error) {\n console.error('Erreur lors du rafraîchissement:', error.message);\n this.displayServiceUnavailable(containerId, type);\n throw error;\n }\n }\n\n /**\n * Démarrer le 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\n\n /**\n * Effectuer une requête API\n */\n async makeRequest(endpoint, data) {\n // Utiliser l'endpoint depuis la configuration si disponible\n const endpointPath = window.SunuIDConfig?.endpoints?.[endpoint.replace('/', '')] || endpoint;\n const url = `${this.config.apiUrl}${endpointPath}`;\n \n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.config.clientId}:${this.config.secretId}`,\n 'Accept': 'application/json'\n },\n body: JSON.stringify({\n ...data,\n client_id: this.config.clientId,\n secret_id: this.config.secretId\n })\n });\n\n if (!response.ok) {\n const errorText = await response.text();\n let errorData;\n try {\n errorData = JSON.parse(errorText);\n } catch (e) {\n errorData = { message: errorText };\n }\n \n throw new Error(errorData.message || `Erreur HTTP: ${response.status}`);\n }\n\n const result = await response.json();\n return result;\n } catch (error) {\n console.error('Erreur API SunuID:', error);\n throw error;\n }\n }\n\n /**\n * Appliquer le thème\n */\n applyTheme(theme) {\n const container = document.querySelector('.sunuid-qr-code');\n if (container) {\n container.className = `sunuid-qr-code sunuid-theme-${theme}`;\n }\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","_window$SunuIDConfig","DEFAULT_CONFIG","apiUrl","SunuIDConfig","clientId","secretId","theme","language","autoRefresh","refreshInterval","onSuccess","onError","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","imageBaseUrl","qrImageUrl","_args","_t","w","_context","p","n","makeRequest","type","v","success","concat","data","qrcode","displayQRCode","startAutoRefresh","a","qrCodeUrl","sessionId","service_id","message","error","displayServiceUnavailable","generateAuthQR","_x","apply","_generateKYCQR","_callee2","_args2","_t2","_context2","generateKYCQR","_x2","_generateCustomQR","_callee3","_args3","_t3","_context3","generateCustomQR","_x3","_x4","_checkQRStatus","_callee4","_t4","_context4","serviceId","handleError","checkQRStatus","_x5","qrUrl","container","document","getElementById","innerHTML","qrElement","createElement","className","appendChild","applyTheme","toUpperCase","_refreshQR","_callee5","result","_args5","_t5","_t6","_t7","_context5","refreshQR","_x6","_x7","_this","setInterval","_callee6","_t8","_context6","warn","_makeRequest","_callee7","endpoint","_window$SunuIDConfig2","endpointPath","url","errorText","errorData","_t9","_context7","endpoints","replace","fetch","method","headers","body","JSON","stringify","client_id","secret_id","ok","text","parse","e","status","json","_x8","_x9","querySelector","destroy","clearInterval","sunuidInstance","initSunuID"],"mappings":"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"}