import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UserOrGroup:
id: Optional[int] = None
title: Optional[str] = None
is_checked: Optional[bool] = None
image: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class QuickAddOption:
name: Optional[str] = None
entity_type: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UsersOrGroupsResponse(IBaseQuickLookupResponse):
number_of_all_records: Optional[int] = None
users_or_groups: Optional[List[UserOrGroup]] = None
quick_add_options: Optional[List[QuickAddOption]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetUsersAndGroups:
user_environment: Optional[int] = None
page_size: Optional[int] = None
page_number: Optional[int] = None
search_criteria: Optional[str] = None
selected_user_i_ds: Optional[List[int]] = None
selected_group_i_ds: Optional[List[int]] = None
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/reply/GetUsersAndGroups HTTP/1.1
Host: digiofficeapigateway.deltares.nl
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
UserEnvironment: 0,
PageSize: 0,
PageNumber: 0,
SearchCriteria: String,
SelectedUserIDs:
[
0
],
SelectedGroupIDs:
[
0
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { NumberOfAllRecords: 0, UsersOrGroups: [ { } ], QuickAddOptions: [ { Name: String, EntityType: String } ] }