TechStacks!

<back to all web services

GetUserFeed

User
Requires Authentication
The following routes are available for this service:
All Verbs/my-feed
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using TechStacks.ServiceModel;
using TechStacks.ServiceModel.Types;

namespace TechStacks.ServiceModel
{
    [ValidateRequest("IsAuthenticated")]
    public partial class GetUserFeed
        : IGet
    {
    }

    public partial class GetUserFeedResponse
    {
        public GetUserFeedResponse()
        {
            Results = new List<TechStackDetails>{};
        }

        public virtual List<TechStackDetails> Results { get; set; }
    }

    public partial class TechnologyInStack
        : TechnologyBase
    {
        public virtual long TechnologyId { get; set; }
        public virtual long TechnologyStackId { get; set; }
        public virtual string Justification { get; set; }
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string VendorName { get; set; }
        public virtual string VendorUrl { get; set; }
        public virtual string ProductUrl { get; set; }
        public virtual string LogoUrl { get; set; }
        public virtual string Description { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime LastModified { get; set; }
        public virtual string LastModifiedBy { get; set; }
        public virtual string OwnerId { get; set; }
        public virtual string Slug { get; set; }
        public virtual bool LogoApproved { get; set; }
        public virtual bool IsLocked { get; set; }
        public virtual TechnologyTier Tier { get; set; }
        public virtual DateTime? LastStatusUpdate { get; set; }
        public virtual int? OrganizationId { get; set; }
        public virtual long? CommentsPostId { get; set; }
        public virtual int ViewCount { get; set; }
        public virtual int FavCount { get; set; }
    }

    public partial class TechStackDetails
        : TechnologyStackBase
    {
        public TechStackDetails()
        {
            TechnologyChoices = new List<TechnologyInStack>{};
        }

        public virtual List<TechnologyInStack> TechnologyChoices { get; set; }
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string VendorName { get; set; }
        public virtual string Description { get; set; }
        public virtual string AppUrl { get; set; }
        public virtual string ScreenshotUrl { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime LastModified { get; set; }
        public virtual string LastModifiedBy { get; set; }
        public virtual bool IsLocked { get; set; }
        public virtual string OwnerId { get; set; }
        public virtual string Slug { get; set; }
        [StringLength(int.MaxValue)]
        public virtual string Details { get; set; }

        [StringLength(int.MaxValue)]
        public virtual string DetailsHtml { get; set; }

        public virtual DateTime? LastStatusUpdate { get; set; }
        public virtual int? OrganizationId { get; set; }
        public virtual long? CommentsPostId { get; set; }
        public virtual int ViewCount { get; set; }
        public virtual int FavCount { get; set; }
    }

}

namespace TechStacks.ServiceModel.Types
{
    public partial class TechnologyBase
    {
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string VendorName { get; set; }
        public virtual string VendorUrl { get; set; }
        public virtual string ProductUrl { get; set; }
        public virtual string LogoUrl { get; set; }
        public virtual string Description { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime LastModified { get; set; }
        public virtual string LastModifiedBy { get; set; }
        public virtual string OwnerId { get; set; }
        public virtual string Slug { get; set; }
        public virtual bool LogoApproved { get; set; }
        public virtual bool IsLocked { get; set; }
        public virtual TechnologyTier Tier { get; set; }
        public virtual DateTime? LastStatusUpdate { get; set; }
        public virtual int? OrganizationId { get; set; }
        public virtual long? CommentsPostId { get; set; }
        public virtual int ViewCount { get; set; }
        public virtual int FavCount { get; set; }
    }

    public partial class TechnologyStackBase
    {
        public virtual long Id { get; set; }
        public virtual string Name { get; set; }
        public virtual string VendorName { get; set; }
        public virtual string Description { get; set; }
        public virtual string AppUrl { get; set; }
        public virtual string ScreenshotUrl { get; set; }
        public virtual DateTime Created { get; set; }
        public virtual string CreatedBy { get; set; }
        public virtual DateTime LastModified { get; set; }
        public virtual string LastModifiedBy { get; set; }
        public virtual bool IsLocked { get; set; }
        public virtual string OwnerId { get; set; }
        public virtual string Slug { get; set; }
        [StringLength(int.MaxValue)]
        public virtual string Details { get; set; }

        [StringLength(int.MaxValue)]
        public virtual string DetailsHtml { get; set; }

        public virtual DateTime? LastStatusUpdate { get; set; }
        public virtual int? OrganizationId { get; set; }
        public virtual long? CommentsPostId { get; set; }
        public virtual int ViewCount { get; set; }
        public virtual int FavCount { get; set; }
    }

    public enum TechnologyTier
    {
        ProgrammingLanguage,
        Client,
        Http,
        Server,
        Data,
        SoftwareInfrastructure,
        OperatingSystem,
        HardwareInfrastructure,
        ThirdPartyServices,
    }

}

C# GetUserFeed 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 /my-feed HTTP/1.1 
Host: techstacks.io 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	results: 
	[
		{
			technologyChoices: 
			[
				{
					technologyId: 0,
					technologyStackId: 0,
					justification: String,
					id: 0,
					name: String,
					vendorName: String,
					vendorUrl: String,
					productUrl: String,
					logoUrl: String,
					description: String,
					created: 0001-01-01,
					createdBy: String,
					lastModified: 0001-01-01,
					lastModifiedBy: String,
					ownerId: String,
					slug: String,
					logoApproved: False,
					isLocked: False,
					tier: ProgrammingLanguage,
					lastStatusUpdate: 0001-01-01,
					organizationId: 0,
					commentsPostId: 0,
					viewCount: 0,
					favCount: 0
				}
			],
			id: 0,
			name: String,
			vendorName: String,
			description: String,
			appUrl: String,
			screenshotUrl: String,
			created: 0001-01-01,
			createdBy: String,
			lastModified: 0001-01-01,
			lastModifiedBy: String,
			isLocked: False,
			ownerId: String,
			slug: String,
			details: String,
			detailsHtml: String,
			lastStatusUpdate: 0001-01-01,
			organizationId: 0,
			commentsPostId: 0,
			viewCount: 0,
			favCount: 0
		}
	]
}