@corva/create-app 0.0.0-73c49372-test → 0.0.0-8bf627d

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 (71) hide show
  1. package/README.md +7 -0
  2. package/bin/create-corva-app.cjs +4 -9
  3. package/common/python/requirements.txt +1 -1
  4. package/lib/commands/release.js +6 -0
  5. package/lib/constants/cli.js +14 -3
  6. package/lib/constants/manifest.js +3 -2
  7. package/lib/constants/package.js +35 -15
  8. package/lib/flows/lib/api.js +23 -14
  9. package/lib/flows/lib/manifest.js +1 -1
  10. package/lib/flows/steps/release/upload-zip-to-corva.js +74 -0
  11. package/lib/flows/steps/zip-file-list-resolve.js +13 -7
  12. package/lib/helpers/cli-version.js +39 -3
  13. package/lib/helpers/manifest.js +9 -1
  14. package/lib/helpers/resolve-app-runtime.js +7 -6
  15. package/lib/helpers/utils.js +7 -1
  16. package/lib/main.js +1 -5
  17. package/package.json +1 -104
  18. package/template_extensions/corva/.eslintrc +32 -0
  19. package/template_extensions/corva/.github/workflows/develop.yml +2 -0
  20. package/template_extensions/corva/.release-please-manifest.json +3 -0
  21. package/template_extensions/corva/release-please-config.json +10 -0
  22. package/templates/scheduler_data-time/javascript/__tests__/processor.spec.js +1 -1
  23. package/templates/scheduler_data-time/typescript/__tests__/processor.spec.ts +1 -1
  24. package/templates/scheduler_depth/javascript/__tests__/processor.spec.js +1 -1
  25. package/templates/scheduler_depth/typescript/__tests__/processor.spec.ts +1 -1
  26. package/templates/scheduler_natural-time/javascript/__tests__/processor.spec.js +1 -1
  27. package/templates/scheduler_natural-time/typescript/__tests__/processor.spec.ts +1 -1
  28. package/templates/stream_depth/javascript/__tests__/processor.spec.js +1 -1
  29. package/templates/stream_depth/typescript/__tests__/processor.spec.ts +1 -1
  30. package/templates/stream_time/javascript/__tests__/processor.spec.js +1 -1
  31. package/templates/stream_time/typescript/__tests__/processor.spec.ts +1 -1
  32. package/templates/task/javascript/__tests__/processor.spec.js +1 -1
  33. package/templates/task/typescript/__tests__/processor.spec.ts +1 -1
  34. package/templates/ui/javascript/.codex/config.toml +3 -0
  35. package/templates/ui/javascript/.cursor/mcp.json +8 -0
  36. package/templates/ui/javascript/.mcp.json +8 -0
  37. package/templates/ui/javascript/AGENTS.md +304 -0
  38. package/templates/ui/javascript/CLAUDE.md +1 -0
  39. package/templates/ui/javascript/config/jest/setupTests.js +19 -0
  40. package/templates/ui/javascript/src/App.completion.js +35 -47
  41. package/templates/ui/javascript/src/App.drilling.js +36 -45
  42. package/templates/ui/javascript/src/App.scss +17 -0
  43. package/templates/ui/javascript/src/AppSettings.js +6 -20
  44. package/templates/ui/javascript/src/__tests__/App.test.js +11 -6
  45. package/templates/ui/javascript/src/__tests__/AppSettings.test.js +12 -5
  46. package/templates/ui/javascript/src/__tests__/TestsExample.test.js +2 -2
  47. package/templates/ui/javascript/src/index.js +1 -0
  48. package/templates/ui/typescript/.codex/config.toml +3 -0
  49. package/templates/ui/typescript/.cursor/mcp.json +8 -0
  50. package/templates/ui/typescript/.mcp.json +8 -0
  51. package/templates/ui/typescript/AGENTS.md +344 -0
  52. package/templates/ui/typescript/CLAUDE.md +1 -0
  53. package/templates/ui/typescript/config/jest/setupTests.js +19 -0
  54. package/templates/ui/typescript/src/App.completion.tsx +35 -49
  55. package/templates/ui/typescript/src/App.drilling.tsx +35 -46
  56. package/templates/ui/typescript/src/App.scss +17 -0
  57. package/templates/ui/typescript/src/AppSettings.tsx +4 -14
  58. package/templates/ui/typescript/src/__mocks__/mockData.ts +22 -0
  59. package/templates/ui/typescript/src/__tests__/App.test.tsx +12 -6
  60. package/templates/ui/typescript/src/__tests__/AppSettings.test.tsx +12 -5
  61. package/templates/ui/typescript/src/__tests__/TestsExample.test.tsx +2 -2
  62. package/templates/ui/typescript/src/custom.d.ts +10 -0
  63. package/templates/ui/typescript/src/index.js +1 -0
  64. package/templates/ui/typescript/src/types.ts +3 -0
  65. package/templates/ui/typescript/tsconfig.json +0 -1
  66. package/templates/ui/javascript/src/App.css +0 -30
  67. package/templates/ui/javascript/src/__mocks__/mockAppProps.js +0 -590
  68. package/templates/ui/javascript/src/__mocks__/mockAppSettingsProps.js +0 -290
  69. package/templates/ui/typescript/src/App.css +0 -30
  70. package/templates/ui/typescript/src/__mocks__/mockAppProps.ts +0 -590
  71. package/templates/ui/typescript/src/__mocks__/mockAppSettingsProps.ts +0 -290
