On  2024-04-19 15:45, Fiona Ebner wrote:
> Am 15.04.24 um 10:26 schrieb Lukas Wagner:
>> +
>> +__PACKAGE__->register_method ({
>> +    name => 'get_field_values',
>> +    path => 'values',
>> +    method => 'GET',
>> +    description => 'Returns known notification metadata fields and their 
>> known values',
>> +    permissions => {
>> +    check => ['or',
>> +        ['perm', '/mapping/notifications', ['Mapping.Modify']],
>> +        ['perm', '/mapping/notifications', ['Mapping.Audit']],
>> +    ],
>> +    },
>> +    protected => 1,
>> +    parameters => {
>> +    additionalProperties => 0,
>> +    },
>> +    returns => {
>> +    type => 'array',
>> +    items => {
>> +        type => 'object',
>> +        properties => {
>> +            'value' => {
>> +                description => 'Notification metadata value known by the 
>> system.',
>> +                type => 'string'
>> +            },
>> +            'comment' => {
>> +                description => 'Additional comment for this value.',
>> +                type => 'string',
>> +                optional => 1,
>> +            },
>> +            'field' => {
>> +                description => 'Field this value belongs to.',
>> +                type => 'string',
>> +                optional => 1,
>> +            },
>> +            'internal' => {
>> +                description => 'Set if "value" was generated by the system 
>> and can'
>> +                   . ' safely be used as base for translations.',
>> +                type => 'boolean',
>> +                optional => 1,
>> +            },
> 
> And wouldn't it be nicer to return already grouped by field? Then maybe
> we also don't really need the dedicated fields API endpoint either as
> those are just the top-level of the result (with empty array when there
> are no values so we don't ever miss any fields).
> 

The design of both endpoints was mostly driven by the intention
of keeping the ExtJS side as simple as possible.
Two comboboxes, each with their own api endpoint to fetch data from,
one setting a filter for the other one.
I tried using a single endpoint at first, but was quickly frustrated
by ExtJS and its documentation and settled for this approach as a consequence.

So I'd prefer to leave it as is :D

Regarding the 'internal' flag: Yes, you are right, right now we only need it 
for 'type'.
I'll leave it out then and handle everything in the UI.

-- 
- Lukas


_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to