Files
2024-02-15 17:01:50 +00:00

73 lines
2.1 KiB
TypeScript

import type {JsonFormObject} from 'sentry/components/forms/types';
import {convertMultilineFieldValue, extractMultilineFields} from 'sentry/utils';
import getDynamicText from 'sentry/utils/getDynamicText';
const forms: JsonFormObject[] = [
{
// Form "section"/"panel"
title: 'Application Details',
fields: [
{
name: 'name',
type: 'string',
required: true,
// additional data/props that is related to rendering of form field rather than data
label: 'Name',
help: 'e.g. My Application',
setValue: value => getDynamicText({value, fixed: 'CI_APPLICATION_NAME'}),
},
{
name: 'homepageUrl',
type: 'string',
required: false,
label: 'Homepage',
placeholder: 'e.g. https://example.com/',
help: "An optional link to your application's homepage",
},
{
name: 'privacyUrl',
type: 'string',
label: 'Privacy Policy',
placeholder: 'e.g. https://example.com/privacy',
help: 'An optional link to your Privacy Policy',
},
{
name: 'termsUrl',
type: 'string',
label: 'Terms of Service',
placeholder: 'e.g. https://example.com/terms',
help: 'An optional link to your Terms of Service agreement',
},
],
},
{
title: 'Security',
fields: [
{
name: 'redirectUris',
type: 'string',
multiline: true,
placeholder: 'e.g. https://example.com/oauth/complete',
label: 'Authorized Redirect URIs',
help: 'Separate multiple entries with a newline.',
getValue: val => extractMultilineFields(val),
setValue: val => convertMultilineFieldValue(val),
},
{
name: 'allowedOrigins',
type: 'string',
multiline: true,
placeholder: 'e.g. example.com',
label: 'Authorized JavaScript Origins',
help: 'Separate multiple entries with a newline.',
getValue: val => extractMultilineFields(val),
setValue: val => convertMultilineFieldValue(val),
},
],
},
];
export default forms;