@djangocfg/ext-support 1.0.25 → 1.0.26

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/dist/index.cjs CHANGED
@@ -41,7 +41,7 @@ var ExtSupportSupport = class {
41
41
  if (isParamsObject) {
42
42
  params = args[0];
43
43
  } else {
44
- params = { page: args[0], page_size: args[1] };
44
+ params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };
45
45
  }
46
46
  const response = await this.client.request("GET", "/cfg/support/tickets/", { params });
47
47
  return response;
@@ -66,7 +66,7 @@ var ExtSupportSupport = class {
66
66
  if (isParamsObject) {
67
67
  params = args[1];
68
68
  } else {
69
- params = { page: args[1], page_size: args[2] };
69
+ params = { ordering: args[1], page: args[2], page_size: args[3], search: args[4] };
70
70
  }
71
71
  const response = await this.client.request("GET", `/cfg/support/tickets/${ticket_uuid}/messages/`, { params });
72
72
  return response;
@@ -757,22 +757,6 @@ var PatchedTicketRequestStatus = /* @__PURE__ */ ((PatchedTicketRequestStatus2)
757
757
  PatchedTicketRequestStatus2["CLOSED"] = "closed";
758
758
  return PatchedTicketRequestStatus2;
759
759
  })(PatchedTicketRequestStatus || {});