@@ -1,21 +1,28 @@
1
1
  import { render, screen, act } from '@testing-library/react';
2
2
  import userEvent from '@testing-library/user-event';
3
+ import { AppTestWrapper } from '@corva/ui/testing';
3
4
 
4
5
  import AppSettings from '../AppSettings';
5
- import { mockAppSettingsProps } from '../__mocks__/mockAppSettingsProps';
6
6
 
7
7
  describe('<AppSettings />', () => {
8
8
  it('should call onChange with a changed setting on settings change', async () => {
9
- const handleSettingsChange = jest.fn();
9
+ const handleSettingChange = jest.fn();
10
10
 
11
- render(<AppSettings {...mockAppSettingsProps} onSettingChange={handleSettingsChange} />);
11
+ render(
12
+ <AppTestWrapper
13
+ appSettings={{ isExampleCheckboxChecked: true }}
14
+ onSettingChange={handleSettingChange}
15
+ >
16
+ <AppSettings />
17
+ </AppTestWrapper>
18
+ );
12
19
 
13
- const exampleCheckbox = screen.getByTestId('exampleCheckbox').querySelector('input');
20
+ const exampleCheckbox = screen.getByRole('checkbox', { name: /example/i });
14
21
 
15
22
  await act(async () => {
16
23
  await userEvent.click(exampleCheckbox);
17
24
  });
18
25
 
19
- expect(handleSettingsChange).toBeCalledWith('isExampleCheckboxChecked', false);
26
+ expect(handleSettingChange).toBeCalledWith('isExampleCheckboxChecked', false);
20
27
  });
21
28
  });
@@ -1,6 +1,6 @@
1
1
  import { useState } from 'react';
2
2
  import { render, screen, waitFor } from '@testing-library/react';
3
- import { components } from '@corva/ui';
3
+ import { Button } from '@corva/ui/componentsV2';
4
4
  import userEvent from '@testing-library/user-event';
5
5
 
6
6
  const Toggle = () => {
@@ -9,7 +9,7 @@ const Toggle = () => {
9
9
  return (
10
10
  <>
11
11
  {isOn ? 'ON' : 'OFF'}
12
- <components.Button onClick={() => setIsOn(value => !value)}>toggle</components.Button>
12
+ <Button onClick={() => setIsOn(value => !value)}>toggle</Button>
13
13
  </>
14
14
  );
15
15
  };
@@ -7,3 +7,13 @@ declare module '*.css' {
7
7
  const content: Record<string, string>;
8
8
  export default content;
9
9
  }
10
+
11
+ declare module '*.scss' {
12
+ const content: Record<string, string>;
13
+ export default content;
14
+ }
15
+
16
+ declare module '*.sass' {
17
+ const content: Record<string, string>;
18
+ export default content;
19
+ }
@@ -1,3 +1,4 @@
1
+ // DO NOT modify this structure
1
2
  import App from './App';
2
3
  import AppSettings from './AppSettings';
3
4
 
@@ -0,0 +1,3 @@
1
+ export interface CustomAppSettings {
2
+ isExampleCheckboxChecked?: boolean;
3
+ }
@@ -2,7 +2,6 @@
2
2
  "extends": "@tsconfig/create-react-app/tsconfig.json",
3
3
  "compilerOptions": {
4
4
  "noEmit": false,
5
- "strict": false,
6
5
  "sourceMap": true
7
6
  }
8
7
  }
