/* Options: Date: 2025-12-17 00:44:36 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: GetUserLinksRequest.* //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 IGetUserLinksResponse { IEnumerable Data { get; set; } } } namespace ShortlinksAPI.ServiceModel.V4.Requests { [Route("/v4/links/list", "GET")] [DataContract] public partial class GetUserLinksRequest : V4PaginatedBaseRequest, IReturn { [DataMember(Name="username")] public virtual string Username { get; set; } [DataMember(Name="groupId")] public virtual uint GroupId { get; set; } [DataMember(Name="linkType")] public virtual LinkType LinkType { get; set; } } [DataContract] public partial class V4BaseRequest { } [DataContract] public partial class V4PaginatedBaseRequest : V4BaseRequest { [DataMember(Name="offset")] public virtual int Offset { get; set; } [DataMember(Name="limit")] public virtual int Limit { get; set; } } } namespace ShortlinksAPI.ServiceModel.V4.Responses { [DataContract] public partial class GetUserLinksResponse : V4PaginatedBaseResponse, IGetUserLinksResponse { [DataMember(Name="data")] public virtual IEnumerable Data { get; set; } } [DataContract] public partial class V4BaseResponse { [DataMember(Name="status")] public virtual ResponseStatus ResponseStatus { get; set; } } [DataContract] public partial class V4PageObject { [DataMember(Name="offset")] public virtual int Offset { get; set; } [DataMember(Name="limit")] public virtual int Limit { get; set; } [DataMember(Name="totalRecords")] public virtual int TotalRecords { get; set; } } [DataContract] public partial class V4PaginatedBaseResponse : V4BaseResponse { [DataMember(Name="page")] public virtual V4PageObject Page { get; set; } } }