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 ModuleInformation:
module_name: Optional[str] = None
module_version: Optional[str] = None
module_date: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ApplicationInfo:
application_name: Optional[str] = None
version: Optional[str] = None
version_gateway: Optional[str] = None
environment: Optional[str] = None
machine_name: Optional[str] = None
customer_code: Optional[str] = None
customer_brand_code: Optional[str] = None
database_name: Optional[str] = None
database_version: Optional[str] = None
database_server: Optional[str] = None
user_name: Optional[str] = None
user_login_name: Optional[str] = None
modules_information: Optional[List[ModuleInformation]] = None
website_intranet_url: Optional[str] = None
idb_opties: Optional[bool] = None
on_premises_url: Optional[str] = None
on_line_url: Optional[str] = None
is_api_gateway: Optional[bool] = None
has_c_r_m_module_active: Optional[bool] = None
has_extranet_module_active: Optional[bool] = None
has_huisstijl_m_o_module_active: Optional[bool] = None
has_digitaal_ondertekenen_module_active: Optional[bool] = None
has_d_o_voor_word_huisstijl: Optional[bool] = None
has_d_o_voor_word_registreren: Optional[bool] = None
has_d_o_voor_excel_huisstijl: Optional[bool] = None
has_d_o_voor_excel_registreren: Optional[bool] = None
has_d_o_voor_power_point_huisstijl: Optional[bool] = None
has_d_o_voor_power_point_registreren: Optional[bool] = None
has_d_o_voor_outlook_huisstijl: Optional[bool] = None
has_d_o_voor_outlook_registreren: Optional[bool] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetApplicationInfo:
include_modules: Optional[bool] = None
include_office_addins: Optional[bool] = None
Python GetApplicationInfo DTOs
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/GetApplicationInfo HTTP/1.1
Host: digiofficeapigateway.deltares.nl
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
IncludeModules: False,
IncludeOfficeAddins: False
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { ApplicationName: String, Version: String, VersionGateway: String, Environment: String, MachineName: String, CustomerCode: String, CustomerBrandCode: String, DatabaseName: String, DatabaseVersion: String, DatabaseServer: String, UserName: String, UserLoginName: String, ModulesInformation: [ { ModuleName: String, ModuleVersion: String, ModuleDate: 0001-01-01 } ], WebsiteIntranetUrl: String, IDBOpties: False, OnPremisesUrl: String, OnLineUrl: String, IsApiGateway: False, HasCRMModuleActive: False, HasExtranetModuleActive: False, HasHuisstijlMOModuleActive: False, HasDigitaalOndertekenenModuleActive: False, HasDOVoorWordHuisstijl: False, HasDOVoorWordRegistreren: False, HasDOVoorExcelHuisstijl: False, HasDOVoorExcelRegistreren: False, HasDOVoorPowerPointHuisstijl: False, HasDOVoorPowerPointRegistreren: False, HasDOVoorOutlookHuisstijl: False, HasDOVoorOutlookRegistreren: False }