@blackcode_sa/metaestetics-api 1.6.23 → 1.6.25

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.
@@ -1611,15 +1611,34 @@ var DocumentationTemplateService = class extends BaseService {
1611
1611
  /**
1612
1612
  * Get a document template by ID
1613
1613
  * @param templateId - ID of the template to retrieve
1614
+ * @param version - Optional version number to retrieve (defaults to latest version)
1614
1615
  * @returns The template or null if not found
1615
1616
  */
1616
- async getTemplateById(templateId) {
1617
+ async getTemplateById(templateId, version) {
1617
1618
  const docRef = (0, import_firestore7.doc)(this.collectionRef, templateId);
1618
1619
  const docSnap = await (0, import_firestore7.getDoc)(docRef);
1619
1620
  if (!docSnap.exists()) {
1620
1621
  return null;
1621
1622
  }
1622
- return docSnap.data();
1623
+ const currentTemplate = docSnap.data();
1624
+ if (version === void 0) {
1625
+ return currentTemplate;
1626
+ }
1627
+ if (currentTemplate.version === version) {
1628
+ return currentTemplate;
1629
+ }
1630
+ try {
1631
+ const versionTemplate = await this.getTemplateVersion(
1632
+ templateId,
1633
+ version
1634
+ );
1635
+ if (versionTemplate) {
1636
+ return versionTemplate;
1637
+ }
1638
+ } catch (error) {
1639
+ console.error(`Error getting template version ${version}:`, error);
1640
+ }
1641
+ return null;
1623
1642
  }
1624
1643
  /**
1625
1644
  * Update an existing document template
@@ -1635,6 +1654,15 @@ var DocumentationTemplateService = class extends BaseService {
1635
1654
  if (!template) {
1636
1655
  throw new Error(`Template with ID ${templateId} not found`);
1637
1656
  }
1657
+ const versionsCollectionRef = (0, import_firestore7.collection)(
1658
+ this.db,
1659
+ `${DOCUMENTATION_TEMPLATES_COLLECTION}/${templateId}/versions`
1660
+ );
1661
+ const versionDocRef = (0, import_firestore7.doc)(
1662
+ versionsCollectionRef,
1663
+ template.version.toString()
1664
+ );
1665
+ await (0, import_firestore7.setDoc)(versionDocRef, template);
1638
1666
  let updatedElements = template.elements;
1639
1667
  if (validatedData.elements) {
1640
1668
  updatedElements = validatedData.elements.map((element) => ({
@@ -1663,6 +1691,41 @@ var DocumentationTemplateService = class extends BaseService {
1663
1691
  await (0, import_firestore7.updateDoc)(docRef, updatePayload);
1664
1692
  return { ...template, ...updatePayload };
1665
1693
  }
1694
+ /**
1695
+ * Get a specific version of a template
1696
+ * @param templateId - ID of the template
1697
+ * @param versionNumber - Version number to retrieve
1698
+ * @returns The template version or null if not found
1699
+ */
1700
+ async getTemplateVersion(templateId, versionNumber) {
1701
+ const versionDocRef = (0, import_firestore7.doc)(
1702
+ this.db,
1703
+ `${DOCUMENTATION_TEMPLATES_COLLECTION}/${templateId}/versions/${versionNumber}`
1704
+ );
1705
+ const versionDocSnap = await (0, import_firestore7.getDoc)(versionDocRef);
1706
+ if (!versionDocSnap.exists()) {
1707
+ return null;
1708
+ }
1709
+ return versionDocSnap.data();
1710
+ }
1711
+ /**
1712
+ * Get all versions of a template
1713
+ * @param templateId - ID of the template
1714
+ * @returns Array of template versions
1715
+ */
1716
+ async getTemplateOldVersions(templateId) {
1717
+ const versionsCollectionRef = (0, import_firestore7.collection)(
1718
+ this.db,
1719
+ `${DOCUMENTATION_TEMPLATES_COLLECTION}/${templateId}/versions`
1720
+ );
1721
+ const q = (0, import_firestore7.query)(versionsCollectionRef, (0, import_firestore7.orderBy)("version", "desc"));
1722
+ const querySnapshot = await (0, import_firestore7.getDocs)(q);
1723
+ const versions = [];
1724
+ querySnapshot.forEach((doc9) => {
1725
+ versions.push(doc9.data());
1726
+ });
1727
+ return versions;
1728
+ }
1666
1729
  /**
1667
1730
  * Delete a document template
1668
1731
  * @param templateId - ID of the template to delete
@@ -1810,10 +1873,11 @@ var DocumentationTemplateService2 = class {
1810
1873
  /**
1811
1874
  * Get a document template by ID
1812
1875
  * @param templateId - ID of the template to retrieve
1876
+ * @param version - Optional version number to retrieve (defaults to latest version)
1813
1877
  * @returns The template or null if not found
1814
1878
  */
1815
- async getTemplateById(templateId) {
1816
- return this.apiService.getTemplateById(templateId);
1879
+ async getTemplateById(templateId, version) {
1880
+ return this.apiService.getTemplateById(templateId, version);
1817
1881
  }
1818
1882
  /**
1819
1883
  * Update an existing document template
@@ -1860,6 +1924,23 @@ var DocumentationTemplateService2 = class {
1860
1924
  async getTemplatesByCreator(userId, pageSize = 20, lastDoc) {
1861
1925
  return this.apiService.getTemplatesByCreator(userId, pageSize, lastDoc);
1862
1926
  }
1927
+ /**
1928
+ * Get a specific version of a template
1929
+ * @param templateId - ID of the template
1930
+ * @param versionNumber - Version number to retrieve
1931
+ * @returns The template version or null if not found
1932
+ */
1933
+ async getTemplateVersion(templateId, versionNumber) {
1934
+ return this.apiService.getTemplateVersion(templateId, versionNumber);
1935
+ }
1936
+ /**
1937
+ * Get all versions of a template
1938
+ * @param templateId - ID of the template
1939
+ * @returns Array of template versions
1940
+ */
1941
+ async getTemplateVersions(templateId) {
1942
+ return this.apiService.getTemplateOldVersions(templateId);
1943
+ }
1863
1944
  };
1864
1945
  // Annotate the CommonJS export names for ESM import in node:
1865
1946
  0 && (module.exports = {
@@ -1588,15 +1588,34 @@ var DocumentationTemplateService = class extends BaseService {
1588
1588
  /**
1589
1589
  * Get a document template by ID
1590
1590
  * @param templateId - ID of the template to retrieve
1591
+ * @param version - Optional version number to retrieve (defaults to latest version)
1591
1592
  * @returns The template or null if not found
1592
1593
  */
1593
- async getTemplateById(templateId) {
1594
+ async getTemplateById(templateId, version) {
1594
1595
  const docRef = doc7(this.collectionRef, templateId);
1595
1596
  const docSnap = await getDoc7(docRef);
1596
1597
  if (!docSnap.exists()) {
1597
1598
  return null;
1598
1599
  }
1599
- return docSnap.data();
1600
+ const currentTemplate = docSnap.data();
1601
+ if (version === void 0) {
1602
+ return currentTemplate;
1603
+ }
1604
+ if (currentTemplate.version === version) {
1605
+ return currentTemplate;
1606
+ }
1607
+ try {
1608
+ const versionTemplate = await this.getTemplateVersion(
1609
+ templateId,
1610
+ version
1611
+ );
1612
+ if (versionTemplate) {
1613
+ return versionTemplate;
1614
+ }
1615
+ } catch (error) {
1616
+ console.error(`Error getting template version ${version}:`, error);
1617
+ }
1618
+ return null;
1600
1619
  }
1601
1620
  /**
1602
1621
  * Update an existing document template
@@ -1612,6 +1631,15 @@ var DocumentationTemplateService = class extends BaseService {
1612
1631
  if (!template) {
1613
1632
  throw new Error(`Template with ID ${templateId} not found`);
1614
1633
  }
1634
+ const versionsCollectionRef = collection7(
1635
+ this.db,
1636
+ `${DOCUMENTATION_TEMPLATES_COLLECTION}/${templateId}/versions`
1637
+ );
1638
+ const versionDocRef = doc7(
1639
+ versionsCollectionRef,
1640
+ template.version.toString()
1641
+ );
1642
+ await setDoc(versionDocRef, template);
1615
1643
  let updatedElements = template.elements;
1616
1644
  if (validatedData.elements) {
1617
1645
  updatedElements = validatedData.elements.map((element) => ({
@@ -1640,6 +1668,41 @@ var DocumentationTemplateService = class extends BaseService {
1640
1668
  await updateDoc7(docRef, updatePayload);
1641
1669
  return { ...template, ...updatePayload };
1642
1670
  }
1671
+ /**
1672
+ * Get a specific version of a template
1673
+ * @param templateId - ID of the template
1674
+ * @param versionNumber - Version number to retrieve
1675
+ * @returns The template version or null if not found
1676
+ */
1677
+ async getTemplateVersion(templateId, versionNumber) {
1678
+ const versionDocRef = doc7(
1679
+ this.db,
1680
+ `${DOCUMENTATION_TEMPLATES_COLLECTION}/${templateId}/versions/${versionNumber}`
1681
+ );
1682
+ const versionDocSnap = await getDoc7(versionDocRef);
1683
+ if (!versionDocSnap.exists()) {
1684
+ return null;
1685
+ }
1686
+ return versionDocSnap.data();
1687
+ }
1688
+ /**
1689
+ * Get all versions of a template
1690
+ * @param templateId - ID of the template
1691
+ * @returns Array of template versions
1692
+ */
1693
+ async getTemplateOldVersions(templateId) {
1694
+ const versionsCollectionRef = collection7(
1695
+ this.db,
1696
+ `${DOCUMENTATION_TEMPLATES_COLLECTION}/${templateId}/versions`
1697
+ );
1698
+ const q = query7(versionsCollectionRef, orderBy("version", "desc"));
1699
+ const querySnapshot = await getDocs7(q);
1700
+ const versions = [];
1701
+ querySnapshot.forEach((doc9) => {
1702
+ versions.push(doc9.data());
1703
+ });
1704
+ return versions;
1705
+ }
1643
1706
  /**
1644
1707
  * Delete a document template
1645
1708
  * @param templateId - ID of the template to delete
@@ -1798,10 +1861,11 @@ var DocumentationTemplateService2 = class {
1798
1861
  /**
1799
1862
  * Get a document template by ID
1800
1863
  * @param templateId - ID of the template to retrieve
1864
+ * @param version - Optional version number to retrieve (defaults to latest version)
1801
1865
  * @returns The template or null if not found
1802
1866
  */
1803
- async getTemplateById(templateId) {
1804
- return this.apiService.getTemplateById(templateId);
1867
+ async getTemplateById(templateId, version) {
1868
+ return this.apiService.getTemplateById(templateId, version);
1805
1869
  }
1806
1870
  /**
1807
1871
  * Update an existing document template
@@ -1848,6 +1912,23 @@ var DocumentationTemplateService2 = class {
1848
1912
  async getTemplatesByCreator(userId, pageSize = 20, lastDoc) {
1849
1913
  return this.apiService.getTemplatesByCreator(userId, pageSize, lastDoc);
1850
1914
  }
1915
+ /**
1916
+ * Get a specific version of a template
1917
+ * @param templateId - ID of the template
1918
+ * @param versionNumber - Version number to retrieve
1919
+ * @returns The template version or null if not found
1920
+ */
1921
+ async getTemplateVersion(templateId, versionNumber) {
1922
+ return this.apiService.getTemplateVersion(templateId, versionNumber);
1923
+ }
1924
+ /**
1925
+ * Get all versions of a template
1926
+ * @param templateId - ID of the template
1927
+ * @returns Array of template versions
1928
+ */
1929
+ async getTemplateVersions(templateId) {
1930
+ return this.apiService.getTemplateOldVersions(templateId);
1931
+ }
1851
1932
  };
1852
1933
  export {
1853
1934
  BackofficeError,