quickbase-js 2.1.0 → 2.2.1

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