Portal

<back to all web services

BrowseCurrentUser

Requires Authentication
The following routes are available for this service:
GET/user/current
import 'package:servicestack/servicestack.dart';

abstract class ResponseBase
{
    ResponseStatus? ResponseStatus;

    ResponseBase({this.ResponseStatus});
    ResponseBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "ResponseBase";
    TypeContext? context = _ctx;
}

class BusinessType
{
    static const BusinessType Company = const BusinessType._(0);
    static const BusinessType PrivateEntrepreneur = const BusinessType._(1);
    static const BusinessType NonProfit = const BusinessType._(2);
    static const BusinessType LawOffice = const BusinessType._(3);

    final int _value;
    const BusinessType._(this._value);
    int get value => _value;
    static List<BusinessType> get values => const [Company,PrivateEntrepreneur,NonProfit,LawOffice];
}

class SupplierSimple implements IConvertible
{
    int? Id;
    int? OwnerId;
    String? VatNumber;
    BusinessType? BusinessType;
    int? CountryId;
    String? Name;
    String? ShortName;
    String? RegistrationNumber;
    DateTime? EstablishedDate;
    DateTime? RegistrationDate;
    String? Duns;
    String? OperatingLicenseNumber;
    bool? IsAccounting;
    bool? IsSmallTaxPayer;
    String? Email;
    String? PhoneNumber;
    String? Website;

    SupplierSimple({this.Id,this.OwnerId,this.VatNumber,this.BusinessType,this.CountryId,this.Name,this.ShortName,this.RegistrationNumber,this.EstablishedDate,this.RegistrationDate,this.Duns,this.OperatingLicenseNumber,this.IsAccounting,this.IsSmallTaxPayer,this.Email,this.PhoneNumber,this.Website});
    SupplierSimple.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        OwnerId = json['OwnerId'];
        VatNumber = json['VatNumber'];
        BusinessType = JsonConverters.fromJson(json['BusinessType'],'BusinessType',context!);
        CountryId = json['CountryId'];
        Name = json['Name'];
        ShortName = json['ShortName'];
        RegistrationNumber = json['RegistrationNumber'];
        EstablishedDate = JsonConverters.fromJson(json['EstablishedDate'],'DateTime',context!);
        RegistrationDate = JsonConverters.fromJson(json['RegistrationDate'],'DateTime',context!);
        Duns = json['Duns'];
        OperatingLicenseNumber = json['OperatingLicenseNumber'];
        IsAccounting = json['IsAccounting'];
        IsSmallTaxPayer = json['IsSmallTaxPayer'];
        Email = json['Email'];
        PhoneNumber = json['PhoneNumber'];
        Website = json['Website'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'OwnerId': OwnerId,
        'VatNumber': VatNumber,
        'BusinessType': JsonConverters.toJson(BusinessType,'BusinessType',context!),
        'CountryId': CountryId,
        'Name': Name,
        'ShortName': ShortName,
        'RegistrationNumber': RegistrationNumber,
        'EstablishedDate': JsonConverters.toJson(EstablishedDate,'DateTime',context!),
        'RegistrationDate': JsonConverters.toJson(RegistrationDate,'DateTime',context!),
        'Duns': Duns,
        'OperatingLicenseNumber': OperatingLicenseNumber,
        'IsAccounting': IsAccounting,
        'IsSmallTaxPayer': IsSmallTaxPayer,
        'Email': Email,
        'PhoneNumber': PhoneNumber,
        'Website': Website
    };

    getTypeName() => "SupplierSimple";
    TypeContext? context = _ctx;
}

class SupplierStatus
{
    static const SupplierStatus Registered = const SupplierStatus._(0);
    static const SupplierStatus AwaitingVeoliaConfirmation = const SupplierStatus._(1);
    static const SupplierStatus Active = const SupplierStatus._(2);
    static const SupplierStatus Rejected = const SupplierStatus._(3);
    static const SupplierStatus Locked = const SupplierStatus._(4);
    static const SupplierStatus Deleted = const SupplierStatus._(5);

    final int _value;
    const SupplierStatus._(this._value);
    int get value => _value;
    static List<SupplierStatus> get values => const [Registered,AwaitingVeoliaConfirmation,Active,Rejected,Locked,Deleted];
}

class CurrentSupplier extends SupplierSimple implements IConvertible
{
    SupplierStatus? Status;

