46 lines
1.7 KiB
TypeScript
46 lines
1.7 KiB
TypeScript
import type {FieldSchema, ServiceSchema, TableColumnSchema} from './types'
|
|
|
|
const noSqlFilters: FieldSchema[] = [
|
|
{name: 'search', label: 'Search', type: 'text', required: false},
|
|
]
|
|
|
|
const noSqlColumns: TableColumnSchema[] = [
|
|
{name: 'name', label: 'Name'},
|
|
{name: 'engine', label: 'Engine'},
|
|
{name: 'status', label: 'Status'},
|
|
{name: 'createdAt', label: 'Created At'},
|
|
]
|
|
|
|
export function azureNoSqlSchema(): ServiceSchema {
|
|
return {
|
|
cloud: 'azure',
|
|
service: 'nosql',
|
|
displayName: 'Azure Cosmos DB NoSQL',
|
|
fields: [
|
|
{
|
|
name: 'databaseName',
|
|
label: 'Database Name',
|
|
type: 'text',
|
|
required: true,
|
|
validation: {
|
|
minLength: 1,
|
|
maxLength: 255,
|
|
pattern: '^[A-Za-z0-9._-]+$',
|
|
message: 'Use letters, numbers, dot, underscore, or dash.',
|
|
},
|
|
},
|
|
],
|
|
actions: ['list', 'create', 'delete', 'inspect'],
|
|
capabilities: {
|
|
resourceActions: [
|
|
{name: 'list', label: 'List Cosmos databases', enabled: true, status: 'available', runtimeRequired: true},
|
|
{name: 'create', label: 'Create Cosmos database', enabled: true, status: 'available', runtimeRequired: true},
|
|
{name: 'delete', label: 'Delete Cosmos database', enabled: true, status: 'available', runtimeRequired: true},
|
|
{name: 'inspect', label: 'Inspect metadata', enabled: true, status: 'available', runtimeRequired: true},
|
|
],
|
|
},
|
|
filters: noSqlFilters,
|
|
columns: noSqlColumns,
|
|
}
|
|
}
|