Trendsic Platform Service

<back to all web services

UserVerifyEmailRequest

The following routes are available for this service:
GET,PUT,POST,OPTIONS/v1/userverifyemail
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

enum CoreChecksumAlgorithm
{
    NONE,
    CRC32C,
    CRC32,
    SHA256,
    SHA1,
}

enum ChecksumValidationStatus
{
    NOT_VALIDATED,
    PENDING_RESPONSE_READ,
    SUCCESSFUL,
    INVALID,
}

class ResponseMetadata implements IConvertible
{
    String? RequestId;
    Map<String,String?>? Metadata;
    CoreChecksumAlgorithm? ChecksumAlgorithm;
    ChecksumValidationStatus? ChecksumValidationStatus;

    ResponseMetadata({this.RequestId,this.Metadata,this.ChecksumAlgorithm,this.ChecksumValidationStatus});
    ResponseMetadata.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        RequestId = json['RequestId'];
        Metadata = JsonConverters.fromJson(json['Metadata'],'Map<String,String?>',context!);
        ChecksumAlgorithm = JsonConverters.fromJson(json['ChecksumAlgorithm'],'CoreChecksumAlgorithm',context!);
        ChecksumValidationStatus = JsonConverters.fromJson(json['ChecksumValidationStatus'],'ChecksumValidationStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'RequestId': RequestId,
        'Metadata': JsonConverters.toJson(Metadata,'Map<String,String?>',context!),
        'ChecksumAlgorithm': JsonConverters.toJson(ChecksumAlgorithm,'CoreChecksumAlgorithm',context!),
        'ChecksumValidationStatus': JsonConverters.toJson(ChecksumValidationStatus,'ChecksumValidationStatus',context!)
    };

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

class AmazonWebServiceResponse implements IConvertible
{
    ResponseMetadata? ResponseMetadata;
    int? ContentLength;
    HttpStatusCode? HttpStatusCode;

    AmazonWebServiceResponse({this.ResponseMetadata,this.ContentLength,this.HttpStatusCode});
    AmazonWebServiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

class NewDeviceMetadataType implements IConvertible
{
    String? DeviceGroupKey;
    String? DeviceKey;

    NewDeviceMetadataType({this.DeviceGroupKey,this.DeviceKey});
    NewDeviceMetadataType.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DeviceGroupKey = json['DeviceGroupKey'];
        DeviceKey = json['DeviceKey'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DeviceGroupKey': DeviceGroupKey,
        'DeviceKey': DeviceKey
    };

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

class AuthenticationResultType implements IConvertible
{
    String? AccessToken;
    int? ExpiresIn;
    String? IdToken;
    NewDeviceMetadataType? NewDeviceMetadata;
    String? RefreshToken;
    String? TokenType;

    AuthenticationResultType({this.AccessToken,this.ExpiresIn,this.IdToken,this.NewDeviceMetadata,this.RefreshToken,this.TokenType});
    AuthenticationResultType.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        AccessToken = json['AccessToken'];
        ExpiresIn = json['ExpiresIn'];
        IdToken = json['IdToken'];
        NewDeviceMetadata = JsonConverters.fromJson(json['NewDeviceMetadata'],'NewDeviceMetadataType',context!);
        RefreshToken = json['RefreshToken'];
        TokenType = json['TokenType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'AccessToken': AccessToken,
        'ExpiresIn': ExpiresIn,
        'IdToken': IdToken,
        'NewDeviceMetadata': JsonConverters.toJson(NewDeviceMetadata,'NewDeviceMetadataType',context!),
        'RefreshToken': RefreshToken,
        'TokenType': TokenType
    };

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

class ConstantClass implements IConvertible
{
    String? Value;

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

