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 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/xml/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * XML API App Metadata
3
+ *
4
+ * Endpoints for getting app metadata and ancestry info.
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, GetAppDTMInfoResult, GetAncestorInfoResult } from './types.js';
10
+ /**
11
+ * Get modification timestamps (fast, no auth required for some info).
12
+ *
13
+ * This is a lightweight call to check if data has changed.
14
+ *
15
+ * @see https://help.quickbase.com/docs/api-getappdtminfo
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const info = await getAppDTMInfo(caller, 'bqapp123');
20
+ * console.log(`Last modified: ${info.lastModifiedTime}`);
21
+ * ```
22
+ */
23
+ export declare function getAppDTMInfo(caller: XmlCaller, appId: string): Promise<GetAppDTMInfoResult>;
24
+ /**
25
+ * Get app copy/template lineage info.
26
+ *
27
+ * @see https://help.quickbase.com/docs/api-getancestorinfo
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const info = await getAncestorInfo(caller, 'bqapp123');
32
+ * if (info.ancestorAppId) {
33
+ * console.log(`This app was copied from: ${info.ancestorAppId}`);
34
+ * }
35
+ * ```
36
+ */
37
+ export declare function getAncestorInfo(caller: XmlCaller, appId: string): Promise<GetAncestorInfoResult>;
38
+ /**
39
+ * Clear ticket cookie (browser-focused).
40
+ *
41
+ * @see https://help.quickbase.com/docs/api-signout
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * await signOut(caller);
46
+ * ```
47
+ */
48
+ export declare function signOut(caller: XmlCaller): Promise<void>;
49
+ //# sourceMappingURL=metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/xml/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAWpB;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,mBAAmB,CAAC,CAuB9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,qBAAqB,CAAC,CAWhC;AAED;;;;;;;;;GASG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAM9D"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * XML API App Metadata
3
+ *
4
+ * Endpoints for getting app metadata and ancestry info.
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, getTagContent, getAllElements, getAttribute, } from './request.js';
11
+ /**
12
+ * Get modification timestamps (fast, no auth required for some info).
13
+ *
14
+ * This is a lightweight call to check if data has changed.
15
+ *
16
+ * @see https://help.quickbase.com/docs/api-getappdtminfo
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const info = await getAppDTMInfo(caller, 'bqapp123');
21
+ * console.log(`Last modified: ${info.lastModifiedTime}`);
22
+ * ```
23
+ */
24
+ export async function getAppDTMInfo(caller, appId) {
25
+ // GetAppDTMInfo is invoked on db/main with appId in the body
26
+ const inner = `<dbid>${escapeXml(appId)}</dbid>`;
27
+ const body = buildRequest(inner);
28
+ const xml = await caller.doXml('main', 'API_GetAppDTMInfo', body);
29
+ const base = parseBaseResponse(xml);
30
+ checkError(base);
31
+ // Parse tables
32
+ const tableElements = getAllElements(xml, 'table');
33
+ const tables = tableElements.map((tableXml) => ({
34
+ id: getAttribute(tableXml, 'id'),
35
+ lastModifiedTime: getTagContent(tableXml, 'lastModifiedTime') || undefined,
36
+ lastRecModTime: getTagContent(tableXml, 'lastRecModTime') || undefined,
37
+ }));
38
+ return {
39
+ appId: getTagContent(xml, 'app_id') || appId,
40
+ lastModifiedTime: getTagContent(xml, 'lastModifiedTime') || undefined,
41
+ lastRecModTime: getTagContent(xml, 'lastRecModTime') || undefined,
42
+ tables,
43
+ };
44
+ }
45
+ /**
46
+ * Get app copy/template lineage info.
47
+ *
48
+ * @see https://help.quickbase.com/docs/api-getancestorinfo
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * const info = await getAncestorInfo(caller, 'bqapp123');
53
+ * if (info.ancestorAppId) {
54
+ * console.log(`This app was copied from: ${info.ancestorAppId}`);
55
+ * }
56
+ * ```
57
+ */
58
+ export async function getAncestorInfo(caller, appId) {
59
+ const body = buildRequest('');
60
+ const xml = await caller.doXml(appId, 'API_GetAncestorInfo', body);
61
+ const base = parseBaseResponse(xml);
62
+ checkError(base);
63
+ return {
64
+ ancestorAppId: getTagContent(xml, 'ancestorappid') || undefined,
65
+ oldestAncestorAppId: getTagContent(xml, 'oldestancestorappid') || undefined,
66
+ };
67
+ }
68
+ /**
69
+ * Clear ticket cookie (browser-focused).
70
+ *
71
+ * @see https://help.quickbase.com/docs/api-signout
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * await signOut(caller);
76
+ * ```
77
+ */
78
+ export async function signOut(caller) {
79
+ const body = buildRequest('');
80
+ const xml = await caller.doXml('main', 'API_SignOut', body);
81
+ const base = parseBaseResponse(xml);
82
+ checkError(base);
83
+ }
84
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/xml/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAiB,EACjB,KAAa;IAEb,6DAA6D;IAC7D,MAAM,KAAK,GAAG,SAAS,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC;IACjD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,IAAI,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjB,eAAe;IACf,MAAM,aAAa,GAAG,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9C,EAAE,EAAE,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC;QAChC,gBAAgB,EAAE,aAAa,CAAC,QAAQ,EAAE,kBAAkB,CAAC,IAAI,SAAS;QAC1E,cAAc,EAAE,aAAa,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,SAAS;KACvE,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,KAAK,EAAE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,KAAK;QAC5C,gBAAgB,EAAE,aAAa,CAAC,GAAG,EAAE,kBAAkB,CAAC,IAAI,SAAS;QACrE,cAAc,EAAE,aAAa,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,SAAS;QACjE,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,KAAa;IAEb,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjB,OAAO;QACL,aAAa,EAAE,aAAa,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,SAAS;QAC/D,mBAAmB,EAAE,aAAa,CAAC,GAAG,EAAE,qBAAqB,CAAC,IAAI,SAAS;KAC5E,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,MAAiB;IAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAE5D,MAAM,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACpC,UAAU,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * XML API Record Information
3
+ *
4
+ * Endpoints for querying and managing record information.
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, DoQueryCountResult, GetRecordInfoResult, ImportFromCSVResult, CopyMasterDetailResult } from './types.js';
10
+ /**
11
+ * Get count of matching records without fetching data.
12
+ *
13
+ * @see https://help.quickbase.com/docs/api-doquerycount
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const result = await doQueryCount(caller, 'bqtable123', "{'7'.XCT.'blue car'}");
18
+ * console.log(`Found ${result.numMatches} matching records`);
19
+ * ```
20
+ */
21
+ export declare function doQueryCount(caller: XmlCaller, tableId: string, query?: string): Promise<DoQueryCountResult>;
22
+ /**
23
+ * Get a record with field metadata.
24
+ *
25
+ * Returns all fields for the specified record, including field names and types.
26
+ *
27
+ * @see https://help.quickbase.com/docs/api-getrecordinfo
28
+ *
29
+ * @example
30
+ * ```typescript
31
+ * const result = await getRecordInfo(caller, 'bqtable123', 42);
32
+ * console.log(`Record ${result.recordId} has ${result.numFields} fields`);
33
+ * for (const field of result.fields) {
34
+ * console.log(` ${field.name}: ${field.value}`);
35
+ * }
36
+ * ```
37
+ */
38
+ export declare function getRecordInfo(caller: XmlCaller, tableId: string, recordId: number): Promise<GetRecordInfoResult>;
39
+ /**
40
+ * Get a record by key field value.
41
+ *
42
+ * @see https://help.quickbase.com/docs/api-getrecordinfo
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * const result = await getRecordInfoByKey(caller, 'bqtable123', 'ABC-123');
47
+ * ```
48
+ */
49
+ export declare function getRecordInfoByKey(caller: XmlCaller, tableId: string, keyValue: string): Promise<GetRecordInfoResult>;
50
+ /**
51
+ * Bulk import/update records from CSV data.
52
+ *
53
+ * You can add and update records in the same call.
54
+ * Leave Record ID empty to add new records.
55
+ *
56
+ * @see https://help.quickbase.com/docs/api-importfromcsv
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * const result = await importFromCSV(caller, 'bqtable123', {
61
+ * recordsCsv: 'Name,Email\nJohn,john@example.com\nJane,jane@example.com',
62
+ * clist: [7, 8],
63
+ * skipFirst: true,
64
+ * });
65
+ * console.log(`Added ${result.numRecsAdded}, updated ${result.numRecsUpdated}`);
66
+ * ```
67
+ */
68
+ export declare function importFromCSV(caller: XmlCaller, tableId: string, options: {
69
+ recordsCsv: string;
70
+ clist?: number[];
71
+ skipFirst?: boolean;
72
+ mergeFieldId?: number;
73
+ decimalPercent?: boolean;
74
+ }): Promise<ImportFromCSVResult>;
75
+ /**
76
+ * Execute a saved import definition.
77
+ *
78
+ * @see https://help.quickbase.com/docs/api-runimport
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * const result = await runImport(caller, 'bqtable123', 5);
83
+ * ```
84
+ */
85
+ export declare function runImport(caller: XmlCaller, tableId: string, importId: number): Promise<ImportFromCSVResult>;
86
+ /**
87
+ * Copy a master record with its detail records.
88
+ *
89
+ * @see https://help.quickbase.com/docs/api-copymasterdetail
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * const result = await copyMasterDetail(caller, 'bqtable123', {
94
+ * rid: 42,
95
+ * recurse: true,
96
+ * });
97
+ * console.log(`Copied to record ${result.newRid}`);
98
+ * ```
99
+ */
100
+ export declare function copyMasterDetail(caller: XmlCaller, tableId: string, options: {
101
+ rid: number;
102
+ copyfid?: number;
103
+ recurse?: boolean;
104
+ relfids?: number[];
105
+ }): Promise<CopyMasterDetailResult>;
106
+ //# sourceMappingURL=records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../src/xml/records.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,SAAS,EAET,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AA8BpB;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAe7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAiB9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAiB9B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GACA,OAAO,CAAC,mBAAmB,CAAC,CAoC9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CAsB9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,GACA,OAAO,CAAC,sBAAsB,CAAC,CAuBjC"}
@@ -0,0 +1,220 @@
1
+ /**
2
+ * XML API Record Information
3
+ *
4
+ * Endpoints for querying and managing record information.
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, getTagContent, getAttribute, getAllElements, parseXmlNumber, xmlElementCDATA, } from './request.js';
11
+ /**
12
+ * Parse a field element from GetRecordInfo response
13
+ */
14
+ function parseRecordField(fieldXml) {
15
+ const field = {
16
+ id: parseXmlNumber(getTagContent(fieldXml, 'fid')),
17
+ name: getTagContent(fieldXml, 'name'),
18
+ type: getTagContent(fieldXml, 'type'),
19
+ value: getTagContent(fieldXml, 'value'),
20
+ };
21
+ const printable = getTagContent(fieldXml, 'printable');
22
+ if (printable)
23
+ field.printable = printable;
24
+ return field;
25
+ }
26
+ /**
27
+ * Get count of matching records without fetching data.
28
+ *
29
+ * @see https://help.quickbase.com/docs/api-doquerycount
30
+ *
31
+ * @example
32
+ * ```typescript
33
+ * const result = await doQueryCount(caller, 'bqtable123', "{'7'.XCT.'blue car'}");
34
+ * console.log(`Found ${result.numMatches} matching records`);
35
+ * ```
36
+ */
37
+ export async function doQueryCount(caller, tableId, query) {
38
+ let inner = '';
39
+ if (query) {
40
+ inner = `<query>${escapeXml(query)}</query>`;
41
+ }
42
+ const body = buildRequest(inner);
43
+ const xml = await caller.doXml(tableId, 'API_DoQueryCount', body);
44
+ const base = parseBaseResponse(xml);
45
+ checkError(base);
46
+ return {
47
+ numMatches: parseXmlNumber(getTagContent(xml, 'numMatches')),
48
+ };
49
+ }
50
+ /**
51
+ * Get a record with field metadata.
52
+ *
53
+ * Returns all fields for the specified record, including field names and types.
54
+ *
55
+ * @see https://help.quickbase.com/docs/api-getrecordinfo
56
+ *
57
+ * @example
58
+ * ```typescript
59
+ * const result = await getRecordInfo(caller, 'bqtable123', 42);
60
+ * console.log(`Record ${result.recordId} has ${result.numFields} fields`);
61
+ * for (const field of result.fields) {
62
+ * console.log(` ${field.name}: ${field.value}`);
63
+ * }
64
+ * ```
65
+ */
66
+ export async function getRecordInfo(caller, tableId, recordId) {
67
+ const inner = `<rid>${recordId}</rid>`;
68
+ const body = buildRequest(inner);
69
+ const xml = await caller.doXml(tableId, 'API_GetRecordInfo', body);
70
+ const base = parseBaseResponse(xml);
71
+ checkError(base);
72
+ const fieldElements = getAllElements(xml, 'field');
73
+ const fields = fieldElements.map(parseRecordField);
74
+ return {
75
+ recordId: parseXmlNumber(getTagContent(xml, 'rid')),
76
+ numFields: parseXmlNumber(getTagContent(xml, 'num_fields')),
77
+ updateId: getTagContent(xml, 'update_id') || undefined,
78
+ fields,
79
+ };
80
+ }
81
+ /**
82
+ * Get a record by key field value.
83
+ *
84
+ * @see https://help.quickbase.com/docs/api-getrecordinfo
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * const result = await getRecordInfoByKey(caller, 'bqtable123', 'ABC-123');
89
+ * ```
90
+ */
91
+ export async function getRecordInfoByKey(caller, tableId, keyValue) {
92
+ const inner = `<key>${escapeXml(keyValue)}</key>`;
93
+ const body = buildRequest(inner);
94
+ const xml = await caller.doXml(tableId, 'API_GetRecordInfo', body);
95
+ const base = parseBaseResponse(xml);
96
+ checkError(base);
97
+ const fieldElements = getAllElements(xml, 'field');
98
+ const fields = fieldElements.map(parseRecordField);
99
+ return {
100
+ recordId: parseXmlNumber(getTagContent(xml, 'rid')),
101
+ numFields: parseXmlNumber(getTagContent(xml, 'num_fields')),
102
+ updateId: getTagContent(xml, 'update_id') || undefined,
103
+ fields,
104
+ };
105
+ }
106
+ /**
107
+ * Bulk import/update records from CSV data.
108
+ *
109
+ * You can add and update records in the same call.
110
+ * Leave Record ID empty to add new records.
111
+ *
112
+ * @see https://help.quickbase.com/docs/api-importfromcsv
113
+ *
114
+ * @example
115
+ * ```typescript
116
+ * const result = await importFromCSV(caller, 'bqtable123', {
117
+ * recordsCsv: 'Name,Email\nJohn,john@example.com\nJane,jane@example.com',
118
+ * clist: [7, 8],
119
+ * skipFirst: true,
120
+ * });
121
+ * console.log(`Added ${result.numRecsAdded}, updated ${result.numRecsUpdated}`);
122
+ * ```
123
+ */
124
+ export async function importFromCSV(caller, tableId, options) {
125
+ let inner = xmlElementCDATA('records_csv', options.recordsCsv);
126
+ if (options.clist && options.clist.length > 0) {
127
+ inner += `<clist>${options.clist.join('.')}</clist>`;
128
+ }
129
+ if (options.skipFirst) {
130
+ inner += '<skipfirst>1</skipfirst>';
131
+ }
132
+ if (options.mergeFieldId !== undefined) {
133
+ inner += `<mergeFieldId>${options.mergeFieldId}</mergeFieldId>`;
134
+ }
135
+ if (options.decimalPercent) {
136
+ inner += '<decimalPercent>1</decimalPercent>';
137
+ }
138
+ const body = buildRequest(inner);
139
+ const xml = await caller.doXml(tableId, 'API_ImportFromCSV', body);
140
+ const base = parseBaseResponse(xml);
141
+ checkError(base);
142
+ // Parse record IDs
143
+ const ridElements = getAllElements(xml, 'rid');
144
+ const recordIds = ridElements.map((ridXml) => {
145
+ const rid = parseXmlNumber(ridXml.replace(/<rid[^>]*>/, '').replace(/<\/rid>/, ''));
146
+ const updateId = getAttribute(ridXml, 'update_id') || undefined;
147
+ return { recordId: rid, updateId };
148
+ });
149
+ return {
150
+ numRecsInput: parseXmlNumber(getTagContent(xml, 'num_recs_input')),
151
+ numRecsAdded: parseXmlNumber(getTagContent(xml, 'num_recs_added')),
152
+ numRecsUpdated: parseXmlNumber(getTagContent(xml, 'num_recs_updated')),
153
+ recordIds,
154
+ };
155
+ }
156
+ /**
157
+ * Execute a saved import definition.
158
+ *
159
+ * @see https://help.quickbase.com/docs/api-runimport
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * const result = await runImport(caller, 'bqtable123', 5);
164
+ * ```
165
+ */
166
+ export async function runImport(caller, tableId, importId) {
167
+ const inner = `<id>${importId}</id>`;
168
+ const body = buildRequest(inner);
169
+ const xml = await caller.doXml(tableId, 'API_RunImport', body);
170
+ const base = parseBaseResponse(xml);
171
+ checkError(base);
172
+ // Parse record IDs
173
+ const ridElements = getAllElements(xml, 'rid');
174
+ const recordIds = ridElements.map((ridXml) => {
175
+ const rid = parseXmlNumber(ridXml.replace(/<rid[^>]*>/, '').replace(/<\/rid>/, ''));
176
+ const updateId = getAttribute(ridXml, 'update_id') || undefined;
177
+ return { recordId: rid, updateId };
178
+ });
179
+ return {
180
+ numRecsInput: parseXmlNumber(getTagContent(xml, 'num_recs_input')),
181
+ numRecsAdded: parseXmlNumber(getTagContent(xml, 'num_recs_added')),
182
+ numRecsUpdated: parseXmlNumber(getTagContent(xml, 'num_recs_updated')),
183
+ recordIds,
184
+ };
185
+ }
186
+ /**
187
+ * Copy a master record with its detail records.
188
+ *
189
+ * @see https://help.quickbase.com/docs/api-copymasterdetail
190
+ *
191
+ * @example
192
+ * ```typescript
193
+ * const result = await copyMasterDetail(caller, 'bqtable123', {
194
+ * rid: 42,
195
+ * recurse: true,
196
+ * });
197
+ * console.log(`Copied to record ${result.newRid}`);
198
+ * ```
199
+ */
200
+ export async function copyMasterDetail(caller, tableId, options) {
201
+ let inner = `<rid>${options.rid}</rid>`;
202
+ if (options.copyfid !== undefined) {
203
+ inner += `<copyfid>${options.copyfid}</copyfid>`;
204
+ }
205
+ if (options.recurse) {
206
+ inner += '<recurse>1</recurse>';
207
+ }
208
+ if (options.relfids && options.relfids.length > 0) {
209
+ inner += `<relfids>${options.relfids.join('.')}</relfids>`;
210
+ }
211
+ const body = buildRequest(inner);
212
+ const xml = await caller.doXml(tableId, 'API_CopyMasterDetail', body);
213
+ const base = parseBaseResponse(xml);
214
+ checkError(base);
215
+ return {
216
+ newRid: parseXmlNumber(getTagContent(xml, 'newrid')),
217
+ numCreated: parseXmlNumber(getTagContent(xml, 'num_created')),
218
+ };
219
+ }
220
+ //# sourceMappingURL=records.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"records.js","sourceRoot":"","sources":["../../src/xml/records.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * XML API Request/Response Utilities
3
+ *
4
+ * Utilities for building XML requests and parsing XML responses
5
+ * for the legacy QuickBase XML API.
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
+ import type { BaseResponse } from './types.js';
11
+ /**
12
+ * Build an XML API request body.
13
+ * Wraps the inner XML content in <qdbapi> tags.
14
+ *
15
+ * @param inner - The inner XML content (without qdbapi wrapper)
16
+ * @returns Complete XML request body
17
+ *
18
+ * @example
19
+ * buildRequest('<userid>123</userid><roleid>10</roleid>')
20
+ * // Returns: '<qdbapi><userid>123</userid><roleid>10</roleid></qdbapi>'
21
+ */
22
+ export declare function buildRequest(inner: string): string;
23
+ /**
24
+ * Escape special characters for safe inclusion in XML.
25
+ *
26
+ * @param str - The string to escape
27
+ * @returns XML-escaped string
28
+ */
29
+ export declare function escapeXml(str: string): string;
30
+ /**
31
+ * Extract text content from a single XML tag.
32
+ * Uses regex for simple extraction without DOM parsing.
33
+ *
34
+ * @param xml - The XML string to search
35
+ * @param tag - The tag name to extract
36
+ * @returns The text content or empty string if not found
37
+ */
38
+ export declare function getTagContent(xml: string, tag: string): string;
39
+ /**
40
+ * Extract text content with CDATA support.
41
+ * Some XML responses wrap content in CDATA blocks.
42
+ *
43
+ * @param xml - The XML string to search
44
+ * @param tag - The tag name to extract
45
+ * @returns The text content or empty string if not found
46
+ */
47
+ export declare function getTagContentWithCDATA(xml: string, tag: string): string;
48
+ /**
49
+ * Extract an attribute value from an XML element.
50
+ *
51
+ * @param xml - The XML element string
52
+ * @param attr - The attribute name
53
+ * @returns The attribute value or empty string if not found
54
+ */
55
+ export declare function getAttribute(xml: string, attr: string): string;
56
+ /**
57
+ * Extract all occurrences of a tag as an array of strings.
58
+ *
59
+ * @param xml - The XML string to search
60
+ * @param tag - The tag name to extract
61
+ * @returns Array of XML element strings (including tags)
62
+ */
63
+ export declare function getAllElements(xml: string, tag: string): string[];
64
+ /**
65
+ * Parse the base response fields from an XML API response.
66
+ *
67
+ * @param xml - The XML response string
68
+ * @returns BaseResponse with action, errcode, errtext, errdetail
69
+ */
70
+ export declare function parseBaseResponse(xml: string): BaseResponse;
71
+ /**
72
+ * Create an XML element with content.
73
+ * Escapes the content automatically.
74
+ *
75
+ * @param tag - The tag name
76
+ * @param content - The content (will be escaped)
77
+ * @returns XML element string
78
+ */
79
+ export declare function xmlElement(tag: string, content: string | number): string;
80
+ /**
81
+ * Create an XML element with CDATA content.
82
+ * Use for large text content that may contain special characters.
83
+ *
84
+ * @param tag - The tag name
85
+ * @param content - The content (will be wrapped in CDATA)
86
+ * @returns XML element string with CDATA
87
+ */
88
+ export declare function xmlElementCDATA(tag: string, content: string): string;
89
+ /**
90
+ * Create an XML element with an attribute.
91
+ *
92
+ * @param tag - The tag name
93
+ * @param attrName - The attribute name
94
+ * @param attrValue - The attribute value
95
+ * @param content - The content (will be escaped)
96
+ * @returns XML element string with attribute
97
+ */
98
+ export declare function xmlElementWithAttr(tag: string, attrName: string, attrValue: string | number, content: string | number): string;
99
+ /**
100
+ * Parse a boolean-like value from XML.
101
+ * QuickBase uses "1" for true, "0" or empty for false.
102
+ *
103
+ * @param value - The string value to parse
104
+ * @returns boolean
105
+ */
106
+ export declare function parseXmlBool(value: string): boolean;
107
+ /**
108
+ * Parse a numeric value from XML.
109
+ *
110
+ * @param value - The string value to parse
111
+ * @param defaultValue - Default value if parsing fails
112
+ * @returns number
113
+ */
114
+ export declare function parseXmlNumber(value: string, defaultValue?: number): number;
115
+ //# sourceMappingURL=request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/xml/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAUvE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAQjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAQ3D;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAExE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,GACvB,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,MAAM,CAGtE"}