Skip to content
2 changes: 1 addition & 1 deletion lib/stack/taxonomy/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ export function Taxonomy (http, data = {}) {
}
}
export function TaxonomyCollection (http, data) {
const obj = cloneDeep(data.taxonomy) || []
const obj = cloneDeep(data.taxonomies) || []
const taxonomyCollection = obj.map((userdata) => {
return new Taxonomy(http, { taxonomy: userdata, stackHeaders: data.stackHeaders })
})
Expand Down
4 changes: 4 additions & 0 deletions types/stack/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import { Release, Releases } from "./release";
import { Role, Roles } from "./role";
import { Webhook, Webhooks } from "./webhook";
import { Workflow, Workflows } from "./workflow";
import { Taxonomy, Taxonomies } from "./taxonomy";

export interface StackConfig {
api_key:string
Expand Down Expand Up @@ -92,4 +93,7 @@ export interface Stack extends SystemFields {
unShare(email: string): Promise<Response>
role(): Roles
role(uid: string): Role

taxonomy(): Taxonomy
taxonomies(uid: string): Taxonomies
}
20 changes: 20 additions & 0 deletions types/stack/taxonomy/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { AnyProperty, SystemFields } from "../../utility/fields";
import { Creatable, Queryable, SystemFunction } from "../../utility/operations";
import { Term, Terms } from "../taxonomy/terms"

export interface Taxonomy extends SystemFields, SystemFunction<Taxonomy> {
term(): Terms
term(uid: string): Term
}

export interface Taxonomies extends Queryable<Taxonomy, {taxonomy: TaxonomyData}> {
}

export interface Taxonomies extends Creatable<Taxonomy, {taxonomy: TaxonomyData}> {
}

export interface TaxonomyData extends AnyProperty {
name: string
taxonomy_uid: string
description: string
}
21 changes: 21 additions & 0 deletions types/stack/taxonomy/terms/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { AnyProperty, SystemFields } from "../../../utility/fields";
import { Creatable, Queryable, SystemFunction } from "../../../utility/operations";

export interface Term extends SystemFields, SystemFunction<Term> {
ancestors(data: {term_uid: TermData, include_children_count: boolean, include_referenced_entries_count: boolean, include_count: boolean, skip: number, limit: number}): Promise<Response>
descendants(data: {term_uid: TermData, include_children_count: boolean, include_referenced_entries_count: boolean, include_count: boolean, skip: number, limit: number}): Promise<Response>
move(data: {term_uid: TermData, force: boolean}): Promise<Response>
}

export interface Term extends Creatable<Term, {term: TermData}> {
}

export interface Terms extends Queryable<Term, {term: TermData}> {
}

export interface TermData extends AnyProperty {
name: string
term_uid: string
parent_uid?: string
order: number
}