using System;
using Microsoft.AspNetCore.Http;
using xIdentityModels.Navigations;
namespace xIdentityModels.Models {
///
/// represent a system wide actions
///
public class XActionRequest {
///
/// Client Device Locale
///
/// user's client device local such as en-US
public string Lang { get; set; } = null;
///
/// Requested Action Token
///
/// a hashed content
public string ActionToken { get; set; } = null;
///
/// user's device
///
/// an instance of XDevice which represent user's device
public XDevice Device { get; set; } = null;
///
/// FirstName
///
/// users FirstName
public string FirstName { get; set; } = null;
///
/// LastName
///
/// user's LastName
public string LastName { get; set; } = null;
///
/// an Optional Value which represetns User's DateOfBirth
///
/// user's DateOfBirth
public DateTime? DateOfBirth { get; set; } = DateTime.MinValue;
///
/// User's Id
///
/// a GUID string which represent user's Id
public string UserId { get; set; } = null;
///
/// UserName
///
/// user's UserName
public string UserName { get; set; } = null;
///
/// Email
///
/// user's Email address
public string Email { get; set; } = null;
///
/// MobileNumber / PhoneNumber
///
/// user's PhoneNumber
public string MobileNumber { get; set; } = null;
///
/// Password
///
/// user's Password
public string Password { get; set; } = null;
///
/// NewPassword
///
/// a passwor string which used to Change/Reset password
public string NewPassword { get; set; } = null;
///
/// EmailVerificationCode
///
/// a Verification Code which assign to user's for confirm it's Email Address
public string EmailVerificationCode { get; set; } = null;
///
/// MobileVerificationCode
///
/// a Verification Code which assign to user's for confirm it's Phone Number
public string MobileVerificationCode { get; set; } = null;
///
/// Thumbnail
///
/// an instance of IFormFile which is used as user's avatar
public IFormFile Thumbnail { get; set; }
///
/// ReturnUrl
///
///
/// a url string which used in many used cases for providing a way to lead users to right places.
///
public string ReturnUrl { get; set; } = null;
}
}