760
- var TicketStatus = /* @__PURE__ */ ((TicketStatus2) => {
761
- TicketStatus2["OPEN"] = "open";
762
- TicketStatus2["WAITING_FOR_USER"] = "waiting_for_user";
763
- TicketStatus2["WAITING_FOR_ADMIN"] = "waiting_for_admin";
764
- TicketStatus2["RESOLVED"] = "resolved";
765
- TicketStatus2["CLOSED"] = "closed";
766
- return TicketStatus2;
767
- })(TicketStatus || {});
768
- var TicketRequestStatus = /* @__PURE__ */ ((TicketRequestStatus2) => {
769
- TicketRequestStatus2["OPEN"] = "open";
770
- TicketRequestStatus2["WAITING_FOR_USER"] = "waiting_for_user";
771
- TicketRequestStatus2["WAITING_FOR_ADMIN"] = "waiting_for_admin";
772
- TicketRequestStatus2["RESOLVED"] = "resolved";
773
- TicketRequestStatus2["CLOSED"] = "closed";
774
- return TicketRequestStatus2;
775
- })(TicketRequestStatus || {});
776
760
  var SenderSchema = zod.z.object({
777
761
  id: zod.z.int(),
778
762
  display_username: zod.z.string(),
@@ -816,7 +800,7 @@ var TicketSchema = zod.z.object({
816
800
  uuid: zod.z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),
817
801
  user: zod.z.int(),
818
802
  subject: zod.z.string().max(255),
819
- status: zod.z.nativeEnum(TicketStatus).optional(),
803
+ status: zod.z.nativeEnum(PatchedTicketRequestStatus).optional(),
820
804
  created_at: zod.z.string().datetime({ offset: true }),
821
805
  unanswered_messages_count: zod.z.int()
822
806
  });
@@ -844,7 +828,7 @@ zod.z.object({
844
828
  zod.z.object({
845
829
  user: zod.z.int(),
846
830
  subject: zod.z.string().min(1).max(255),
847
- status: zod.z.nativeEnum(TicketRequestStatus).optional()
831
+ status: zod.z.nativeEnum(PatchedTicketRequestStatus).optional()
848
832
  });
849
833
 
850
834
  // src/api/generated/ext_support/api-instance.ts
@@ -880,7 +864,7 @@ function configureAPI(config) {
880
864
  // src/api/generated/ext_support/_utils/fetchers/ext_support__support.ts
881
865
  async function getSupportTicketsList(params, client) {
882
866
  const api = getAPIInstance();
883
- const response = await api.ext_support_support.ticketsList(params?.page, params?.page_size);
867
+ const response = await api.ext_support_support.ticketsList(params?.ordering, params?.page, params?.page_size, params?.search);
884
868
  try {
885
869
  return PaginatedTicketListSchema.parse(response);
886
870
  } catch (error) {
@@ -964,7 +948,7 @@ Method: POST`);
964
948
  }
965
949
  async function getSupportTicketsMessagesList(ticket_uuid, params, client) {
966
950
  const api = getAPIInstance();
967
- const response = await api.ext_support_support.ticketsMessagesList(ticket_uuid, params?.page, params?.page_size);
951
+ const response = await api.ext_support_support.ticketsMessagesList(ticket_uuid, params?.ordering, params?.page, params?.page_size, params?.search);
968
952
  try {
969
953
  return PaginatedMessageListSchema.parse(response);
970
954
  } catch (error) {
@@ -1719,78 +1703,6 @@ var en = {
1719
1703
  }
1720
1704
  };
1721
1705
 
1722
- // src/i18n/locales/ru.ts
1723
- var ru = {
1724
- layout: {
1725
- title: "\u0426\u0435\u043D\u0442\u0440 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1726
- titleShort: "\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0430",
1727
- subtitle: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u043F\u043E\u043C\u043E\u0449\u044C \u043E\u0442 \u043D\u0430\u0448\u0435\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1728
- newTicket: "\u041D\u043E\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435"
1729
- },
1730
- hero: {
1731
- openTickets: "\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439",
1732
- unreadMessages: "\u041D\u0435\u043F\u0440\u043E\u0447\u0438\u0442\u0430\u043D\u043D\u044B\u0445"
1733
- },
1734
- status: {
1735
- open: "\u041E\u0442\u043A\u0440\u044B\u0442",
1736
- waitingForUser: "\u041E\u0436\u0438\u0434\u0430\u0435\u0442 \u0432\u0430\u0441",
1737
- waitingForAdmin: "\u041E\u0436\u0438\u0434\u0430\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0443",
1738
- resolved: "\u0420\u0435\u0448\u0451\u043D",
1739
- closed: "\u0417\u0430\u043A\u0440\u044B\u0442"
1740
- },
1741
- ticketList: {
1742
- noTickets: "\u041D\u0435\u0442 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439",
1743
- noTicketsDescription: "\u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043F\u0435\u0440\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u043E\u043C\u043E\u0449\u044C",
1744
- loadingMore: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",
1745
- loadMore: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0451",
1746
- allLoaded: "\u0412\u0441\u0435 {count} \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E"
1747
- },
1748
- createTicket: {
1749
- title: "\u041D\u043E\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435",
1750
- description: "\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443, \u0438 \u043C\u044B \u043F\u043E\u043C\u043E\u0436\u0435\u043C \u0432\u0430\u043C",
1751
- subjectLabel: "\u0422\u0435\u043C\u0430",
1752
- subjectPlaceholder: "\u041A\u0440\u0430\u0442\u043A\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",
1753
- messageLabel: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
1754
- messagePlaceholder: "\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443 \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u043E...",
1755
- cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
1756
- creating: "\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435...",
1757
- create: "\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435"
1758
- },
1759
- validation: {
1760
- subjectRequired: "\u0422\u0435\u043C\u0430 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u0430",
1761
- subjectTooLong: "\u0422\u0435\u043C\u0430 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0434\u043B\u0438\u043D\u043D\u0430\u044F (\u043C\u0430\u043A\u0441. 200 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)",
1762
- messageRequired: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E",
1763
- messageTooLong: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0434\u043B\u0438\u043D\u043D\u043E\u0435 (\u043C\u0430\u043A\u0441. 5000 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)"
1764
- },
1765
- messages: {
1766
- ticketCreated: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u043E",
1767
- ticketCreateFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435",
1768
- messageSent: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E",
1769
- messageSendFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435"
1770
- },
1771
- messageInput: {
1772
- placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...",
1773
- ticketClosed: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E",
1774
- ticketClosedDescription: "\u042D\u0442\u043E \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E. \u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u043E\u0435, \u0435\u0441\u043B\u0438 \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u0430 \u043F\u043E\u043C\u043E\u0449\u044C."
1775
- },
1776
- messageList: {
1777
- noTicketSelected: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E",
1778
- noTicketSelectedDescription: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u0434\u043B\u044F \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439",
1779
- noMessages: "\u041D\u0435\u0442 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439",
1780
- noMessagesDescription: "\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433, \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0432 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
1781
- loadingOlder: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0441\u0442\u0430\u0440\u044B\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439...",
1782
- loadOlder: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441\u0442\u0430\u0440\u044B\u0435",
1783
- supportTeam: "\u0421\u043B\u0443\u0436\u0431\u0430 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1784
- staff: "\u0421\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A"
1785
- },
1786
- time: {
1787
- justNow: "\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u043E",
1788
- minutesAgo: "{count} \u043C\u0438\u043D \u043D\u0430\u0437\u0430\u0434",
1789
- hoursAgo: "{count}\u0447 \u043D\u0430\u0437\u0430\u0434",
1790
- daysAgo: "{count}\u0434 \u043D\u0430\u0437\u0430\u0434"
1791
- }
1792
- };
1793
-
1794
1706
  // src/i18n/locales/ko.ts
1795
1707
  var ko = {
1796
1708
  layout: {
@@ -1863,6 +1775,78 @@ var ko = {
1863
1775
  }
1864
1776
  };
1865
1777
 
1778
+ // src/i18n/locales/ru.ts
1779
+ var ru = {
1780
+ layout: {
1781
+ title: "\u0426\u0435\u043D\u0442\u0440 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1782
+ titleShort: "\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0430",
1783
+ subtitle: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u043F\u043E\u043C\u043E\u0449\u044C \u043E\u0442 \u043D\u0430\u0448\u0435\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1784
+ newTicket: "\u041D\u043E\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435"
1785
+ },
1786
+ hero: {
1787
+ openTickets: "\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439",
1788
+ unreadMessages: "\u041D\u0435\u043F\u0440\u043E\u0447\u0438\u0442\u0430\u043D\u043D\u044B\u0445"
1789
+ },
1790
+ status: {
1791
+ open: "\u041E\u0442\u043A\u0440\u044B\u0442",
1792
+ waitingForUser: "\u041E\u0436\u0438\u0434\u0430\u0435\u0442 \u0432\u0430\u0441",
1793
+ waitingForAdmin: "\u041E\u0436\u0438\u0434\u0430\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0443",
1794
+ resolved: "\u0420\u0435\u0448\u0451\u043D",
1795
+ closed: "\u0417\u0430\u043A\u0440\u044B\u0442"
1796
+ },
1797
+ ticketList: {
1798
+ noTickets: "\u041D\u0435\u0442 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439",
1799
+ noTicketsDescription: "\u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043F\u0435\u0440\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u043E\u043C\u043E\u0449\u044C",
1800
+ loadingMore: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",
1801
+ loadMore: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0451",
1802
+ allLoaded: "\u0412\u0441\u0435 {count} \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E"
1803
+ },
1804
+ createTicket: {
1805
+ title: "\u041D\u043E\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435",
1806
+ description: "\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443, \u0438 \u043C\u044B \u043F\u043E\u043C\u043E\u0436\u0435\u043C \u0432\u0430\u043C",
1807
+ subjectLabel: "\u0422\u0435\u043C\u0430",
1808
+ subjectPlaceholder: "\u041A\u0440\u0430\u0442\u043A\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",
1809
+ messageLabel: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
1810
+ messagePlaceholder: "\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443 \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u043E...",
1811
+ cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
1812
+ creating: "\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435...",
1813
+ create: "\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435"
1814
+ },
1815
+ validation: {
1816
+ subjectRequired: "\u0422\u0435\u043C\u0430 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u0430",
1817
+ subjectTooLong: "\u0422\u0435\u043C\u0430 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0434\u043B\u0438\u043D\u043D\u0430\u044F (\u043C\u0430\u043A\u0441. 200 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)",
1818
+ messageRequired: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E",
1819
+ messageTooLong: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0434\u043B\u0438\u043D\u043D\u043E\u0435 (\u043C\u0430\u043A\u0441. 5000 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)"
1820
+ },
1821
+ messages: {
1822
+ ticketCreated: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u043E",
1823
+ ticketCreateFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435",
1824
+ messageSent: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E",
1825
+ messageSendFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435"
1826
+ },
1827
+ messageInput: {
1828
+ placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...",
1829
+ ticketClosed: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E",
1830
+ ticketClosedDescription: "\u042D\u0442\u043E \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E. \u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u043E\u0435, \u0435\u0441\u043B\u0438 \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u0430 \u043F\u043E\u043C\u043E\u0449\u044C."
1831
+ },
1832
+ messageList: {
1833
+ noTicketSelected: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E",
1834
+ noTicketSelectedDescription: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u0434\u043B\u044F \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439",
1835
+ noMessages: "\u041D\u0435\u0442 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439",
1836
+ noMessagesDescription: "\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433, \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0432 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
1837
+ loadingOlder: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0441\u0442\u0430\u0440\u044B\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439...",
1838
+ loadOlder: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441\u0442\u0430\u0440\u044B\u0435",
1839
+ supportTeam: "\u0421\u043B\u0443\u0436\u0431\u0430 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1840
+ staff: "\u0421\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A"
1841
+ },
1842
+ time: {
1843
+ justNow: "\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u043E",
1844
+ minutesAgo: "{count} \u043C\u0438\u043D \u043D\u0430\u0437\u0430\u0434",
1845
+ hoursAgo: "{count}\u0447 \u043D\u0430\u0437\u0430\u0434",
1846
+ daysAgo: "{count}\u0434 \u043D\u0430\u0437\u0430\u0434"
1847
+ }
1848
+ };
1849
+
1866
1850
  // src/i18n/useSupportT.ts
1867
1851
  var translations = { en, ru, ko };
1868
1852
  function getNestedValue(obj, path) {
@@ -2627,7 +2611,7 @@ function SupportPage({ isDemo = false }) {
2627
2611
  // package.json
2628
2612
  var package_default = {
2629
2613
  name: "@djangocfg/ext-support",
2630
- version: "1.0.25",
2614
+ version: "1.0.26",
2631
2615
  description: "Support ticket system extension for DjangoCFG",
2632
2616
  keywords: [
2633
2617
  "django",
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- export { t as CreateTicketInput, C as CreateTicketSheet, c as Message, M as MessageCreateRequest, b as MessageRequest, x as MessagesResult, G as PaginatedMessageList, F as PaginatedTicketList, P as PatchedMessageRequest, d as PatchedTicketRequest, v as SendMessageInput, s as SupportAdapter, i as SupportContent, p as SupportContextValue, k as SupportHero, r as SupportModel, h as SupportPage, j as SupportPageProps, S as SupportProvider, q as SupportProviderProps, a as Ticket, m as TicketItem, l as TicketList, T as TicketRequest, n as TicketSheet, w as TicketsResult, B as apiAdapter, g as apiSupport, y as createApiAdapter, D as createDemoAdapter, H as extensionConfig, E as resetDemoData, z as useApiAdapter, f as useMessages, u as useSupport, o as useSupportAll, e as useTickets } from './index-D-xo66K9.cjs';
1
+ export { t as CreateTicketInput, C as CreateTicketSheet, c as Message, M as MessageCreateRequest, b as MessageRequest, x as MessagesResult, G as PaginatedMessageList, F as PaginatedTicketList, P as PatchedMessageRequest, d as PatchedTicketRequest, v as SendMessageInput, s as SupportAdapter, i as SupportContent, p as SupportContextValue, k as SupportHero, r as SupportModel, h as SupportPage, j as SupportPageProps, S as SupportProvider, q as SupportProviderProps, a as Ticket, m as TicketItem, l as TicketList, T as TicketRequest, n as TicketSheet, w as TicketsResult, B as apiAdapter, g as apiSupport, y as createApiAdapter, D as createDemoAdapter, H as extensionConfig, E as resetDemoData, z as useApiAdapter, f as useMessages, u as useSupport, o as useSupportAll, e as useTickets } from './index-rR_XqXq1.cjs';
2
2
  import 'consola';
3
3
  import 'react/jsx-runtime';
4
4
  import 'zod';
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { t as CreateTicketInput, C as CreateTicketSheet, c as Message, M as MessageCreateRequest, b as MessageRequest, x as MessagesResult, G as PaginatedMessageList, F as PaginatedTicketList, P as PatchedMessageRequest, d as PatchedTicketRequest, v as SendMessageInput, s as SupportAdapter, i as SupportContent, p as SupportContextValue, k as SupportHero, r as SupportModel, h as SupportPage, j as SupportPageProps, S as SupportProvider, q as SupportProviderProps, a as Ticket, m as TicketItem, l as TicketList, T as TicketRequest, n as TicketSheet, w as TicketsResult, B as apiAdapter, g as apiSupport, y as createApiAdapter, D as createDemoAdapter, H as extensionConfig, E as resetDemoData, z as useApiAdapter, f as useMessages, u as useSupport, o as useSupportAll, e as useTickets } from './index-D-xo66K9.js';
1
+ export { t as CreateTicketInput, C as CreateTicketSheet, c as Message, M as MessageCreateRequest, b as MessageRequest, x as MessagesResult, G as PaginatedMessageList, F as PaginatedTicketList, P as PatchedMessageRequest, d as PatchedTicketRequest, v as SendMessageInput, s as SupportAdapter, i as SupportContent, p as SupportContextValue, k as SupportHero, r as SupportModel, h as SupportPage, j as SupportPageProps, S as SupportProvider, q as SupportProviderProps, a as Ticket, m as TicketItem, l as TicketList, T as TicketRequest, n as TicketSheet, w as TicketsResult, B as apiAdapter, g as apiSupport, y as createApiAdapter, D as createDemoAdapter, H as extensionConfig, E as resetDemoData, z as useApiAdapter, f as useMessages, u as useSupport, o as useSupportAll, e as useTickets } from './index-rR_XqXq1.js';
2
2
  import 'consola';
3
3
  import 'react/jsx-runtime';
4
4
  import 'zod';
package/dist/index.js CHANGED
@@ -33,7 +33,7 @@ var ExtSupportSupport = class {
33
33
  if (isParamsObject) {
34
34
  params = args[0];
35
35
  } else {
36
- params = { page: args[0], page_size: args[1] };
36
+ params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };
37
37
  }
38
38
  const response = await this.client.request("GET", "/cfg/support/tickets/", { params });
39
39
  return response;
@@ -58,7 +58,7 @@ var ExtSupportSupport = class {
58
58
  if (isParamsObject) {
59
59
  params = args[1];
60
60
  } else {
61
- params = { page: args[1], page_size: args[2] };
61
+ params = { ordering: args[1], page: args[2], page_size: args[3], search: args[4] };
62
62
  }
63
63
  const response = await this.client.request("GET", `/cfg/support/tickets/${ticket_uuid}/messages/`, { params });
64
64
  return response;
@@ -749,22 +749,6 @@ var PatchedTicketRequestStatus = /* @__PURE__ */ ((PatchedTicketRequestStatus2)
749
749
  PatchedTicketRequestStatus2["CLOSED"] = "closed";
750
750
  return PatchedTicketRequestStatus2;
751
751
  })(PatchedTicketRequestStatus || {});
752
- var TicketStatus = /* @__PURE__ */ ((TicketStatus2) => {
753
- TicketStatus2["OPEN"] = "open";
754
- TicketStatus2["WAITING_FOR_USER"] = "waiting_for_user";
755
- TicketStatus2["WAITING_FOR_ADMIN"] = "waiting_for_admin";
756
- TicketStatus2["RESOLVED"] = "resolved";
757
- TicketStatus2["CLOSED"] = "closed";
758
- return TicketStatus2;
759
- })(TicketStatus || {});
760
- var TicketRequestStatus = /* @__PURE__ */ ((TicketRequestStatus2) => {
761
- TicketRequestStatus2["OPEN"] = "open";
762
- TicketRequestStatus2["WAITING_FOR_USER"] = "waiting_for_user";
763
- TicketRequestStatus2["WAITING_FOR_ADMIN"] = "waiting_for_admin";
764
- TicketRequestStatus2["RESOLVED"] = "resolved";
765
- TicketRequestStatus2["CLOSED"] = "closed";
766
- return TicketRequestStatus2;
767
- })(TicketRequestStatus || {});
768
752
  var SenderSchema = z.object({
769
753
  id: z.int(),
770
754
  display_username: z.string(),
@@ -808,7 +792,7 @@ var TicketSchema = z.object({
808
792
  uuid: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),
809
793
  user: z.int(),
810
794
  subject: z.string().max(255),
811
- status: z.nativeEnum(TicketStatus).optional(),
795
+ status: z.nativeEnum(PatchedTicketRequestStatus).optional(),
812
796
  created_at: z.string().datetime({ offset: true }),
813
797
  unanswered_messages_count: z.int()
814
798
  });
@@ -836,7 +820,7 @@ z.object({
836
820
  z.object({
837
821
  user: z.int(),
838
822
  subject: z.string().min(1).max(255),
839
- status: z.nativeEnum(TicketRequestStatus).optional()
823
+ status: z.nativeEnum(PatchedTicketRequestStatus).optional()
840
824
  });
841
825
 
842
826
  // src/api/generated/ext_support/api-instance.ts
@@ -872,7 +856,7 @@ function configureAPI(config) {
872
856
  // src/api/generated/ext_support/_utils/fetchers/ext_support__support.ts
873
857
  async function getSupportTicketsList(params, client) {
874
858
  const api = getAPIInstance();
875
- const response = await api.ext_support_support.ticketsList(params?.page, params?.page_size);
859
+ const response = await api.ext_support_support.ticketsList(params?.ordering, params?.page, params?.page_size, params?.search);
876
860
  try {
877
861
  return PaginatedTicketListSchema.parse(response);
878
862
  } catch (error) {
@@ -956,7 +940,7 @@ Method: POST`);
956
940
  }
957
941
  async function getSupportTicketsMessagesList(ticket_uuid, params, client) {
958
942
  const api = getAPIInstance();
959
- const response = await api.ext_support_support.ticketsMessagesList(ticket_uuid, params?.page, params?.page_size);
943
+ const response = await api.ext_support_support.ticketsMessagesList(ticket_uuid, params?.ordering, params?.page, params?.page_size, params?.search);
960
944
  try {
961
945
  return PaginatedMessageListSchema.parse(response);
962
946
  } catch (error) {
@@ -1711,78 +1695,6 @@ var en = {
1711
1695
  }
1712
1696
  };
1713
1697
 
1714
- // src/i18n/locales/ru.ts
1715
- var ru = {
1716
- layout: {
1717
- title: "\u0426\u0435\u043D\u0442\u0440 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1718
- titleShort: "\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0430",
1719
- subtitle: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u043F\u043E\u043C\u043E\u0449\u044C \u043E\u0442 \u043D\u0430\u0448\u0435\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1720
- newTicket: "\u041D\u043E\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435"
1721
- },
1722
- hero: {
1723
- openTickets: "\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439",
1724
- unreadMessages: "\u041D\u0435\u043F\u0440\u043E\u0447\u0438\u0442\u0430\u043D\u043D\u044B\u0445"
1725
- },
1726
- status: {
1727
- open: "\u041E\u0442\u043A\u0440\u044B\u0442",
1728
- waitingForUser: "\u041E\u0436\u0438\u0434\u0430\u0435\u0442 \u0432\u0430\u0441",
1729
- waitingForAdmin: "\u041E\u0436\u0438\u0434\u0430\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0443",
1730
- resolved: "\u0420\u0435\u0448\u0451\u043D",
1731
- closed: "\u0417\u0430\u043A\u0440\u044B\u0442"
1732
- },
1733
- ticketList: {
1734
- noTickets: "\u041D\u0435\u0442 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439",
1735
- noTicketsDescription: "\u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043F\u0435\u0440\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u043E\u043C\u043E\u0449\u044C",
1736
- loadingMore: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",
1737
- loadMore: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0451",
1738
- allLoaded: "\u0412\u0441\u0435 {count} \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E"
1739
- },
1740
- createTicket: {
1741
- title: "\u041D\u043E\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435",
1742
- description: "\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443, \u0438 \u043C\u044B \u043F\u043E\u043C\u043E\u0436\u0435\u043C \u0432\u0430\u043C",
1743
- subjectLabel: "\u0422\u0435\u043C\u0430",
1744
- subjectPlaceholder: "\u041A\u0440\u0430\u0442\u043A\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",
1745
- messageLabel: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
1746
- messagePlaceholder: "\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443 \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u043E...",
1747
- cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
1748
- creating: "\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435...",
1749
- create: "\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435"
1750
- },
1751
- validation: {
1752
- subjectRequired: "\u0422\u0435\u043C\u0430 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u0430",
1753
- subjectTooLong: "\u0422\u0435\u043C\u0430 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0434\u043B\u0438\u043D\u043D\u0430\u044F (\u043C\u0430\u043A\u0441. 200 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)",
1754
- messageRequired: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E",
1755
- messageTooLong: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0434\u043B\u0438\u043D\u043D\u043E\u0435 (\u043C\u0430\u043A\u0441. 5000 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)"
1756
- },
1757
- messages: {
1758
- ticketCreated: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u043E",
1759
- ticketCreateFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435",
1760
- messageSent: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E",
1761
- messageSendFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435"
1762
- },
1763
- messageInput: {
1764
- placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...",
1765
- ticketClosed: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E",
1766
- ticketClosedDescription: "\u042D\u0442\u043E \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E. \u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u043E\u0435, \u0435\u0441\u043B\u0438 \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u0430 \u043F\u043E\u043C\u043E\u0449\u044C."
1767
- },
1768
- messageList: {
1769
- noTicketSelected: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E",
1770
- noTicketSelectedDescription: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u0434\u043B\u044F \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439",
1771
- noMessages: "\u041D\u0435\u0442 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439",
1772
- noMessagesDescription: "\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433, \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0432 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
1773
- loadingOlder: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0441\u0442\u0430\u0440\u044B\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439...",
1774
- loadOlder: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441\u0442\u0430\u0440\u044B\u0435",
1775
- supportTeam: "\u0421\u043B\u0443\u0436\u0431\u0430 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1776
- staff: "\u0421\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A"
1777
- },
1778
- time: {
1779
- justNow: "\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u043E",
1780
- minutesAgo: "{count} \u043C\u0438\u043D \u043D\u0430\u0437\u0430\u0434",
1781
- hoursAgo: "{count}\u0447 \u043D\u0430\u0437\u0430\u0434",
1782
- daysAgo: "{count}\u0434 \u043D\u0430\u0437\u0430\u0434"
1783
- }
1784
- };
1785
-
1786
1698
  // src/i18n/locales/ko.ts
1787
1699
  var ko = {
1788
1700
  layout: {
@@ -1855,6 +1767,78 @@ var ko = {
1855
1767
  }
1856
1768
  };
1857
1769
 
1770
+ // src/i18n/locales/ru.ts
1771
+ var ru = {
1772
+ layout: {
1773
+ title: "\u0426\u0435\u043D\u0442\u0440 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1774
+ titleShort: "\u041F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0430",
1775
+ subtitle: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u043F\u043E\u043C\u043E\u0449\u044C \u043E\u0442 \u043D\u0430\u0448\u0435\u0439 \u043A\u043E\u043C\u0430\u043D\u0434\u044B \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1776
+ newTicket: "\u041D\u043E\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435"
1777
+ },
1778
+ hero: {
1779
+ openTickets: "\u041E\u0442\u043A\u0440\u044B\u0442\u044B\u0445 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439",
1780
+ unreadMessages: "\u041D\u0435\u043F\u0440\u043E\u0447\u0438\u0442\u0430\u043D\u043D\u044B\u0445"
1781
+ },
1782
+ status: {
1783
+ open: "\u041E\u0442\u043A\u0440\u044B\u0442",
1784
+ waitingForUser: "\u041E\u0436\u0438\u0434\u0430\u0435\u0442 \u0432\u0430\u0441",
1785
+ waitingForAdmin: "\u041E\u0436\u0438\u0434\u0430\u0435\u0442 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0443",
1786
+ resolved: "\u0420\u0435\u0448\u0451\u043D",
1787
+ closed: "\u0417\u0430\u043A\u0440\u044B\u0442"
1788
+ },
1789
+ ticketList: {
1790
+ noTickets: "\u041D\u0435\u0442 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439",
1791
+ noTicketsDescription: "\u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043F\u0435\u0440\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043F\u043E\u043C\u043E\u0449\u044C",
1792
+ loadingMore: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430...",
1793
+ loadMore: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0435\u0449\u0451",
1794
+ allLoaded: "\u0412\u0441\u0435 {count} \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0439 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E"
1795
+ },
1796
+ createTicket: {
1797
+ title: "\u041D\u043E\u0432\u043E\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435",
1798
+ description: "\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443, \u0438 \u043C\u044B \u043F\u043E\u043C\u043E\u0436\u0435\u043C \u0432\u0430\u043C",
1799
+ subjectLabel: "\u0422\u0435\u043C\u0430",
1800
+ subjectPlaceholder: "\u041A\u0440\u0430\u0442\u043A\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u044B",
1801
+ messageLabel: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
1802
+ messagePlaceholder: "\u041E\u043F\u0438\u0448\u0438\u0442\u0435 \u0432\u0430\u0448\u0443 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0443 \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u043E...",
1803
+ cancel: "\u041E\u0442\u043C\u0435\u043D\u0430",
1804
+ creating: "\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435...",
1805
+ create: "\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435"
1806
+ },
1807
+ validation: {
1808
+ subjectRequired: "\u0422\u0435\u043C\u0430 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u0430",
1809
+ subjectTooLong: "\u0422\u0435\u043C\u0430 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0434\u043B\u0438\u043D\u043D\u0430\u044F (\u043C\u0430\u043A\u0441. 200 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)",
1810
+ messageRequired: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E",
1811
+ messageTooLong: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0434\u043B\u0438\u043D\u043D\u043E\u0435 (\u043C\u0430\u043A\u0441. 5000 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432)"
1812
+ },
1813
+ messages: {
1814
+ ticketCreated: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u043E",
1815
+ ticketCreateFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435",
1816
+ messageSent: "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435 \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E",
1817
+ messageSendFailed: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435"
1818
+ },
1819
+ messageInput: {
1820
+ placeholder: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435...",
1821
+ ticketClosed: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E",
1822
+ ticketClosedDescription: "\u042D\u0442\u043E \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E. \u0421\u043E\u0437\u0434\u0430\u0439\u0442\u0435 \u043D\u043E\u0432\u043E\u0435, \u0435\u0441\u043B\u0438 \u0432\u0430\u043C \u043D\u0443\u0436\u043D\u0430 \u043F\u043E\u043C\u043E\u0449\u044C."
1823
+ },
1824
+ messageList: {
1825
+ noTicketSelected: "\u041E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043E",
1826
+ noTicketSelectedDescription: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043E\u0431\u0440\u0430\u0449\u0435\u043D\u0438\u0435 \u0438\u0437 \u0441\u043F\u0438\u0441\u043A\u0430 \u0434\u043B\u044F \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439",
1827
+ noMessages: "\u041D\u0435\u0442 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439",
1828
+ noMessagesDescription: "\u041D\u0430\u0447\u043D\u0438\u0442\u0435 \u0434\u0438\u0430\u043B\u043E\u0433, \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0432 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
1829
+ loadingOlder: "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0441\u0442\u0430\u0440\u044B\u0445 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0439...",
1830
+ loadOlder: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441\u0442\u0430\u0440\u044B\u0435",
1831
+ supportTeam: "\u0421\u043B\u0443\u0436\u0431\u0430 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0438",
1832
+ staff: "\u0421\u043E\u0442\u0440\u0443\u0434\u043D\u0438\u043A"
1833
+ },
1834
+ time: {
1835
+ justNow: "\u0422\u043E\u043B\u044C\u043A\u043E \u0447\u0442\u043E",
1836
+ minutesAgo: "{count} \u043C\u0438\u043D \u043D\u0430\u0437\u0430\u0434",
1837
+ hoursAgo: "{count}\u0447 \u043D\u0430\u0437\u0430\u0434",
1838
+ daysAgo: "{count}\u0434 \u043D\u0430\u0437\u0430\u0434"
1839
+ }
1840
+ };
1841
+
1858
1842
  // src/i18n/useSupportT.ts
1859
1843
  var translations = { en, ru, ko };
1860
1844
  function getNestedValue(obj, path) {
@@ -2619,7 +2603,7 @@ function SupportPage({ isDemo = false }) {
2619
2603
  // package.json
2620
2604
  var package_default = {
2621
2605
  name: "@djangocfg/ext-support",
2622
- version: "1.0.25",
2606
+ version: "1.0.26",
2623
2607
  description: "Support ticket system extension for DjangoCFG",
2624
2608
  keywords: [
2625
2609
  "django",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@djangocfg/ext-support",
3
- "version": "1.0.25",
3
+ "version": "1.0.26",
4
4
  "description": "Support ticket system extension for DjangoCFG",
5
5
  "keywords": [
6
6
  "django",
@@ -65,10 +65,10 @@
65
65
  "check": "tsc --noEmit"
66
66
  },
67
67
  "peerDependencies": {
68
- "@djangocfg/api": "^2.1.127",
68
+ "@djangocfg/api": "^2.1.142",
69
69
  "@djangocfg/ext-base": "^1.0.19",
70
- "@djangocfg/i18n": "^2.1.127",
71
- "@djangocfg/ui-core": "^2.1.127",
70
+ "@djangocfg/i18n": "^2.1.142",
71
+ "@djangocfg/ui-core": "^2.1.142",
72
72
  "@hookform/resolvers": "^5.2.2",
73
73
  "consola": "^3.4.2",
74
74
  "lucide-react": "^0.545.0",
@@ -82,11 +82,11 @@
82
82
  "zod": "^4.3.4"
83
83
  },
84
84
  "devDependencies": {
85
- "@djangocfg/api": "^2.1.127",
85
+ "@djangocfg/api": "^2.1.142",
86
86
  "@djangocfg/ext-base": "^1.0.19",
87
- "@djangocfg/i18n": "^2.1.127",
88
- "@djangocfg/ui-core": "^2.1.127",
89
- "@djangocfg/typescript-config": "^2.1.127",
87
+ "@djangocfg/i18n": "^2.1.142",
88
+ "@djangocfg/ui-core": "^2.1.142",
89
+ "@djangocfg/typescript-config": "^2.1.142",
90
90
  "@types/node": "^24.7.2",
91
91
  "@types/react": "^19.0.0",
92
92
  "consola": "^3.4.2",
@@ -7,18 +7,17 @@
7
7
 
8
8
  'use client';
9
9
 
10
+ // Initialize API
11
+ import '../api';
12
+
10
13
  import { useCallback, useMemo } from 'react';
11
14
  import useSWRInfinite from 'swr/infinite';
12
15
 
13
16
  import { useAuth } from '@djangocfg/api/auth';
14
17
 
15
- // Initialize API
16
- import '../api';
17
-
18
18
  import * as Fetchers from '../api/generated/ext_support/_utils/fetchers';
19
19
  import {
20
- useCreateSupportTicketsCreate,
21
- useCreateSupportTicketsMessagesCreate,
20
+ useCreateSupportTicketsCreate, useCreateSupportTicketsMessagesCreate
22
21
  } from '../api/generated/ext_support/_utils/hooks';
23
22
 
24
23
  import type {
@@ -9,7 +9,8 @@
9
9
 
10
10
  import { useCallback, useMemo, useState } from 'react';
11
11
 
12
- import { type Ticket, type Message, TicketStatus } from '../contexts/types';
12
+ import { type Message, type Ticket, TicketStatus } from '../contexts/types';
13
+
13
14
  import type {
14
15
  SupportAdapter,
15
16
  CreateTicketInput,
@@ -49,10 +49,10 @@ import { getAPIInstance } from '../../api-instance'
49
49
  * @method GET
50
50
  * @path /cfg/support/tickets/
51
51
  */
52
- export async function getSupportTicketsList( params?: { page?: number; page_size?: number }, client?: any
52
+ export async function getSupportTicketsList( params?: { ordering?: string; page?: number; page_size?: number; search?: string }, client?: any
53
53
  ): Promise<PaginatedTicketList> {
54
54
  const api = client || getAPIInstance()
55
- const response = await api.ext_support_support.ticketsList(params?.page, params?.page_size)
55
+ const response = await api.ext_support_support.ticketsList(params?.ordering, params?.page, params?.page_size, params?.search)
56
56
  try {
57
57
  return PaginatedTicketListSchema.parse(response)
58
58
  } catch (error) {
@@ -163,10 +163,10 @@ export async function createSupportTicketsCreate( data: TicketRequest, client?
163
163
  * @method GET
164
164
  * @path /cfg/support/tickets/{ticket_uuid}/messages/
165
165
  */
166
- export async function getSupportTicketsMessagesList( ticket_uuid: string, params?: { page?: number; page_size?: number }, client?: any
166
+ export async function getSupportTicketsMessagesList( ticket_uuid: string, params?: { ordering?: string; page?: number; page_size?: number; search?: string }, client?: any
167
167
  ): Promise<PaginatedMessageList> {
168
168
  const api = client || getAPIInstance()
169
- const response = await api.ext_support_support.ticketsMessagesList(ticket_uuid, params?.page, params?.page_size)
169
+ const response = await api.ext_support_support.ticketsMessagesList(ticket_uuid, params?.ordering, params?.page, params?.page_size, params?.search)
170
170
  try {
171
171
  return PaginatedMessageListSchema.parse(response)
172
172
  } catch (error) {
@@ -38,7 +38,7 @@ import type { TicketRequest } from '../schemas/TicketRequest.schema'
38
38
  * @method GET
39
39
  * @path /cfg/support/tickets/
40
40
  */
41
- export function useSupportTicketsList(params?: { page?: number; page_size?: number }, client?: API): ReturnType<typeof useSWR<PaginatedTicketList>> {
41
+ export function useSupportTicketsList(params?: { ordering?: string; page?: number; page_size?: number; search?: string }, client?: API): ReturnType<typeof useSWR<PaginatedTicketList>> {
42
42
  return useSWR<PaginatedTicketList>(
43
43
  params ? ['cfg-support-tickets', params] : 'cfg-support-tickets',
44
44
  () => Fetchers.getSupportTicketsList(params, client)
@@ -70,7 +70,7 @@ export function useCreateSupportTicketsCreate() {
70
70
  * @method GET
71
71
  * @path /cfg/support/tickets/{ticket_uuid}/messages/
72
72
  */
73
- export function useSupportTicketsMessagesList(ticket_uuid: string, params?: { page?: number; page_size?: number }, client?: API): ReturnType<typeof useSWR<PaginatedMessageList>> {
73
+ export function useSupportTicketsMessagesList(ticket_uuid: string, params?: { ordering?: string; page?: number; page_size?: number; search?: string }, client?: API): ReturnType<typeof useSWR<PaginatedMessageList>> {
74
74
  return useSWR<PaginatedMessageList>(
75
75
  ['cfg-support-tickets-messages', ticket_uuid],
76
76
  () => Fetchers.getSupportTicketsMessagesList(ticket_uuid, params, client)
@@ -10,7 +10,7 @@ export const TicketSchema = z.object({
10
10
  uuid: z.string().regex(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i),
11
11
  user: z.int(),
12
12
  subject: z.string().max(255),
13
- status: z.nativeEnum(Enums.TicketStatus).optional(),
13
+ status: z.nativeEnum(Enums.PatchedTicketRequestStatus).optional(),
14
14
  created_at: z.string().datetime({ offset: true }),
15
15
  unanswered_messages_count: z.int(),
16
16
  })