Skip to content

Commit cac0196

Browse files
committed
Support for legacy unc methods, additional s3 storage classes
1 parent 9fb41ca commit cac0196

File tree

3 files changed

+93
-1
lines changed

3 files changed

+93
-1
lines changed

src/components/storage/UrlForm.jsx

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const DS3_SCHEME = 'ds3';
2020
const AZURE_SCHEME = 'azure';
2121
const GS_SCHEME = 'gs';
2222
const VSA_SCHEME = 'vxa';
23+
const UNC_SCHEME = 'unc';
2324
const UNIVERSAL_SCHEME = 'universal';
2425

2526
function S3Form({ values = {}, onChange, onQueryParamsChange }) {
@@ -79,9 +80,16 @@ function S3Form({ values = {}, onChange, onQueryParamsChange }) {
7980
label="Storage Class"
8081
>
8182
<MenuItem value="standard">Standard</MenuItem>
83+
<MenuItem value="standard_ia">Standard-IA</MenuItem>
8284
<MenuItem value="infrequent">Infrequent</MenuItem>
8385
<MenuItem value="reduced">Reduced</MenuItem>
8486
<MenuItem value="onezone-infrequent">Onezone Infrequent</MenuItem>
87+
<MenuItem value="onezone_ia">One Zone-IA</MenuItem>
88+
<MenuItem value="intelligent_tiering">Intelligent-Tiering</MenuItem>
89+
<MenuItem value="deep_archive">Glacier Deep Archive</MenuItem>
90+
<MenuItem value="glacier">Glacier Flexible Retrieval</MenuItem>
91+
<MenuItem value="glacier_ir">Glacier Instant Retrieval</MenuItem>
92+
<MenuItem value="outposts">Outposts</MenuItem>
8593
</TextField>
8694

8795
<TextField
@@ -233,7 +241,7 @@ function GsForm({ values = {}, onChange, onQueryParamsChange }) {
233241
);
234242
}
235243

236-
function FtpForm({ values = {}, onChange }) {
244+
function FtpForm({ values = {}, onChange, onQueryParamsChange }) {
237245
return (
238246
<>
239247
<TextField label="Host" value={values.host || ''} onChange={onChange('host')} fullWidth />
@@ -250,6 +258,18 @@ function FtpForm({ values = {}, onChange }) {
250258
onChange={onChange('password')}
251259
fullWidth
252260
/>
261+
<TextField
262+
label="passive"
263+
value={values.queryParams.passive || ''}
264+
onChange={onQueryParamsChange('passive')}
265+
fullWidth
266+
/>
267+
<TextField
268+
label="serverType"
269+
value={values.queryParams.serverType || ''}
270+
onChange={onQueryParamsChange('serverType')}
271+
fullWidth
272+
/>
253273
</>
254274
);
255275
}
@@ -361,6 +381,26 @@ function FileForm({ values = {}, onChange }) {
361381
return <TextField label="Path" value={values.path || ''} onChange={onChange('path')} fullWidth />;
362382
}
363383

384+
function UncForm({ values = {}, onChange }) {
385+
return (
386+
<>
387+
<TextField label="Path" value={values.path || ''} onChange={onChange('path')} fullWidth />
388+
<TextField
389+
label="Username"
390+
value={values.username || ''}
391+
onChange={onChange('username')}
392+
fullWidth
393+
/>
394+
<TextField
395+
label="Password"
396+
value={values.password || ''}
397+
onChange={onChange('password')}
398+
fullWidth
399+
/>
400+
</>
401+
);
402+
}
403+
364404
export default class UrlForm extends PureComponent {
365405
static renderUrl(props) {
366406
const { path, protocol } = props;
@@ -451,6 +491,9 @@ export default class UrlForm extends PureComponent {
451491
case VSA_SCHEME:
452492
SchemeForm = VsaForm;
453493
break;
494+
case UNC_SCHEME:
495+
SchemeForm = UncForm;
496+
break;
454497
default:
455498
SchemeForm = () => null;
456499
break;
@@ -479,6 +522,7 @@ export default class UrlForm extends PureComponent {
479522
<MenuItem value={GS_SCHEME}>Google Storage</MenuItem>
480523
<MenuItem value={VSA_SCHEME}>Vidispine Agent</MenuItem>
481524
<MenuItem value={UNIVERSAL_SCHEME}>Universal</MenuItem>
525+
<MenuItem value={UNC_SCHEME}>UNC</MenuItem>
482526
</TextField>
483527
<SchemeForm
484528
values={this.state}

src/components/ui/UrlField.jsx

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,9 +173,16 @@ function S3Form({
173173
>
174174
<MenuItem value="" />
175175
<MenuItem value="standard">Standard</MenuItem>
176+
<MenuItem value="standard_ia">Standard-IA</MenuItem>
176177
<MenuItem value="infrequent">Infrequent</MenuItem>
177178
<MenuItem value="reduced">Reduced</MenuItem>
178179
<MenuItem value="onezone-infrequent">Onezone Infrequent</MenuItem>
180+
<MenuItem value="onezone_ia">One Zone-IA</MenuItem>
181+
<MenuItem value="intelligent_tiering">Intelligent-Tiering</MenuItem>
182+
<MenuItem value="deep_archive">Glacier Deep Archive</MenuItem>
183+
<MenuItem value="glacier">Glacier Flexible Retrieval</MenuItem>
184+
<MenuItem value="glacier_ir">Glacier Instant Retrieval</MenuItem>
185+
<MenuItem value="outposts">Outposts</MenuItem>
179186
</TextField>
180187
<TextField
181188
label="SSE Algorithm"
@@ -368,6 +375,18 @@ function FtpForm({ value = {}, onChange }) {
368375
onChange={onChange('password')}
369376
fullWidth
370377
/>
378+
<URIComponentTextField
379+
label="passive"
380+
value={value.queryParams.passive || ''}
381+
onChange={onChange('queryParams.passive')}
382+
fullWidth
383+
/>
384+
<URIComponentTextField
385+
label="serverType"
386+
value={value.queryParams.serverType || ''}
387+
onChange={onChange('queryParams.serverType')}
388+
fullWidth
389+
/>
371390
</>
372391
);
373392
}
@@ -494,6 +513,32 @@ function FileForm({ value = {}, onChange }) {
494513
);
495514
}
496515

516+
function UncForm({ value = {}, onChange }) {
517+
return (
518+
<>
519+
<TextField
520+
label="Path"
521+
value={value.path || '/'}
522+
onChange={onChange('path')}
523+
onBlur={onPathBlur('path', onChange('path'))}
524+
fullWidth
525+
/>
526+
<URIComponentTextField
527+
label="Username"
528+
value={value.username || ''}
529+
onChange={onChange('username')}
530+
fullWidth
531+
/>
532+
<URIComponentTextField
533+
label="Password"
534+
value={value.password || ''}
535+
onChange={onChange('password')}
536+
fullWidth
537+
/>
538+
</>
539+
);
540+
}
541+
497542
function VsaForm({ value = {}, onChange }) {
498543
return (
499544
<>
@@ -541,6 +586,7 @@ export default function UrlField(props) {
541586
[scheme.AZURE_SCHEME]: AzureForm,
542587
[scheme.GS_SCHEME]: GsForm,
543588
[scheme.VSA_SCHEME]: VsaForm,
589+
[scheme.UNC_SCHEME]: UncForm,
544590
[scheme.VIDINET_SCHEME]: VidinetForm,
545591
}}
546592
value={{ ...decodedUrl, path: path || '/' }}
@@ -559,6 +605,7 @@ export default function UrlField(props) {
559605
<MenuItem value={scheme.GS_SCHEME}>Google Storage</MenuItem>
560606
<MenuItem value={scheme.VSA_SCHEME}>Vidispine Agent</MenuItem>
561607
<MenuItem value={scheme.UNIVERSAL_SCHEME}>Universal</MenuItem>
608+
<MenuItem value={scheme.UNC_SCHEME}>UNC</MenuItem>
562609
<MenuItem value={scheme.VIDINET_SCHEME}>Vidinet</MenuItem>
563610
</DynamicSelect>
564611
</>

src/const/UrlScheme.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ export const GS_SCHEME = 'gs';
1111
export const VSA_SCHEME = 'vxa';
1212
export const UNIVERSAL_SCHEME = 'universal';
1313
export const VIDINET_SCHEME = 'vidinet';
14+
export const UNC_SCHEME = 'unc';

0 commit comments

Comments
 (0)