/* Options: Date: 2025-12-17 00:43:44 Version: 8.60 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://shortlinks-api.qa.platform.georiot.com //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: False //ExportValueTypes: False IncludeTypes: GetUserLinkRequest.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using ShortlinksAPI.ServiceModel.V4.Requests; using Geniuslink.Shortlinks.Constants; using ShortlinksAPI.Contracts.V4.DTOs; using ShortlinksAPI.ServiceModel.V4.Responses; using ShortlinksAPI.Contracts.V4.Responses; using Geniuslink.Shortlinks; using Geniuslink.Common.Mongo.Models; namespace Geniuslink.Common.Mongo.Models { public partial interface IRefreshableMetadata { DateTime CreatedDate { get; set; } DateTime UpdatedDate { get; set; } } } namespace Geniuslink.Shortlinks { public partial class RefreshableMetadata : IRefreshableMetadata { public virtual DateTime CreatedDate { get; set; } public virtual DateTime UpdatedDate { get; set; } } public partial class VersionedRefreshableMetadata : RefreshableMetadata { public virtual DateTime VersionCreatedDate { get; set; } } } namespace Geniuslink.Shortlinks.Constants { public enum LinkType { None, Simple, Split, Interstitial, Advanced, Collection, } } namespace ShortlinksAPI.Contracts.V4.DTOs { public partial interface IUserLink { string Url { get; set; } string BaseCode { get; set; } LinkType LinkType { get; set; } string TypeDefinitionPublicId { get; set; } VersionedRefreshableMetadata Metadata { get; set; } } } namespace ShortlinksAPI.Contracts.V4.Responses { public partial interface IGetUserLinkResponse { IUserLink Data { get; set; } } } namespace ShortlinksAPI.ServiceModel.V4.Requests { [Route("/v4/links", "GET")] [Route("/v4/links/{Id}", "GET")] [DataContract] public partial class GetUserLinkRequest : V4BaseRequest, IReturn { [DataMember(Name="id")] public virtual string Id { get; set; } [DataMember(Name="username")] public virtual string Username { get; set; } [DataMember(Name="groupId")] public virtual uint GroupId { get; set; } } [DataContract] public partial class V4BaseRequest { } } namespace ShortlinksAPI.ServiceModel.V4.Responses { [DataContract] public partial class GetUserLinkResponse : V4BaseResponse, IGetUserLinkResponse { [DataMember(Name="data")] public virtual IUserLink Data { get; set; } } [DataContract] public partial class V4BaseResponse { [DataMember(Name="status")] public virtual ResponseStatus ResponseStatus { get; set; } } }