ng-easycommerce-v18 0.3.14-beta.1 → 0.3.14-beta.2

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.
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ # Version 0.3.14-beta.2
2
+ - Pruebas para errores en console al desplegar
1
3
  # Version 0.3.14-beta.1
2
4
  - Pruebas para errores en console al desplegar
3
5
  # Version 0.3.11
@@ -40,18 +40,29 @@ export class ApiConstantsService {
40
40
  * URL del backend para realizar las peticiones
41
41
  */
42
42
  get API_URL() {
43
+ // Browser runtime-config
43
44
  if (typeof window !== 'undefined') {
44
45
  const windowEnv = window.__env;
45
- if (windowEnv?.apiUrl)
46
- return windowEnv.apiUrl;
46
+ if (windowEnv?.apiBaseUrl)
47
+ return windowEnv.apiBaseUrl;
47
48
  }
49
+ // SSR
48
50
  if (isPlatformServer(this.platformId)) {
49
- return this.ssrApiUrl; // ⚡ URL inyectada desde server.ts
51
+ return this.ssrApiUrl;
50
52
  }
53
+ // Fallback environment
51
54
  return this.environment.apiUrl ?? '';
52
55
  }
53
56
  /**
54
- * Retorna la url base
57
+ * URL base completa para shop-api con channel y locale
58
+ */
59
+ getShopApiBase() {
60
+ const channel = this.CHANNEL || 'undefined';
61
+ const locale = this.LOCALE || 'undefined';
62
+ return `${this.API_URL}/${this.SHOP_API_URL}${channel}/?locale=${locale}`;
63
+ }
64
+ /**
65
+ * Retorna la url base general (sin shop-api)
55
66
  */
56
67
  getUrlBase() {
57
68
  return this.API_URL;
@@ -81,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
81
92
  type: Inject,
82
93
  args: ['API_URL']
83
94
  }] }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmNvbnN0YW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NvbnN0YW50cy9hcGkuY29uc3RhbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXZEOztHQUVHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQWFTO0lBWi9CLGFBQWEsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDakUsVUFBVSxHQUFxQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV4RCxXQUFXLEdBQWdCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JELFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakMsUUFBUSxDQUFTO0lBQ2xCLE1BQU0sQ0FBUztJQUVOLFlBQVksR0FBVyxXQUFXLENBQUM7SUFDbkMsT0FBTyxHQUFXLE1BQU0sQ0FBQztJQUV6QyxZQUF1QyxTQUFpQjtRQUFqQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDaEIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxNQUFNLFNBQVMsR0FBSSxNQUFjLENBQUMsS0FBSyxDQUFDO1lBQ3hDLElBQUksU0FBUyxFQUFFLE9BQU87Z0JBQUUsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQ25ELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsT0FBTyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2hCLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDbEMsTUFBTSxTQUFTLEdBQUksTUFBYyxDQUFDLEtBQUssQ0FBQztZQUN4QyxJQUFJLFNBQVMsRUFBRSxNQUFNO2dCQUFFLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUNqRCxDQUFDO1FBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxrQ0FBa0M7UUFDM0QsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLElBQVk7UUFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxNQUFjO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFFZ0IsVUFBVSxHQUFXLFFBQVEsQ0FBQztJQUM5QixXQUFXLEdBQVcsU0FBUyxDQUFDO3dHQXRFdEMsbUJBQW1CLGtCQWFWLFNBQVM7NEdBYmxCLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFjYyxNQUFNOzJCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lELCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEVOVklST05NRU5UX1RPS0VOIH0gZnJvbSAnLi4vcHJvdmlkZXJzJztcclxuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2VjLXNlcnZpY2VzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2lvIHF1ZSBwcm92ZWUgZGUgZGF0b3MgcmVsYWNpb25hZG9zIGNvbiBsYXMgcGV0aWNpb25lcyBhIGxhIEFQSVxyXG4gKi9cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpQ29uc3RhbnRzU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBfbG9jYWxTdG9yYWdlOiBMb2NhbFN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KExvY2FsU3RvcmFnZVNlcnZpY2UpO1xyXG4gIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcclxuXHJcbiAgcHJpdmF0ZSBlbnZpcm9ubWVudDogRW52aXJvbm1lbnQgPSBpbmplY3QoRU5WSVJPTk1FTlRfVE9LRU4pO1xyXG4gIHByaXZhdGUgcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XHJcblxyXG4gIHByaXZhdGUgX2NoYW5uZWw6IHN0cmluZztcclxuICBwdWJsaWMgTE9DQUxFOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBTSE9QX0FQSV9VUkw6IHN0cmluZyA9ICdzaG9wLWFwaS8nO1xyXG4gIHB1YmxpYyByZWFkb25seSBDTVNfVVJMOiBzdHJpbmcgPSAnY21zLyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoJ0FQSV9VUkwnKSBwcml2YXRlIHNzckFwaVVybDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jaGFubmVsID0gdGhpcy5lbnZpcm9ubWVudC5jaGFubmVsO1xyXG4gICAgdGhpcy5MT0NBTEUgPSB0aGlzLmVudmlyb25tZW50LmxvY2FsZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbmFsIGFjdHVhbCBkZWwgZnJvbnRlbmRcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IENIQU5ORUwoKTogc3RyaW5nIHtcclxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBjb25zdCB3aW5kb3dFbnYgPSAod2luZG93IGFzIGFueSkuX19lbnY7XHJcbiAgICAgIGlmICh3aW5kb3dFbnY/LmNoYW5uZWwpIHJldHVybiB3aW5kb3dFbnYuY2hhbm5lbDtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9jaGFubmVsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBDSEFOTkVMKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2NoYW5uZWwgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVSTCBkZWwgYmFja2VuZCBwYXJhIHJlYWxpemFyIGxhcyBwZXRpY2lvbmVzXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBBUElfVVJMKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgY29uc3Qgd2luZG93RW52ID0gKHdpbmRvdyBhcyBhbnkpLl9fZW52O1xyXG4gICAgICBpZiAod2luZG93RW52Py5hcGlVcmwpIHJldHVybiB3aW5kb3dFbnYuYXBpVXJsO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3NyQXBpVXJsOyAvLyDimqEgVVJMIGlueWVjdGFkYSBkZXNkZSBzZXJ2ZXIudHNcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcGlVcmwgPz8gJyc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRvcm5hIGxhIHVybCBiYXNlXHJcbiAgICovXHJcbiAgcHVibGljIGdldFVybEJhc2UoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLkFQSV9VUkw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYW1iaWEgZWwgY2FuYWwgYWN0dWFsXHJcbiAgICovXHJcbiAgcHVibGljIHNldENoYW5uZWwoY29kZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLkNIQU5ORUwgPSBjb2RlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5MT0NBTEVfS0VZLCBsb2NhbGUpO1xyXG4gICAgdGhpcy5fdHJhbnNsYXRlLnVzZShsb2NhbGUuc3BsaXQoJ18nKVswXSk7XHJcbiAgICB0aGlzLkxPQ0FMRSA9IGxvY2FsZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgTE9DQUxFX0tFWTogc3RyaW5nID0gJ0xPQ0FMRSc7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBDSEFOTkVMX0tFWTogc3RyaW5nID0gJ0NIQU5ORUwnO1xyXG59XHJcbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmNvbnN0YW50cy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2NvbnN0YW50cy9hcGkuY29uc3RhbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXZEOztHQUVHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQWFTO0lBWi9CLGFBQWEsR0FBd0IsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDakUsVUFBVSxHQUFxQixNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUV4RCxXQUFXLEdBQWdCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JELFVBQVUsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFakMsUUFBUSxDQUFTO0lBQ2xCLE1BQU0sQ0FBUztJQUVOLFlBQVksR0FBVyxXQUFXLENBQUM7SUFDbkMsT0FBTyxHQUFXLE1BQU0sQ0FBQztJQUV6QyxZQUF1QyxTQUFpQjtRQUFqQixjQUFTLEdBQVQsU0FBUyxDQUFRO1FBQ3RELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLE9BQU87UUFDaEIsSUFBSSxPQUFPLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNsQyxNQUFNLFNBQVMsR0FBSSxNQUFjLENBQUMsS0FBSyxDQUFDO1lBQ3hDLElBQUksU0FBUyxFQUFFLE9BQU87Z0JBQUUsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQ25ELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQVcsT0FBTyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2hCLHlCQUF5QjtRQUN6QixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sU0FBUyxHQUFJLE1BQWMsQ0FBQyxLQUFLLENBQUM7WUFDeEMsSUFBSSxTQUFTLEVBQUUsVUFBVTtnQkFBRSxPQUFPLFNBQVMsQ0FBQyxVQUFVLENBQUM7UUFDekQsQ0FBQztRQUVELE1BQU07UUFDTixJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUN4QixDQUFDO1FBRUQsdUJBQXVCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxXQUFXLENBQUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxXQUFXLENBQUM7UUFDMUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLFlBQVksTUFBTSxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxVQUFVLENBQUMsSUFBWTtRQUM1QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztJQUN0QixDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWM7UUFDN0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVnQixVQUFVLEdBQVcsUUFBUSxDQUFDO0lBQzlCLFdBQVcsR0FBVyxTQUFTLENBQUM7d0dBbEZ0QyxtQkFBbUIsa0JBYVYsU0FBUzs0R0FibEIsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQWNjLE1BQU07MkJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRU5WSVJPTk1FTlRfVE9LRU4gfSBmcm9tICcuLi9wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vZWMtc2VydmljZXMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG4vKipcclxuICogU2VydmljaW8gcXVlIHByb3ZlZSBkZSBkYXRvcyByZWxhY2lvbmFkb3MgY29uIGxhcyBwZXRpY2lvbmVzIGEgbGEgQVBJXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcGlDb25zdGFudHNTZXJ2aWNlIHtcclxuICBwcml2YXRlIF9sb2NhbFN0b3JhZ2U6IExvY2FsU3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoTG9jYWxTdG9yYWdlU2VydmljZSk7XHJcbiAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xyXG5cclxuICBwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCA9IGluamVjdChFTlZJUk9OTUVOVF9UT0tFTik7XHJcbiAgcHJpdmF0ZSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcclxuXHJcbiAgcHJpdmF0ZSBfY2hhbm5lbDogc3RyaW5nO1xyXG4gIHB1YmxpYyBMT0NBTEU6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IFNIT1BfQVBJX1VSTDogc3RyaW5nID0gJ3Nob3AtYXBpLyc7XHJcbiAgcHVibGljIHJlYWRvbmx5IENNU19VUkw6IHN0cmluZyA9ICdjbXMvJztcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdCgnQVBJX1VSTCcpIHByaXZhdGUgc3NyQXBpVXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2NoYW5uZWwgPSB0aGlzLmVudmlyb25tZW50LmNoYW5uZWw7XHJcbiAgICB0aGlzLkxPQ0FMRSA9IHRoaXMuZW52aXJvbm1lbnQubG9jYWxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2FuYWwgYWN0dWFsIGRlbCBmcm9udGVuZFxyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXQgQ0hBTk5FTCgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIGNvbnN0IHdpbmRvd0VudiA9ICh3aW5kb3cgYXMgYW55KS5fX2VudjtcclxuICAgICAgaWYgKHdpbmRvd0Vudj8uY2hhbm5lbCkgcmV0dXJuIHdpbmRvd0Vudi5jaGFubmVsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2NoYW5uZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IENIQU5ORUwodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY2hhbm5lbCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVVJMIGRlbCBiYWNrZW5kIHBhcmEgcmVhbGl6YXIgbGFzIHBldGljaW9uZXNcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0IEFQSV9VUkwoKTogc3RyaW5nIHtcclxuICAgIC8vIEJyb3dzZXIgcnVudGltZS1jb25maWdcclxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBjb25zdCB3aW5kb3dFbnYgPSAod2luZG93IGFzIGFueSkuX19lbnY7XHJcbiAgICAgIGlmICh3aW5kb3dFbnY/LmFwaUJhc2VVcmwpIHJldHVybiB3aW5kb3dFbnYuYXBpQmFzZVVybDtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTU1JcclxuICAgIGlmIChpc1BsYXRmb3JtU2VydmVyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3NyQXBpVXJsO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZhbGxiYWNrIGVudmlyb25tZW50XHJcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5hcGlVcmwgPz8gJyc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVUkwgYmFzZSBjb21wbGV0YSBwYXJhIHNob3AtYXBpIGNvbiBjaGFubmVsIHkgbG9jYWxlXHJcbiAgICovXHJcbiAgcHVibGljIGdldFNob3BBcGlCYXNlKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjaGFubmVsID0gdGhpcy5DSEFOTkVMIHx8ICd1bmRlZmluZWQnO1xyXG4gICAgY29uc3QgbG9jYWxlID0gdGhpcy5MT0NBTEUgfHwgJ3VuZGVmaW5lZCc7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5BUElfVVJMfS8ke3RoaXMuU0hPUF9BUElfVVJMfSR7Y2hhbm5lbH0vP2xvY2FsZT0ke2xvY2FsZX1gO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0b3JuYSBsYSB1cmwgYmFzZSBnZW5lcmFsIChzaW4gc2hvcC1hcGkpXHJcbiAgICovXHJcbiAgcHVibGljIGdldFVybEJhc2UoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLkFQSV9VUkw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYW1iaWEgZWwgY2FuYWwgYWN0dWFsXHJcbiAgICovXHJcbiAgcHVibGljIHNldENoYW5uZWwoY29kZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLkNIQU5ORUwgPSBjb2RlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldExvY2FsZShsb2NhbGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5MT0NBTEVfS0VZLCBsb2NhbGUpO1xyXG4gICAgdGhpcy5fdHJhbnNsYXRlLnVzZShsb2NhbGUuc3BsaXQoJ18nKVswXSk7XHJcbiAgICB0aGlzLkxPQ0FMRSA9IGxvY2FsZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgTE9DQUxFX0tFWTogc3RyaW5nID0gJ0xPQ0FMRSc7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBDSEFOTkVMX0tFWTogc3RyaW5nID0gJ0NIQU5ORUwnO1xyXG59XHJcbiJdfQ==
