quickbase-js 1.1.0-beta.3 → 1.1.0-beta.5

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 (69) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +115 -5
  3. package/build.js +175 -55
  4. package/dist/{quickbase.d.ts → esm/quickbase.d.ts} +1108 -349
  5. package/dist/{quickbase.js → esm/quickbase.js} +828 -263
  6. package/dist/esm/quickbase.js.map +1 -0
  7. package/dist/esm/quickbase.min.js +2 -0
  8. package/dist/esm/quickbase.min.js.map +1 -0
  9. package/dist/umd/quickbase.umd.d.ts +5341 -0
  10. package/dist/umd/quickbase.umd.js +7696 -0
  11. package/dist/umd/quickbase.umd.js.map +1 -0
  12. package/dist/umd/quickbase.umd.min.js +2 -0
  13. package/dist/umd/quickbase.umd.min.js.map +1 -0
  14. package/examples/react.js +12 -12
  15. package/examples/vanillajs.html +12 -12
  16. package/log-gen.yaml +536 -1915
  17. package/open-api/definitions/apps.ts +274 -0
  18. package/open-api/definitions/auth.ts +10 -0
  19. package/open-api/definitions/fields.ts +751 -0
  20. package/open-api/definitions/index.ts +18 -0
  21. package/open-api/definitions/records.ts +269 -0
  22. package/open-api/definitions/relationships.ts +90 -0
  23. package/open-api/definitions/reports.ts +10 -0
  24. package/open-api/definitions/tables.ts +112 -0
  25. package/{src/code-generation → open-api}/fix-spec-main.ts +3 -3
  26. package/{src/code-generation → open-api}/generate-unified-interface.ts +42 -17
  27. package/{src/code-generation → open-api}/output/quickbase-fixed.json +3244 -4586
  28. package/open-api/paths/apps.ts +100 -0
  29. package/open-api/paths/auth.ts +25 -0
  30. package/open-api/paths/fields.ts +207 -0
  31. package/open-api/paths/index.ts +17 -0
  32. package/open-api/paths/records.ts +68 -0
  33. package/open-api/paths/relationships.ts +32 -0
  34. package/open-api/paths/reports.ts +34 -0
  35. package/open-api/paths/tables.ts +162 -0
  36. package/{src/code-generation → open-api}/regenerate-client.ts +4 -4
  37. package/package.json +34 -25
  38. package/playwright-results.txt/.last-run.json +4 -0
  39. package/playwright.config.ts +1 -1
  40. package/rollup.config.mjs +114 -0
  41. package/src/generated-unified/QuickbaseClient.ts +7 -6
  42. package/test-artifacts/.last-run.json +4 -2
  43. package/test-esm.js +1 -0
  44. package/test-umd.js +1 -0
  45. package/test.ts +1 -0
  46. package/tests/playwright/qb/auth/umd.test.ts +10 -0
  47. package/tests/vitest/qb/fields/createField.test.ts +78 -0
  48. package/tests/vitest/qb/fields/deleteFields.test.ts +89 -0
  49. package/tests/vitest/qb/fields/getField.test.ts +85 -0
  50. package/tests/vitest/qb/fields/getFieldUsage.test.ts +174 -0
  51. package/tests/vitest/qb/fields/getFieldsUsage.test.ts +77 -0
  52. package/tests/vitest/qb/index.ts +25 -1
  53. package/tests/vitest/unit/fields/createField.test.ts +391 -0
  54. package/tests/vitest/unit/fields/deleteFields.test.ts +141 -0
  55. package/tests/vitest/unit/fields/getField.test.ts +189 -0
  56. package/tests/vitest/unit/fields/getFieldUsage.test.ts +147 -0
  57. package/tests/vitest/unit/fields/getFieldsUsage.test.ts +160 -0
  58. package/tests/vitest/unit/index.ts +30 -1
  59. package/tests/vitest/unit/umd.test.ts +8 -0
  60. package/{src → tools}/log-gen.ts +14 -10
  61. package/tools/openapi-jars/openapi-generator-cli-7.12.0.jar +0 -0
  62. package/tsconfig.build.json +17 -0
  63. package/tsconfig.json +5 -5
  64. package/dist/quickbase.js.map +0 -1
  65. package/rollup.config.js +0 -70
  66. package/src/code-generation/fix-spec-definitions.ts +0 -809
  67. package/src/code-generation/fix-spec-paths.ts +0 -439
  68. package/test-artifacts/test-results.json +0 -829
  69. /package/{src/specs → specs}/QuickBase_RESTful_API_2025-03-04T06_22_39.725Z.json +0 -0
