quickbase-js 2.0.0 → 2.2.0

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.
Files changed (113) hide show
  1. package/README.md +804 -59
  2. package/bin/quickbase-js.js +54 -0
  3. package/dist/auth/index.d.ts +1 -0
  4. package/dist/auth/index.d.ts.map +1 -1
  5. package/dist/auth/index.js +9 -0
  6. package/dist/auth/index.js.map +1 -1
  7. package/dist/auth/ticket.d.ts +84 -0
  8. package/dist/auth/ticket.d.ts.map +1 -0
  9. package/dist/auth/ticket.js +260 -0
  10. package/dist/auth/ticket.js.map +1 -0
  11. package/dist/cli/schema.d.ts +23 -0
  12. package/dist/cli/schema.d.ts.map +1 -0
  13. package/dist/cli/schema.js +425 -0
  14. package/dist/cli/schema.js.map +1 -0
  15. package/dist/client/request.d.ts +2 -1
  16. package/dist/client/request.d.ts.map +1 -1
  17. package/dist/client/request.js +165 -18
  18. package/dist/client/request.js.map +1 -1
  19. package/dist/core/config.d.ts.map +1 -1
  20. package/dist/core/config.js +12 -0
  21. package/dist/core/config.js.map +1 -1
  22. package/dist/core/errors.d.ts +17 -0
  23. package/dist/core/errors.d.ts.map +1 -1
  24. package/dist/core/errors.js +32 -0
  25. package/dist/core/errors.js.map +1 -1
  26. package/dist/core/index.d.ts +3 -2
  27. package/dist/core/index.d.ts.map +1 -1
  28. package/dist/core/index.js +1 -1
  29. package/dist/core/index.js.map +1 -1
  30. package/dist/core/schema.d.ts +37 -0
  31. package/dist/core/schema.d.ts.map +1 -0
  32. package/dist/core/schema.js +168 -0
  33. package/dist/core/schema.js.map +1 -0
  34. package/dist/core/transform.d.ts +36 -0
  35. package/dist/core/transform.d.ts.map +1 -0
  36. package/dist/core/transform.js +205 -0
  37. package/dist/core/transform.js.map +1 -0
  38. package/dist/core/types.d.ts +104 -1
  39. package/dist/core/types.d.ts.map +1 -1
  40. package/dist/core/types.js.map +1 -1
  41. package/dist/index.d.ts +14 -3
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +9 -2
  44. package/dist/index.js.map +1 -1
  45. package/dist/quickbase.esm.js +6 -2
  46. package/dist/quickbase.esm.js.map +4 -4
  47. package/dist/quickbase.min.js +6 -2
  48. package/dist/quickbase.min.js.map +4 -4
  49. package/dist/xml/codepages.d.ts +60 -0
  50. package/dist/xml/codepages.d.ts.map +1 -0
  51. package/dist/xml/codepages.js +88 -0
  52. package/dist/xml/codepages.js.map +1 -0
  53. package/dist/xml/dbvars.d.ts +39 -0
  54. package/dist/xml/dbvars.d.ts.map +1 -0
  55. package/dist/xml/dbvars.js +54 -0
  56. package/dist/xml/dbvars.js.map +1 -0
  57. package/dist/xml/errors.d.ts +64 -0
  58. package/dist/xml/errors.d.ts.map +1 -0
  59. package/dist/xml/errors.js +102 -0
  60. package/dist/xml/errors.js.map +1 -0
  61. package/dist/xml/fields.d.ts +45 -0
  62. package/dist/xml/fields.d.ts.map +1 -0
  63. package/dist/xml/fields.js +86 -0
  64. package/dist/xml/fields.js.map +1 -0
  65. package/dist/xml/groups.d.ts +196 -0
  66. package/dist/xml/groups.d.ts.map +1 -0
  67. package/dist/xml/groups.js +424 -0
  68. package/dist/xml/groups.js.map +1 -0
  69. package/dist/xml/html.d.ts +61 -0
  70. package/dist/xml/html.d.ts.map +1 -0
  71. package/dist/xml/html.js +110 -0
  72. package/dist/xml/html.js.map +1 -0
  73. package/dist/xml/index.d.ts +453 -0
  74. package/dist/xml/index.d.ts.map +1 -0
  75. package/dist/xml/index.js +741 -0
  76. package/dist/xml/index.js.map +1 -0
  77. package/dist/xml/metadata.d.ts +49 -0
  78. package/dist/xml/metadata.d.ts.map +1 -0
  79. package/dist/xml/metadata.js +84 -0
  80. package/dist/xml/metadata.js.map +1 -0
  81. package/dist/xml/records.d.ts +106 -0
  82. package/dist/xml/records.d.ts.map +1 -0
  83. package/dist/xml/records.js +220 -0
  84. package/dist/xml/records.js.map +1 -0
  85. package/dist/xml/request.d.ts +115 -0
  86. package/dist/xml/request.d.ts.map +1 -0
  87. package/dist/xml/request.js +167 -0
  88. package/dist/xml/request.js.map +1 -0
  89. package/dist/xml/roles.d.ts +117 -0
  90. package/dist/xml/roles.d.ts.map +1 -0
  91. package/dist/xml/roles.js +241 -0
  92. package/dist/xml/roles.js.map +1 -0
  93. package/dist/xml/schema.d.ts +94 -0
  94. package/dist/xml/schema.d.ts.map +1 -0
  95. package/dist/xml/schema.js +354 -0
  96. package/dist/xml/schema.js.map +1 -0
  97. package/dist/xml/transform.d.ts +154 -0
  98. package/dist/xml/transform.d.ts.map +1 -0
  99. package/dist/xml/transform.js +182 -0
  100. package/dist/xml/transform.js.map +1 -0
  101. package/dist/xml/types.d.ts +531 -0
  102. package/dist/xml/types.d.ts.map +1 -0
  103. package/dist/xml/types.js +22 -0
  104. package/dist/xml/types.js.map +1 -0
  105. package/dist/xml/users.d.ts +92 -0
  106. package/dist/xml/users.d.ts.map +1 -0
  107. package/dist/xml/users.js +166 -0
  108. package/dist/xml/users.js.map +1 -0
  109. package/dist/xml/webhooks.d.ts +98 -0
  110. package/dist/xml/webhooks.d.ts.map +1 -0
  111. package/dist/xml/webhooks.js +202 -0
  112. package/dist/xml/webhooks.js.map +1 -0
  113. package/package.json +6 -2