@@ -1,30 +0,0 @@
1
- .container {
2
- display: flex;
3
- flex-direction: column;
4
- height: 100%;
5
- padding: 12px 12px 30px 12px;
6
- }
7
-
8
- .content {
9
- display: flex;
10
- flex-direction: column;
11
- text-align: center;
12
- align-items: center;
13
- justify-content: center;
14
- flex-grow: 1;
15
- overflow: auto;
16
- }
17
-
18
- @keyframes App-logo-spin {
19
- from {
20
- transform: rotate(0deg);
21
- }
22
- to {
23
- transform: rotate(-360deg);
24
- }
25
- }
26
-
27
- .logo {
28
- animation: App-logo-spin infinite 20s linear;
29
- height: 50px;
30
- }
@@ -1,590 +0,0 @@
1
- /**
2
- * This is a real example of the props that'll come
3
- * to the App component. You'll need to manually update it
4
- * if in the future some new properties are added
5
- */
6
-
7
- export const mockAppProps = {
8
- onSettingChange: jest.fn(),
9
- onSettingsChange: jest.fn(),
10
- setIsFullscreenModalMode: jest.fn(),
11
- setIsMaximized: jest.fn(),
12
- setMainMenuItems: jest.fn(),
13
- setSecondaryMenuItems: jest.fn(),
14
- isExampleCheckboxChecked: true,
15
- app: {
16
- id: -1,
17
- app: {
18
- app_key: 'corva.app_key.ui',
19
- platform: 'dev_center',
20
- },
21
- settings: {
22
- package: '0.1.0',
23
- rigId: 1,
24
- wellId: 2,
25
- isExampleCheckboxChecked: true,
26
- },
27
- package: {
28
- manifest: {
29
- format: 1,
30
- license: {
31
- type: 'MIT',
32
- url: 'https://www.oandgexample.com/license/',
33
- },
34
- developer: {
35
- name: 'company name',
36
- identifier: 'companyIdentifier',
37
- authors: [],
38
- },
39
- application: {
40
- type: 'ui',
41
- key: 'corva.app_key.ui',
42
- visibility: 'private',
43
- name: 'dc app name',
44
- description: 'This is the description of my app. You can do great things with it!',
45
- summary: 'More information about this app goes here',
46
- category: 'analytics',
47
- website: 'https://www.oandgexample.com/my-app/',
48
- segments: ['drilling', 'completion'],
49
- ui: {
50
- initial_size: {
51
- w: 4,
52
- h: 10,
53
- },
54
- },
55
- },
56
- settings: {
57
- entrypoint: {
58
- file: 'src/index.js',
59
- function: 'handler',
60
- },
61
- environment: {},
62
- runtime: 'ui',
63
- app: {
64
- scheduler_type: 1,
65
- cron_string: '*/5 * * * *',
66
- },
67
- },
68
- datasets: {},
69
- },
70
- build: 'corva.app_key.ui-0.1.0',
71
- version: '0.1.0',
72
- },
73
- },
74
- package: '0.1.0',
75
- rigId: 1,
76
- wellId: 2,
77
- well: {
78
- name: 'well name 1',
79
- settings: {
80
- basin: 'Delaware',
81
- county: 'Pecos',
82
- timezone: 'America/Chicago',
83
- top_hole: {
84
- raw: '50.000000,-102.000000',
85
- coordinates: [50.0, -102.0],
86
- },
87
- api_number: '11-222-33333',
88
- bottom_hole: {},
89
- mud_company: 'MudCompanyName',
90
- spud_release: [
91
- {
92
- id: '1111111111-2222-aaaa-bbbb-3333333333',
93
- spud: '01/08/2023 00:46',
94
- rig_up: '01/08/2023 00:10',
95
- release: '',
96
- },
97
- ],
98
- string_design: '5',
99
- contractor_name: 'Unit Drilling',
100
- target_formation: 'Woodford',
101
- last_mongo_refresh: '2023-02-23T16:52:58.462Z',
102
- rig_classification: 'land',
103
- directional_driller: 'Directional Driller',
104
- drilling_afe_number: 'AB12345',
105
- day_shift_start_time: '06:00',
106
- off_bottom_tolerance: 1,
107
- target_formation_standard: 'Woodford',
108
- completion_day_shift_start_time: '06:00',
109
- associations_last_active_at_updated_at: '2023-02-23T16:52:50.000Z',
110
- },
111
- asset_id: 12345678,
112
- last_active_at: '2023-02-23T16:52:57.000Z',
113
- id: '2',
114
- companyId: '1',
115
- },
116
- rig: {
117
- name: 'Some Test Rig Name',
118
- id: '1',
119
- asset_id: 9999999,
120
- },
121
- coordinates: {
122
- w: 4,
123
- h: 10,
124
- x: 0,
125
- y: 0,
126
- pixelHeight: 390,
127
- pixelWidth: 460,
128
- },
129
- currentUser: {
130
- id: 1,
131
- company_id: 2,
132
- first_name: 'John',
133
- last_name: 'Doe',
134
- email: 'john.doe@corva.ai',
135
- mobile: '',
136
- created_at: '2020-11-03T08:42:53.161Z',
137
- terms_acceptance_at: '2021-10-20T13:28:1.385Z',
138
- profile_photo: null,
139
- recently_viewed_asset_ids: [1],
140
- unit_system: null,
141
- role: 'developeradmin',
142
- title: null,
143
- group: null,
144
- favorite_asset_id: null,
145
- current_segment: null,
146
- theme: 'dark',
147
- messaging_id: '1',
148
- restricted_assets: [],
149
- restricted_programs: [],
150
- settings: {
151
- favorites: {},
152
- sms_blacklisted: false,
153
- restricted_assets: [],
154
- restricted_programs: [],
155
- participates_in_beta_apps: false,
156
- last_new_dashboard_shares_check: '2021-11-24T18:57:13.679Z',
157
- },
158
- last_sign_in_at: '2023-02-23T10:19:06.349Z',
159
- locked_access: false,
160
- unit_ids: [],
161
- intercom_admin_id: null,
162
- resource: [],
163
- intercom_user_hash: 'intercomUserHash',
164
- profile_groups: [],
165
- preference: {
166
- id: 5,
167
- user: {
168
- id: 1,
169
- company_id: 2,
170
- first_name: 'John',
171
- last_name: 'Doe',
172
- email: 'oleksandr.krupko@corva.ai',
173
- role: 'developeradmin',
174
- created_at: '2020-11-03T08:42:53.161Z',
175
- updated_at: '2023-02-23T12:26:46.835Z',
176
- recently_viewed_asset_ids: [1],
177
- unit_system: null,
178
- mobile: '',
179
- terms_acceptance_at: '2021-10-20T13:28:1.385Z',
180
- messaging_id: '1',
181
- settings: {
182
- favorites: {},
183
- sms_blacklisted: false,
184
- restricted_assets: [],
185
- restricted_programs: [],
186
- participates_in_beta_apps: false,
187
- last_new_dashboard_shares_check: '2021-11-24T18:57:13.679Z',
188
- },
189
- theme: 'dark',
190
- title: null,
191
- group: null,
192
- profile_photo: null,
193
- favorite_asset_id: null,
194
- current_segment: null,
195
- state: 'active',
196
- created_by: null,
197
- provisioner: 'internal',
198
- intercom_admin_id: null,
199
- resource: [],
200
- },
201
- push_notifications_enabled: true,
202
- emails_enabled: true,
203
- sms_enabled: true,
204
- alert_levels: ['info', 'warning', 'critical'],
205
- play_alerts_sound: true,
206
- show_intercom_icon: true,
207
- segment: ['drilling', 'completion'],
208
- disable_create_dashboard: false,
209
- disable_costs: false,
210
- disable_documents: false,
211
- realtime_operation_mode: false,
212
- disable_file_upload: false,
213
- stay_on_app_store: false,
214
- },
215
- company: {
216
- id: 2,
217
- name: 'Corva',
218
- time_zone: 'America/Chicago',
219
- language: 'en',
220
- provider: 'corva',
221
- unit_system: {
222
- yp: 'hsf',
223
- oil: 'bbl',
224
- area: 'ft2',
225
- mass: 'lb',
226
- time: 'min',
227
- angle: 'deg',
228
- force: 'klbf',
229
- power: 'hp',
230
- speed: 'ft/min',
231
- length: 'm',
232
- system: 'imperial',
233
- torque: 'ft-klbf',
234
- volume: 'gal',
235
- current: 'mA',
236
- density: 'ppg',
237
- gravity: 'g',
238
- voltage: 'mV',
239
- porosity: 'pu',
240
- pressure: 'psi',
241
- velocity: 'ft/min',
242
- gasVolume: 'Mscf',
243
- gravityRMS: 'gRMS',
244
- msePressure: 'ksi',
245
- oilFlowRate: 'bbl/min',
246
- resistivity: 'ohmm',
247
- shortLength: 'in',
248
- temperature: 'F',
249
- massFlowRate: 'lb/min',
250
- permiability: 'md',
251
- concentration: 'ppm',
252
- fluidVelocity: 'ft/min',
253
- massPerLength: 'lb-ft',
254
- anglePerLength: 'dp100f',
255
- lengthPerAngle: 'in/rev',
256
- volumeFlowRate: 'gal/min',
257
- angularVelocity: 'rpm',
258
- inversePressure: 'i-psi',
259
- acousticSlowness: 'us/ft',
260
- formationDensity: 'g/l',
261
- gasConcentration: 'Units (0-5000u)',
262
- pressureGradient: 'psi/ft',
263
- massConcentration: 'lb/gal',
264
- revolutionPerVolume: 'rpg',
265
- spontaneousPotential: 'mV',
266
- chemMassConcentration: 'lb/Mgal',
267
- chemVolumeConcentration: 'gal/Mgal',
268
- },
269
- dev_center_enabled: true,
270
- workflows_enabled: true,
271
- with_subscription: false,
272
- competitor_analysis_enabled: true,
273
- },
274
- groups: [
275
- {
276
- id: 5,
277
- name: 'developeradmin',
278
- company_id: 2,
279
- },
280
- {
281
- id: 9,
282
- name: 'corvaadmin',
283
- company_id: 2,
284
- },
285
- ],
286
- },
287
- devCenterRouter: {
288
- location: {
289
- pathname: '/app',
290
- query: {},
291
- },
292
- },
293
- appHeaderProps: {
294
- app: {
295
- id: -1,
296
- app: {
297
- app_key: 'corva.app_key.ui',
298
- platform: 'dev_center',
299
- },
300
- settings: {
301
- package: '0.1.0',
302
- rigId: 1,
303
- wellId: 2,
304
- isExampleCheckboxChecked: true,
305
- },
306
- package: {
307
- manifest: {
308
- format: 1,
309
- license: {
310
- type: 'MIT',
311
- url: 'https://www.oandgexample.com/license/',
312
- },
313
- developer: {
314
- name: 'company name',
315
- identifier: 'companyIdentifier',
316
- authors: [],
317
- },
318
- application: {
319
- type: 'ui',
320
- key: 'corva.app_key.ui',
321
- visibility: 'private',
322
- name: 'dc app name',
323
- description: 'This is the description of my app. You can do great things with it!',
324
- summary: 'More information about this app goes here',
325
- category: 'analytics',
326
- website: 'https://www.oandgexample.com/my-app/',
327
- segments: ['drilling', 'completion'],
328
- ui: {
329
- initial_size: {
330
- w: 4,
331
- h: 10,
332
- },
333
- },
334
- },
335
- settings: {
336
- entrypoint: {
337
- file: 'src/index.js',
338
- function: 'handler',
339
- },
340
- environment: {},
341
- runtime: 'ui',
342
- app: {
343
- scheduler_type: 1,
344
- cron_string: '*/5 * * * *',
345
- },
346
- },
347
- datasets: {},
348
- },
349
- build: 'corva.app_key.ui-0.1.0',
350
- version: '0.1.0',
351
- },
352
- },
353
- appLastAnnotation: null,
354
- appSettings: {
355
- package: '0.1.0',
356
- rigId: 1,
357
- wellId: 2,
358
- },
359
- coordinates: {
360
- w: 4,
361
- h: 10,
362
- x: 0,
363
- y: 0,
364
- pixelHeight: 390,
365
- pixelWidth: 460,
366
- },
367
- currentUser: {
368
- id: 1,
369
- company_id: 2,
370
- first_name: 'John',
371
- last_name: 'Doe',
372
- email: 'oleksandr.krupko@corva.ai',
373
- mobile: '',
374
- created_at: '2020-11-03T08:42:53.161Z',
375
- terms_acceptance_at: '2021-10-20T13:28:1.385Z',
376
- profile_photo: null,
377
- recently_viewed_asset_ids: [1],
378
- unit_system: null,
379
- role: 'developeradmin',
380
- title: null,
381
- group: null,
382
- favorite_asset_id: null,
383
- current_segment: null,
384
- theme: 'dark',
385
- messaging_id: '1',
386
- restricted_assets: [],
387
- restricted_programs: [],
388
- settings: {
389
- favorites: {},
390
- sms_blacklisted: false,
391
- restricted_assets: [],
392
- restricted_programs: [],
393
- participates_in_beta_apps: false,
394
- last_new_dashboard_shares_check: '2021-11-24T18:57:13.679Z',
395
- },
396
- last_sign_in_at: '2023-02-23T10:19:06.349Z',
397
- locked_access: false,
398
- unit_ids: [],
399
- intercom_admin_id: null,
400
- resource: [],
401
- intercom_user_hash: 'intercomUserHash',
402
- profile_groups: [],
403
- preference: {
404
- id: 5,
405
- user: {
406
- id: 1,
407
- company_id: 2,
408
- first_name: 'John',
409
- last_name: 'Doe',
410
- email: 'oleksandr.krupko@corva.ai',
411
- role: 'developeradmin',
412
- created_at: '2020-11-03T08:42:53.161Z',
413
- updated_at: '2023-02-23T12:26:46.835Z',
414
- recently_viewed_asset_ids: [1],
415
- unit_system: null,
416
- mobile: '',
417
- terms_acceptance_at: '2021-10-20T13:28:1.385Z',
418
- messaging_id: '1',
419
- settings: {
420
- favorites: {},
421
- sms_blacklisted: false,
422
- restricted_assets: [],
423
- restricted_programs: [],
424
- participates_in_beta_apps: false,
425
- last_new_dashboard_shares_check: '2021-11-24T18:57:13.679Z',
426
- },
427
- theme: 'dark',
428
- title: null,
429
- group: null,
430
- profile_photo: null,
431
- favorite_asset_id: null,
432
- current_segment: null,
433
- state: 'active',
434
- created_by: null,
435
- provisioner: 'internal',
436
- intercom_admin_id: null,
437
- resource: [],
438
- },
439
- push_notifications_enabled: true,
440
- emails_enabled: true,
441
- sms_enabled: true,
442
- alert_levels: ['info', 'warning', 'critical'],
443
- play_alerts_sound: true,
444
- show_intercom_icon: true,
445
- segment: ['drilling', 'completion'],
446
- disable_create_dashboard: false,
447
- disable_costs: false,
448
- disable_documents: false,
449
- realtime_operation_mode: false,
450
- disable_file_upload: false,
451
- stay_on_app_store: false,
452
- },
453
- company: {
454
- id: 2,
455
- name: 'Corva',
456
- time_zone: 'America/Chicago',
457
- language: 'en',
458
- provider: 'corva',
459
- unit_system: {
460
- yp: 'hsf',
461
- oil: 'bbl',
462
- area: 'ft2',
463
- mass: 'lb',
464
- time: 'min',
465
- angle: 'deg',
466
- force: 'klbf',
467
- power: 'hp',
468
- speed: 'ft/min',
469
- length: 'm',
470
- system: 'imperial',
471
- torque: 'ft-klbf',
472
- volume: 'gal',
473
- current: 'mA',
474
- density: 'ppg',
475
- gravity: 'g',
476
- voltage: 'mV',
477
- porosity: 'pu',
478
- pressure: 'psi',
479
- velocity: 'ft/min',
480
- gasVolume: 'Mscf',
481
- gravityRMS: 'gRMS',
482
- msePressure: 'ksi',
483
- oilFlowRate: 'bbl/min',
484
- resistivity: 'ohmm',
485
- shortLength: 'in',
486
- temperature: 'F',
487
- massFlowRate: 'lb/min',
488
- permiability: 'md',
489
- concentration: 'ppm',
490
- fluidVelocity: 'ft/min',
491
- massPerLength: 'lb-ft',
492
- anglePerLength: 'dp100f',
493
- lengthPerAngle: 'in/rev',
494
- volumeFlowRate: 'gal/min',
495
- angularVelocity: 'rpm',
496
- inversePressure: 'i-psi',
497
- acousticSlowness: 'us/ft',
498
- formationDensity: 'g/l',
499
- gasConcentration: 'Units (0-5000u)',
500
- pressureGradient: 'psi/ft',
501
- massConcentration: 'lb/gal',
502
- revolutionPerVolume: 'rpg',
503
- spontaneousPotential: 'mV',
504
- chemMassConcentration: 'lb/Mgal',
505
- chemVolumeConcentration: 'gal/Mgal',
506
- },
507
- dev_center_enabled: true,
508
- workflows_enabled: true,
509
- with_subscription: false,
510
- competitor_analysis_enabled: true,
511
- },
512
- groups: [
513
- {
514
- id: 5,
515
- name: 'developeradmin',
516
- company_id: 2,
517
- },
518
- {
519
- id: 9,
520
- name: 'corvaadmin',
521
- company_id: 2,
522
- },
523
- ],
524
- },
525
- isMaximized: false,
526
- layoutEnvironment: {
527
- type: 'general',
528
- pdfReportMode: false,
529
- },
530
- well: {
531
- name: 'well name 1',
532
- settings: {
533
- basin: 'Delaware',
534
- county: 'Pecos',
535
- timezone: 'America/Chicago',
536
- top_hole: {
537
- raw: '50.000000,-102.000000',
538
- coordinates: [50.0, -102.0],
539
- },
540
- api_number: '11-222-33333',
541
- bottom_hole: {},
542
- mud_company: 'MudCompanyName',
543
- spud_release: [
544
- {
545
- id: '1111111111-2222-aaaa-bbbb-3333333333',
546
- spud: '01/08/2023 00:46',
547
- rig_up: '01/08/2023 00:10',
548
- release: '',
549
- },
550
- ],
551
- string_design: '5',
552
- contractor_name: 'Unit Drilling',
553
- target_formation: 'Woodford',
554
- last_mongo_refresh: '2023-02-23T16:52:58.462Z',
555
- rig_classification: 'land',
556
- directional_driller: 'Directional Driller',
557
- drilling_afe_number: 'AB12345',
558
- day_shift_start_time: '06:00',
559
- off_bottom_tolerance: 1,
560
- target_formation_standard: 'Woodford',
561
- completion_day_shift_start_time: '06:00',
562
- associations_last_active_at_updated_at: '2023-02-23T16:52:50.000Z',
563
- },
564
- asset_id: 12345678,
565
- last_active_at: '2023-02-23T16:52:57.000Z',
566
- id: '2',
567
- companyId: '1',
568
- },
569
- rig: {
570
- name: 'Some Test Rig Name',
571
- id: '1',
572
- asset_id: 9999999,
573
- },
574
- },
575
- isNative: false,
576
- layoutEnvironment: {
577
- type: 'general',
578
- pdfReportMode: false,
579
- },
580
- // Completion segment app props
581
- fracFleet: {
582
- current_pad_id: 101,
583
- id: 1002,
584
- name: 'Magic Frac Fleet',
585
- },
586
- wells: [
587
- { id: 1, name: 'Well 1' },
588
- { id: 2, name: 'Well 2' },
589
- ],
590
- };