    fromMap(Map<String, dynamic> json) {
        Value = json['Value'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Value': Value
    };

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

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

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "ChallengeNameType";
    TypeContext? context = _ctx;
}

class InitiateAuthResponse extends AmazonWebServiceResponse implements IConvertible
{
    AuthenticationResultType? AuthenticationResult;
    ChallengeNameType? ChallengeName;
    Map<String,String?>? ChallengeParameters = {};
    String? Session;

    InitiateAuthResponse({this.AuthenticationResult,this.ChallengeName,this.ChallengeParameters,this.Session});
    InitiateAuthResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        AuthenticationResult = JsonConverters.fromJson(json['AuthenticationResult'],'AuthenticationResultType',context!);
        ChallengeName = JsonConverters.fromJson(json['ChallengeName'],'ChallengeNameType',context!);
        ChallengeParameters = JsonConverters.toStringMap(json['ChallengeParameters']);
        Session = json['Session'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'AuthenticationResult': JsonConverters.toJson(AuthenticationResult,'AuthenticationResultType',context!),
        'ChallengeName': JsonConverters.toJson(ChallengeName,'ChallengeNameType',context!),
        'ChallengeParameters': ChallengeParameters,
        'Session': Session
    });

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

class AwsAuthResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    InitiateAuthResponse? InitiateAuthResponse;
    bool? Success;

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

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

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

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

class UserVerifyEmailRequest implements IConvertible
{
    String? UserId;
    String? VerificationCode;

    UserVerifyEmailRequest({this.UserId,this.VerificationCode});
    UserVerifyEmailRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        UserId = json['UserId'];
        VerificationCode = json['VerificationCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'UserId': UserId,
        'VerificationCode': VerificationCode
    };

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

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'CoreChecksumAlgorithm': TypeInfo(TypeOf.Enum, enumValues:CoreChecksumAlgorithm.values),
    'ChecksumValidationStatus': TypeInfo(TypeOf.Enum, enumValues:ChecksumValidationStatus.values),
    'ResponseMetadata': TypeInfo(TypeOf.Class, create:() => ResponseMetadata()),
    'Map<String,String?>': TypeInfo(TypeOf.Class, create:() => Map<String,String?>()),
    'AmazonWebServiceResponse': TypeInfo(TypeOf.Class, create:() => AmazonWebServiceResponse()),
    'HttpStatusCode': TypeInfo(TypeOf.Class, create:() => HttpStatusCode()),
    'NewDeviceMetadataType': TypeInfo(TypeOf.Class, create:() => NewDeviceMetadataType()),
    'AuthenticationResultType': TypeInfo(TypeOf.Class, create:() => AuthenticationResultType()),
    'ConstantClass': TypeInfo(TypeOf.Class, create:() => ConstantClass()),
    'ChallengeNameType': TypeInfo(TypeOf.Class, create:() => ChallengeNameType()),
    'InitiateAuthResponse': TypeInfo(TypeOf.Class, create:() => InitiateAuthResponse()),
    'AwsAuthResponse': TypeInfo(TypeOf.Class, create:() => AwsAuthResponse()),
    'UserVerifyEmailRequest': TypeInfo(TypeOf.Class, create:() => UserVerifyEmailRequest()),
});

Dart UserVerifyEmailRequest 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.

POST /v1/userverifyemail HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	UserId: 00000000000000000000000000000000,
	VerificationCode: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	},
	InitiateAuthResponse: 
	{
		AuthenticationResult: 
		{
			AccessToken: String,
			ExpiresIn: 0,
			IdToken: String,
			NewDeviceMetadata: 
			{
				DeviceGroupKey: String,
				DeviceKey: String
			},
			RefreshToken: String,
			TokenType: String
		},
		ChallengeParameters: 
		{
			String: String
		},
		Session: String,
		ResponseMetadata: 
		{
			RequestId: String,
			Metadata: {},
			ChecksumAlgorithm: NONE,
			ChecksumValidationStatus: NOT_VALIDATED
		},
		ContentLength: 0,
		HttpStatusCode: Continue
	},
	Success: False
}