ASH.ResourceLibrary.WebApi

<back to all web services

CategoryRequest

Requires Authentication
The following routes are available for this service:
GET/categories/{CategoryId}Use to get Resource Items for specific Category

export class BasicResourceLibraryRequest
{
    public resourceLibraryMemberId?: number;

    public constructor(init?: Partial<BasicResourceLibraryRequest>) { (Object as any).assign(this, init); }
}

export class Tag
{
    public id?: string;
    public title?: string;

    public constructor(init?: Partial<Tag>) { (Object as any).assign(this, init); }
}

export class ScreenshotItem
{
    public largeFilepathS3?: string;
    public thumbFilepathS3?: string;
    public order?: number;
    public description?: string;

    public constructor(init?: Partial<ScreenshotItem>) { (Object as any).assign(this, init); }
}

export class ResourceCard
{
    public id?: string;
    public title?: string;
    public description?: string;
    public descriptionSummary?: string;
    public type?: string;
    public content?: string;
    public isComplete?: boolean;
    public isFavorite?: boolean;
    public isImplicitlyComplete?: boolean;
    public mediaPath?: string;
    public isConfirmable?: boolean;
    public isWcagCompliant?: boolean;
    public duration?: string;
    public preview?: string;
    public calories?: number;
    public instructor?: string;
    public thumbnail?: string;
    public difficulty?: string;
    public tags?: Tag[];
    public subtitles?: string;
    public screenshots?: ScreenshotItem[];
    public drmEncrypted?: boolean;

    public constructor(init?: Partial<ResourceCard>) { (Object as any).assign(this, init); }
}

export class ActivityItem
{
    public name?: string;
    public id?: string;

    public constructor(init?: Partial<ActivityItem>) { (Object as any).assign(this, init); }
}

export class SeriesItem
{
    public id?: string;
    public title?: string;

    public constructor(init?: Partial<SeriesItem>) { (Object as any).assign(this, init); }
}

export class AltMediaPaths
{
    public webm?: string;
    public ogv?: string;
    public mp4Low?: string;
    public mp4High?: string;

    public constructor(init?: Partial<AltMediaPaths>) { (Object as any).assign(this, init); }
}

export class ResourceItem extends ResourceCard
{
    public content?: string;
    public credit?: string;
    public references?: string;
    public disclaimer?: string;
    public headerImage?: string;
    public origin?: string;
    public originId?: string;
    public tags?: Tag[];
    public categories?: Category[];
    public index?: number;
    public activityLevel?: string;
    public activityDetails?: string;
    public transcript?: string;
    public isArchived?: boolean;
    public activities?: ActivityItem[];
    public seriesItems?: SeriesItem[];
    public videoId?: string;
    public focus?: string;
    public series?: string;
    public seriesUrl?: string;
    public category?: string;
    public equipments?: string[];
    public durationRange?: string;
    public providerName?: string;
    public uploadDate?: string;
    public completionDate?: string;
    public level?: string;
    public bodyFocus?: string;
    public altMediaPaths?: AltMediaPaths;
    public subtitles?: string;
    public drmEncrypted?: boolean;
    public screenshots?: ScreenshotItem[];

    public constructor(init?: Partial<ResourceItem>) { super(init); (Object as any).assign(this, init); }
}

export class SubTopic
{
    public id?: string;
    public title?: string;
    public resourceCount?: number;
    public resourceItems?: ResourceItem[];

    public constructor(init?: Partial<SubTopic>) { (Object as any).assign(this, init); }
}

export class Category
{
    public id?: string;
    public subtopicItems?: SubTopic[];
    public resourceItems?: ResourceItem[];
    public title?: string;
    public isVisible?: string;
    public resourceCount?: number;

    public constructor(init?: Partial<Category>) { (Object as any).assign(this, init); }
}

export class CategoryRequest extends BasicResourceLibraryRequest
{
    public includeCompletionStatus?: boolean;
    public categoryId?: string;

    public constructor(init?: Partial<CategoryRequest>) { super(init); (Object as any).assign(this, init); }
}

TypeScript CategoryRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /categories/{CategoryId} HTTP/1.1 
Host: resourcelibrary.api.ashcompanies.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<Category xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/ASH.ResourceLibrary.Interfaces.Models">
  <_x003C_Id_x003E_k__BackingField>String</_x003C_Id_x003E_k__BackingField>
  <_x003C_IsVisible_x003E_k__BackingField>String</_x003C_IsVisible_x003E_k__BackingField>
  <_x003C_ResourceCount_x003E_k__BackingField>0</_x003C_ResourceCount_x003E_k__BackingField>
  <_x003C_ResourceItems_x003E_k__BackingField i:nil="true" />
  <_x003C_SubtopicItems_x003E_k__BackingField i:nil="true" />
  <_x003C_Title_x003E_k__BackingField>String</_x003C_Title_x003E_k__BackingField>
</Category>