@@ -79,18 +79,29 @@ class ApiConstantsService {
79
79
  * URL del backend para realizar las peticiones
80
80
  */
81
81
  get API_URL() {
82
+ // Browser runtime-config
82
83
  if (typeof window !== 'undefined') {
83
84
  const windowEnv = window.__env;
84
- if (windowEnv?.apiUrl)
85
- return windowEnv.apiUrl;
85
+ if (windowEnv?.apiBaseUrl)
86
+ return windowEnv.apiBaseUrl;
86
87
  }
88
+ // SSR
87
89
  if (isPlatformServer(this.platformId)) {
88
- return this.ssrApiUrl; // ⚡ URL inyectada desde server.ts
90
+ return this.ssrApiUrl;
89
91
  }
92
+ // Fallback environment
90
93
  return this.environment.apiUrl ?? '';
91
94
  }
92
95
  /**
93
- * Retorna la url base
96
+ * URL base completa para shop-api con channel y locale
97
+ */
98
+ getShopApiBase() {
99
+ const channel = this.CHANNEL || 'undefined';
100
+ const locale = this.LOCALE || 'undefined';
101
+ return `${this.API_URL}/${this.SHOP_API_URL}${channel}/?locale=${locale}`;
102
+ }
103
+ /**
104
+ * Retorna la url base general (sin shop-api)
94
105
  */
95
106
  getUrlBase() {
96
107
  return this.API_URL;