@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.
@@ -9,7 +9,7 @@ import * as Enums from '../../enums'
9
9
  export const TicketRequestSchema = z.object({
10
10
  user: z.int(),
11
11
  subject: z.string().min(1).max(255),
12
- status: z.nativeEnum(Enums.TicketRequestStatus).optional(),
12
+ status: z.nativeEnum(Enums.PatchedTicketRequestStatus).optional(),
13
13
  })
14
14
 
15
15
  /**
@@ -14,33 +14,3 @@ export enum PatchedTicketRequestStatus {
14
14
  CLOSED = "closed",
15
15
  }
16
16
 
17
- /**
18
- * * `open` - Open
19
- * * `waiting_for_user` - Waiting for User
20
- * * `waiting_for_admin` - Waiting for Admin
21
- * * `resolved` - Resolved
22
- * * `closed` - Closed
23
- */
24
- export enum TicketStatus {
25
- OPEN = "open",
26
- WAITING_FOR_USER = "waiting_for_user",
27
- WAITING_FOR_ADMIN = "waiting_for_admin",
28
- RESOLVED = "resolved",
29
- CLOSED = "closed",
30
- }
31
-
32
- /**
33
- * * `open` - Open
34
- * * `waiting_for_user` - Waiting for User
35
- * * `waiting_for_admin` - Waiting for Admin
36
- * * `resolved` - Resolved
37
- * * `closed` - Closed
38
- */
39
- export enum TicketRequestStatus {
40
- OPEN = "open",
41
- WAITING_FOR_USER = "waiting_for_user",
42
- WAITING_FOR_ADMIN = "waiting_for_admin",
43
- RESOLVED = "resolved",
44
- CLOSED = "closed",
45
- }
46
-
@@ -11,8 +11,8 @@ export class ExtSupportSupport {
11
11
  this.client = client;
12
12
  }
13
13
 
14
- async ticketsList(page?: number, page_size?: number): Promise<Models.PaginatedTicketList>;
15
- async ticketsList(params?: { page?: number; page_size?: number }): Promise<Models.PaginatedTicketList>;
14
+ async ticketsList(ordering?: string, page?: number, page_size?: number, search?: string): Promise<Models.PaginatedTicketList>;
15
+ async ticketsList(params?: { ordering?: string; page?: number; page_size?: number; search?: string }): Promise<Models.PaginatedTicketList>;
16
16
 
17
17
  /**
18
18
  * ViewSet for managing support tickets. Requires authenticated user (JWT
@@ -26,7 +26,7 @@ export class ExtSupportSupport {
26
26
  if (isParamsObject) {
27
27
  params = args[0];
28
28
  } else {
29
- params = { page: args[0], page_size: args[1] };
29
+ params = { ordering: args[0], page: args[1], page_size: args[2], search: args[3] };
30
30
  }
31
31
  const response = await this.client.request('GET', "/cfg/support/tickets/", { params });
32
32
  return response;
@@ -42,8 +42,8 @@ export class ExtSupportSupport {
42
42
  return response;
43
43
  }
44
44
 
45
- async ticketsMessagesList(ticket_uuid: string, page?: number, page_size?: number): Promise<Models.PaginatedMessageList>;
46
- async ticketsMessagesList(ticket_uuid: string, params?: { page?: number; page_size?: number }): Promise<Models.PaginatedMessageList>;
45
+ async ticketsMessagesList(ticket_uuid: string, ordering?: string, page?: number, page_size?: number, search?: string): Promise<Models.PaginatedMessageList>;
46
+ async ticketsMessagesList(ticket_uuid: string, params?: { ordering?: string; page?: number; page_size?: number; search?: string }): Promise<Models.PaginatedMessageList>;
47
47
 
48
48
  /**
49
49
  * ViewSet for managing support messages. Requires authenticated user (JWT
@@ -57,7 +57,7 @@ export class ExtSupportSupport {
57
57
  if (isParamsObject) {
58
58
  params = args[1];
59
59
  } else {
60
- params = { page: args[1], page_size: args[2] };
60
+ params = { ordering: args[1], page: args[2], page_size: args[3], search: args[4] };
61
61
  }
62
62
  const response = await this.client.request('GET', `/cfg/support/tickets/${ticket_uuid}/messages/`, { params });
63
63
  return response;
@@ -38,7 +38,7 @@ export interface TicketRequest {
38
38
  * `waiting_for_admin` - Waiting for Admin
39
39
  * `resolved` - Resolved
40
40
  * `closed` - Closed */
41
- status?: Enums.TicketRequestStatus;
41
+ status?: Enums.PatchedTicketRequestStatus;
42
42
  }
43
43
 