@@ -0,0 +1,61 @@
1
+ /**
2
+ * XML API HTML Generation
3
+ *
4
+ * Endpoints for generating HTML forms and tables.
5
+ *
6
+ * XML-API: Remove this file when QuickBase discontinues the XML API.
7
+ * To find all XML API code, search for: XML-API
8
+ */
9
+ import type { XmlCaller } from './types.js';
10
+ /**
11
+ * Generate HTML form for adding a record.
12
+ *
13
+ * @see https://help.quickbase.com/docs/api-genaddrecordform
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const html = await genAddRecordForm(caller, 'bqtable123');
18
+ * // Use the HTML form in your UI
19
+ * ```
20
+ */
21
+ export declare function genAddRecordForm(caller: XmlCaller, tableId: string, fields?: Array<{
22
+ id: number;
23
+ value: string;
24
+ }>): Promise<string>;
25
+ /**
26
+ * Generate HTML/JS/CSV table of query results.
27
+ *
28
+ * @see https://help.quickbase.com/docs/api-genresultstable
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const html = await genResultsTable(caller, 'bqtable123', {
33
+ * query: "{'7'.CT.'test'}",
34
+ * clist: [6, 7, 8],
35
+ * });
36
+ * ```
37
+ */
38
+ export declare function genResultsTable(caller: XmlCaller, tableId: string, options?: {
39
+ query?: string;
40
+ clist?: number[];
41
+ slist?: number[];
42
+ options?: string;
43
+ format?: 'structured' | 'csv';
44
+ }): Promise<string>;
45
+ /**
46
+ * Get a record rendered as HTML.
47
+ *
48
+ * @see https://help.quickbase.com/docs/api-getrecordashtml
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * const html = await getRecordAsHTML(caller, 'bqtable123', { rid: 42 });
53
+ * ```
54
+ */
55
+ export declare function getRecordAsHTML(caller: XmlCaller, tableId: string, options: {
56
+ rid?: number;
57
+ key?: string;
58
+ jht?: boolean;
59
+ dfid?: number;
60
+ }): Promise<string>;
61
+ //# sourceMappingURL=html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/xml/html.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAQ5C;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAC5C,OAAO,CAAC,MAAM,CAAC,CAkBjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;CAC/B,GACA,OAAO,CAAC,MAAM,CAAC,CA6BjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACA,OAAO,CAAC,MAAM,CAAC,CA0BjB"}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * XML API HTML Generation
3
+ *
4
+ * Endpoints for generating HTML forms and tables.
5
+ *
6
+ * XML-API: Remove this file when QuickBase discontinues the XML API.
7
+ * To find all XML API code, search for: XML-API
8
+ */
9
+ import { checkError } from './errors.js';
10
+ import { buildRequest, escapeXml, parseBaseResponse, } from './request.js';
11
+ /**
12
+ * Generate HTML form for adding a record.
13
+ *
14
+ * @see https://help.quickbase.com/docs/api-genaddrecordform
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const html = await genAddRecordForm(caller, 'bqtable123');
19
+ * // Use the HTML form in your UI
20
+ * ```
21
+ */
22
+ export async function genAddRecordForm(caller, tableId, fields) {
23
+ let inner = '';
24
+ if (fields) {
25
+ for (const field of fields) {
26
+ inner += `<field fid="${field.id}">${escapeXml(field.value)}</field>`;
27
+ }
28
+ }
29
+ const body = buildRequest(inner);
30
+ const xml = await caller.doXml(tableId, 'API_GenAddRecordForm', body);
31
+ // Check for errors - the response may or may not be XML
32
+ if (xml.includes('<errcode>') && !xml.includes('<errcode>0</errcode>')) {
33
+ const base = parseBaseResponse(xml);
34
+ checkError(base);
35
+ }
36
+ return xml;
37
+ }
38
+ /**
39
+ * Generate HTML/JS/CSV table of query results.
40
+ *
41
+ * @see https://help.quickbase.com/docs/api-genresultstable
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * const html = await genResultsTable(caller, 'bqtable123', {
46
+ * query: "{'7'.CT.'test'}",
47
+ * clist: [6, 7, 8],
48
+ * });
49
+ * ```
50
+ */
51
+ export async function genResultsTable(caller, tableId, options) {
52
+ let inner = '';
53
+ if (options?.query) {
54
+ inner += `<query>${escapeXml(options.query)}</query>`;
55
+ }
56
+ if (options?.clist && options.clist.length > 0) {
57
+ inner += `<clist>${options.clist.join('.')}</clist>`;
58
+ }
59
+ if (options?.slist && options.slist.length > 0) {
60
+ inner += `<slist>${options.slist.join('.')}</slist>`;
61
+ }
62
+ if (options?.options) {
63
+ inner += `<options>${escapeXml(options.options)}</options>`;
64
+ }
65
+ if (options?.format) {
66
+ inner += `<fmt>${options.format}</fmt>`;
67
+ }
68
+ const body = buildRequest(inner);
69
+ const xml = await caller.doXml(tableId, 'API_GenResultsTable', body);
70
+ // Check for errors
71
+ if (xml.includes('<errcode>') && !xml.includes('<errcode>0</errcode>')) {
72
+ const base = parseBaseResponse(xml);
73
+ checkError(base);
74
+ }
75
+ return xml;
76
+ }
77
+ /**
78
+ * Get a record rendered as HTML.
79
+ *
80
+ * @see https://help.quickbase.com/docs/api-getrecordashtml
81
+ *
82
+ * @example
83
+ * ```typescript
84
+ * const html = await getRecordAsHTML(caller, 'bqtable123', { rid: 42 });
85
+ * ```
86
+ */
87
+ export async function getRecordAsHTML(caller, tableId, options) {
88
+ let inner = '';
89
+ if (options.rid !== undefined) {
90
+ inner += `<rid>${options.rid}</rid>`;
91
+ }
92
+ if (options.key) {
93
+ inner += `<key>${escapeXml(options.key)}</key>`;
94
+ }
95
+ if (options.jht) {
96
+ inner += '<jht>1</jht>';
97
+ }
98
+ if (options.dfid !== undefined) {
99
+ inner += `<dfid>${options.dfid}</dfid>`;
100
+ }
101
+ const body = buildRequest(inner);
102
+ const xml = await caller.doXml(tableId, 'API_GetRecordAsHTML', body);
103
+ // Check for errors
104
+ if (xml.includes('<errcode>') && !xml.includes('<errcode>0</errcode>')) {
105
+ const base = parseBaseResponse(xml);
106
+ checkError(base);
107
+ }
108
+ return xml;
109
+ }
110
+ //# sourceMappingURL=html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/xml/html.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,453 @@
1
+ /**
2
+ * XML API Client Module
3
+ *
4
+ * Provides access to legacy QuickBase XML API endpoints that have no
5
+ * JSON API equivalent (roles, groups, DBVars, code pages, etc.).
6
+ *
7
+ * XML-API: Remove this file when QuickBase discontinues the XML API.
8
+ * To find all XML API code, search for: XML-API
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import { createClient } from 'quickbase-js';
13
+ * import { createXmlClient } from 'quickbase-js/xml';
14
+ *
15
+ * const qb = createClient({
16
+ * realm: 'myrealm',
17
+ * auth: { type: 'user-token', userToken: '...' },
18
+ * });
19
+ *
20
+ * const xml = createXmlClient(qb);
21
+ *
22
+ * // Get all roles in an app
23
+ * const roles = await xml.getRoleInfo('bqxyz123');
24
+ * ```
25
+ */
26
+ export * from './types.js';
27
+ export { XmlError, XmlErrorCode, isUnauthorized, isNotFound, isInvalidTicket, isInvalidInput } from './errors.js';
28
+ import type { ResolvedSchema } from '../core/types.js';
29
+ import { type GetRecordInfoResultWithAlias, type GetSchemaResultWithAlias, type FieldAddChoicesResultWithAlias, type FieldRemoveChoicesResultWithAlias, type GrantedDBsResultWithAlias, type GrantedDBsForGroupResultWithAlias, type GetAppDTMInfoResultWithAlias, type FindDBByNameResultWithAlias } from './transform.js';
30
+ export type { RecordFieldWithAlias, SchemaFieldWithAlias, DatabaseInfoWithAlias, SchemaChildTableWithAlias, GetRecordInfoResultWithAlias, GetSchemaResultWithAlias, FieldAddChoicesResultWithAlias, FieldRemoveChoicesResultWithAlias, GrantedDBsResultWithAlias, GrantedDBsForGroupResultWithAlias, GetAppDTMInfoResultWithAlias, FindDBByNameResultWithAlias, } from './transform.js';
31
+ import type { XmlCaller } from './types.js';
32
+ import type { GetRoleInfoResult, UserRolesResult, GetUserRoleResult, GetUsersInGroupResult, CreateGroupResult, GetGroupRoleResult, ProvisionUserResult, UserInfo, DBInfo, AddReplaceDBPageResult, PageType, DoQueryCountResult, GrantedGroupsResult, GetAncestorInfoResult, ImportFromCSVResult, CopyMasterDetailResult, WebhooksCreateOptions, WebhooksEditOptions } from './types.js';
33
+ /**
34
+ * Check if an XML API action modifies data.
35
+ */
36
+ export declare function isXmlWriteAction(action: string): boolean;
37
+ /**
38
+ * Options for creating an XML client
39
+ */
40
+ export interface XmlClientOptions {
41
+ /** Block all write operations (read-only mode) */
42
+ readOnly?: boolean;
43
+ /** Schema for table/field alias resolution (typically inherited from main client) */
44
+ schema?: ResolvedSchema;
45
+ }
46
+ /**
47
+ * XML API Client
48
+ *
49
+ * Provides methods for calling legacy QuickBase XML API endpoints.
50
+ * Create using the `createXmlClient()` function.
51
+ */
52
+ export declare class XmlClient {
53
+ private readonly caller;
54
+ private readonly readOnly;
55
+ private readonly schema?;
56
+ constructor(caller: XmlCaller, options?: XmlClientOptions);
57
+ /**
58
+ * Resolve a table alias to its ID using the configured schema.
59
+ * If no schema is configured or the input is already a table ID, returns unchanged.
60
+ */
61
+ private resolveTable;
62
+ /**
63
+ * Resolve a field alias to its ID using the configured schema.
64
+ * If no schema is configured or the input is already a field ID, returns unchanged.
65
+ */
66
+ private resolveField;
67
+ /**
68
+ * Check if an action is allowed (not blocked by read-only mode).
69
+ * Throws ReadOnlyError if the action is blocked.
70
+ */
71
+ private checkWriteAllowed;
72
+ /**
73
+ * Execute a raw XML API request.
74
+ * Enforces read-only mode if enabled.
75
+ * This is exposed for direct XML API calls not covered by typed methods.
76
+ */
77
+ executeXml(dbid: string, action: string, body: string): Promise<string>;
78
+ /**
79
+ * Get the realm name
80
+ */
81
+ realm(): string;
82
+ /**
83
+ * Get all roles defined in an application.
84
+ * @see https://help.quickbase.com/docs/api-getroleinfo
85
+ */
86
+ getRoleInfo(appId: string): Promise<GetRoleInfoResult>;
87
+ /**
88
+ * Get all users in an application and their role assignments.
89
+ * @see https://help.quickbase.com/docs/api-userroles
90
+ */
91
+ userRoles(appId: string): Promise<UserRolesResult>;
92
+ /**
93
+ * Get roles for a specific user.
94
+ * @see https://help.quickbase.com/docs/api-getuserrole
95
+ */
96
+ getUserRole(appId: string, userId?: string, includeGroups?: boolean): Promise<GetUserRoleResult>;
97
+ /**
98
+ * Assign a user to a role.
99
+ * @see https://help.quickbase.com/docs/api-addusertorole
100
+ */
101
+ addUserToRole(appId: string, userId: string, roleId: number): Promise<void>;
102
+ /**
103
+ * Remove a user from a role.
104
+ * @see https://help.quickbase.com/docs/api-removeuserfromrole
105
+ */
106
+ removeUserFromRole(appId: string, userId: string, roleId: number): Promise<void>;
107
+ /**
108
+ * Change a user's role.
109
+ * @see https://help.quickbase.com/docs/api-changeuserrole
110
+ */
111
+ changeUserRole(appId: string, userId: string, currentRoleId: number, newRoleId?: number): Promise<void>;
112
+ /**
113
+ * Create a new group.
114
+ * @see https://help.quickbase.com/docs/api-creategroup
115
+ */
116
+ createGroup(name: string, description?: string, accountId?: string): Promise<CreateGroupResult>;
117
+ /**
118
+ * Delete a group.
119
+ * @see https://help.quickbase.com/docs/api-deletegroup
120
+ */
121
+ deleteGroup(groupId: string): Promise<void>;
122
+ /**
123
+ * Copy a group.
124
+ * @see https://help.quickbase.com/docs/api-copygroup
125
+ */
126
+ copyGroup(groupId: string, name?: string, description?: string, accountId?: string): Promise<CreateGroupResult>;
127
+ /**
128
+ * Change group information.
129
+ * @see https://help.quickbase.com/docs/api-changegroupinfo
130
+ */
131
+ changeGroupInfo(groupId: string, name?: string, description?: string, accountId?: string): Promise<void>;
132
+ /**
133
+ * Get users and managers in a group.
134
+ * @see https://help.quickbase.com/docs/api-getusersingroup
135
+ */
136
+ getUsersInGroup(groupId: string, includeManagers?: boolean): Promise<GetUsersInGroupResult>;
137
+ /**
138
+ * Add a user to a group.
139
+ * @see https://help.quickbase.com/docs/api-addusertogroup
140
+ */
141
+ addUserToGroup(groupId: string, userId: string, allowAdminAccess?: boolean): Promise<void>;
142
+ /**
143
+ * Remove a user from a group.
144
+ * @see https://help.quickbase.com/docs/api-removeuserfromgroup
145
+ */
146
+ removeUserFromGroup(groupId: string, userId: string): Promise<void>;
147
+ /**
148
+ * Get roles assigned to a group in an app.
149
+ * @see https://help.quickbase.com/docs/api-getgrouprole
150
+ */
151
+ getGroupRole(appId: string, groupId: string): Promise<GetGroupRoleResult>;
152
+ /**
153
+ * Assign a group to a role.
154
+ * @see https://help.quickbase.com/docs/api-addgrouptorole
155
+ */
156
+ addGroupToRole(appId: string, groupId: string, roleId: number): Promise<void>;
157
+ /**
158
+ * Remove a group from a role.
159
+ * @see https://help.quickbase.com/docs/api-removegroupfromrole
160
+ */
161
+ removeGroupFromRole(appId: string, groupId: string, roleId: number, allRoles?: boolean): Promise<void>;
162
+ /**
163
+ * Get groups a user belongs to.
164
+ * @see https://help.quickbase.com/docs/api-grantedgroups
165
+ */
166
+ grantedGroups(userId?: string, adminOnly?: boolean): Promise<GrantedGroupsResult>;
167
+ /**
168
+ * Get apps a group can access.
169
+ * @see https://help.quickbase.com/docs/api-granteddbsforgroup
170
+ */
171
+ grantedDBsForGroup(groupId: string): Promise<GrantedDBsForGroupResultWithAlias>;
172
+ /**
173
+ * Add a subgroup to a group.
174
+ * @see https://help.quickbase.com/docs/api-addsubgroup
175
+ */
176
+ addSubgroup(groupId: string, subgroupId: string): Promise<void>;
177
+ /**
178
+ * Remove a subgroup from a group.
179
+ * @see https://help.quickbase.com/docs/api-removesubgroup
180
+ */
181
+ removeSubgroup(groupId: string, subgroupId: string): Promise<void>;
182
+ /**
183
+ * Get user information by email.
184
+ * @see https://help.quickbase.com/docs/api-getuserinfo
185
+ */
186
+ getUserInfo(email?: string): Promise<UserInfo>;
187
+ /**
188
+ * Create a new unregistered user.
189
+ * @see https://help.quickbase.com/docs/api-provisionuser
190
+ */
191
+ provisionUser(appId: string, email: string, firstName: string, lastName: string, roleId?: number): Promise<ProvisionUserResult>;
192
+ /**
193
+ * Send invitation email to a user.
194
+ * @see https://help.quickbase.com/docs/api-sendinvitation
195
+ */
196
+ sendInvitation(appId: string, userId: string, userText?: string): Promise<void>;
197
+ /**
198
+ * Change the application manager.
199
+ * @see https://help.quickbase.com/docs/api-changemanager
200
+ */
201
+ changeManager(appId: string, newManagerEmail: string): Promise<void>;
202
+ /**
203
+ * Change the owner of a record.
204
+ * @see https://help.quickbase.com/docs/api-changerecordowner
205
+ */
206
+ changeRecordOwner(tableId: string, recordId: number, newOwner: string): Promise<void>;
207
+ /**
208
+ * List all apps/tables the user can access.
209
+ * @see https://help.quickbase.com/docs/api-granteddbs
210
+ */
211
+ grantedDBs(options?: {
212
+ parentsOnly?: boolean;
213
+ excludeParents?: boolean;
214
+ adminOnly?: boolean;
215
+ includeAncestors?: boolean;
216
+ withEmbeddedTables?: boolean;
217
+ realmAppsOnly?: boolean;
218
+ }): Promise<GrantedDBsResultWithAlias>;
219
+ /**
220
+ * Find an app by name.
221
+ * @see https://help.quickbase.com/docs/api-finddbbyname
222
+ */
223
+ findDBByName(name: string, parentsOnly?: boolean): Promise<FindDBByNameResultWithAlias>;
224
+ /**
225
+ * Get app/table metadata.
226
+ * @see https://help.quickbase.com/docs/api-getdbinfo
227
+ */
228
+ getDBInfo(dbid: string): Promise<DBInfo>;
229
+ /**
230
+ * Get total record count for a table.
231
+ * @see https://help.quickbase.com/docs/api-getnumrecords
232
+ */
233
+ getNumRecords(tableId: string): Promise<number>;
234
+ /**
235
+ * Get comprehensive app/table metadata.
236
+ * @see https://help.quickbase.com/docs/api-getschema
237
+ */
238
+ getSchema(dbid: string): Promise<GetSchemaResultWithAlias>;
239
+ /**
240
+ * Get an application variable value.
241
+ * @see https://help.quickbase.com/docs/api-getdbvar
242
+ */
243
+ getDBVar(appId: string, varName: string): Promise<string>;
244
+ /**
245
+ * Set an application variable value.
246
+ * @see https://help.quickbase.com/docs/api-setdbvar
247
+ */
248
+ setDBVar(appId: string, varName: string, value: string): Promise<void>;
249
+ /**
250
+ * Get stored code page content.
251
+ * @see https://help.quickbase.com/docs/api-getdbpage
252
+ */
253
+ getDBPage(appId: string, pageIdOrName: string | number): Promise<string>;
254
+ /**
255
+ * Create or update a code page.
256
+ * @see https://help.quickbase.com/docs/api-addreplacedbpage
257
+ */
258
+ addReplaceDBPage(appId: string, pageName: string, pageId: number | undefined, pageType: PageType, pageBody: string): Promise<AddReplaceDBPageResult>;
259
+ /**
260
+ * Add choices to a multiple-choice field.
261
+ * @see https://help.quickbase.com/docs/api-fieldaddchoices
262
+ */
263
+ fieldAddChoices(tableId: string, fieldId: number | string, choices: string[]): Promise<FieldAddChoicesResultWithAlias>;
264
+ /**
265
+ * Remove choices from a multiple-choice field.
266
+ * @see https://help.quickbase.com/docs/api-fieldremovechoices
267
+ */
268
+ fieldRemoveChoices(tableId: string, fieldId: number | string, choices: string[]): Promise<FieldRemoveChoicesResultWithAlias>;
269
+ /**
270
+ * Set the key field for a table.
271
+ * @see https://help.quickbase.com/docs/api-setkeyfield
272
+ */
273
+ setKeyField(tableId: string, fieldId: number | string): Promise<void>;
274
+ /**
275
+ * Get count of matching records without fetching data.
276
+ * @see https://help.quickbase.com/docs/api-doquerycount
277
+ */
278
+ doQueryCount(tableId: string, query?: string): Promise<DoQueryCountResult>;
279
+ /**
280
+ * Get a record with field metadata.
281
+ * @see https://help.quickbase.com/docs/api-getrecordinfo
282
+ */
283
+ getRecordInfo(tableId: string, recordId: number): Promise<GetRecordInfoResultWithAlias>;
284
+ /**
285
+ * Get a record by key field value.
286
+ * @see https://help.quickbase.com/docs/api-getrecordinfo
287
+ */
288
+ getRecordInfoByKey(tableId: string, keyValue: string): Promise<GetRecordInfoResultWithAlias>;
289
+ /**
290
+ * Bulk import/update records from CSV data.
291
+ * @see https://help.quickbase.com/docs/api-importfromcsv
292
+ */
293
+ importFromCSV(tableId: string, options: {
294
+ recordsCsv: string;
295
+ clist?: (number | string)[];
296
+ skipFirst?: boolean;
297
+ mergeFieldId?: number | string;
298
+ decimalPercent?: boolean;
299
+ }): Promise<ImportFromCSVResult>;
300
+ /**
301
+ * Execute a saved import definition.
302
+ * @see https://help.quickbase.com/docs/api-runimport
303
+ */
304
+ runImport(tableId: string, importId: number): Promise<ImportFromCSVResult>;
305
+ /**
306
+ * Copy a master record with its detail records.
307
+ * @see https://help.quickbase.com/docs/api-copymasterdetail
308
+ */
309
+ copyMasterDetail(tableId: string, options: {
310
+ rid: number;
311
+ copyfid?: number | string;
312
+ recurse?: boolean;
313
+ relfids?: (number | string)[];
314
+ }): Promise<CopyMasterDetailResult>;
315
+ /**
316
+ * Get modification timestamps (fast, no auth required).
317
+ * @see https://help.quickbase.com/docs/api-getappdtminfo
318
+ */
319
+ getAppDTMInfo(appId: string): Promise<GetAppDTMInfoResultWithAlias>;
320
+ /**
321
+ * Get app copy/template lineage info.
322
+ * @see https://help.quickbase.com/docs/api-getancestorinfo
323
+ */
324
+ getAncestorInfo(appId: string): Promise<GetAncestorInfoResult>;
325
+ /**
326
+ * Create a webhook.
327
+ * @see https://help.quickbase.com/docs/api-webhooks-create
328
+ */
329
+ webhooksCreate(tableId: string, options: WebhooksCreateOptions): Promise<void>;
330
+ /**
331
+ * Edit a webhook.
332
+ * @see https://help.quickbase.com/docs/api-webhooks-edit
333
+ */
334
+ webhooksEdit(tableId: string, actionId: string, options: WebhooksEditOptions): Promise<void>;
335
+ /**
336
+ * Delete webhooks.
337
+ * @see https://help.quickbase.com/docs/api-webhooks-delete
338
+ */
339
+ webhooksDelete(tableId: string, actionIds: string[]): Promise<{
340
+ numChanged: number;
341
+ }>;
342
+ /**
343
+ * Activate webhooks.
344
+ * @see https://help.quickbase.com/docs/api-webhooks-activate
345
+ */
346
+ webhooksActivate(tableId: string, actionIds: string[]): Promise<{
347
+ numChanged: number;
348
+ }>;
349
+ /**
350
+ * Deactivate webhooks.
351
+ * @see https://help.quickbase.com/docs/api-webhooks-deactivate
352
+ */
353
+ webhooksDeactivate(tableId: string, actionIds: string[]): Promise<{
354
+ numChanged: number;
355
+ }>;
356
+ /**
357
+ * Copy a webhook.
358
+ * @see https://help.quickbase.com/docs/api-webhooks-copy
359
+ */
360
+ webhooksCopy(tableId: string, actionId: string): Promise<{
361
+ actionId: string;
362
+ }>;
363
+ /**
364
+ * Generate HTML form for adding a record.
365
+ * @see https://help.quickbase.com/docs/api-genaddrecordform
366
+ */
367
+ genAddRecordForm(tableId: string, fields?: Array<{
368
+ id: number | string;
369
+ value: string;
370
+ }>): Promise<string>;
371
+ /**
372
+ * Generate HTML/JS/CSV table of query results.
373
+ * @see https://help.quickbase.com/docs/api-genresultstable
374
+ */
375
+ genResultsTable(tableId: string, options?: {
376
+ query?: string;
377
+ clist?: (number | string)[];
378
+ slist?: (number | string)[];
379
+ options?: string;
380
+ format?: 'structured' | 'csv';
381
+ }): Promise<string>;
382
+ /**
383
+ * Get a record rendered as HTML.
384
+ * @see https://help.quickbase.com/docs/api-getrecordashtml
385
+ */
386
+ getRecordAsHTML(tableId: string, options: {
387
+ rid?: number;
388
+ key?: string;
389
+ jht?: boolean;
390
+ dfid?: number | string;
391
+ }): Promise<string>;
392
+ /**
393
+ * Clear ticket cookie (browser-focused).
394
+ * @see https://help.quickbase.com/docs/api-signout
395
+ */
396
+ signOut(): Promise<void>;
397
+ }
398
+ /**
399
+ * Interface for objects that can execute XML API requests.
400
+ * Used to adapt the main QuickBase client for XML API calls.
401
+ */
402
+ export interface XmlExecutor {
403
+ /**
404
+ * Execute an XML API request
405
+ * @param dbid - The database ID
406
+ * @param action - The QUICKBASE-ACTION header value
407
+ * @param body - The XML request body
408
+ * @returns The raw XML response body
409
+ */
410
+ executeXml(dbid: string, action: string, body: string): Promise<string>;
411
+ /**
412
+ * Get the realm name
413
+ */
414
+ realm: string;
415
+ }
416
+ /**
417
+ * Adapter to create an XmlCaller from a QuickbaseClient.
418
+ * This bridges the main client to the XML API client.
419
+ */
420
+ interface QuickbaseClientLike {
421
+ getConfig(): {
422
+ realm: string;
423
+ fetchApi: typeof fetch;
424
+ timeout: number;
425
+ readOnly?: boolean;
426
+ schema?: ResolvedSchema;
427
+ };
428
+ /**
429
+ * Get the auth strategy for XML requests.
430
+ * This is exposed via getAuthStrategy() method added to the client.
431
+ */
432
+ getAuthStrategy?: () => {
433
+ getToken(dbid?: string): Promise<string>;
434
+ getAuthorizationHeader(token: string): string;
435
+ };
436
+ }
437
+ /**
438
+ * Create an XML API client from a QuickBase client.
439
+ *
440
+ * @param client - The main QuickBase client
441
+ * @param options - Options for the XML client
442
+ * @returns XmlClient instance
443
+ *
444
+ * @example
445
+ * ```typescript
446
+ * const qb = createClient({ realm: 'myrealm', auth: {...} });
447
+ * const xml = createXmlClient(qb);
448
+ *
449
+ * const roles = await xml.getRoleInfo('bqxyz123');
450
+ * ```
451
+ */
452
+ export declare function createXmlClient(client: QuickbaseClientLike, options?: XmlClientOptions): XmlClient;
453
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/xml/index.ts"],"names":[],"mappings":"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"}