@@ -0,0 +1,274 @@
1
+ // src/code-generation/definitions/apps.ts
2
+ export const appsDefinitions = {
3
+ App: {
4
+ type: "object",
5
+ required: ["id", "name"],
6
+ properties: {
7
+ id: { type: "string" },
8
+ name: { type: "string" },
9
+ created: { type: "string", format: "date-time" },
10
+ updated: { type: "string", format: "date-time" },
11
+ description: { type: "string" },
12
+ timeZone: { type: "string" },
13
+ dateFormat: { type: "string" },
14
+ hasEveryoneOnTheInternet: { type: "boolean" },
15
+ memoryInfo: { $ref: "#/definitions/AppMemoryInfo" },
16
+ securityProperties: { $ref: "#/definitions/AppSecurityProperties" },
17
+ },
18
+ },
19
+ AppMemoryInfo: {
20
+ type: "object",
21
+ properties: {
22
+ estMemory: { type: "number" },
23
+ estMemoryInclDependentApps: { type: "number" },
24
+ },
25
+ },
26
+ AppSecurityProperties: {
27
+ type: "object",
28
+ properties: {
29
+ allowClone: { type: "boolean" },
30
+ allowExport: { type: "boolean" },
31
+ enableAppTokens: { type: "boolean" },
32
+ hideFromPublic: { type: "boolean" },
33
+ mustBeRealmApproved: { type: "boolean" },
34
+ useIPFilter: { type: "boolean" },
35
+ },
36
+ },
37
+ CreateAppRequest: {
38
+ type: "object",
39
+ required: ["name"],
40
+ properties: {
41
+ name: {
42
+ type: "string",
43
+ description:
44
+ "The app name. Multiple apps with the same name are allowed in the same realm.",
45
+ },
46
+ assignToken: {
47
+ type: "boolean",
48
+ description:
49
+ "Set to true to assign the app to the user token used to create it. Default is false.",
50
+ },
51
+ description: {
52
+ type: "string",
53
+ description:
54
+ "The description for the app. Defaults to blank if omitted.",
55
+ },
56
+ securityProperties: {
57
+ $ref: "#/definitions/AppSecurityProperties",
58
+ description: "Application security properties.",
59
+ },
60
+ variables: {
61
+ type: "array",
62
+ items: {
63
+ type: "object",
64
+ properties: {
65
+ name: { type: "string" },
66
+ value: { type: "string" },
67
+ },
68
+ required: ["name", "value"],
69
+ },
70
+ description:
71
+ "App variables (max 10, optional). See About Application Variables.",
72
+ },
73
+ },
74
+ },
75
+ CreateApp200Response: {
76
+ type: "object",
77
+ properties: {
78
+ id: {
79
+ type: "string",
80
+ description: "The unique identifier for this application.",
81
+ },
82
+ name: { type: "string", description: "The app name." },
83
+ description: {
84
+ type: "string",
85
+ description: "The description for the app.",
86
+ },
87
+ created: {
88
+ type: "string",
89
+ format: "date-time",
90
+ description: "The time and date the app was created (ISO 8601, UTC).",
91
+ },
92
+ updated: {
93
+ type: "string",
94
+ format: "date-time",
95
+ description:
96
+ "The time and date the app was last updated (ISO 8601, UTC).",
97
+ },
98
+ dateFormat: {
99
+ type: "string",
100
+ description:
101
+ "The format used for displaying dates in the app (e.g., MM-DD-YYYY).",
102
+ },
103
+ timeZone: {
104
+ type: "string",
105
+ description:
106
+ "The time zone used for displaying time values (e.g., (UTC-08:00) Pacific Time).",
107
+ },
108
+ memoryInfo: {
109
+ $ref: "#/definitions/AppMemoryInfo",
110
+ description: "Application memory information.",
111
+ },
112
+ hasEveryoneOnTheInternet: {
113
+ type: "boolean",
114
+ description:
115
+ "Indicates if the app includes Everyone On The Internet access.",
116
+ },
117
+ variables: {
118
+ type: "array",
119
+ items: {
120
+ type: "object",
121
+ properties: {
122
+ name: { type: "string" },
123
+ value: { type: "string" },
124
+ },
125
+ required: ["name", "value"],
126
+ },
127
+ description: "The app variables.",
128
+ },
129
+ dataClassification: {
130
+ type: "string",
131
+ description:
132
+ "The Data Classification label assigned to the app (optional, may be 'None').",
133
+ },
134
+ securityProperties: {
135
+ $ref: "#/definitions/AppSecurityProperties",
136
+ description: "Security properties of the application.",
137
+ },
138
+ },
139
+ required: ["id", "name"],
140
+ },
141
+ CopyAppRequest: {
142
+ type: "object",
143
+ required: ["name"],
144
+ properties: {
145
+ name: {
146
+ type: "string",
147
+ description: "The name of the newly copied app.",
148
+ },
149
+ description: {
150
+ type: "string",
151
+ description: "The description of the newly copied app.",
152
+ },
153
+ properties: {
154
+ type: "object",
155
+ properties: {
156
+ keepData: {
157
+ type: "boolean",
158
+ description:
159
+ "Whether to copy the app's data along with the schema.",
160
+ },
161
+ excludeFiles: {
162
+ type: "boolean",
163
+ description:
164
+ "If keepData is true, whether to copy file attachments. Ignored if keepData is false.",
165
+ },
166
+ usersAndRoles: {
167
+ type: "boolean",
168
+ description:
169
+ "If true, users will be copied along with their assigned roles. If false, users and roles will be copied but roles will not be assigned.",
170
+ },
171
+ assignUserToken: {
172
+ type: "boolean",
173
+ description:
174
+ "Whether to add the user token used to make this request to the new app.",
175
+ },
176
+ },
177
+ description:
178
+ "The configuration properties for performing the app copy.",
179
+ },
180
+ },
181
+ description: "Request body for copying an existing application.",
182
+ },
183
+ CopyApp200Response: {
184
+ type: "object",
185
+ required: ["id", "name"],
186
+ properties: {
187
+ id: {
188
+ type: "string",
189
+ description: "The unique identifier for the copied application.",
190
+ },
191
+ name: {
192
+ type: "string",
193
+ description:
194
+ "The app name. Multiple apps with the same name are allowed in the same realm.",
195
+ },
196
+ description: {
197
+ type: "string",
198
+ description: "The description for the app.",
199
+ },
200
+ created: {
201
+ type: "string",
202
+ format: "date-time",
203
+ description: "The time and date the app was created (ISO 8601, UTC).",
204
+ },
205
+ updated: {
206
+ type: "string",
207
+ format: "date-time",
208
+ description:
209
+ "The time and date the app was last updated (ISO 8601, UTC).",
210
+ },
211
+ dateFormat: {
212
+ type: "string",
213
+ description:
214
+ "The format used for displaying dates in the app (e.g., MM-DD-YYYY).",
215
+ },
216
+ timeZone: {
217
+ type: "string",
218
+ description:
219
+ "The time zone used for displaying time values (e.g., (UTC-08:00) Pacific Time).",
220
+ },
221
+ hasEveryoneOnTheInternet: {
222
+ type: "boolean",
223
+ description:
224
+ "Indicates if the app includes Everyone On The Internet access.",
225
+ },
226
+ variables: {
227
+ type: "array",
228
+ items: {
229
+ type: "object",
230
+ properties: {
231
+ name: { type: "string" },
232
+ value: { type: "string" },
233
+ },
234
+ required: ["name", "value"],
235
+ },
236
+ description: "The app variables.",
237
+ },
238
+ ancestorId: {
239
+ type: "string",
240
+ description: "The id of the app from which this app was copied.",
241
+ },
242
+ dataClassification: {
243
+ type: "string",
244
+ description:
245
+ "The Data Classification label assigned to the app (optional, may be 'None').",
246
+ },
247
+ },
248
+ description: "Response body for successful app copy operation.",
249
+ },
250
+ DeleteAppRequest: {
251
+ type: "object",
252
+ required: ["name"],
253
+ properties: {
254
+ name: {
255
+ type: "string",
256
+ description:
257
+ "The name of the application to delete, required for confirmation.",
258
+ },
259
+ },
260
+ description:
261
+ "Request body for deleting an application, requiring the app name for confirmation.",
262
+ },
263
+ DeleteApp200Response: {
264
+ type: "object",
265
+ properties: {
266
+ deletedAppId: {
267
+ type: "string",
268
+ description: "The ID of the deleted application.",
269
+ },
270
+ },
271
+ required: ["deletedAppId"],
272
+ description: "Response body for successful deletion of an application.",
273
+ },
274
+ };
@@ -0,0 +1,10 @@
1
+ // src/code-generation/definitions/auth.ts
2
+ export const authDefinitions = {
3
+ GetTempTokenDBID200Response: {
4
+ type: "object",
5
+ required: ["temporaryAuthorization"],
6
+ properties: {
7
+ temporaryAuthorization: { type: "string" },
8
+ },
9
+ },
10
+ };