44
44
  /**
@@ -54,7 +54,7 @@ export interface Ticket {
54
54
  * `waiting_for_admin` - Waiting for Admin
55
55
  * `resolved` - Resolved
56
56
  * `closed` - Closed */
57
- status?: Enums.TicketStatus;
57
+ status?: Enums.PatchedTicketRequestStatus;
58
58
  created_at: string;
59
59
  /** Get count of unanswered messages for this specific ticket. */
60
60
  unanswered_messages_count: number;
@@ -19,6 +19,15 @@
19
19
  "operationId": "cfg_support_tickets_list",
20
20
  "description": "ViewSet for managing support tickets.\n\nRequires authenticated user (JWT or Session).\nStaff users can see all tickets, regular users see only their own.",
21
21
  "parameters": [
22
+ {
23
+ "name": "ordering",
24
+ "required": false,
25
+ "in": "query",
26
+ "description": "Which field to use when ordering the results.",
27
+ "schema": {
28
+ "type": "string"
29
+ }
30
+ },
22
31
  {
23
32
  "name": "page",
24
33
  "required": false,
@@ -36,6 +45,15 @@
36
45
  "schema": {
37
46
  "type": "integer"
38
47
  }
48
+ },
49
+ {
50
+ "name": "search",
51
+ "required": false,
52
+ "in": "query",
53
+ "description": "A search term.",
54
+ "schema": {
55
+ "type": "string"
56
+ }
39
57
  }
40
58
  ],
41
59
  "tags": [
@@ -117,6 +135,15 @@
117
135
  "operationId": "cfg_support_tickets_messages_list",
118
136
  "description": "ViewSet for managing support messages.\n\nRequires authenticated user (JWT or Session).\nUsers can only access messages for their own tickets.",
119
137
  "parameters": [
138
+ {
139
+ "name": "ordering",
140
+ "required": false,
141
+ "in": "query",
142
+ "description": "Which field to use when ordering the results.",
143
+ "schema": {
144
+ "type": "string"
145
+ }
146
+ },
120
147
  {
121
148
  "name": "page",
122
149
  "required": false,
@@ -135,6 +162,15 @@
135
162
  "type": "integer"
136
163
  }
137
164
  },
165
+ {
166
+ "name": "search",
167
+ "required": false,
168
+ "in": "query",
169
+ "description": "A search term.",
170
+ "schema": {
171
+ "type": "string"
172
+ }
173
+ },
138
174
  {
139
175
  "in": "path",
140
176
  "name": "ticket_uuid",
@@ -10,9 +10,9 @@ import type { ReactNode } from 'react';
10
10
  import { ExtensionProvider } from '@djangocfg/ext-base/hooks';
11
11
 
12
12
  import { extensionConfig } from '../config';
13
- import { SupportProvider } from './SupportContext';
13
+ import { SupportProvider, type SupportProviderProps } from './SupportContext';
14
14
 
15
- interface SupportExtensionProviderProps {
15
+ interface SupportExtensionProviderProps extends Pick<SupportProviderProps, 'adapter'> {
16
16
  children: ReactNode;
17
17
  }
18
18
 
@@ -28,10 +28,10 @@ interface SupportExtensionProviderProps {
28
28
  * </SupportExtensionProvider>
29
29
  * ```
30
30
  */
31
- export function SupportExtensionProvider({ children }: SupportExtensionProviderProps) {
31
+ export function SupportExtensionProvider({ children, adapter }: SupportExtensionProviderProps) {
32
32
  return (
33
33
  <ExtensionProvider metadata={extensionConfig}>
34
- <SupportProvider>
34
+ <SupportProvider adapter={adapter}>
35
35
  {children}
36
36
  </SupportProvider>
37
37
  </ExtensionProvider>
@@ -17,5 +17,5 @@ export type {
17
17
  PaginatedMessageList,
18
18
  } from '../api/generated/ext_support/_utils/schemas';
19
19
 
20
- // Enums
21
- export { TicketStatus } from '../api/generated/ext_support/enums';
20
+ // Enums - re-export with alias for backwards compatibility
21
+ export { PatchedTicketRequestStatus as TicketStatus } from '../api/generated/ext_support/enums';
@@ -7,13 +7,13 @@
7
7
  */
8
8
 
9
9
  import { useLocale } from 'next-intl';
10
- import { useMemo, useCallback } from 'react';
10
+ import { useCallback, useMemo } from 'react';
11
11
 
12
- import type { SupportTranslations, SupportLocalKeys } from './types';
13
12
  import { en } from './locales/en';
14
- import { ru } from './locales/ru';
15
13
  import { ko } from './locales/ko';
14
+ import { ru } from './locales/ru';
16
15
 
16
+ import type { SupportTranslations, SupportLocalKeys } from './types';
17
17
  const translations: Record<string, SupportTranslations> = { en, ru, ko };
18
18
 
19
19
  /**