diff --git a/src/common/common.types.ts b/src/common/common.types.ts index 2d55d9c..89dc2be 100644 --- a/src/common/common.types.ts +++ b/src/common/common.types.ts @@ -10,6 +10,9 @@ export enum ASModelType { Event = 'Event', Group = 'Group', Note = 'Note', + Organization = 'Organization', + Person = 'Person', + Service = 'Service', } // TODO: implement diff --git a/src/models/organization/Organization.model.ts b/src/models/organization/Organization.model.ts new file mode 100644 index 0000000..6774f1e --- /dev/null +++ b/src/models/organization/Organization.model.ts @@ -0,0 +1,14 @@ +import {ASBase} from "../ASBase.model"; +import {ASModelType} from "../../common/common.types"; +import {OrganizationFields} from "./Organization.types"; + +/** + * Represents an organization + * + * {@link https://www.w3.org/ns/activitystreams#Organization Docs} + */ +export class Organization extends ASBase{ + constructor(fields: OrganizationFields) { + super(ASModelType.Organization, fields); + } +} \ No newline at end of file diff --git a/src/models/organization/Organization.types.ts b/src/models/organization/Organization.types.ts new file mode 100644 index 0000000..7889bd1 --- /dev/null +++ b/src/models/organization/Organization.types.ts @@ -0,0 +1,3 @@ +import {ASObjectFields} from "../asObject/ASObject.types"; + +export interface OrganizationFields extends ASObjectFields {} diff --git a/src/models/person/Person.model.ts b/src/models/person/Person.model.ts new file mode 100644 index 0000000..e89fcd9 --- /dev/null +++ b/src/models/person/Person.model.ts @@ -0,0 +1,14 @@ +import {ASBase} from "../ASBase.model"; +import {ASModelType} from "../../common/common.types"; +import {PersonFields} from "./Person.types"; + +/** + * Represents an individual person + * + * {@link https://www.w3.org/ns/activitystreams#Person Docs} + */ +export class Person extends ASBase{ + constructor(fields: PersonFields) { + super(ASModelType.Person, fields); + } +} \ No newline at end of file diff --git a/src/models/person/Person.types.ts b/src/models/person/Person.types.ts new file mode 100644 index 0000000..df3a79f --- /dev/null +++ b/src/models/person/Person.types.ts @@ -0,0 +1,3 @@ +import {ASObjectFields} from "../asObject/ASObject.types"; + +export interface PersonFields extends ASObjectFields {} diff --git a/src/models/service/Service.model.ts b/src/models/service/Service.model.ts new file mode 100644 index 0000000..cbef18d --- /dev/null +++ b/src/models/service/Service.model.ts @@ -0,0 +1,14 @@ +import {ASBase} from "../ASBase.model"; +import {ASModelType} from "../../common/common.types"; +import {ServiceFields} from "./Service.types"; + +/** + * Represents a service of any kind + * + * {@link https://www.w3.org/ns/activitystreams#Service Docs} + */ +export class Service extends ASBase{ + constructor(fields: ServiceFields) { + super(ASModelType.Article, fields); + } +} \ No newline at end of file diff --git a/src/models/service/Service.types.ts b/src/models/service/Service.types.ts new file mode 100644 index 0000000..a6d136f --- /dev/null +++ b/src/models/service/Service.types.ts @@ -0,0 +1,3 @@ +import {ASObjectFields} from "../asObject/ASObject.types"; + +export interface ServiceFields extends ASObjectFields {}