broken commit
This commit is contained in:
parent
d02b0fc0fe
commit
81b26ecfb3
|
@ -1,3 +1,6 @@
|
|||
import { EntityGetEndpoint } from '.';
|
||||
import { AP } from '@activity-kit/types';
|
||||
export declare function handleFoundEntity(this: EntityGetEndpoint, render: (...args: unknown[]) => Promise<string>, entity: AP.Entity, authorizedActor?: AP.Actor): Promise<void>;
|
||||
export declare function handleFoundEntity(this: EntityGetEndpoint, entity: AP.Entity, render: (...args: unknown[]) => Promise<string>): Promise<{
|
||||
statusCode: number;
|
||||
body: string;
|
||||
}>;
|
||||
|
|
|
@ -3,41 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
exports.handleFoundEntity = void 0;
|
||||
const utilities_1 = require("@activity-kit/utilities");
|
||||
const utilities_2 = require("@activity-kit/utilities");
|
||||
async function handleFoundEntity(render, entity, authorizedActor) {
|
||||
this.res.statusCode = 200;
|
||||
if (this.req.headers.accept?.includes(utilities_1.ACTIVITYSTREAMS_CONTENT_TYPE) ||
|
||||
this.req.headers.accept?.includes(utilities_1.LINKED_DATA_CONTENT_TYPE) ||
|
||||
this.req.headers.accept?.includes(utilities_1.JSON_CONTENT_TYPE)) {
|
||||
this.res.setHeader(utilities_1.CONTENT_TYPE_HEADER, utilities_1.ACTIVITYSTREAMS_CONTENT_TYPE);
|
||||
this.res.write(JSON.stringify((0, utilities_2.convertEntityToJson)((0, utilities_1.cleanProps)((0, utilities_1.applyContext)(entity)))));
|
||||
async function handleFoundEntity(entity, render) {
|
||||
if (this.returnHtml) {
|
||||
return {
|
||||
statusCode: 200,
|
||||
body: await render({
|
||||
entity,
|
||||
}),
|
||||
};
|
||||
}
|
||||
else {
|
||||
this.res.setHeader(utilities_1.CONTENT_TYPE_HEADER, utilities_1.HTML_CONTENT_TYPE);
|
||||
let props = {
|
||||
entity,
|
||||
actor: authorizedActor,
|
||||
const json = (0, utilities_2.convertEntityToJson)((0, utilities_1.cleanProps)((0, utilities_1.applyContext)(entity)));
|
||||
return {
|
||||
statusCode: 200,
|
||||
body: JSON.stringify(json),
|
||||
};
|
||||
if (this.plugins) {
|
||||
for (const plugin of this.plugins) {
|
||||
if ('getEntityPageProps' in plugin && plugin.getEntityPageProps) {
|
||||
props = {
|
||||
...props,
|
||||
...(await plugin.getEntityPageProps.call(this, entity)),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
const formattedProps = Object.fromEntries(Object.entries(props).map(([key, value]) => {
|
||||
if (typeof value === 'object') {
|
||||
return [key, (0, utilities_2.convertEntityToJson)(value)];
|
||||
}
|
||||
else {
|
||||
return [key, value];
|
||||
}
|
||||
}));
|
||||
this.res.write(await render(formattedProps));
|
||||
}
|
||||
this.res.end();
|
||||
}
|
||||
exports.handleFoundEntity = handleFoundEntity;
|
||||
//# sourceMappingURL=handleFoundEntity.js.map
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"handleFoundEntity.js","sourceRoot":"","sources":["../../src/entity/handleFoundEntity.ts"],"names":[],"mappings":";;;AAEA,uDAQiC;AACjC,uDAA8D;AAEvD,KAAK,UAAU,iBAAiB,CAErC,MAA+C,EAC/C,MAAiB,EACjB,eAA0B;IAE1B,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;IAE1B,IACE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,wCAA4B,CAAC;QAC/D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,oCAAwB,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,6BAAiB,CAAC,EACpD;QACA,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,+BAAmB,EAAE,wCAA4B,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,CAAC,KAAK,CACZ,IAAI,CAAC,SAAS,CACZ,IAAA,+BAAmB,EAAC,IAAA,sBAAU,EAAC,IAAA,wBAAY,EAAY,MAAM,CAAC,CAAC,CAAC,CACjE,CACF,CAAC;KACH;SAAM;QACL,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,+BAAmB,EAAE,6BAAiB,CAAC,CAAC;QAE3D,IAAI,KAAK,GAAG;YACV,MAAM;YACN,KAAK,EAAE,eAAe;SACvB,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBACjC,IAAI,oBAAoB,IAAI,MAAM,IAAI,MAAM,CAAC,kBAAkB,EAAE;oBAC/D,KAAK,GAAG;wBACN,GAAG,KAAK;wBACR,GAAG,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;qBACxD,CAAC;iBACH;aACF;SACF;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CACvC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC7B,OAAO,CAAC,GAAG,EAAE,IAAA,+BAAmB,EAAC,KAAK,CAAC,CAAC,CAAC;aAC1C;iBAAM;gBACL,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACrB;QACH,CAAC,CAAC,CACH,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;KAC9C;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACjB,CAAC;AApDD,8CAoDC"}
|
||||
{"version":3,"file":"handleFoundEntity.js","sourceRoot":"","sources":["../../src/entity/handleFoundEntity.ts"],"names":[],"mappings":";;;AAEA,uDAAmE;AACnE,uDAA8D;AAEvD,KAAK,UAAU,iBAAiB,CAErC,MAAiB,EACjB,MAA+C;IAE/C,IAAI,IAAI,CAAC,UAAU,EAAE;QACnB,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,MAAM,MAAM,CAAC;gBACjB,MAAM;aACP,CAAC;SACH,CAAC;KACH;SAAM;QACL,MAAM,IAAI,GAAG,IAAA,+BAAmB,EAC9B,IAAA,sBAAU,EAAC,IAAA,wBAAY,EAAY,MAAM,CAAC,CAAC,CAC5C,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC;KACH;AACH,CAAC;AAtBD,8CAsBC"}
|
|
@ -1,27 +1,23 @@
|
|||
/// <reference types="node" />
|
||||
/// <reference types="node" />
|
||||
import { Plugin, Routes, CoreLibrary } from '@activity-kit/types';
|
||||
import { CoreLibrary } from '@activity-kit/types';
|
||||
import { handleFoundEntity } from './handleFoundEntity';
|
||||
import { respond } from './respond';
|
||||
import type { IncomingMessage, ServerResponse } from 'http';
|
||||
export declare class EntityGetEndpoint {
|
||||
req: IncomingMessage & {
|
||||
params: Record<string, string>;
|
||||
};
|
||||
res: ServerResponse;
|
||||
core: CoreLibrary;
|
||||
plugins?: Plugin[];
|
||||
routes?: Routes;
|
||||
url: URL;
|
||||
constructor(req: IncomingMessage & {
|
||||
params: Record<string, string>;
|
||||
}, res: ServerResponse, core: CoreLibrary, plugins?: Plugin[], url?: URL);
|
||||
protected readonly core: CoreLibrary;
|
||||
protected url: URL;
|
||||
protected returnHtml: boolean;
|
||||
constructor(core: CoreLibrary, options: {
|
||||
url: URL;
|
||||
returnHtml?: boolean;
|
||||
});
|
||||
protected handleFoundEntity: typeof handleFoundEntity;
|
||||
protected handleBadRequest(): {
|
||||
props: {};
|
||||
statusCode: number;
|
||||
body: string;
|
||||
};
|
||||
protected handleNotFound(): {
|
||||
props: {};
|
||||
statusCode: number;
|
||||
body: string;
|
||||
};
|
||||
respond: typeof respond;
|
||||
}
|
||||
|
|
|
@ -1,38 +1,32 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.EntityGetEndpoint = void 0;
|
||||
const utilities_1 = require("@activity-kit/utilities");
|
||||
const handleFoundEntity_1 = require("./handleFoundEntity");
|
||||
const respond_1 = require("./respond");
|
||||
class EntityGetEndpoint {
|
||||
req;
|
||||
res;
|
||||
core;
|
||||
plugins;
|
||||
routes;
|
||||
url;
|
||||
constructor(req, res, core, plugins, url) {
|
||||
this.req = req;
|
||||
this.res = res;
|
||||
returnHtml;
|
||||
constructor(core, options) {
|
||||
this.core = core;
|
||||
this.plugins = plugins;
|
||||
this.url = url ?? new URL(req.url, utilities_1.LOCAL_DOMAIN);
|
||||
this.url = options.url;
|
||||
this.returnHtml = options.returnHtml;
|
||||
}
|
||||
handleFoundEntity = handleFoundEntity_1.handleFoundEntity;
|
||||
handleBadRequest() {
|
||||
this.res.statusCode = 500;
|
||||
this.res.write('Bad request');
|
||||
this.res.end();
|
||||
return {
|
||||
props: {},
|
||||
statusCode: 500,
|
||||
body: JSON.stringify({
|
||||
error: 'Bad request',
|
||||
}),
|
||||
};
|
||||
}
|
||||
handleNotFound() {
|
||||
this.res.statusCode = 404;
|
||||
this.res.write('Not found');
|
||||
this.res.end();
|
||||
return {
|
||||
props: {},
|
||||
statusCode: 404,
|
||||
body: JSON.stringify({
|
||||
error: 'Not found',
|
||||
}),
|
||||
};
|
||||
}
|
||||
respond = respond_1.respond;
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entity/index.ts"],"names":[],"mappings":";;;AACA,uDAAuD;AACvD,2DAAwD;AACxD,uCAAoC;AAGpC,MAAa,iBAAiB;IAC5B,GAAG,CAED;IACF,GAAG,CAAiB;IACpB,IAAI,CAAc;IAClB,OAAO,CAAY;IACnB,MAAM,CAAU;IAChB,GAAG,CAAM;IAET,YACE,GAEC,EACD,GAAmB,EACnB,IAAiB,EACjB,OAAkB,EAClB,GAAS;QAET,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,wBAAY,CAAC,CAAC;IACnD,CAAC;IAES,iBAAiB,GAAG,qCAAiB,CAAC;IAEtC,gBAAgB;QACxB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAEf,OAAO;YACL,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAES,cAAc;QACtB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAEf,OAAO;YACL,KAAK,EAAE,EAAE;SACV,CAAC;IACJ,CAAC;IAEM,OAAO,GAAG,iBAAO,CAAC;CAC1B;AAjDD,8CAiDC"}
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entity/index.ts"],"names":[],"mappings":";;;AACA,2DAAwD;AACxD,uCAAoC;AAEpC,MAAa,iBAAiB;IAKP;IAJX,GAAG,CAAM;IACT,UAAU,CAAU;IAE9B,YACqB,IAAiB,EACpC,OAGC;QAJkB,SAAI,GAAJ,IAAI,CAAa;QAMpC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;IAES,iBAAiB,GAAG,qCAAiB,CAAC;IAEtC,gBAAgB;QACxB,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,aAAa;aACrB,CAAC;SACH,CAAC;IACJ,CAAC;IAES,cAAc;QACtB,OAAO;YACL,UAAU,EAAE,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,WAAW;aACnB,CAAC;SACH,CAAC;IACJ,CAAC;IAEM,OAAO,GAAG,iBAAO,CAAC;CAC1B;AApCD,8CAoCC"}
|
|
@ -1,4 +1,6 @@
|
|||
import { EntityGetEndpoint } from '.';
|
||||
export declare function respond(this: EntityGetEndpoint, render: (...args: unknown[]) => Promise<string>): Promise<void | {
|
||||
props: {};
|
||||
export declare function respond(this: EntityGetEndpoint, render: (...args: unknown[]) => Promise<string>): Promise<{
|
||||
statusCode: number;
|
||||
contentType?: string;
|
||||
body: string;
|
||||
}>;
|
||||
|
|
|
@ -1,45 +1,33 @@
|
|||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.respond = void 0;
|
||||
const types_1 = require("@activity-kit/types");
|
||||
const types_2 = require("@activity-kit/types");
|
||||
const utilities_1 = require("@activity-kit/utilities");
|
||||
const cookie_1 = __importDefault(require("cookie"));
|
||||
const ITEMS_PER_COLLECTION_PAGE = 50;
|
||||
async function respond(render) {
|
||||
const cookies = cookie_1.default.parse(this.req.headers.cookie ?? '');
|
||||
const authorizedActor = await this.core.getActorByUserId(await this.core.getUserIdByToken(cookies.__session ?? ''));
|
||||
const urlParts = this.url.pathname.split('/');
|
||||
const pageParam = urlParts.pop();
|
||||
const hasPage = this.req.params['page'] === pageParam;
|
||||
if (hasPage) {
|
||||
urlParts.pop();
|
||||
}
|
||||
const pathname = hasPage ? urlParts.join('/') : this.url.pathname;
|
||||
const entity = await this.core.findEntityById(new URL(`${utilities_1.LOCAL_DOMAIN}${pathname}`));
|
||||
const hasPage = this.url.href.includes('/page/');
|
||||
const pageParts = this.url.href.split('/page/');
|
||||
const baseUrl = hasPage ? new URL(pageParts[0]) : this.url;
|
||||
const entity = await this.core.findEntityById(baseUrl);
|
||||
try {
|
||||
(0, types_1.assertIsApEntity)(entity);
|
||||
}
|
||||
catch (error) {
|
||||
return this.handleNotFound();
|
||||
}
|
||||
this.res.setHeader('Vary', 'Accept');
|
||||
if (!(0, types_2.isTypeOf)(entity, types_1.AP.CollectionTypes) &&
|
||||
!(0, types_2.isTypeOf)(entity, types_1.AP.CollectionPageTypes)) {
|
||||
return await this.handleFoundEntity(render, entity, authorizedActor);
|
||||
return this.handleNotFound();
|
||||
}
|
||||
(0, types_1.assertIsApCollection)(entity);
|
||||
const isOrderedCollection = (0, types_2.isType)(entity, types_1.AP.CollectionTypes.ORDERED_COLLECTION);
|
||||
const totalItems = Number(entity.totalItems);
|
||||
const lastPageIndex = Math.max(1, Math.ceil(totalItems / ITEMS_PER_COLLECTION_PAGE));
|
||||
const currentPage = Number(pageParam) || 1;
|
||||
const isOrderedCollection = (0, types_2.isType)(entity, types_1.AP.CollectionTypes.ORDERED_COLLECTION);
|
||||
const getPageUrl = (page) => new URL(`${this.url.pathname === '/' ? '' : this.url.pathname}/page/${page}`, this.url.origin);
|
||||
const page = pageParts[1];
|
||||
const currentPage = page ? Number(page) : 1;
|
||||
const firstItemIndex = (currentPage - 1) * ITEMS_PER_COLLECTION_PAGE;
|
||||
const startIndex = firstItemIndex + 1;
|
||||
const baseUrl = new URL(pathname, new URL(utilities_1.LOCAL_DOMAIN));
|
||||
const getPageUrl = (page) => new URL(`${pathname === '/' ? '' : pathname}/page/${page}`, new URL(utilities_1.LOCAL_DOMAIN));
|
||||
if (!hasPage) {
|
||||
(0, types_1.assertIsApCollection)(entity);
|
||||
delete entity.orderedItems;
|
||||
|
@ -49,7 +37,7 @@ async function respond(render) {
|
|||
first: getPageUrl(1),
|
||||
last: getPageUrl(lastPageIndex),
|
||||
};
|
||||
return await this.handleFoundEntity(render, collectionEntity, authorizedActor);
|
||||
return this.handleFoundEntity(collectionEntity, render);
|
||||
}
|
||||
const expandedCollection = await this.core.expandCollection(entity);
|
||||
const expandedItems = (() => {
|
||||
|
@ -105,14 +93,14 @@ async function respond(render) {
|
|||
orderedItems: items,
|
||||
startIndex,
|
||||
};
|
||||
return await this.handleFoundEntity(render, orderedCollectionPageEntity, authorizedActor);
|
||||
return this.handleFoundEntity(orderedCollectionPageEntity, render);
|
||||
}
|
||||
const collectionPageEntity = {
|
||||
...collectionPage,
|
||||
type: types_1.AP.CollectionPageTypes.COLLECTION_PAGE,
|
||||
items: items,
|
||||
};
|
||||
return await this.handleFoundEntity(render, collectionPageEntity, authorizedActor);
|
||||
return this.handleFoundEntity(collectionPageEntity, render);
|
||||
}
|
||||
exports.respond = respond;
|
||||
//# sourceMappingURL=respond.js.map
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/entity/respond.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/entity/respond.ts"],"names":[],"mappings":"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"}
|
|
@ -7,6 +7,7 @@ import { authenticateActor } from './authenticateActor';
|
|||
import { parseBody } from './parseBody';
|
||||
import { cleanup } from './cleanup';
|
||||
import { saveActivity } from './saveActivity';
|
||||
import { AnyTransitiveActivityType } from '@activity-kit/types/lib/activitypub';
|
||||
export declare class UploadMediaPostEndpoint {
|
||||
routes: Routes;
|
||||
req: IncomingMessage;
|
||||
|
@ -14,7 +15,7 @@ export declare class UploadMediaPostEndpoint {
|
|||
core: CoreLibrary;
|
||||
plugins?: Plugin[];
|
||||
actor: AP.Actor | null;
|
||||
activity: AP.TransitiveActivity | null;
|
||||
activity: AP.TransitiveActivity<AnyTransitiveActivityType> | null;
|
||||
file: File | null;
|
||||
protected getActor: typeof getActor;
|
||||
protected authenticateActor: typeof authenticateActor;
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/uploadMedia/index.ts"],"names":[],"mappings":";;;AAAA,+CAM6B;AAG7B,yCAAsC;AACtC,2DAAwD;AACxD,2CAAwC;AACxC,uCAAoC;AACpC,iDAA8C;AAE9C,MAAa,uBAAuB;IAClC,MAAM,CAAS;IACf,GAAG,CAAkB;IACrB,GAAG,CAAiB;IACpB,IAAI,CAAc;IAClB,OAAO,CAAY;IAEnB,KAAK,GAAoB,IAAI,CAAC;IAC9B,QAAQ,GAAiC,IAAI,CAAC;IAC9C,IAAI,GAAgB,IAAI,CAAC;IAEf,QAAQ,GAAG,mBAAQ,CAAC;IACpB,iBAAiB,GAAG,qCAAiB,CAAC;IACtC,SAAS,GAAG,qBAAS,CAAC;IACtB,OAAO,GAAG,iBAAO,CAAC;IAClB,YAAY,GAAG,2BAAY,CAAC;IAEtC,YACE,MAAc,EACd,GAAoB,EACpB,GAAmB,EACnB,IAAiB,EACjB,OAAkB;QAElB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI;YACF,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,IAAA,gCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;YAC/B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAE1B,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SAChB;QAAC,OAAO,KAAc,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SAChB;IACH,CAAC;CACF;AApDD,0DAoDC"}
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/uploadMedia/index.ts"],"names":[],"mappings":";;;AAAA,+CAM6B;AAG7B,yCAAsC;AACtC,2DAAwD;AACxD,2CAAwC;AACxC,uCAAoC;AACpC,iDAA8C;AAG9C,MAAa,uBAAuB;IAClC,MAAM,CAAS;IACf,GAAG,CAAkB;IACrB,GAAG,CAAiB;IACpB,IAAI,CAAc;IAClB,OAAO,CAAY;IAEnB,KAAK,GAAoB,IAAI,CAAC;IAC9B,QAAQ,GAA4D,IAAI,CAAC;IACzE,IAAI,GAAgB,IAAI,CAAC;IAEf,QAAQ,GAAG,mBAAQ,CAAC;IACpB,iBAAiB,GAAG,qCAAiB,CAAC;IACtC,SAAS,GAAG,qBAAS,CAAC;IACtB,OAAO,GAAG,iBAAO,CAAC;IAClB,YAAY,GAAG,2BAAY,CAAC;IAEtC,YACE,MAAc,EACd,GAAoB,EACpB,GAAmB,EACnB,IAAiB,EACjB,OAAkB;QAElB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,IAAI;YACF,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACvB,IAAA,gCAAwB,EAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;YAC/B,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAE1B,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SAChB;QAAC,OAAO,KAAc,EAAE;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;SAChB;IACH,CAAC;CACF;AApDD,0DAoDC"}
|
|
@ -5,6 +5,7 @@ const types_1 = require("@activity-kit/types");
|
|||
const utilities_1 = require("@activity-kit/utilities");
|
||||
const path_to_regexp_1 = require("path-to-regexp");
|
||||
async function saveActivity() {
|
||||
(0, types_1.assertIsApEntity)(this.activity);
|
||||
(0, types_1.assertIsApTransitiveActivity)(this.activity);
|
||||
(0, types_1.assertIsApExtendedObject)(this.activity.object);
|
||||
const publishedDate = new Date();
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"saveActivity.js","sourceRoot":"","sources":["../../src/uploadMedia/saveActivity.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"saveActivity.js","sourceRoot":"","sources":["../../src/uploadMedia/saveActivity.ts"],"names":[],"mappings":"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"}
|
|
@ -1,10 +1,7 @@
|
|||
/// <reference types="node" />
|
||||
import { createServerActor } from './createServerActor';
|
||||
import { createUserActor } from './createUserActor';
|
||||
import type { IncomingMessage, ServerResponse } from 'http';
|
||||
import { CoreLibrary, Plugin, Routes } from '@activity-kit/types';
|
||||
export declare class User {
|
||||
readonly uid: string;
|
||||
readonly type: string;
|
||||
readonly email: string;
|
||||
readonly name: string;
|
||||
|
@ -14,12 +11,15 @@ export declare class User {
|
|||
}
|
||||
export declare class UserPostEndpoint {
|
||||
routes: Routes;
|
||||
req: IncomingMessage;
|
||||
res: ServerResponse;
|
||||
headers: JSON;
|
||||
body: Record<string, unknown>;
|
||||
core: CoreLibrary;
|
||||
plugins?: Plugin[];
|
||||
constructor(routes: Routes, req: IncomingMessage, res: ServerResponse, core: CoreLibrary, plugins?: Plugin[]);
|
||||
constructor(routes: Routes, headers: JSON, body: Record<string, unknown>, core: CoreLibrary, plugins?: Plugin[]);
|
||||
protected createServerActor: typeof createServerActor;
|
||||
protected createUserActor: typeof createUserActor;
|
||||
respond(): Promise<void>;
|
||||
respond(): Promise<{
|
||||
statusCode: number;
|
||||
body: string;
|
||||
}>;
|
||||
}
|
||||
|
|
|
@ -5,19 +5,12 @@ const utilities_1 = require("@activity-kit/utilities");
|
|||
const createServerActor_1 = require("./createServerActor");
|
||||
const createUserActor_1 = require("./createUserActor");
|
||||
class User {
|
||||
uid;
|
||||
type;
|
||||
email;
|
||||
name;
|
||||
preferredUsername;
|
||||
password;
|
||||
constructor(rawBody) {
|
||||
if (typeof rawBody.uid !== 'string') {
|
||||
throw {
|
||||
error: 'No uid provided',
|
||||
field: 'uid',
|
||||
};
|
||||
}
|
||||
if (typeof rawBody.type !== 'string') {
|
||||
throw {
|
||||
error: 'No type provided',
|
||||
|
@ -48,7 +41,6 @@ class User {
|
|||
field: 'password',
|
||||
};
|
||||
}
|
||||
this.uid = rawBody.uid;
|
||||
this.type = rawBody.type;
|
||||
this.email = rawBody.email;
|
||||
this.name = rawBody.name;
|
||||
|
@ -59,43 +51,47 @@ class User {
|
|||
exports.User = User;
|
||||
class UserPostEndpoint {
|
||||
routes;
|
||||
req;
|
||||
res;
|
||||
headers;
|
||||
body;
|
||||
core;
|
||||
plugins;
|
||||
constructor(routes, req, res, core, plugins) {
|
||||
constructor(routes, headers, body, core, plugins) {
|
||||
this.routes = routes;
|
||||
this.req = req;
|
||||
this.res = res;
|
||||
this.headers = headers;
|
||||
this.body = body;
|
||||
this.core = core;
|
||||
this.plugins = plugins;
|
||||
}
|
||||
createServerActor = createServerActor_1.createServerActor;
|
||||
createUserActor = createUserActor_1.createUserActor;
|
||||
async respond() {
|
||||
const body = JSON.parse(await (0, utilities_1.streamToString)(this.req));
|
||||
const user = await new Promise((resolve) => {
|
||||
resolve(new User(body));
|
||||
const result = await new Promise((resolve) => {
|
||||
resolve(new User(this.body));
|
||||
}).catch((error) => {
|
||||
this.res.statusCode = 300;
|
||||
this.res.write(JSON.stringify(error));
|
||||
this.res.end();
|
||||
console.log(error);
|
||||
return new Error(`${error}`);
|
||||
});
|
||||
if (!user) {
|
||||
return;
|
||||
if (result instanceof Error) {
|
||||
return {
|
||||
statusCode: 500,
|
||||
body: JSON.stringify({
|
||||
message: 'Internal server error.',
|
||||
}),
|
||||
};
|
||||
}
|
||||
const user = result;
|
||||
const isUsernameTaken = !!(await this.core.findOne('entity', {
|
||||
preferredUsername: user.preferredUsername,
|
||||
}));
|
||||
if (isUsernameTaken ||
|
||||
utilities_1.RESERVED_USERNAMES.includes(user.preferredUsername)) {
|
||||
this.res.statusCode = 409;
|
||||
this.res.write(JSON.stringify({
|
||||
error: 'Username taken.',
|
||||
field: 'username',
|
||||
}));
|
||||
this.res.end();
|
||||
return;
|
||||
return {
|
||||
statusCode: 409,
|
||||
body: JSON.stringify({
|
||||
error: 'Username taken.',
|
||||
field: 'username',
|
||||
}),
|
||||
};
|
||||
}
|
||||
try {
|
||||
const { uid, token } = await this.core.createUser({
|
||||
|
@ -110,18 +106,20 @@ class UserPostEndpoint {
|
|||
await this.createServerActor();
|
||||
}
|
||||
await this.createUserActor(user, uid);
|
||||
this.res.statusCode = 200;
|
||||
this.res.write(JSON.stringify({
|
||||
token,
|
||||
}));
|
||||
this.res.end();
|
||||
return {
|
||||
statusCode: 201,
|
||||
body: JSON.stringify({
|
||||
token,
|
||||
}),
|
||||
};
|
||||
}
|
||||
catch (error) {
|
||||
this.res.statusCode = 300;
|
||||
this.res.write(JSON.stringify({
|
||||
error: error.toString(),
|
||||
}));
|
||||
this.res.end();
|
||||
return {
|
||||
statusCode: 300,
|
||||
body: JSON.stringify({
|
||||
error: error.toString(),
|
||||
}),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/user/index.ts"],"names":[],"mappings":"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"}
|
|
@ -1,66 +1,28 @@
|
|||
import { EntityGetEndpoint } from '.';
|
||||
import { AP } from '@activity-kit/types';
|
||||
import {
|
||||
ACTIVITYSTREAMS_CONTENT_TYPE,
|
||||
CONTENT_TYPE_HEADER,
|
||||
HTML_CONTENT_TYPE,
|
||||
JSON_CONTENT_TYPE,
|
||||
LINKED_DATA_CONTENT_TYPE,
|
||||
applyContext,
|
||||
cleanProps,
|
||||
} from '@activity-kit/utilities';
|
||||
import { applyContext, cleanProps } from '@activity-kit/utilities';
|
||||
import { convertEntityToJson } from '@activity-kit/utilities';
|
||||
|
||||
export async function handleFoundEntity(
|
||||
this: EntityGetEndpoint,
|
||||
render: (...args: unknown[]) => Promise<string>,
|
||||
entity: AP.Entity,
|
||||
authorizedActor?: AP.Actor,
|
||||
render: (...args: unknown[]) => Promise<string>,
|
||||
) {
|
||||
this.res.statusCode = 200;
|
||||
|
||||
if (
|
||||
this.req.headers.accept?.includes(ACTIVITYSTREAMS_CONTENT_TYPE) ||
|
||||
this.req.headers.accept?.includes(LINKED_DATA_CONTENT_TYPE) ||
|
||||
this.req.headers.accept?.includes(JSON_CONTENT_TYPE)
|
||||
) {
|
||||
this.res.setHeader(CONTENT_TYPE_HEADER, ACTIVITYSTREAMS_CONTENT_TYPE);
|
||||
this.res.write(
|
||||
JSON.stringify(
|
||||
convertEntityToJson(cleanProps(applyContext<AP.Entity>(entity))),
|
||||
),
|
||||
);
|
||||
} else {
|
||||
this.res.setHeader(CONTENT_TYPE_HEADER, HTML_CONTENT_TYPE);
|
||||
|
||||
let props = {
|
||||
entity,
|
||||
actor: authorizedActor,
|
||||
};
|
||||
|
||||
if (this.plugins) {
|
||||
for (const plugin of this.plugins) {
|
||||
if ('getEntityPageProps' in plugin && plugin.getEntityPageProps) {
|
||||
props = {
|
||||
...props,
|
||||
...(await plugin.getEntityPageProps.call(this, entity)),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const formattedProps = Object.fromEntries(
|
||||
Object.entries(props).map(([key, value]) => {
|
||||
if (typeof value === 'object') {
|
||||
return [key, convertEntityToJson(value)];
|
||||
} else {
|
||||
return [key, value];
|
||||
}
|
||||
if (this.returnHtml) {
|
||||
return {
|
||||
statusCode: 200,
|
||||
body: await render({
|
||||
entity,
|
||||
}),
|
||||
};
|
||||
} else {
|
||||
const json = convertEntityToJson(
|
||||
cleanProps(applyContext<AP.Entity>(entity)),
|
||||
);
|
||||
|
||||
this.res.write(await render(formattedProps));
|
||||
return {
|
||||
statusCode: 200,
|
||||
body: JSON.stringify(json),
|
||||
};
|
||||
}
|
||||
|
||||
this.res.end();
|
||||
}
|
||||
|
|
|
@ -1,54 +1,39 @@
|
|||
import { Plugin, Routes, CoreLibrary } from '@activity-kit/types';
|
||||
import { LOCAL_DOMAIN } from '@activity-kit/utilities';
|
||||
import { CoreLibrary } from '@activity-kit/types';
|
||||
import { handleFoundEntity } from './handleFoundEntity';
|
||||
import { respond } from './respond';
|
||||
import type { IncomingMessage, ServerResponse } from 'http';
|
||||
|
||||
export class EntityGetEndpoint {
|
||||
req: IncomingMessage & {
|
||||
params: Record<string, string>;
|
||||
};
|
||||
res: ServerResponse;
|
||||
core: CoreLibrary;
|
||||
plugins?: Plugin[];
|
||||
routes?: Routes;
|
||||
url: URL;
|
||||
protected url: URL;
|
||||
protected returnHtml: boolean;
|
||||
|
||||
constructor(
|
||||
req: IncomingMessage & {
|
||||
params: Record<string, string>;
|
||||
protected readonly core: CoreLibrary,
|
||||
options: {
|
||||
url: URL;
|
||||
returnHtml?: boolean;
|
||||
},
|
||||
res: ServerResponse,
|
||||
core: CoreLibrary,
|
||||
plugins?: Plugin[],
|
||||
url?: URL,
|
||||
) {
|
||||
this.req = req;
|
||||
this.res = res;
|
||||
this.core = core;
|
||||
this.plugins = plugins;
|
||||
this.url = url ?? new URL(req.url, LOCAL_DOMAIN);
|
||||
this.url = options.url;
|
||||
this.returnHtml = options.returnHtml;
|
||||
}
|
||||
|
||||
protected handleFoundEntity = handleFoundEntity;
|
||||
|
||||
protected handleBadRequest() {
|
||||
this.res.statusCode = 500;
|
||||
this.res.write('Bad request');
|
||||
this.res.end();
|
||||
|
||||
return {
|
||||
props: {},
|
||||
statusCode: 500,
|
||||
body: JSON.stringify({
|
||||
error: 'Bad request',
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
protected handleNotFound() {
|
||||
this.res.statusCode = 404;
|
||||
this.res.write('Not found');
|
||||
this.res.end();
|
||||
|
||||
return {
|
||||
props: {},
|
||||
statusCode: 404,
|
||||
body: JSON.stringify({
|
||||
error: 'Not found',
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
@ -6,35 +6,21 @@ import {
|
|||
assertIsArray,
|
||||
} from '@activity-kit/types';
|
||||
import { isType, isTypeOf } from '@activity-kit/types';
|
||||
import { LOCAL_DOMAIN } from '@activity-kit/utilities';
|
||||
import cookie from 'cookie';
|
||||
|
||||
const ITEMS_PER_COLLECTION_PAGE = 50;
|
||||
|
||||
export async function respond(
|
||||
this: EntityGetEndpoint,
|
||||
render: (...args: unknown[]) => Promise<string>,
|
||||
) {
|
||||
const cookies = cookie.parse(this.req.headers.cookie ?? '');
|
||||
|
||||
const authorizedActor = await this.core.getActorByUserId(
|
||||
await this.core.getUserIdByToken(cookies.__session ?? ''),
|
||||
);
|
||||
|
||||
// TODO authorize entity posts by actor.
|
||||
|
||||
// Remove CollectionPage URL /page/:page param
|
||||
const urlParts = this.url.pathname.split('/');
|
||||
const pageParam = urlParts.pop();
|
||||
const hasPage = this.req.params['page'] === pageParam;
|
||||
if (hasPage) {
|
||||
urlParts.pop();
|
||||
}
|
||||
const pathname = hasPage ? urlParts.join('/') : this.url.pathname;
|
||||
|
||||
const entity = await this.core.findEntityById(
|
||||
new URL(`${LOCAL_DOMAIN}${pathname}`),
|
||||
);
|
||||
): Promise<{
|
||||
statusCode: number;
|
||||
contentType?: string;
|
||||
body: string;
|
||||
}> {
|
||||
const hasPage = this.url.href.includes('/page/');
|
||||
const pageParts = this.url.href.split('/page/');
|
||||
const baseUrl = hasPage ? new URL(pageParts[0]) : this.url;
|
||||
const entity = await this.core.findEntityById(baseUrl);
|
||||
|
||||
try {
|
||||
assertIsApEntity(entity);
|
||||
|
@ -42,40 +28,40 @@ export async function respond(
|
|||
return this.handleNotFound();
|
||||
}
|
||||
|
||||
this.res.setHeader('Vary', 'Accept');
|
||||
|
||||
if (
|
||||
!isTypeOf<AP.EitherCollection>(entity, AP.CollectionTypes) &&
|
||||
!isTypeOf<AP.EitherCollectionPage>(entity, AP.CollectionPageTypes)
|
||||
) {
|
||||
return await this.handleFoundEntity(render, entity, authorizedActor);
|
||||
return this.handleNotFound();
|
||||
}
|
||||
|
||||
assertIsApCollection(entity);
|
||||
|
||||
const totalItems = Number(entity.totalItems);
|
||||
|
||||
const lastPageIndex = Math.max(
|
||||
1,
|
||||
Math.ceil(totalItems / ITEMS_PER_COLLECTION_PAGE),
|
||||
);
|
||||
|
||||
const isOrderedCollection = isType<AP.OrderedCollection>(
|
||||
entity,
|
||||
AP.CollectionTypes.ORDERED_COLLECTION,
|
||||
);
|
||||
|
||||
const totalItems = Number(entity.totalItems);
|
||||
const lastPageIndex = Math.max(
|
||||
1,
|
||||
Math.ceil(totalItems / ITEMS_PER_COLLECTION_PAGE),
|
||||
);
|
||||
const currentPage = Number(pageParam) || 1;
|
||||
const firstItemIndex = (currentPage - 1) * ITEMS_PER_COLLECTION_PAGE;
|
||||
const startIndex = firstItemIndex + 1;
|
||||
const baseUrl = new URL(pathname, new URL(LOCAL_DOMAIN));
|
||||
|
||||
const getPageUrl = (page: number) =>
|
||||
new URL(
|
||||
`${pathname === '/' ? '' : pathname}/page/${page}`,
|
||||
new URL(LOCAL_DOMAIN),
|
||||
`${this.url.pathname === '/' ? '' : this.url.pathname}/page/${page}`,
|
||||
this.url.origin,
|
||||
);
|
||||
|
||||
// Treat as a Collection.
|
||||
|
||||
const page = pageParts[1];
|
||||
const currentPage = page ? Number(page) : 1;
|
||||
const firstItemIndex = (currentPage - 1) * ITEMS_PER_COLLECTION_PAGE;
|
||||
const startIndex = firstItemIndex + 1;
|
||||
|
||||
if (!hasPage) {
|
||||
assertIsApCollection(entity);
|
||||
|
||||
|
@ -88,11 +74,7 @@ export async function respond(
|
|||
last: getPageUrl(lastPageIndex),
|
||||
};
|
||||
|
||||
return await this.handleFoundEntity(
|
||||
render,
|
||||
collectionEntity,
|
||||
authorizedActor,
|
||||
);
|
||||
return this.handleFoundEntity(collectionEntity, render);
|
||||
}
|
||||
|
||||
// Treat as CollectionPage.
|
||||
|
@ -173,11 +155,7 @@ export async function respond(
|
|||
startIndex,
|
||||
};
|
||||
|
||||
return await this.handleFoundEntity(
|
||||
render,
|
||||
orderedCollectionPageEntity,
|
||||
authorizedActor,
|
||||
);
|
||||
return this.handleFoundEntity(orderedCollectionPageEntity, render);
|
||||
}
|
||||
|
||||
const collectionPageEntity: AP.CollectionPage = {
|
||||
|
@ -186,9 +164,5 @@ export async function respond(
|
|||
items: items,
|
||||
};
|
||||
|
||||
return await this.handleFoundEntity(
|
||||
render,
|
||||
collectionPageEntity,
|
||||
authorizedActor,
|
||||
);
|
||||
return this.handleFoundEntity(collectionPageEntity, render);
|
||||
}
|
||||
|
|
|
@ -12,6 +12,7 @@ import { authenticateActor } from './authenticateActor';
|
|||
import { parseBody } from './parseBody';
|
||||
import { cleanup } from './cleanup';
|
||||
import { saveActivity } from './saveActivity';
|
||||
import { AnyTransitiveActivityType } from '@activity-kit/types/lib/activitypub';
|
||||
|
||||
export class UploadMediaPostEndpoint {
|
||||
routes: Routes;
|
||||
|
@ -21,7 +22,7 @@ export class UploadMediaPostEndpoint {
|
|||
plugins?: Plugin[];
|
||||
|
||||
actor: AP.Actor | null = null;
|
||||
activity: AP.TransitiveActivity | null = null;
|
||||
activity: AP.TransitiveActivity<AnyTransitiveActivityType> | null = null;
|
||||
file: File | null = null;
|
||||
|
||||
protected getActor = getActor;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import {
|
||||
AP,
|
||||
assertIsApEntity,
|
||||
assertIsApExtendedObject,
|
||||
assertIsApTransitiveActivity,
|
||||
} from '@activity-kit/types';
|
||||
|
@ -8,6 +9,7 @@ import { UploadMediaPostEndpoint } from '.';
|
|||
import { compile } from 'path-to-regexp';
|
||||
|
||||
export async function saveActivity(this: UploadMediaPostEndpoint) {
|
||||
assertIsApEntity(this.activity);
|
||||
assertIsApTransitiveActivity(this.activity);
|
||||
assertIsApExtendedObject(this.activity.object);
|
||||
|
||||
|
|
|
@ -1,15 +1,12 @@
|
|||
import {
|
||||
RESERVED_USERNAMES,
|
||||
SERVER_ACTOR_USERNAME,
|
||||
streamToString,
|
||||
} from '@activity-kit/utilities';
|
||||
import { createServerActor } from './createServerActor';
|
||||
import { createUserActor } from './createUserActor';
|
||||
import type { IncomingMessage, ServerResponse } from 'http';
|
||||
import { CoreLibrary, Plugin, Routes } from '@activity-kit/types';
|
||||
|
||||
export class User {
|
||||
readonly uid: string;
|
||||
readonly type: string;
|
||||
readonly email: string;
|
||||
readonly name: string;
|
||||
|
@ -17,13 +14,6 @@ export class User {
|
|||
readonly password: string;
|
||||
|
||||
constructor(rawBody: Record<string, unknown>) {
|
||||
if (typeof rawBody.uid !== 'string') {
|
||||
throw {
|
||||
error: 'No uid provided',
|
||||
field: 'uid',
|
||||
};
|
||||
}
|
||||
|
||||
if (typeof rawBody.type !== 'string') {
|
||||
throw {
|
||||
error: 'No type provided',
|
||||
|
@ -59,7 +49,6 @@ export class User {
|
|||
};
|
||||
}
|
||||
|
||||
this.uid = rawBody.uid;
|
||||
this.type = rawBody.type;
|
||||
this.email = rawBody.email;
|
||||
this.name = rawBody.name;
|
||||
|
@ -70,21 +59,21 @@ export class User {
|
|||
|
||||
export class UserPostEndpoint {
|
||||
routes: Routes;
|
||||
req: IncomingMessage;
|
||||
res: ServerResponse;
|
||||
headers: JSON;
|
||||
body: Record<string, unknown>;
|
||||
core: CoreLibrary;
|
||||
plugins?: Plugin[];
|
||||
|
||||
constructor(
|
||||
routes: Routes,
|
||||
req: IncomingMessage,
|
||||
res: ServerResponse,
|
||||
headers: JSON,
|
||||
body: Record<string, unknown>,
|
||||
core: CoreLibrary,
|
||||
plugins?: Plugin[],
|
||||
) {
|
||||
this.routes = routes;
|
||||
this.req = req;
|
||||
this.res = res;
|
||||
this.headers = headers;
|
||||
this.body = body;
|
||||
this.core = core;
|
||||
this.plugins = plugins;
|
||||
}
|
||||
|
@ -93,22 +82,24 @@ export class UserPostEndpoint {
|
|||
protected createUserActor = createUserActor;
|
||||
|
||||
public async respond() {
|
||||
const body: Record<string, unknown> = JSON.parse(
|
||||
await streamToString(this.req),
|
||||
);
|
||||
|
||||
const user = await new Promise<User>((resolve) => {
|
||||
resolve(new User(body));
|
||||
}).catch((error: Record<string, string>) => {
|
||||
this.res.statusCode = 300;
|
||||
this.res.write(JSON.stringify(error));
|
||||
this.res.end();
|
||||
const result = await new Promise<User>((resolve) => {
|
||||
resolve(new User(this.body));
|
||||
}).catch((error: unknown) => {
|
||||
console.log(error);
|
||||
return new Error(`${error}`);
|
||||
});
|
||||
|
||||
if (!user) {
|
||||
return;
|
||||
if (result instanceof Error) {
|
||||
return {
|
||||
statusCode: 500,
|
||||
body: JSON.stringify({
|
||||
message: 'Internal server error.',
|
||||
}),
|
||||
};
|
||||
}
|
||||
|
||||
const user = result;
|
||||
|
||||
const isUsernameTaken = !!(await this.core.findOne('entity', {
|
||||
preferredUsername: user.preferredUsername,
|
||||
}));
|
||||
|
@ -117,15 +108,13 @@ export class UserPostEndpoint {
|
|||
isUsernameTaken ||
|
||||
RESERVED_USERNAMES.includes(user.preferredUsername)
|
||||
) {
|
||||
this.res.statusCode = 409;
|
||||
this.res.write(
|
||||
JSON.stringify({
|
||||
return {
|
||||
statusCode: 409,
|
||||
body: JSON.stringify({
|
||||
error: 'Username taken.',
|
||||
field: 'username',
|
||||
}),
|
||||
);
|
||||
this.res.end();
|
||||
return;
|
||||
};
|
||||
}
|
||||
|
||||
try {
|
||||
|
@ -145,21 +134,19 @@ export class UserPostEndpoint {
|
|||
|
||||
await this.createUserActor(user, uid);
|
||||
|
||||
this.res.statusCode = 200;
|
||||
this.res.write(
|
||||
JSON.stringify({
|
||||
return {
|
||||
statusCode: 201,
|
||||
body: JSON.stringify({
|
||||
token,
|
||||
}),
|
||||
);
|
||||
this.res.end();
|
||||
};
|
||||
} catch (error) {
|
||||
this.res.statusCode = 300;
|
||||
this.res.write(
|
||||
JSON.stringify({
|
||||
return {
|
||||
statusCode: 300,
|
||||
body: JSON.stringify({
|
||||
error: error.toString(),
|
||||
}),
|
||||
);
|
||||
this.res.end();
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
import { AP } from '@activity-kit/types';
|
||||
export declare const getEntity: (entity: undefined | null | AP.EntityReference | AP.EntityReference[]) => AP.Entity | null;
|
|
@ -0,0 +1,23 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getEntity = void 0;
|
||||
const getEntity = (entity) => {
|
||||
if (!entity) {
|
||||
return null;
|
||||
}
|
||||
if (entity instanceof URL) {
|
||||
return null;
|
||||
}
|
||||
if (Array.isArray(entity)) {
|
||||
if (entity.length === 1) {
|
||||
if (entity[0] instanceof URL) {
|
||||
return null;
|
||||
}
|
||||
return entity[0];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
return entity;
|
||||
};
|
||||
exports.getEntity = getEntity;
|
||||
//# sourceMappingURL=getEntity.js.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"getEntity.js","sourceRoot":"","sources":["../src/getEntity.ts"],"names":[],"mappings":";;;AAEO,MAAM,SAAS,GAAG,CACvB,MAAoE,EAClD,EAAE;IACpB,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IAED,IAAI,MAAM,YAAY,GAAG,EAAE;QACzB,OAAO,IAAI,CAAC;KACb;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,GAAG,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACb;YAED,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;SAClB;QAED,OAAO,IAAI,CAAC;KACb;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAxBW,QAAA,SAAS,aAwBpB"}
|
|
@ -7,6 +7,7 @@ export { convertJsonToEntity } from './convertJsonToEntity';
|
|||
export { convertEntityToJson } from './convertEntityToJson';
|
||||
export { getCollectionNameByUrl } from './getCollectionNameByUrl';
|
||||
export { getId } from './getId';
|
||||
export { getEntity } from './getEntity';
|
||||
export { parseStream } from './parseStream';
|
||||
export { streamToString } from './streamToString';
|
||||
export { deduplicateUrls } from './deduplicateUrls';
|
||||
|
|
|
@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getArray = exports.isLocal = exports.deduplicateUrls = exports.streamToString = exports.parseStream = exports.getId = exports.getCollectionNameByUrl = exports.convertEntityToJson = exports.convertJsonToEntity = exports.convertJsonLdToEntity = exports.compressEntity = exports.cleanProps = exports.applyContext = void 0;
|
||||
exports.getArray = exports.isLocal = exports.deduplicateUrls = exports.streamToString = exports.parseStream = exports.getEntity = exports.getId = exports.getCollectionNameByUrl = exports.convertEntityToJson = exports.convertJsonToEntity = exports.convertJsonLdToEntity = exports.compressEntity = exports.cleanProps = exports.applyContext = void 0;
|
||||
__exportStar(require("./globals"), exports);
|
||||
var applyContext_1 = require("./applyContext");
|
||||
Object.defineProperty(exports, "applyContext", { enumerable: true, get: function () { return applyContext_1.applyContext; } });
|
||||
|
@ -32,6 +32,8 @@ var getCollectionNameByUrl_1 = require("./getCollectionNameByUrl");
|
|||
Object.defineProperty(exports, "getCollectionNameByUrl", { enumerable: true, get: function () { return getCollectionNameByUrl_1.getCollectionNameByUrl; } });
|
||||
var getId_1 = require("./getId");
|
||||
Object.defineProperty(exports, "getId", { enumerable: true, get: function () { return getId_1.getId; } });
|
||||
var getEntity_1 = require("./getEntity");
|
||||
Object.defineProperty(exports, "getEntity", { enumerable: true, get: function () { return getEntity_1.getEntity; } });
|
||||
var parseStream_1 = require("./parseStream");
|
||||
Object.defineProperty(exports, "parseStream", { enumerable: true, get: function () { return parseStream_1.parseStream; } });
|
||||
var streamToString_1 = require("./streamToString");
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
|
||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,iEAAgE;AAAvD,8HAAA,qBAAqB,OAAA;AAC9B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,6DAA4D;AAAnD,0HAAA,mBAAmB,OAAA;AAC5B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,iCAAgC;AAAvB,8FAAA,KAAK,OAAA;AACd,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAClB,6CAA4C;AAAnC,0GAAA,WAAW,OAAA;AACpB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
|
|
@ -0,0 +1,27 @@
|
|||
import { AP } from '@activity-kit/types';
|
||||
|
||||
export const getEntity = (
|
||||
entity: undefined | null | AP.EntityReference | AP.EntityReference[],
|
||||
): AP.Entity | null => {
|
||||
if (!entity) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (entity instanceof URL) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (Array.isArray(entity)) {
|
||||
if (entity.length === 1) {
|
||||
if (entity[0] instanceof URL) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return entity[0];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
return entity;
|
||||
};
|
|
@ -7,6 +7,7 @@ export { convertJsonToEntity } from './convertJsonToEntity';
|
|||
export { convertEntityToJson } from './convertEntityToJson';
|
||||
export { getCollectionNameByUrl } from './getCollectionNameByUrl';
|
||||
export { getId } from './getId';
|
||||
export { getEntity } from './getEntity';
|
||||
export { parseStream } from './parseStream';
|
||||
export { streamToString } from './streamToString';
|
||||
export { deduplicateUrls } from './deduplicateUrls';
|
||||
|
|
Loading…
Reference in New Issue