    CurrentSupplier({this.Status});
    CurrentSupplier.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Status = JsonConverters.fromJson(json['Status'],'SupplierStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Status': JsonConverters.toJson(Status,'SupplierStatus',context!)
    });

    getTypeName() => "CurrentSupplier";
    TypeContext? context = _ctx;
}

class CurrentUser implements IConvertible
{
    int? Id;
    String? Email;
    String? UserName;
    String? PhoneNumber;
    String? DisplayName;
    String? OrganizationUnit;
    String? Position;
    int? Status;
    CurrentSupplier? Supplier;
    List<String>? Roles;
    List<String>? Permissions;

    CurrentUser({this.Id,this.Email,this.UserName,this.PhoneNumber,this.DisplayName,this.OrganizationUnit,this.Position,this.Status,this.Supplier,this.Roles,this.Permissions});
    CurrentUser.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Id = json['Id'];
        Email = json['Email'];
        UserName = json['UserName'];
        PhoneNumber = json['PhoneNumber'];
        DisplayName = json['DisplayName'];
        OrganizationUnit = json['OrganizationUnit'];
        Position = json['Position'];
        Status = json['Status'];
        Supplier = JsonConverters.fromJson(json['Supplier'],'CurrentSupplier',context!);
        Roles = JsonConverters.fromJson(json['Roles'],'List<String>',context!);
        Permissions = JsonConverters.fromJson(json['Permissions'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Id': Id,
        'Email': Email,
        'UserName': UserName,
        'PhoneNumber': PhoneNumber,
        'DisplayName': DisplayName,
        'OrganizationUnit': OrganizationUnit,
        'Position': Position,
        'Status': Status,
        'Supplier': JsonConverters.toJson(Supplier,'CurrentSupplier',context!),
        'Roles': JsonConverters.toJson(Roles,'List<String>',context!),
        'Permissions': JsonConverters.toJson(Permissions,'List<String>',context!)
    };

    getTypeName() => "CurrentUser";
    TypeContext? context = _ctx;
}

class BrowseCurrentUserResponse extends ResponseBase implements IConvertible
{
    CurrentUser? User;

    BrowseCurrentUserResponse({this.User});
    BrowseCurrentUserResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        User = JsonConverters.fromJson(json['User'],'CurrentUser',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'User': JsonConverters.toJson(User,'CurrentUser',context!)
    });

    getTypeName() => "BrowseCurrentUserResponse";
    TypeContext? context = _ctx;
}

class BrowseCurrentUser implements IGet, IConvertible
{
    BrowseCurrentUser();
    BrowseCurrentUser.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "BrowseCurrentUser";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'szallitoiportal_be.veolia.hu', types: <String, TypeInfo> {
    'ResponseBase': TypeInfo(TypeOf.AbstractClass),
    'BusinessType': TypeInfo(TypeOf.Enum, enumValues:BusinessType.values),
    'SupplierSimple': TypeInfo(TypeOf.Class, create:() => SupplierSimple()),
    'SupplierStatus': TypeInfo(TypeOf.Enum, enumValues:SupplierStatus.values),
    'CurrentSupplier': TypeInfo(TypeOf.Class, create:() => CurrentSupplier()),
    'CurrentUser': TypeInfo(TypeOf.Class, create:() => CurrentUser()),
    'BrowseCurrentUserResponse': TypeInfo(TypeOf.Class, create:() => BrowseCurrentUserResponse()),
    'BrowseCurrentUser': TypeInfo(TypeOf.Class, create:() => BrowseCurrentUser()),
});

Dart BrowseCurrentUser DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /user/current HTTP/1.1 
Host: szallitoiportal-be.veolia.hu 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	User: 
	{
		Id: 0,
		Email: String,
		UserName: String,
		PhoneNumber: String,
		DisplayName: String,
		OrganizationUnit: String,
		Position: String,
		Status: 0,
		Supplier: 
		{
			Status: 0,
			Id: 0,
			OwnerId: 0,
			VatNumber: String,
			BusinessType: 0,
			CountryId: 0,
			Name: String,
			ShortName: String,
			RegistrationNumber: String,
			EstablishedDate: 0001-01-01,
			RegistrationDate: 0001-01-01,
			Duns: String,
			OperatingLicenseNumber: String,
			IsAccounting: False,
			IsSmallTaxPayer: False,
			Email: String,
			PhoneNumber: String,
			Website: String
		},
		Roles: 
		[
			String
		],
		Permissions: 
		[
			String
		]
	},
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}