Compare commits

...

2 Commits

Author SHA1 Message Date
Michael Puckett 55b9b469df v0.4.56 2023-07-25 11:15:48 -04:00
Michael Puckett cc31d31b41 use strict typescript settings 2023-07-25 11:14:51 -04:00
196 changed files with 1327 additions and 1570 deletions

View File

@ -2,5 +2,5 @@
"$schema": "node_modules/lerna/schemas/lerna-schema.json",
"useNx": true,
"useWorkspaces": true,
"version": "0.4.55"
"version": "0.4.56"
}

74
package-lock.json generated
View File

@ -12002,10 +12002,10 @@
},
"packages/auth-firebase": {
"name": "@activity-kit/auth-firebase",
"version": "0.4.45",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/types": "^0.4.45",
"@activity-kit/types": "^0.4.56",
"firebase": "^9.14.0",
"firebase-admin": "^11.2.0"
},
@ -12019,11 +12019,11 @@
},
"packages/auth-token": {
"name": "@activity-kit/auth-token",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/core": "^0.4.55",
"@activity-kit/types": "^0.4.45"
"@activity-kit/core": "^0.4.56",
"@activity-kit/types": "^0.4.56"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.40.0",
@ -12035,12 +12035,12 @@
},
"packages/core": {
"name": "@activity-kit/core",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/type-utilities": "^0.4.55",
"@activity-kit/types": "^0.4.45",
"@activity-kit/utilities": "^0.4.55",
"@activity-kit/type-utilities": "^0.4.56",
"@activity-kit/types": "^0.4.56",
"@activity-kit/utilities": "^0.4.56",
"isomorphic-fetch": "^3.0.0"
},
"devDependencies": {
@ -12054,10 +12054,10 @@
},
"packages/crypto-node": {
"name": "@activity-kit/crypto-node",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/core": "^0.4.55"
"@activity-kit/core": "^0.4.56"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.40.0",
@ -12069,11 +12069,11 @@
},
"packages/db-mongo": {
"name": "@activity-kit/db-mongo",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/types": "^0.4.45",
"@activity-kit/utilities": "^0.4.55"
"@activity-kit/types": "^0.4.56",
"@activity-kit/utilities": "^0.4.56"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.40.0",
@ -12086,11 +12086,11 @@
},
"packages/db-sqlite": {
"name": "@activity-kit/db-sqlite",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/types": "^0.4.45",
"@activity-kit/utilities": "^0.4.55"
"@activity-kit/types": "^0.4.56",
"@activity-kit/utilities": "^0.4.56"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.40.0",
@ -12103,12 +12103,12 @@
},
"packages/endpoints": {
"name": "@activity-kit/endpoints",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/core": "^0.4.55",
"@activity-kit/types": "^0.4.45",
"@activity-kit/utilities": "^0.4.55",
"@activity-kit/core": "^0.4.56",
"@activity-kit/types": "^0.4.56",
"@activity-kit/utilities": "^0.4.56",
"cheerio": "^1.0.0-rc.12",
"cookie": "^0.5.0",
"formidable": "^2.0.1",
@ -12128,12 +12128,12 @@
},
"packages/express-middleware": {
"name": "@activity-kit/express-middleware",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/endpoints": "^0.4.55",
"@activity-kit/types": "^0.4.45",
"@activity-kit/utilities": "^0.4.55",
"@activity-kit/endpoints": "^0.4.56",
"@activity-kit/types": "^0.4.56",
"@activity-kit/utilities": "^0.4.56",
"express": "^4.18.2",
"path-to-regexp": "^6.2.1"
},
@ -12147,12 +12147,12 @@
},
"packages/plugin-groups": {
"name": "@activity-kit/plugin-groups",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/endpoints": "^0.4.55",
"@activity-kit/types": "^0.4.45",
"@activity-kit/utilities": "^0.4.55",
"@activity-kit/endpoints": "^0.4.56",
"@activity-kit/types": "^0.4.56",
"@activity-kit/utilities": "^0.4.56",
"cheerio": "^1.0.0-rc.12",
"jsdom": "^21.1.0",
"path-to-regexp": "^6.2.1"
@ -12214,10 +12214,10 @@
},
"packages/storage-ftp": {
"name": "@activity-kit/storage-ftp",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/core": "^0.4.55",
"@activity-kit/core": "^0.4.56",
"@activity-kit/type-utilities": "0.4.45",
"ftp": "^0.3.10"
},
@ -12241,10 +12241,10 @@
},
"packages/type-utilities": {
"name": "@activity-kit/type-utilities",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/types": "^0.4.45"
"@activity-kit/types": "^0.4.56"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.40.0",
@ -12256,7 +12256,7 @@
},
"packages/types": {
"name": "@activity-kit/types",
"version": "0.4.45",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"formidable": "^2.1.1"
@ -12272,11 +12272,11 @@
},
"packages/utilities": {
"name": "@activity-kit/utilities",
"version": "0.4.55",
"version": "0.4.56",
"license": "MIT",
"dependencies": {
"@activity-kit/type-utilities": "^0.4.55",
"@activity-kit/types": "^0.4.45",
"@activity-kit/type-utilities": "^0.4.56",
"@activity-kit/types": "^0.4.56",
"jsonld": "^8.1.0"
},
"devDependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "@activity-kit/auth-firebase",
"version": "0.4.45",
"version": "0.4.56",
"description": "> TODO: description",
"author": "Michael Puckett <michaelcpuckett@gmail.com>",
"homepage": "https://github.com/michaelcpuckett/activitypub-core#readme",
@ -28,7 +28,7 @@
"lint": "eslint src/**/*.ts"
},
"dependencies": {
"@activity-kit/types": "^0.4.45",
"@activity-kit/types": "^0.4.56",
"firebase": "^9.14.0",
"firebase-admin": "^11.2.0"
},

View File

@ -1,5 +1,6 @@
{
"compilerOptions": {
"strict": true,
"module": "commonjs",
"declaration": true,
"noImplicitAny": false,

View File

@ -1,6 +1,6 @@
{
"name": "@activity-kit/auth-token",
"version": "0.4.55",
"version": "0.4.56",
"description": "> TODO: description",
"author": "Michael Puckett <michaelcpuckett@gmail.com>",
"homepage": "https://github.com/michaelcpuckett/activitypub-core#readme",
@ -25,8 +25,8 @@
"lint": "eslint src/**/*.ts"
},
"dependencies": {
"@activity-kit/core": "^0.4.55",
"@activity-kit/types": "^0.4.45"
"@activity-kit/core": "^0.4.56",
"@activity-kit/types": "^0.4.56"
},
"bugs": {
"url": "https://github.com/michaelcpuckett/activitypub-core/issues"

View File

@ -1,5 +1,6 @@
{
"compilerOptions": {
"strict": true,
"module": "commonjs",
"declaration": true,
"noImplicitAny": false,

View File

@ -24,7 +24,9 @@ async function fetchEntityById(id) {
preferredUsername: 'bot',
});
type_utilities_1.assert.isApActor(actor);
const { dateHeader, signatureHeader } = await this.getHttpSignature(id, actor.id, await this.getPrivateKey(actor));
const actorId = (0, utilities_1.getId)(actor);
type_utilities_1.assert.exists(actorId);
const { dateHeader, signatureHeader } = await this.getHttpSignature(id, actorId, await this.getPrivateKey(actor));
const controller = new AbortController();
const timeout = setTimeout(() => controller.abort(), 1250);
const fetchedEntity = await this.fetch(id.toString(), {
@ -61,9 +63,14 @@ async function fetchEntityById(id) {
return null;
});
if (fetchedEntity) {
const entity = (0, utilities_1.compressEntity)((0, utilities_1.convertJsonToEntity)(fetchedEntity));
await this.saveEntity(entity);
return entity;
const convertedEntity = (0, utilities_1.convertJsonToEntity)(fetchedEntity);
if (convertedEntity) {
const entity = (0, utilities_1.compressEntity)(convertedEntity);
if (entity) {
await this.saveEntity(entity);
return entity;
}
}
}
return null;
}

View File

@ -1 +1 @@
{"version":3,"file":"fetchEntityById.js","sourceRoot":"","sources":["../src/fetchEntityById.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"fetchEntityById.js","sourceRoot":"","sources":["../src/fetchEntityById.ts"],"names":[],"mappings":"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"}

View File

@ -45,7 +45,7 @@ export declare class Core implements CoreLibrary {
findEntityById: typeof findEntityById;
getActorByUserId: typeof getActorByUserId;
getPrivateKey: typeof getPrivateKey;
getStreamByName: (this: Core, actor: import("@activity-kit/types").Actor, name: string) => Promise<import("@activity-kit/types").EitherCollection>;
getStreamByName: (this: Core, actor: import("@activity-kit/types").Actor, name: string) => Promise<import("@activity-kit/types").EitherCollection | null>;
fetchEntityById: typeof fetchEntityById;
queryById: typeof queryById;
expandEntity: typeof expandEntity;

View File

@ -33,7 +33,7 @@ async function queryById(id) {
}
const fetchedEntity = await this.fetchEntityById(id);
if (!fetchedEntity ||
type_utilities_1.guard.isType(fetchedEntity, AP.ExtendedObjectTypes.TOMBSTONE)) {
type_utilities_1.guard.isApType(fetchedEntity, AP.ExtendedObjectTypes.TOMBSTONE)) {
return this.findEntityById(id);
}
return fetchedEntity;

View File

@ -1 +1 @@
{"version":3,"file":"queryById.js","sourceRoot":"","sources":["../src/queryById.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAqD;AACrD,uDAAkD;AAE3C,KAAK,UAAU,SAAS,CAE7B,EAAO;IAEP,IAAI,IAAA,mBAAO,EAAC,EAAE,CAAC,EAAE;QACf,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KACtC;IAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAErD,IACE,CAAC,aAAa;QACd,sBAAK,CAAC,MAAM,CAAe,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAC3E;QACA,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KAChC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAlBD,8BAkBC"}
{"version":3,"file":"queryById.js","sourceRoot":"","sources":["../src/queryById.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAqD;AACrD,uDAAkD;AAE3C,KAAK,UAAU,SAAS,CAE7B,EAAO;IAEP,IAAI,IAAA,mBAAO,EAAC,EAAE,CAAC,EAAE;QACf,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KACtC;IAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAErD,IACE,CAAC,aAAa;QACd,sBAAK,CAAC,QAAQ,CACZ,aAAa,EACb,EAAE,CAAC,mBAAmB,CAAC,SAAS,CACjC,EACD;QACA,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;KAChC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AArBD,8BAqBC"}

View File

@ -1,6 +1,6 @@
{
"name": "@activity-kit/core",
"version": "0.4.55",
"version": "0.4.56",
"description": "> TODO: description",
"author": "Michael Puckett <michaelcpuckett@gmail.com>",
"homepage": "https://github.com/michaelcpuckett/activitypub-core#readme",
@ -28,9 +28,9 @@
"url": "https://github.com/michaelcpuckett/activitypub-core/issues"
},
"dependencies": {
"@activity-kit/type-utilities": "^0.4.55",
"@activity-kit/types": "^0.4.45",
"@activity-kit/utilities": "^0.4.55",
"@activity-kit/type-utilities": "^0.4.56",
"@activity-kit/types": "^0.4.56",
"@activity-kit/utilities": "^0.4.56",
"isomorphic-fetch": "^3.0.0"
},
"devDependencies": {

View File

@ -8,6 +8,7 @@ import {
compressEntity,
LINKED_DATA_CONTENT_TYPE,
JSON_CONTENT_TYPE,
getId,
} from '@activity-kit/utilities';
export async function fetchEntityById(
@ -43,9 +44,13 @@ export async function fetchEntityById(
assert.isApActor(actor);
const actorId = getId(actor);
assert.exists(actorId);
const { dateHeader, signatureHeader } = await this.getHttpSignature(
id,
actor.id,
actorId,
await this.getPrivateKey(actor),
);
@ -54,7 +59,7 @@ export async function fetchEntityById(
// GET requests (eg. to th e inbox) MUST be made with an Accept header of
// `application/ld+json; profile="https://www.w3.org/ns/activitystreams"`
const fetchedEntity: Record<string, unknown> = await this.fetch(
const fetchedEntity: Record<string, unknown> | null = await this.fetch(
id.toString(),
{
signal: controller.signal,
@ -94,9 +99,16 @@ export async function fetchEntityById(
});
if (fetchedEntity) {
const entity = compressEntity(convertJsonToEntity(fetchedEntity));
await this.saveEntity(entity);
return entity;
const convertedEntity = convertJsonToEntity(fetchedEntity);
if (convertedEntity) {
const entity = compressEntity(convertedEntity);
if (entity) {
await this.saveEntity(entity);
return entity;
}
}
}
return null;

View File

@ -15,7 +15,10 @@ export async function queryById(
if (
!fetchedEntity ||
guard.isType<AP.Tombstone>(fetchedEntity, AP.ExtendedObjectTypes.TOMBSTONE)
guard.isApType<AP.Tombstone>(
fetchedEntity,
AP.ExtendedObjectTypes.TOMBSTONE,
)
) {
return this.findEntityById(id);
}

View File

@ -1,5 +1,6 @@
{
"compilerOptions": {
"strict": true,
"module": "commonjs",
"declaration": true,
"noImplicitAny": false,

View File

@ -1,6 +1,6 @@
{
"name": "@activity-kit/crypto-node",
"version": "0.4.55",
"version": "0.4.56",
"description": "> TODO: description",
"author": "Michael Puckett <michaelcpuckett@gmail.com>",
"homepage": "https://github.com/michaelcpuckett/activitypub-core#readme",
@ -25,7 +25,7 @@
"lint": "eslint src/**/*.ts"
},
"dependencies": {
"@activity-kit/core": "^0.4.55"
"@activity-kit/core": "^0.4.56"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.40.0",

View File

@ -1,5 +1,6 @@
{
"compilerOptions": {
"strict": true,
"module": "commonjs",
"declaration": true,
"noImplicitAny": false,

View File

@ -1 +1 @@
{"version":3,"file":"findOne.js","sourceRoot":"","sources":["../src/findOne.ts"],"names":[],"mappings":";;;AAEA,6CAA+C;AAC/C,uDAA8D;AAC9D,qCAA6B;AAEtB,KAAK,UAAU,OAAO,CAE3B,UAAkB,EAClB,cAAuC,EACvC,OAAuC;IAEvC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,YAAE,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KAClC;IAED,IAAI,KAAK,GAA4B,IAAI,CAAC;IAE1C,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAS,CAAC,gBAAgB,CAAC,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,UAAU,CAAC,UAAU,CAAC;aACtB,IAAI,CAAC,cAAc,CAAC;aACpB,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAEvC,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;SACpB;KACF;IAED,IAAI,CAAC,KAAK,EAAE;QACV,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KACtE;IAED,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC,GAAG,CAAC;IAEjB,OAAO,IAAA,+BAAmB,EAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAnCD,0BAmCC"}
{"version":3,"file":"findOne.js","sourceRoot":"","sources":["../src/findOne.ts"],"names":[],"mappings":";;;AAEA,6CAA+C;AAC/C,uDAA8D;AAC9D,qCAA6B;AAEtB,KAAK,UAAU,OAAO,CAE3B,UAAkB,EAClB,cAAuC,EACvC,OAAuC;IAEvC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,YAAY,YAAE,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;KAClC;IAED,IAAI,KAAK,GAAmC,IAAI,CAAC;IAEjD,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,gBAAS,CAAC,gBAAgB,CAAC,EAAE;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,UAAU,CAAC,UAAU,CAAC;aACtB,IAAI,CAAC,cAAc,CAAC;aACpB,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QAEvC,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;SACpB;KACF;IAED,IAAI,CAAC,KAAK,EAAE;QACV,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;KACtE;IAED,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC,GAAG,CAAC;IAEjB,OAAO,IAAA,+BAAmB,EAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAnCD,0BAmCC"}

View File

@ -1,6 +1,6 @@
{
"name": "@activity-kit/db-mongo",
"version": "0.4.55",
"version": "0.4.56",
"description": "> TODO: description",
"author": "Michael Puckett <michaelcpuckett@gmail.com>",
"homepage": "https://github.com/michaelcpuckett/activitypub-core#readme",
@ -28,8 +28,8 @@
"url": "https://github.com/michaelcpuckett/activitypub-core/issues"
},
"dependencies": {
"@activity-kit/types": "^0.4.45",
"@activity-kit/utilities": "^0.4.55"
"@activity-kit/types": "^0.4.56",
"@activity-kit/utilities": "^0.4.56"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.40.0",

View File

@ -14,7 +14,7 @@ export async function findOne(
throw new Error('Bad database.');
}
let value: Record<string, unknown> = null;
let value: Record<string, unknown> | null = null;
if (options && options.includes(DbOptions.CASE_INSENSITIVE)) {
const cursor = this.db

View File

@ -1,5 +1,6 @@
{
"compilerOptions": {
"strict": true,
"module": "commonjs",
"declaration": true,
"noImplicitAny": false,

View File

@ -1,6 +1,6 @@
{
"name": "@activity-kit/db-sqlite",
"version": "0.4.55",
"version": "0.4.56",
"description": "> TODO: description",
"author": "Michael Puckett <michaelcpuckett@gmail.com>",
"homepage": "https://github.com/michaelcpuckett/activitypub-core#readme",
@ -28,8 +28,8 @@
"url": "https://github.com/michaelcpuckett/activitypub-core/issues"
},
"dependencies": {
"@activity-kit/types": "^0.4.45",
"@activity-kit/utilities": "^0.4.55"
"@activity-kit/types": "^0.4.56",
"@activity-kit/utilities": "^0.4.56"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.40.0",

View File

@ -1,5 +1,6 @@
{
"compilerOptions": {
"strict": true,
"module": "commonjs",
"declaration": true,
"noImplicitAny": false,

View File

@ -45,7 +45,7 @@ async function respond(render) {
type_utilities_1.assert.isApCollection(entity);
const totalItems = Number(entity.totalItems);
const lastPageIndex = Math.max(1, Math.ceil(totalItems / ITEMS_PER_COLLECTION_PAGE));
const isOrderedCollection = type_utilities_1.guard.isType(entity, AP.CollectionTypes.ORDERED_COLLECTION);
const isOrderedCollection = type_utilities_1.guard.isApType(entity, 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;

View File

@ -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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"}

View File

@ -1,44 +1,16 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.broadcastActivity = void 0;
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function broadcastActivity() {
if (!this.activity) {
throw new Error('No activity.');
}
type_utilities_1.assert.isApActivity(this.activity);
const botActor = await this.core.findOne('entity', {
preferredUsername: utilities_1.SERVER_ACTOR_USERNAME,
});
type_utilities_1.assert.isApActor(botActor);
if (await this.shouldForwardActivity()) {
if (type_utilities_1.guard.isTypeOf(this.activity, AP.ActivityTypes)) {
await this.core.broadcast(this.activity, botActor);
}
await this.core.broadcast(this.activity, botActor);
}
}
exports.broadcastActivity = broadcastActivity;

View File

@ -1 +1 @@
{"version":3,"file":"broadcastActivity.js","sourceRoot":"","sources":["../../src/inbox/broadcastActivity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,iEAA6D;AAC7D,uDAAgE;AAGzD,KAAK,UAAU,iBAAiB;IACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;KACjC;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QACjD,iBAAiB,EAAE,iCAAqB;KACzC,CAAC,CAAC;IAEH,uBAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE3B,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE;QACtC,IAAI,sBAAK,CAAC,QAAQ,CAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE;YAChE,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SACpD;KACF;AACH,CAAC;AAhBD,8CAgBC"}
{"version":3,"file":"broadcastActivity.js","sourceRoot":"","sources":["../../src/inbox/broadcastActivity.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AACtD,uDAAgE;AAGzD,KAAK,UAAU,iBAAiB;IACrC,uBAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QACjD,iBAAiB,EAAE,iCAAqB;KACzC,CAAC,CAAC;IAEH,uBAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE3B,IAAI,MAAM,IAAI,CAAC,qBAAqB,EAAE,EAAE;QACtC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACpD;AACH,CAAC;AAZD,8CAYC"}

View File

@ -1,11 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getActors = void 0;
const utilities_1 = require("@activity-kit/utilities");
async function getActors() {
const url = `${utilities_1.LOCAL_DOMAIN}${this.req.url}`;
const actor = await this.core.findOne('entity', {
inbox: url,
inbox: this.url.href,
});
if (!actor || !actor.id || !('inbox' in actor)) {
throw new Error('No actor with this inbox.');

View File

@ -1 +1 @@
{"version":3,"file":"getActors.js","sourceRoot":"","sources":["../../src/inbox/getActors.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AAGhD,KAAK,UAAU,SAAS;IAC7B,MAAM,GAAG,GAAG,GAAG,wBAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC9C,KAAK,EAAE,GAAG;KACX,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAC9C;IAED,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAXD,8BAWC"}
{"version":3,"file":"getActors.js","sourceRoot":"","sources":["../../src/inbox/getActors.ts"],"names":[],"mappings":";;;AAEO,KAAK,UAAU,SAAS;IAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC9C,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;KACrB,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,EAAE;QAC9C,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAC9C;IAED,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAVD,8BAUC"}

View File

@ -1,7 +1,6 @@
/// <reference types="node" />
import * as AP from '@activity-kit/types';
import { CoreLibrary, Plugin, Routes } from '@activity-kit/core';
import type { IncomingMessage, ServerResponse } from 'http';
import { getActors } from './getActors';
import { parseBody } from './parseBody';
import { respond } from './respond';
@ -15,13 +14,17 @@ import { handleCreate } from './sideEffects/create';
import { shouldForwardActivity } from './shouldForwardActivity';
import { broadcastActivity } from './broadcastActivity';
export declare class InboxPostEndpoint {
readonly core: CoreLibrary;
activity: AP.Activity;
url: URL;
routes: Routes;
req: IncomingMessage;
res: ServerResponse;
core: CoreLibrary;
plugins?: Plugin[];
activity: AP.Entity | null;
constructor(routes: Routes, req: IncomingMessage, res: ServerResponse, core: CoreLibrary, plugins?: Plugin[]);
constructor(core: CoreLibrary, options: {
body: Record<string, unknown>;
url: URL;
routes: Routes;
plugins?: Plugin[];
});
protected getActors: typeof getActors;
protected runSideEffects: typeof runSideEffects;
protected parseBody: typeof parseBody;

View File

@ -1,6 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.InboxPostEndpoint = void 0;
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
const getActors_1 = require("./getActors");
const parseBody_1 = require("./parseBody");
const respond_1 = require("./respond");
@ -14,18 +16,21 @@ const create_1 = require("./sideEffects/create");
const shouldForwardActivity_1 = require("./shouldForwardActivity");
const broadcastActivity_1 = require("./broadcastActivity");
class InboxPostEndpoint {
routes;
req;
res;
core;
activity;
url;
routes;
plugins;
activity = null;
constructor(routes, req, res, core, plugins) {
this.routes = routes;
this.req = req;
this.res = res;
constructor(core, options) {
this.core = core;
this.plugins = plugins;
const activity = type_utilities_1.cast.isApActivity((0, utilities_1.convertJsonToEntity)(options.body));
if (!activity) {
throw new Error('Body must be an Activity.');
}
this.activity = activity;
this.url = options.url;
this.routes = options.routes;
this.plugins = [];
}
getActors = getActors_1.getActors;
runSideEffects = runSideEffects_1.runSideEffects;

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/inbox/index.ts"],"names":[],"mappings":";;;AAGA,2CAAwC;AACxC,2CAAwC;AACxC,uCAAoC;AACpC,2CAAwC;AACxC,qDAAkD;AAClD,iDAAoD;AACpD,qDAAwD;AACxD,iDAAoD;AACpD,6CAAgD;AAChD,iDAAoD;AACpD,mEAAgE;AAChE,2DAAwD;AAExD,MAAa,iBAAiB;IAC5B,MAAM,CAAS;IACf,GAAG,CAAkB;IACrB,GAAG,CAAiB;IACpB,IAAI,CAAc;IAClB,OAAO,CAAY;IACnB,QAAQ,GAAqB,IAAI,CAAC;IAElC,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;IAES,SAAS,GAAG,qBAAS,CAAC;IACtB,cAAc,GAAG,+BAAc,CAAC;IAChC,SAAS,GAAG,qBAAS,CAAC;IACtB,iBAAiB,GAAG,qCAAiB,CAAC;IACtC,qBAAqB,GAAG,6CAAqB,CAAC;IAE9C,YAAY,GAAG,qBAAY,CAAC;IAC5B,YAAY,GAAG,qBAAY,CAAC;IAC5B,cAAc,GAAG,yBAAc,CAAC;IAChC,YAAY,GAAG,qBAAY,CAAC;IAC5B,UAAU,GAAG,iBAAU,CAAC;IAExB,SAAS,GAAG,qBAAS,CAAC;IAEzB,OAAO,GAAG,iBAAO,CAAC;CAC1B;AArCD,8CAqCC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/inbox/index.ts"],"names":[],"mappings":";;;AACA,iEAAoD;AACpD,uDAA8D;AAG9D,2CAAwC;AACxC,2CAAwC;AACxC,uCAAoC;AACpC,2CAAwC;AACxC,qDAAkD;AAClD,iDAAoD;AACpD,qDAAwD;AACxD,iDAAoD;AACpD,6CAAgD;AAChD,iDAAoD;AACpD,mEAAgE;AAChE,2DAAwD;AAExD,MAAa,iBAAiB;IAOjB;IANX,QAAQ,CAAc;IACtB,GAAG,CAAM;IACT,MAAM,CAAS;IACf,OAAO,CAAY;IAEnB,YACW,IAAiB,EAC1B,OAKC;QANQ,SAAI,GAAJ,IAAI,CAAa;QAQ1B,MAAM,QAAQ,GAAG,qBAAI,CAAC,YAAY,CAAC,IAAA,+BAAmB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAES,SAAS,GAAG,qBAAS,CAAC;IACtB,cAAc,GAAG,+BAAc,CAAC;IAChC,SAAS,GAAG,qBAAS,CAAC;IACtB,iBAAiB,GAAG,qCAAiB,CAAC;IACtC,qBAAqB,GAAG,6CAAqB,CAAC;IAE9C,YAAY,GAAG,qBAAY,CAAC;IAC5B,YAAY,GAAG,qBAAY,CAAC;IAC5B,cAAc,GAAG,yBAAc,CAAC;IAChC,YAAY,GAAG,qBAAY,CAAC;IAC5B,UAAU,GAAG,iBAAU,CAAC;IAExB,SAAS,GAAG,qBAAS,CAAC;IAEzB,OAAO,GAAG,iBAAO,CAAC;CAC1B;AA1CD,8CA0CC"}

View File

@ -1,2 +1,4 @@
import { InboxPostEndpoint } from '.';
export declare function respond(this: InboxPostEndpoint): Promise<void>;
export declare function respond(this: InboxPostEndpoint): Promise<{
statusCode: number;
}>;

View File

@ -4,17 +4,17 @@ exports.respond = void 0;
const utilities_1 = require("@activity-kit/utilities");
const type_utilities_1 = require("@activity-kit/type-utilities");
async function respond() {
await this.parseBody();
type_utilities_1.assert.exists(this.activity);
const activityId = (0, utilities_1.getId)(this.activity);
if (activityId) {
const existingActivity = await this.core.findEntityById(activityId);
if (existingActivity) {
console.log('We have already received this activity. Assuming it was forwarded by another server.');
this.res.statusCode = 200;
this.res.end();
return;
}
if (!activityId) {
throw new Error('Activities without an ID are not supported yet.');
}
const existingActivity = await this.core.findEntityById(activityId);
if (existingActivity) {
console.log('We have already received this activity. Assuming it was forwarded by another server.');
return {
statusCode: 200,
};
}
for (const actor of await this.getActors()) {
const isBlocked = await this.isBlocked(actor);
@ -22,13 +22,16 @@ async function respond() {
console.log('Blocked from appearing in this inbox.');
continue;
}
await this.core.insertOrderedItem((0, utilities_1.getId)(actor.inbox), activityId);
const actorInboxId = (0, utilities_1.getId)(actor.inbox);
type_utilities_1.assert.exists(actorInboxId);
await this.core.insertOrderedItem(actorInboxId, activityId);
await this.runSideEffects(actor);
}
await this.core.saveEntity(this.activity);
await this.broadcastActivity();
this.res.statusCode = 200;
this.res.end();
return {
statusCode: 200,
};
}
exports.respond = respond;
//# sourceMappingURL=respond.js.map

View File

@ -1 +1 @@
{"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/inbox/respond.ts"],"names":[],"mappings":";;;AACA,uDAAgD;AAChD,iEAAsD;AAE/C,KAAK,UAAU,OAAO;IAC3B,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;IAEvB,uBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE7B,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,UAAU,EAAE;QACd,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAEpE,IAAI,gBAAgB,EAAE;YACpB,OAAO,CAAC,GAAG,CACT,sFAAsF,CACvF,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACf,OAAO;SACR;KACF;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,SAAS;SACV;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAA,iBAAK,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAC;QAElE,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAClC;IAED,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAE/B,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;IAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;AACjB,CAAC;AAtCD,0BAsCC"}
{"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/inbox/respond.ts"],"names":[],"mappings":";;;AACA,uDAAgD;AAChD,iEAAsD;AAE/C,KAAK,UAAU,OAAO;IAC3B,uBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE7B,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;KACpE;IAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAEpE,IAAI,gBAAgB,EAAE;QACpB,OAAO,CAAC,GAAG,CACT,sFAAsF,CACvF,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,GAAG;SAChB,CAAC;KACH;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,CAAC,SAAS,EAAE,EAAE;QAC1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;YACrD,SAAS;SACV;QAED,MAAM,YAAY,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAExC,uBAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE5B,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAClC;IAED,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAE/B,OAAO;QACL,UAAU,EAAE,GAAG;KAChB,CAAC;AACJ,CAAC;AA5CD,0BA4CC"}

View File

@ -27,35 +27,20 @@ exports.runSideEffects = void 0;
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
async function runSideEffects(recipient) {
for (const plugin of this.plugins) {
if (plugin.handleInboxSideEffect) {
try {
await plugin.handleInboxSideEffect.call(this, this.activity, recipient);
}
catch (error) {
console.log(error);
}
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.CREATE)) {
await this.handleCreate(this.activity, recipient);
}
try {
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.CREATE)) {
await this.handleCreate(this.activity, recipient);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.FOLLOW)) {
await this.handleFollow(this.activity, recipient);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.ACCEPT)) {
await this.handleAccept(this.activity, recipient);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.LIKE)) {
await this.handleLike(this.activity, recipient);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.ANNOUNCE)) {
await this.handleAnnounce(this.activity, recipient);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.FOLLOW)) {
await this.handleFollow(this.activity, recipient);
}
catch (error) {
console.log(error);
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.ACCEPT)) {
await this.handleAccept(this.activity, recipient);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.LIKE)) {
await this.handleLike(this.activity, recipient);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.ANNOUNCE)) {
await this.handleAnnounce(this.activity, recipient);
}
}
exports.runSideEffects = runSideEffects;

View File

@ -1 +1 @@
{"version":3,"file":"runSideEffects.js","sourceRoot":"","sources":["../../src/inbox/runSideEffects.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAqD;AAE9C,KAAK,UAAU,cAAc,CAElC,SAAmB;IAEnB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;QACjC,IAAI,MAAM,CAAC,qBAAqB,EAAE;YAChC,IAAI;gBACF,MAAM,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;aACzE;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aACpB;SACF;KACF;IAED,IAAI;QACF,IAAI,sBAAK,CAAC,MAAM,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACnE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SACnD;QAED,IAAI,sBAAK,CAAC,MAAM,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACnE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SACnD;QAED,IAAI,sBAAK,CAAC,MAAM,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YACnE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SACnD;QAED,IAAI,sBAAK,CAAC,MAAM,CAAU,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;YAC/D,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SACjD;QAED,IAAI,sBAAK,CAAC,MAAM,CAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;YACvE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;SACrD;KACF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AArCD,wCAqCC"}
{"version":3,"file":"runSideEffects.js","sourceRoot":"","sources":["../../src/inbox/runSideEffects.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAqD;AAE9C,KAAK,UAAU,cAAc,CAElC,SAAmB;IAEnB,IAAI,sBAAK,CAAC,QAAQ,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACrE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KACnD;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACrE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KACnD;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACrE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KACnD;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;QACjE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KACjD;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACzE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KACrD;AACH,CAAC;AAvBD,wCAuBC"}

View File

@ -1,2 +1,2 @@
import { InboxPostEndpoint } from '.';
export declare function shouldForwardActivity(this: InboxPostEndpoint): Promise<boolean>;
export declare function shouldForwardActivity(this: InboxPostEndpoint): Promise<boolean | undefined>;

View File

@ -48,8 +48,8 @@ async function shouldForwardActivity() {
if (!foundItem) {
continue;
}
if (type_utilities_1.guard.isType(foundItem, AP.CollectionTypes.COLLECTION) ||
type_utilities_1.guard.isType(foundItem, AP.CollectionTypes.ORDERED_COLLECTION)) {
if (type_utilities_1.guard.isApType(foundItem, AP.CollectionTypes.COLLECTION) ||
type_utilities_1.guard.isApType(foundItem, AP.CollectionTypes.ORDERED_COLLECTION)) {
return true;
}
}

View File

@ -1 +1 @@
{"version":3,"file":"shouldForwardActivity.js","sourceRoot":"","sources":["../../src/inbox/shouldForwardActivity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,iEAAqD;AACrD,uDAA0D;AAKnD,KAAK,UAAU,qBAAqB;IACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClB,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,sBAAK,CAAC,QAAQ,CAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE;QACjE,OAAO,KAAK,CAAC;KACd;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAuB,CAAC;IAE9C,MAAM,EAAE,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;IAE/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,WAAW,EAAE;YAChB,SAAS;SACV;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE9D,IAAI,CAAC,SAAS,EAAE;YACd,SAAS;SACV;QAED,IACE,sBAAK,CAAC,MAAM,CAAgB,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;YACrE,sBAAK,CAAC,MAAM,CACV,SAAS,EACT,EAAE,CAAC,eAAe,CAAC,kBAAkB,CACtC,EACD;YACA,OAAO,IAAI,CAAC;SACb;KACF;IAED,MAAM,SAAS,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,MAAM,GACV,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,MAAM,GACV,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,GAAG,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IAE7D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,EAAE;YACb,SAAS;SACV;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,CAAC,SAAS,EAAE;YACd,SAAS;SACV;QAED,IAAI,SAAS,EAAE;YACb,OAAO,IAAI,CAAC;SACb;KACF;AACH,CAAC;AAnED,sDAmEC"}
{"version":3,"file":"shouldForwardActivity.js","sourceRoot":"","sources":["../../src/inbox/shouldForwardActivity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,iEAAqD;AACrD,uDAA0D;AAKnD,KAAK,UAAU,qBAAqB;IACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;QAClB,OAAO,KAAK,CAAC;KACd;IAED,IAAI,CAAC,sBAAK,CAAC,QAAQ,CAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE;QACjE,OAAO,KAAK,CAAC;KACd;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAuB,CAAC;IAE9C,MAAM,EAAE,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEjE,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC;IAE/C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;QAClC,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,WAAW,EAAE;YAChB,SAAS;SACV;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE9D,IAAI,CAAC,SAAS,EAAE;YACd,SAAS;SACV;QAED,IACE,sBAAK,CAAC,QAAQ,CAAgB,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;YACvE,sBAAK,CAAC,QAAQ,CACZ,SAAS,EACT,EAAE,CAAC,eAAe,CAAC,kBAAkB,CACtC,EACD;YACA,OAAO,IAAI,CAAC;SACb;KACF;IAED,MAAM,SAAS,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,SAAS,CAAC,CAAC;IACnE,MAAM,MAAM,GACV,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,MAAM,GACV,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,GAAG,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,GAAG,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;IAE7D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,EAAE;YACb,SAAS;SACV;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,CAAC,SAAS,EAAE;YACd,SAAS;SACV;QAED,IAAI,SAAS,EAAE;YACb,OAAO,IAAI,CAAC;SACb;KACF;AACH,CAAC;AAnED,sDAmEC"}

View File

@ -1,3 +1,3 @@
import * as AP from '@activity-kit/types';
import { InboxPostEndpoint } from '..';
export declare function handleAccept(this: InboxPostEndpoint, activity: AP.Entity, recipient: AP.Actor): Promise<void>;
export declare function handleAccept(this: InboxPostEndpoint, activity: AP.Accept, recipient: AP.Actor): Promise<void>;

View File

@ -24,23 +24,22 @@ var __importStar = (this && this.__importStar) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleAccept = void 0;
const type_utilities_1 = require("@activity-kit/type-utilities");
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleAccept(activity, recipient) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.ACCEPT);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const object = await this.core.queryById(objectId);
type_utilities_1.assert.isApEntity(object);
if (!type_utilities_1.guard.isType(object, AP.ActivityTypes.FOLLOW)) {
if (!type_utilities_1.guard.isApType(object, AP.ActivityTypes.FOLLOW)) {
return;
}
const followActivity = object;
type_utilities_1.assert.isApType(followActivity, AP.ActivityTypes.FOLLOW);
const followerId = (0, utilities_1.getId)(followActivity.actor);
type_utilities_1.assert.exists(followerId);
if (followerId.toString() !== (0, utilities_1.getId)(recipient)?.toString()) {
if (followerId.href !== (0, utilities_1.getId)(recipient)?.href) {
return;
}
const follower = await this.core.queryById(followerId);
@ -55,15 +54,19 @@ async function handleAccept(activity, recipient) {
type_utilities_1.assert.isApType(following, AP.CollectionTypes.COLLECTION);
type_utilities_1.assert.isArray(following.items);
if (following.items
.map((item) => (0, utilities_1.getId)(item)?.toString())
.includes(followeeId.toString())) {
.map((item) => (0, utilities_1.getId)(item)?.href)
.includes(followeeId.href)) {
console.log('Already following.');
return;
}
await this.core.insertItem(followingId, followeeId);
const requests = await this.core.getStreamByName(follower, 'Requests');
type_utilities_1.assert.exists(requests);
const requestsId = (0, utilities_1.getId)(requests);
await this.core.removeItem(requestsId, (0, utilities_1.getId)(followActivity));
type_utilities_1.assert.exists(requestsId);
const followActivityId = (0, utilities_1.getId)(followActivity);
type_utilities_1.assert.exists(followActivityId);
await this.core.removeItem(requestsId, followActivityId);
}
exports.handleAccept = handleAccept;
//# sourceMappingURL=accept.js.map

View File

@ -1 +1 @@
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/inbox/sideEffects/accept.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAA6D;AAC7D,wDAA0C;AAC1C,uDAAgD;AAIzC,KAAK,UAAU,YAAY,CAEhC,QAAmB,EACnB,SAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAY,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,IAAI,CAAC,sBAAK,CAAC,MAAM,CAAY,MAAM,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QAC7D,OAAO;KACR;IAED,MAAM,cAAc,GAAG,MAAM,CAAC;IAE9B,uBAAM,CAAC,QAAQ,CAAY,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAE/C,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,IAAI,UAAU,CAAC,QAAQ,EAAE,KAAK,IAAA,iBAAK,EAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;QAE1D,OAAO;KACR;IAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEvD,uBAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAEhD,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEvD,uBAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE3B,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE9C,uBAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEzD,uBAAM,CAAC,QAAQ,CAAgB,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IACzE,uBAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAGhC,IACE,SAAS,CAAC,KAAK;SACZ,GAAG,CAAC,CAAC,IAAwB,EAAE,EAAE,CAAC,IAAA,iBAAK,EAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;SAC1D,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,EAClC;QACA,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,OAAO;KACR;IAED,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAEpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAA,iBAAK,EAAC,cAAc,CAAC,CAAC,CAAC;AAChE,CAAC;AArED,oCAqEC"}
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/inbox/sideEffects/accept.ts"],"names":[],"mappings":"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"}

View File

@ -1,3 +1,3 @@
import * as AP from '@activity-kit/types';
import { InboxPostEndpoint } from '..';
export declare function handleAnnounce(this: InboxPostEndpoint, activity: AP.Entity, recipient: AP.Actor): Promise<void>;
export declare function handleAnnounce(this: InboxPostEndpoint, activity: AP.Announce, recipient: AP.Actor): Promise<void>;

View File

@ -24,33 +24,31 @@ var __importStar = (this && this.__importStar) || function (mod) {
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleAnnounce = void 0;
const type_utilities_1 = require("@activity-kit/type-utilities");
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleAnnounce(activity, recipient) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.ANNOUNCE);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const object = await this.core.findEntityById(objectId);
try {
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const object = await this.core.findEntityById(objectId);
type_utilities_1.assert.isApExtendedObject(object);
const sharesId = (0, utilities_1.getId)(object.shares);
type_utilities_1.assert.exists(sharesId);
const shares = await this.core.findEntityById(sharesId);
type_utilities_1.assert.isApCollection(shares);
const attributedToId = (0, utilities_1.getId)(shares.attributedTo);
type_utilities_1.assert.exists(attributedToId);
if (attributedToId.toString() !== (0, utilities_1.getId)(recipient)?.toString()) {
if (attributedToId.href !== (0, utilities_1.getId)(recipient)?.href) {
return;
}
if (Array.isArray(shares.type)
? shares.type.includes(AP.CollectionTypes.COLLECTION)
: shares.type === AP.CollectionTypes.COLLECTION) {
await this.core.insertItem(sharesId, activity.id);
const activityId = (0, utilities_1.getId)(activity);
type_utilities_1.assert.exists(activityId);
if (type_utilities_1.guard.isApType(shares, AP.CollectionTypes.ORDERED_COLLECTION)) {
await this.core.insertOrderedItem(sharesId, activityId);
}
else if (Array.isArray(shares.type)
? shares.type.includes(AP.CollectionTypes.ORDERED_COLLECTION)
: shares.type === AP.CollectionTypes.ORDERED_COLLECTION) {
await this.core.insertOrderedItem(sharesId, activity.id);
else {
await this.core.insertItem(sharesId, activityId);
}
}
catch (error) {

View File

@ -1 +1 @@
{"version":3,"file":"announce.js","sourceRoot":"","sources":["../../../src/inbox/sideEffects/announce.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iEAAsD;AACtD,wDAA0C;AAC1C,uDAAgD;AAIzC,KAAK,UAAU,cAAc,CAElC,QAAmB,EACnB,SAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAc,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExD,IAAI;QACF,uBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAExD,uBAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE9B,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAElD,uBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAI,cAAc,CAAC,QAAQ,EAAE,KAAK,IAAA,iBAAK,EAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;YAE9D,OAAO;SACR;QAED,IACE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;YACrD,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,UAAU,EACjD;YACA,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;SACnD;aAAM,IACL,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC;YAC7D,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,kBAAkB,EACzD;YACA,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC1D;KACF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AA9CD,wCA8CC"}
{"version":3,"file":"announce.js","sourceRoot":"","sources":["../../../src/inbox/sideEffects/announce.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,iEAA6D;AAC7D,uDAAgD;AAIzC,KAAK,UAAU,cAAc,CAElC,QAAqB,EACrB,SAAmB;IAEnB,IAAI;QACF,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAExD,uBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAExD,uBAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE9B,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAElD,uBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAI,cAAc,CAAC,IAAI,KAAK,IAAA,iBAAK,EAAC,SAAS,CAAC,EAAE,IAAI,EAAE;YAElD,OAAO;SACR;QAED,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,CAAC;QAEnC,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE1B,IACE,sBAAK,CAAC,QAAQ,CACZ,MAAM,EACN,EAAE,CAAC,eAAe,CAAC,kBAAkB,CACtC,EACD;YACA,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;SACzD;aAAM;YACL,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;SAClD;KACF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AAhDD,wCAgDC"}

View File

@ -1,3 +1,3 @@
import * as AP from '@activity-kit/types';
import { InboxPostEndpoint } from '..';
export declare function handleCreate(this: InboxPostEndpoint, activity: AP.Entity, recipient: AP.Actor): Promise<void>;
export declare function handleCreate(this: InboxPostEndpoint, activity: AP.Create, recipient: AP.Actor): Promise<void>;

View File

@ -1,34 +1,9 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleCreate = void 0;
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleCreate(activity, recipient) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.CREATE);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const existingObject = await this.core.findEntityById(objectId);
@ -54,7 +29,6 @@ async function handleCreate(activity, recipient) {
type_utilities_1.assert.isApCollection(repliesCollection);
const attributedToId = (0, utilities_1.getId)(repliesCollection.attributedTo);
type_utilities_1.assert.exists(attributedToId);
console.log(attributedToId.toString(), (0, utilities_1.getId)(recipient)?.toString());
if (attributedToId.toString() !== (0, utilities_1.getId)(recipient)?.toString()) {
console.log('Not applicable to this Actor.');
return;

View File

@ -1 +1 @@
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/inbox/sideEffects/create.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAIzC,KAAK,UAAU,YAAY,CAEhC,QAAmB,EACnB,SAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAY,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEhE,IAAI,cAAc,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO;KACR;IAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAG1B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnC,IAAI;QACF,uBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW,EAAE;YAEhB,OAAO;SACR;QAED,uBAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE9D,uBAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAErC,MAAM,mBAAmB,GAAG,IAAA,iBAAK,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAErD,uBAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEnC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CACtD,mBAAmB,CACpB,CAAC;QAEF,uBAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAEzC,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAE7D,uBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAA,iBAAK,EAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;QAErE,IAAI,cAAc,CAAC,QAAQ,EAAE,KAAK,IAAA,iBAAK,EAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;YAC9D,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,OAAO;SACR;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;KAClE;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AAlED,oCAkEC"}
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/inbox/sideEffects/create.ts"],"names":[],"mappings":";;;AACA,iEAAsD;AACtD,uDAAgD;AAKzC,KAAK,UAAU,YAAY,CAEhC,QAAmB,EACnB,SAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAEhE,IAAI,cAAc,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO;KACR;IAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAG1B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnC,IAAI;QACF,uBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW,EAAE;YAEhB,OAAO;SACR;QAED,uBAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE9D,uBAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAErC,MAAM,mBAAmB,GAAG,IAAA,iBAAK,EAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAErD,uBAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAEnC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CACtD,mBAAmB,CACpB,CAAC;QAEF,uBAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAEzC,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAE7D,uBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAI,cAAc,CAAC,QAAQ,EAAE,KAAK,IAAA,iBAAK,EAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;YAC9D,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,OAAO;SACR;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;KAClE;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AA9DD,oCA8DC"}

View File

@ -1,3 +1,3 @@
import * as AP from '@activity-kit/types';
import { InboxPostEndpoint } from '..';
export declare function handleFollow(this: InboxPostEndpoint, activity: AP.Entity, recipient: AP.Actor): Promise<void>;
export declare function handleFollow(this: InboxPostEndpoint, activity: AP.Follow, recipient: AP.Actor): Promise<void>;

View File

@ -27,33 +27,31 @@ exports.handleFollow = void 0;
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
const utilities_2 = require("@activity-kit/utilities");
const path_to_regexp_1 = require("path-to-regexp");
async function handleFollow(activity, recipient) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.FOLLOW);
const activityId = (0, utilities_2.getId)(activity);
const activityId = (0, utilities_1.getId)(activity);
type_utilities_1.assert.exists(activityId);
const objectId = (0, utilities_2.getId)(activity.object);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const object = await this.core.queryById(objectId);
type_utilities_1.assert.isApEntity(object);
if (!type_utilities_1.guard.isApActor(object)) {
return;
}
const actorId = (0, utilities_2.getId)(activity.actor);
const actorId = (0, utilities_1.getId)(activity.actor);
type_utilities_1.assert.exists(actorId);
const actor = await this.core.queryById(actorId);
type_utilities_1.assert.isApActor(actor);
const follower = actor;
const followerId = (0, utilities_2.getId)(follower);
const followerId = (0, utilities_1.getId)(follower);
type_utilities_1.assert.exists(followerId);
const followee = object;
const followeeId = (0, utilities_2.getId)(followee);
const followeeId = (0, utilities_1.getId)(followee);
type_utilities_1.assert.exists(followeeId);
if (followeeId.toString() !== (0, utilities_2.getId)(recipient)?.toString()) {
if (followeeId.href !== (0, utilities_1.getId)(recipient)?.href) {
return;
}
const followersId = (0, utilities_2.getId)(followee.followers);
const followersId = (0, utilities_1.getId)(followee.followers);
type_utilities_1.assert.exists(followersId);
const followers = await this.core.findEntityById(followersId);
type_utilities_1.assert.isApType(followers, AP.CollectionTypes.COLLECTION);
@ -67,7 +65,8 @@ async function handleFollow(activity, recipient) {
if (followee.manuallyApprovesFollowers) {
const requests = await this.core.getStreamByName(followee, 'Requests');
type_utilities_1.assert.isApType(requests, AP.CollectionTypes.COLLECTION);
const requestsId = (0, utilities_2.getId)(requests);
const requestsId = (0, utilities_1.getId)(requests);
type_utilities_1.assert.exists(requestsId);
await this.core.insertItem(requestsId, activityId);
return;
}
@ -84,7 +83,7 @@ async function handleFollow(activity, recipient) {
object: activityId,
published: publishedDate,
});
const followeeOutboxId = (0, utilities_2.getId)(followee.outbox);
const followeeOutboxId = (0, utilities_1.getId)(followee.outbox);
type_utilities_1.assert.exists(followeeOutboxId);
await Promise.all([
this.core.saveEntity(acceptActivity),

View File

@ -1 +1 @@
{"version":3,"file":"follow.js","sourceRoot":"","sources":["../../../src/inbox/sideEffects/follow.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"follow.js","sourceRoot":"","sources":["../../../src/inbox/sideEffects/follow.ts"],"names":[],"mappings":"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"}

View File

@ -1,3 +1,3 @@
import * as AP from '@activity-kit/types';
import { InboxPostEndpoint } from '..';
export declare function handleLike(this: InboxPostEndpoint, activity: AP.Entity, recipient: AP.Actor): Promise<void>;
export declare function handleLike(this: InboxPostEndpoint, activity: AP.Like, recipient: AP.Actor): Promise<void>;

View File

@ -28,7 +28,6 @@ const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleLike(activity, recipient) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.LIKE);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const object = await this.core.findEntityById(objectId);
@ -41,18 +40,16 @@ async function handleLike(activity, recipient) {
type_utilities_1.assert.isApCollection(likes);
const attributedToId = (0, utilities_1.getId)(likes.attributedTo);
type_utilities_1.assert.exists(attributedToId);
if (attributedToId.toString() !== (0, utilities_1.getId)(recipient)?.toString()) {
if (attributedToId.href !== (0, utilities_1.getId)(recipient)?.href) {
return;
}
if (Array.isArray(likes.type)
? likes.type.includes(AP.CollectionTypes.COLLECTION)
: likes.type === AP.CollectionTypes.COLLECTION) {
await this.core.insertItem(likesId, activity.id);
const activityId = (0, utilities_1.getId)(activity);
type_utilities_1.assert.exists(activityId);
if (type_utilities_1.guard.isApType(likes, AP.CollectionTypes.ORDERED_COLLECTION)) {
await this.core.insertOrderedItem(likesId, activityId);
}
else if (Array.isArray(likes.type)
? likes.type.includes(AP.CollectionTypes.ORDERED_COLLECTION)
: likes.type === AP.CollectionTypes.ORDERED_COLLECTION) {
await this.core.insertOrderedItem(likesId, activity.id);
else {
await this.core.insertItem(likesId, activityId);
}
}
catch (error) {

View File

@ -1 +1 @@
{"version":3,"file":"like.js","sourceRoot":"","sources":["../../../src/inbox/sideEffects/like.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAIzC,KAAK,UAAU,UAAU,CAE9B,QAAmB,EACnB,SAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAU,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,IAAI;QACF,uBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEtD,uBAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE7B,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEjD,uBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAI,cAAc,CAAC,QAAQ,EAAE,KAAK,IAAA,iBAAK,EAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE;YAE9D,OAAO;SACR;QAED,IACE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;YACpD,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,UAAU,EAChD;YACA,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;SAClD;aAAM,IACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC;YAC5D,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,kBAAkB,EACxD;YACA,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;SACzD;KACF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AAnDD,gCAmDC"}
{"version":3,"file":"like.js","sourceRoot":"","sources":["../../../src/inbox/sideEffects/like.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,iEAA6D;AAC7D,uDAAgD;AAIzC,KAAK,UAAU,UAAU,CAE9B,QAAiB,EACjB,SAAmB;IAEnB,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,IAAI;QACF,uBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAEtD,uBAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE7B,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEjD,uBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAI,cAAc,CAAC,IAAI,KAAK,IAAA,iBAAK,EAAC,SAAS,CAAC,EAAE,IAAI,EAAE;YAElD,OAAO;SACR;QAED,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,CAAC;QAEnC,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE1B,IACE,sBAAK,CAAC,QAAQ,CACZ,KAAK,EACL,EAAE,CAAC,eAAe,CAAC,kBAAkB,CACtC,EACD;YACA,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACxD;aAAM;YACL,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;SACjD;KACF;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AAlDD,gCAkDC"}

View File

@ -1,70 +1,37 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.combineAddresses = void 0;
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
function combineAddresses(activity) {
if ('object' in activity) {
const activityObject = activity.object;
if (type_utilities_1.guard.isTypeOf(activityObject, AP.CoreObjectTypes)) {
const activityTo = (0, utilities_1.getArray)(activity.to);
const activityCc = (0, utilities_1.getArray)(activity.cc);
const activityBto = (0, utilities_1.getArray)(activity.bto);
const activityBcc = (0, utilities_1.getArray)(activity.bcc);
const activityAudience = (0, utilities_1.getArray)(activity.audience);
const objectTo = (0, utilities_1.getArray)(activityObject.to);
const objectCc = (0, utilities_1.getArray)(activityObject.cc);
const objectBto = (0, utilities_1.getArray)(activityObject.bto);
const objectBcc = (0, utilities_1.getArray)(activityObject.bcc);
const objectAudience = (0, utilities_1.getArray)(activityObject.audience);
const to = [...new Set([...activityTo, ...objectTo].map(utilities_1.getId))].filter((item) => !!item);
const bto = [
...new Set([...activityBto, ...objectBto].map(utilities_1.getId)),
].filter((item) => !!item);
const cc = [...new Set([...activityCc, ...objectCc].map(utilities_1.getId))].filter((item) => !!item);
const bcc = [
...new Set([...activityBcc, ...objectBcc].map(utilities_1.getId)),
].filter((item) => !!item);
const audience = [
...new Set([...activityAudience, ...objectAudience].map(utilities_1.getId)),
].filter((item) => !!item);
activity.to = to;
activity.bto = bto;
activity.cc = cc;
activity.bcc = bcc;
activity.audience = audience;
activityObject.to = to;
activityObject.bto = bto;
activityObject.cc = cc;
activityObject.bcc = bcc;
activityObject.audience = audience;
activity.object = activityObject;
}
}
type_utilities_1.assert.isApTransitiveActivity(activity);
type_utilities_1.assert.isApCoreObject(activity.object);
const getArrayOfIds = (item) => (0, utilities_1.getArray)(item).map(utilities_1.getId).filter(type_utilities_1.guard.isUrl);
const activityTo = getArrayOfIds(activity.to);
const activityCc = getArrayOfIds(activity.cc);
const activityBto = getArrayOfIds(activity.bto);
const activityBcc = getArrayOfIds(activity.bcc);
const activityAudience = getArrayOfIds(activity.audience);
const objectTo = getArrayOfIds(activity.object.to);
const objectCc = getArrayOfIds(activity.object.cc);
const objectBto = getArrayOfIds(activity.object.bto);
const objectBcc = getArrayOfIds(activity.object.bcc);
const objectAudience = getArrayOfIds(activity.object.audience);
const to = [...new Set([...activityTo, ...objectTo])];
const bto = [...new Set([...activityBto, ...objectBto])];
const cc = [...new Set([...activityCc, ...objectCc])];
const bcc = [...new Set([...activityBcc, ...objectBcc])];
const audience = [...new Set([...activityAudience, ...objectAudience])];
activity.to = to;
activity.bto = bto;
activity.cc = cc;
activity.bcc = bcc;
activity.audience = audience;
activity.object.to = to;
activity.object.bto = bto;
activity.object.cc = cc;
activity.object.bcc = bcc;
activity.object.audience = audience;
return activity;
}
exports.combineAddresses = combineAddresses;

View File

@ -1 +1 @@
{"version":3,"file":"combineAddresses.js","sourceRoot":"","sources":["../../src/outbox/combineAddresses.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAqD;AACrD,uDAA0D;AAE1D,SAAgB,gBAAgB,CAE9B,QAAqB;IAErB,IAAI,QAAQ,IAAI,QAAQ,EAAE;QACxB,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QAEvC,IAAI,sBAAK,CAAC,QAAQ,CAAgB,cAAc,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE;YACrE,MAAM,UAAU,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,UAAU,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/D,MAAM,WAAW,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/D,MAAM,gBAAgB,GAAG,IAAA,oBAAQ,EAAqB,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,IAAA,oBAAQ,EAAqB,cAAc,CAAC,EAAE,CAAC,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAA,oBAAQ,EAAqB,cAAc,CAAC,EAAE,CAAC,CAAC;YACjE,MAAM,SAAS,GAAG,IAAA,oBAAQ,EAAqB,cAAc,CAAC,GAAG,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,IAAA,oBAAQ,EAAqB,cAAc,CAAC,GAAG,CAAC,CAAC;YACnE,MAAM,cAAc,GAAG,IAAA,oBAAQ,EAC7B,cAAc,CAAC,QAAQ,CACxB,CAAC;YAEF,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,iBAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CACrE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACjB,CAAC;YACF,MAAM,GAAG,GAAG;gBACV,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,iBAAK,CAAC,CAAC;aACtD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,iBAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CACrE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CACjB,CAAC;YACF,MAAM,GAAG,GAAG;gBACV,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,iBAAK,CAAC,CAAC;aACtD,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,QAAQ,GAAG;gBACf,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,cAAc,CAAC,CAAC,GAAG,CAAC,iBAAK,CAAC,CAAC;aAChE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE3B,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;YACjB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;YACnB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;YACjB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;YACnB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAE7B,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;YACvB,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC;YACzB,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC;YACvB,cAAc,CAAC,GAAG,GAAG,GAAG,CAAC;YACzB,cAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEnC,QAAQ,CAAC,MAAM,GAAG,cAAc,CAAC;SAClC;KACF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAtDD,4CAsDC"}
{"version":3,"file":"combineAddresses.js","sourceRoot":"","sources":["../../src/outbox/combineAddresses.ts"],"names":[],"mappings":";;;AAEA,iEAA6D;AAC7D,uDAA0D;AAE1D,SAAgB,gBAAgB,CAE9B,QAAqB;IAErB,uBAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAExC,uBAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEvC,MAAM,aAAa,GAAG,CAAC,IAAgD,EAAE,EAAE,CACzE,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAK,CAAC,CAAC,MAAM,CAAM,sBAAK,CAAC,KAAK,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,cAAc,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE/D,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAExE,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE7B,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAEpC,OAAO,QAAQ,CAAC;AAClB,CAAC;AA1CD,4CA0CC"}

View File

@ -4,7 +4,7 @@ exports.getActor = void 0;
const type_utilities_1 = require("@activity-kit/type-utilities");
async function getActor() {
const actor = await this.core.findOne('entity', {
outbox: this.url.toString(),
outbox: this.url.href,
});
type_utilities_1.assert.isApActor(actor);
this.actor = actor;

View File

@ -1 +1 @@
{"version":3,"file":"getActor.js","sourceRoot":"","sources":["../../src/outbox/getActor.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AAG/C,KAAK,UAAU,QAAQ;IAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC9C,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;KAC5B,CAAC,CAAC;IAEH,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,CAAC;AARD,4BAQC"}
{"version":3,"file":"getActor.js","sourceRoot":"","sources":["../../src/outbox/getActor.ts"],"names":[],"mappings":";;;AAAA,iEAAsD;AAG/C,KAAK,UAAU,QAAQ;IAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QAC9C,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;KACtB,CAAC,CAAC;IAEH,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACrB,CAAC;AARD,4BAQC"}

View File

@ -25,10 +25,10 @@ import { handleUndoLike } from './sideEffects/undo/undoLike';
import { handleUndoAnnounce } from './sideEffects/undo/undoAnnounce';
export declare class OutboxPostEndpoint {
readonly core: CoreLibrary;
body: Record<string, unknown>;
body: AP.Entity | null;
url: URL;
routes: Routes;
plugins?: Plugin[];
plugins: Plugin[];
actor: AP.Actor;
activity: AP.Entity | null;
constructor(core: CoreLibrary, options: {

View File

@ -35,8 +35,8 @@ class OutboxPostEndpoint {
constructor(core, options) {
this.core = core;
this.core = core;
this.actor = options.actor;
this.body = (0, utilities_1.convertJsonToEntity)(options.body);
this.actor = options.actor;
this.url = options.url;
this.routes = options.routes;
this.plugins = options.plugins || [];

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":";;;AACA,uDAA8D;AAE9D,qDAAkD;AAClD,qDAAkD;AAClD,yDAAsD;AACtD,iDAA8C;AAC9C,yCAAsC;AACtC,uCAAoC;AACpC,iDAAoD;AACpD,iDAAoD;AACpD,iDAAoD;AACpD,6CAAgD;AAChD,qDAAwD;AACxD,iDAAoD;AACpD,+CAAkD;AAClD,2CAA8C;AAC9C,6CAAgD;AAChD,iDAAoD;AACpD,iDAAoD;AACpD,4DAA+D;AAC/D,8DAAiE;AACjE,8DAAiE;AACjE,0DAA6D;AAC7D,kEAAqE;AAErE,MAAa,kBAAkB;IAUlB;IATX,IAAI,CAA0B;IAC9B,GAAG,CAAM;IACT,MAAM,CAAS;IACf,OAAO,CAAY;IACnB,KAAK,CAAW;IAEhB,QAAQ,GAAqB,IAAI,CAAC;IAElC,YACW,IAAiB,EAC1B,OAMC;QAPQ,SAAI,GAAJ,IAAI,CAAa;QAS1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;IAES,QAAQ,GAAG,mBAAQ,CAAC;IACpB,cAAc,GAAG,+BAAc,CAAC;IAChC,YAAY,GAAG,2BAAY,CAAC;IAC5B,cAAc,GAAG,+BAAc,CAAC;IAChC,gBAAgB,GAAG,mCAAgB,CAAC;IACvC,OAAO,GAAG,iBAAO,CAAC;IAEf,SAAS,GAAG,eAAS,CAAC;IACtB,cAAc,GAAG,yBAAc,CAAC;IAChC,YAAY,GAAG,qBAAY,CAAC;IAC5B,WAAW,GAAG,mBAAW,CAAC;IAC1B,YAAY,GAAG,qBAAY,CAAC;IAC5B,YAAY,GAAG,qBAAY,CAAC;IAC5B,UAAU,GAAG,iBAAU,CAAC;IACxB,YAAY,GAAG,qBAAY,CAAC;IAC5B,YAAY,GAAG,qBAAY,CAAC;IAC5B,YAAY,GAAG,qBAAY,CAAC;IAE5B,UAAU,GAAG,iBAAU,CAAC;IACxB,cAAc,GAAG,yBAAc,CAAC;IAChC,gBAAgB,GAAG,6BAAgB,CAAC;IACpC,gBAAgB,GAAG,6BAAgB,CAAC;IACpC,kBAAkB,GAAG,iCAAkB,CAAC;IACxC,eAAe,GAAG,2BAAe,CAAC;CAC7C;AAnDD,gDAmDC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/outbox/index.ts"],"names":[],"mappings":";;;AACA,uDAA8D;AAE9D,qDAAkD;AAClD,qDAAkD;AAClD,yDAAsD;AACtD,iDAA8C;AAC9C,yCAAsC;AACtC,uCAAoC;AACpC,iDAAoD;AACpD,iDAAoD;AACpD,iDAAoD;AACpD,6CAAgD;AAChD,qDAAwD;AACxD,iDAAoD;AACpD,+CAAkD;AAClD,2CAA8C;AAC9C,6CAAgD;AAChD,iDAAoD;AACpD,iDAAoD;AACpD,4DAA+D;AAC/D,8DAAiE;AACjE,8DAAiE;AACjE,0DAA6D;AAC7D,kEAAqE;AAErE,MAAa,kBAAkB;IAUlB;IATX,IAAI,CAAmB;IACvB,GAAG,CAAM;IACT,MAAM,CAAS;IACf,OAAO,CAAW;IAClB,KAAK,CAAW;IAEhB,QAAQ,GAAqB,IAAI,CAAC;IAElC,YACW,IAAiB,EAC1B,OAMC;QAPQ,SAAI,GAAJ,IAAI,CAAa;QAS1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAA,+BAAmB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,CAAC;IAES,QAAQ,GAAG,mBAAQ,CAAC;IACpB,cAAc,GAAG,+BAAc,CAAC;IAChC,YAAY,GAAG,2BAAY,CAAC;IAC5B,cAAc,GAAG,+BAAc,CAAC;IAChC,gBAAgB,GAAG,mCAAgB,CAAC;IACvC,OAAO,GAAG,iBAAO,CAAC;IAEf,SAAS,GAAG,eAAS,CAAC;IACtB,cAAc,GAAG,yBAAc,CAAC;IAChC,YAAY,GAAG,qBAAY,CAAC;IAC5B,WAAW,GAAG,mBAAW,CAAC;IAC1B,YAAY,GAAG,qBAAY,CAAC;IAC5B,YAAY,GAAG,qBAAY,CAAC;IAC5B,UAAU,GAAG,iBAAU,CAAC;IACxB,YAAY,GAAG,qBAAY,CAAC;IAC5B,YAAY,GAAG,qBAAY,CAAC;IAC5B,YAAY,GAAG,qBAAY,CAAC;IAE5B,UAAU,GAAG,iBAAU,CAAC;IACxB,cAAc,GAAG,yBAAc,CAAC;IAChC,gBAAgB,GAAG,6BAAgB,CAAC;IACpC,gBAAgB,GAAG,6BAAgB,CAAC;IACpC,kBAAkB,GAAG,iCAAkB,CAAC;IACxC,eAAe,GAAG,2BAAe,CAAC;CAC7C;AAnDD,gDAmDC"}

View File

@ -1,6 +1,12 @@
import { OutboxPostEndpoint } from '.';
export declare function respond(this: OutboxPostEndpoint): Promise<{
statusCode: number;
contentType: string;
json: {
error: string;
};
location?: undefined;
} | {
statusCode: number;
location: string;
json?: undefined;
}>;

View File

@ -1,30 +1,6 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.respond = void 0;
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
const path_to_regexp_1 = require("path-to-regexp");
@ -32,8 +8,7 @@ async function respond() {
type_utilities_1.assert.isApEntity(this.body);
await this.getActor();
type_utilities_1.assert.isApActor(this.actor);
if (type_utilities_1.guard.isTypeOf(this.body, AP.ActivityTypes)) {
type_utilities_1.assert.isApActivity(this.body);
if (type_utilities_1.guard.isApActivity(this.body)) {
this.activity = this.body;
const [type] = (0, utilities_1.getArray)(this.activity.type);
const activityId = new URL(`${utilities_1.LOCAL_DOMAIN}${(0, path_to_regexp_1.compile)(this.routes[type.toLowerCase()], {
@ -44,21 +19,43 @@ async function respond() {
this.activity.id = activityId;
this.activity.url = activityId;
this.activity = this.combineAddresses(this.activity);
await this.runSideEffects();
try {
await this.runSideEffects();
}
catch (error) {
console.error(error);
return {
statusCode: 500,
json: {
error: `${error}`,
},
};
}
}
else {
this.activity = await this.wrapInActivity(this.body);
await this.handleCreate(this.activity);
try {
this.activity = await this.wrapInActivity(this.body);
await this.handleCreate(this.activity);
}
catch (error) {
console.error(error);
return {
statusCode: 500,
json: {
error: `${error}`,
},
};
}
}
type_utilities_1.assert.isApActivity(this.activity);
type_utilities_1.assert.exists(this.activity.id);
const activityId = (0, utilities_1.getId)(this.activity);
type_utilities_1.assert.exists(activityId);
await this.saveActivity();
type_utilities_1.assert.isApActor(this.actor);
this.core.broadcast(this.activity, this.actor);
return {
statusCode: 201,
contentType: 'application/activity+json',
location: this.activity.id.toString(),
location: activityId.href,
};
}
exports.respond = respond;

View File

@ -1 +1 @@
{"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/outbox/respond.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAA6D;AAC7D,uDAAiE;AACjE,mDAAyC;AAElC,KAAK,UAAU,OAAO;IAC3B,uBAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IAEtB,uBAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,sBAAK,CAAC,QAAQ,CAAc,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE;QAC5D,uBAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAE1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,GAAG,wBAAY,GAAG,IAAA,wBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;YACzD,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;YACD,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;SAChC,CAAC,EAAE,CACL,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC;QAG/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;KAC7B;SAAM;QAEL,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACxC;IAED,uBAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnC,uBAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAEhC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAE1B,uBAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAG7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAE/C,OAAO;QACL,UAAU,EAAE,GAAG;QACf,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC;AACJ,CAAC;AApDD,0BAoDC"}
{"version":3,"file":"respond.js","sourceRoot":"","sources":["../../src/outbox/respond.ts"],"names":[],"mappings":";;;AACA,iEAA6D;AAC7D,uDAAwE;AACxE,mDAAyC;AAIlC,KAAK,UAAU,OAAO;IAC3B,uBAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;IAEtB,uBAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE7B,IAAI,sBAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;QAE1B,MAAM,CAAC,IAAI,CAAC,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5C,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,GAAG,wBAAY,GAAG,IAAA,wBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;YACzD,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;YACD,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;SAChC,CAAC,EAAE,CACL,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC;QAG/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErD,IAAI;YACF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;SAC7B;QAAC,OAAO,KAAc,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAErB,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE;oBACJ,KAAK,EAAE,GAAG,KAAK,EAAE;iBAClB;aACF,CAAC;SACH;KACF;SAAM;QACL,IAAI;YACF,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACxC;QAAC,OAAO,KAAc,EAAE;YACvB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAErB,OAAO;gBACL,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE;oBACJ,KAAK,EAAE,GAAG,KAAK,EAAE;iBAClB;aACF,CAAC;SACH;KACF;IAED,uBAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAE1B,uBAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAG7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAE/C,OAAO;QACL,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,UAAU,CAAC,IAAI;KAC1B,CAAC;AACJ,CAAC;AAvED,0BAuEC"}

View File

@ -27,53 +27,38 @@ exports.runSideEffects = void 0;
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
async function runSideEffects() {
try {
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.CREATE)) {
await this.handleCreate(this.activity);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.DELETE)) {
await this.handleDelete(this.activity);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.ACCEPT)) {
await this.handleAccept(this.activity);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.BLOCK)) {
await this.handleBlock(this.activity);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.UPDATE)) {
await this.handleUpdate(this.activity);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.LIKE)) {
await this.handleLike(this.activity);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.ANNOUNCE)) {
await this.handleAnnounce(this.activity);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.ADD)) {
await this.handleAdd(this.activity);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.REMOVE)) {
await this.handleRemove(this.activity);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.FOLLOW)) {
await this.handleFollow(this.activity);
}
if (type_utilities_1.guard.isType(this.activity, AP.ActivityTypes.UNDO)) {
await this.handleUndo(this.activity);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.CREATE)) {
await this.handleCreate(this.activity);
}
catch (error) {
console.log(error);
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.DELETE)) {
await this.handleDelete(this.activity);
}
for (const plugin of this.plugins) {
if (plugin.handleOutboxSideEffect) {
try {
await plugin.handleOutboxSideEffect.call(this);
}
catch (error) {
console.log(error);
}
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.ACCEPT)) {
await this.handleAccept(this.activity);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.BLOCK)) {
await this.handleBlock(this.activity);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.UPDATE)) {
await this.handleUpdate(this.activity);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.LIKE)) {
await this.handleLike(this.activity);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.ANNOUNCE)) {
await this.handleAnnounce(this.activity);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.ADD)) {
await this.handleAdd(this.activity);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.REMOVE)) {
await this.handleRemove(this.activity);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.FOLLOW)) {
await this.handleFollow(this.activity);
}
if (type_utilities_1.guard.isApType(this.activity, AP.ActivityTypes.UNDO)) {
await this.handleUndo(this.activity);
}
}
exports.runSideEffects = runSideEffects;

View File

@ -1 +1 @@
{"version":3,"file":"runSideEffects.js","sourceRoot":"","sources":["../../src/outbox/runSideEffects.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"runSideEffects.js","sourceRoot":"","sources":["../../src/outbox/runSideEffects.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA0C;AAC1C,iEAAqD;AAG9C,KAAK,UAAU,cAAc;IAClC,IAAI,sBAAK,CAAC,QAAQ,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACrE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACxC;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACrE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACxC;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACrE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACxC;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAW,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;QACnE,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACvC;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACrE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACxC;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;QACjE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtC;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAc,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACzE,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC1C;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAS,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;QAC/D,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrC;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACrE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACxC;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAY,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;QACrE,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACxC;IAED,IAAI,sBAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE;QACjE,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtC;AACH,CAAC;AA5CD,wCA4CC"}

View File

@ -7,6 +7,9 @@ async function saveActivity() {
type_utilities_1.assert.isApActivity(this.activity);
const publishedDate = new Date();
this.activity.published = publishedDate;
if (type_utilities_1.guard.isApCoreObject(this.activity.object)) {
this.activity.object.published = publishedDate;
}
const activityId = (0, utilities_1.getId)(this.activity);
type_utilities_1.assert.exists(activityId);
const actorId = (0, utilities_1.getId)(this.activity.actor);

View File

@ -1 +1 @@
{"version":3,"file":"saveActivity.js","sourceRoot":"","sources":["../../src/outbox/saveActivity.ts"],"names":[],"mappings":";;;AACA,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,YAAY;IAChC,uBAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,aAAa,CAAC;IAExC,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE3C,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1C,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC;KAClD,CAAC,CAAC;AACL,CAAC;AAtBD,oCAsBC"}
{"version":3,"file":"saveActivity.js","sourceRoot":"","sources":["../../src/outbox/saveActivity.ts"],"names":[],"mappings":";;;AACA,iEAA6D;AAC7D,uDAAgD;AAEzC,KAAK,UAAU,YAAY;IAChC,uBAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IACjC,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,aAAa,CAAC;IAExC,IAAI,sBAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,aAAa,CAAC;KAChD;IAED,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE3C,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1C,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC;KAClD,CAAC,CAAC;AACL,CAAC;AA1BD,oCA0BC"}

View File

@ -1,3 +1,3 @@
import { OutboxPostEndpoint } from '..';
import * as AP from '@activity-kit/types';
export declare function handleAccept(this: OutboxPostEndpoint, activity: AP.Entity): Promise<void>;
export declare function handleAccept(this: OutboxPostEndpoint, activity: AP.Accept): Promise<void>;

View File

@ -28,7 +28,6 @@ const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleAccept(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.ACCEPT);
const actorId = (0, utilities_1.getId)(activity.actor);
type_utilities_1.assert.exists(actorId);
const actor = await this.core.queryById(actorId);
@ -36,6 +35,7 @@ async function handleAccept(activity) {
const followersId = (0, utilities_1.getId)(actor.followers);
type_utilities_1.assert.exists(followersId);
const followActivityId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(followActivityId);
const followActivity = await this.core.queryById(followActivityId);
type_utilities_1.assert.isApType(followActivity, AP.ActivityTypes.FOLLOW);
const followerId = (0, utilities_1.getId)(followActivity.actor);

View File

@ -1 +1 @@
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/accept.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,YAAY,CAEhC,QAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAY,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjD,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3C,uBAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3B,MAAM,gBAAgB,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAEnE,uBAAM,CAAC,QAAQ,CAAY,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAE/C,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEpE,uBAAM,CAAC,QAAQ,CAAgB,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,CAAC;IAEnC,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AAvCD,oCAuCC"}
{"version":3,"file":"accept.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/accept.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,YAAY,CAEhC,QAAmB;IAEnB,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjD,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3C,uBAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3B,MAAM,gBAAgB,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAEhD,uBAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEhC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAEnE,uBAAM,CAAC,QAAQ,CAAY,cAAc,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAE/C,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAEpE,uBAAM,CAAC,QAAQ,CAAgB,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAExE,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,CAAC;IAEnC,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,UAAU,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC;KACnD,CAAC,CAAC;AACL,CAAC;AAxCD,oCAwCC"}

View File

@ -1,3 +1,3 @@
import { OutboxPostEndpoint } from '..';
import * as AP from '@activity-kit/types';
export declare function handleAdd(this: OutboxPostEndpoint, activity: AP.Entity): Promise<void>;
export declare function handleAdd(this: OutboxPostEndpoint, activity: AP.Add | AP.Remove): Promise<void>;

View File

@ -28,30 +28,26 @@ const AP = __importStar(require("@activity-kit/types"));
const utilities_1 = require("@activity-kit/utilities");
const type_utilities_1 = require("@activity-kit/type-utilities");
async function handleAdd(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.ADD);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const targetId = (0, utilities_1.getId)(activity.target);
type_utilities_1.assert.exists(targetId);
const target = await this.core.findEntityById(targetId);
type_utilities_1.assert.isApCollection(target);
if (target.attributedTo) {
const actorId = (0, utilities_1.getId)(activity.actor);
type_utilities_1.assert.exists(actorId);
const attributedToId = (0, utilities_1.getId)(target.attributedTo);
if (attributedToId?.toString() !== actorId?.toString()) {
type_utilities_1.assert.exists(attributedToId);
if (attributedToId.href !== actorId.href) {
throw new Error('Not allowed.');
}
}
if (Array.isArray(target.type)
? target.type.includes(AP.CollectionTypes.ORDERED_COLLECTION)
: target.type === AP.CollectionTypes.ORDERED_COLLECTION) {
if (type_utilities_1.guard.isApType(target, AP.CollectionTypes.ORDERED_COLLECTION)) {
await this.core.insertOrderedItem(targetId, objectId);
}
else if (Array.isArray(target.type)
? target.type.includes(AP.CollectionTypes.COLLECTION)
: target.type === AP.CollectionTypes.COLLECTION) {
await this.core.insertItem(targetId, objectId);
}
else {
throw new Error('Bad target: Not a collection.');
await this.core.insertItem(targetId, objectId);
}
}
exports.handleAdd = handleAdd;

View File

@ -1 +1 @@
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/add.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,uDAAgD;AAChD,iEAAsD;AAE/C,KAAK,UAAU,SAAS,CAA2B,QAAmB;IAC3E,uBAAM,CAAC,QAAQ,CAAS,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExD,uBAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAE9B,IAAI,MAAM,CAAC,YAAY,EAAE;QACvB,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,cAAc,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;KACF;IAED,IACE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC;QAC7D,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,kBAAkB,EACzD;QACA,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACvD;SAAM,IACL,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,UAAU,EACjD;QACA,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAChD;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;AACH,CAAC;AAjCD,8BAiCC"}
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/add.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,uDAAgD;AAChD,iEAA6D;AAEtD,KAAK,UAAU,SAAS,CAE7B,QAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExD,uBAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAE9B,IAAI,MAAM,CAAC,YAAY,EAAE;QACvB,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAElD,uBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;KACF;IAED,IACE,sBAAK,CAAC,QAAQ,CACZ,MAAM,EACN,EAAE,CAAC,eAAe,CAAC,kBAAkB,CACtC,EACD;QACA,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACvD;SAAM;QACL,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAChD;AACH,CAAC;AAxCD,8BAwCC"}

View File

@ -1,3 +1,3 @@
import { OutboxPostEndpoint } from '..';
import * as AP from '@activity-kit/types';
export declare function handleAnnounce(this: OutboxPostEndpoint, activity: AP.Entity): Promise<void>;
export declare function handleAnnounce(this: OutboxPostEndpoint, activity: AP.Announce): Promise<void>;

View File

@ -28,13 +28,17 @@ const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleAnnounce(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.ANNOUNCE);
const actorId = (0, utilities_1.getId)(activity.actor);
type_utilities_1.assert.exists(actorId);
const actor = await this.core.queryById(actorId);
type_utilities_1.assert.isApActor(actor);
const shared = await this.core.getStreamByName(actor, 'Shared');
type_utilities_1.assert.isApType(shared, AP.CollectionTypes.ORDERED_COLLECTION);
await this.core.insertOrderedItem(shared.id, activity.id);
const sharedId = (0, utilities_1.getId)(shared);
type_utilities_1.assert.exists(sharedId);
const activityId = (0, utilities_1.getId)(activity);
type_utilities_1.assert.exists(activityId);
await this.core.insertOrderedItem(sharedId, activityId);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
if ((0, utilities_1.isLocal)(objectId)) {
@ -47,7 +51,7 @@ async function handleAnnounce(activity) {
if (!sharesId) {
throw new Error('Bad shares collection: no ID.');
}
await this.core.insertOrderedItem(sharesId, activity.id);
await this.core.insertOrderedItem(sharesId, activityId);
}
}
exports.handleAnnounce = handleAnnounce;

View File

@ -1 +1 @@
{"version":3,"file":"announce.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/announce.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAyD;AAElD,KAAK,UAAU,cAAc,CAElC,QAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAc,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAElE,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjD,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEhE,uBAAM,CAAC,QAAQ,CACb,MAAM,EACN,EAAE,CAAC,eAAe,CAAC,kBAAkB,CACtC,CAAC;IAEF,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE1D,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,IAAI,IAAA,mBAAO,EAAC,QAAQ,CAAC,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEnD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE1B,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;KAC1D;AACH,CAAC;AAzCD,wCAyCC"}
{"version":3,"file":"announce.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/announce.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAyD;AAElD,KAAK,UAAU,cAAc,CAElC,QAAqB;IAErB,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjD,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEhE,uBAAM,CAAC,QAAQ,CACb,MAAM,EACN,EAAE,CAAC,eAAe,CAAC,kBAAkB,CACtC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,CAAC;IAE/B,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,CAAC;IAEnC,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,IAAI,IAAA,mBAAO,EAAC,QAAQ,CAAC,EAAE;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAEnD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAE1B,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QAED,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;KACzD;AACH,CAAC;AAlDD,wCAkDC"}

View File

@ -1,3 +1,3 @@
import { OutboxPostEndpoint } from '..';
import * as AP from '@activity-kit/types';
export declare function handleBlock(this: OutboxPostEndpoint, activity: AP.Entity): Promise<void>;
export declare function handleBlock(this: OutboxPostEndpoint, activity: AP.Block): Promise<void>;

View File

@ -28,18 +28,21 @@ const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleBlock(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.BLOCK);
const actorId = (0, utilities_1.getId)(activity.actor);
type_utilities_1.assert.exists(actorId);
const actor = await this.core.queryById(actorId);
type_utilities_1.assert.isApActor(actor);
const blockedActorId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(blockedActorId);
const blockedActor = await this.core.queryById(blockedActorId);
type_utilities_1.assert.isApActor(blockedActor);
const blocks = await this.core.getStreamByName(actor, 'Blocks');
type_utilities_1.assert.isApType(blocks, AP.CollectionTypes.COLLECTION);
const blocksId = (0, utilities_1.getId)(blocks);
type_utilities_1.assert.exists(blocksId);
await this.core.insertItem(blocksId, activity.id);
const activityId = (0, utilities_1.getId)(activity);
type_utilities_1.assert.exists(activityId);
await this.core.insertItem(blocksId, activityId);
const followingId = (0, utilities_1.getId)(actor.following);
type_utilities_1.assert.exists(followingId);
const followersId = (0, utilities_1.getId)(actor.followers);

View File

@ -1 +1 @@
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/block.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,WAAW,CAE/B,QAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAW,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjD,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAE/D,uBAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEhE,uBAAM,CAAC,QAAQ,CAAgB,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAEtE,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,CAAC;IAE/B,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;IAElD,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3C,uBAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3B,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3C,uBAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3B,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC;KAClD,CAAC,CAAC;AACL,CAAC;AAtCD,kCAsCC"}
{"version":3,"file":"block.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/block.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,WAAW,CAE/B,QAAkB;IAElB,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjD,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE9C,uBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAE/D,uBAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEhE,uBAAM,CAAC,QAAQ,CAAgB,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAEtE,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,CAAC;IAE/B,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,CAAC;IAEnC,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE1B,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3C,uBAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3B,MAAM,WAAW,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE3C,uBAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAE3B,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC;KAClD,CAAC,CAAC;AACL,CAAC;AA9CD,kCA8CC"}

View File

@ -1,3 +1,3 @@
import { OutboxPostEndpoint } from '..';
import * as AP from '@activity-kit/types';
export declare function handleCreate(this: OutboxPostEndpoint, activity: AP.Entity): Promise<void>;
import { OutboxPostEndpoint } from '..';
export declare function handleCreate(this: OutboxPostEndpoint, activity: AP.Create): Promise<void>;

View File

@ -27,13 +27,9 @@ exports.handleCreate = void 0;
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
const utilities_2 = require("@activity-kit/utilities");
const utilities_3 = require("@activity-kit/utilities");
const path_to_regexp_1 = require("path-to-regexp");
const cheerio = __importStar(require("cheerio"));
async function handleCreate(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.CREATE);
const actorId = (0, utilities_3.getId)(activity.actor);
const actorId = (0, utilities_1.getId)(activity.actor);
type_utilities_1.assert.exists(actorId);
const object = activity.object;
if (object instanceof URL) {
@ -50,28 +46,18 @@ async function handleCreate(activity) {
day: '2-digit',
});
const [{ value: month }, , { value: day }, , { value: year }] = dateFormatter.formatToParts(publishedDate);
const summary = 'summary' in object ? object.summary ?? '' : '';
const slug = cheerio
.load(summary, null, false)
.text()
.toLowerCase()
.trim()
.replace(/[^a-z0-9]+/g, '-')
.replace(/^-+|-+$/g, '');
const type = Array.isArray(object.type) ? object.type[0] : object.type;
const objectId = new URL(`${utilities_2.LOCAL_DOMAIN}${(0, path_to_regexp_1.compile)(this.routes[type.toLowerCase()])({
const objectId = new URL(`${utilities_1.LOCAL_DOMAIN}${(0, path_to_regexp_1.compile)(this.routes[type.toLowerCase()])({
guid: await this.core.getGuid(),
year,
month,
day,
slug,
})}`);
object.id = objectId;
if (type_utilities_1.guard.isTypeOf(object, AP.ExtendedObjectTypes)) {
type_utilities_1.assert.isApExtendedObject(object);
if (type_utilities_1.guard.isApExtendedObject(object)) {
object.url = objectId;
const entityRoute = objectId.pathname;
const objectRepliesId = new URL(`${utilities_2.LOCAL_DOMAIN}${(0, path_to_regexp_1.compile)(this.routes.replies, {
const objectRepliesId = new URL(`${utilities_1.LOCAL_DOMAIN}${(0, path_to_regexp_1.compile)(this.routes.replies, {
validate: false,
})({
entityRoute,
@ -86,7 +72,7 @@ async function handleCreate(activity) {
published: publishedDate,
attributedTo: actorId,
});
const objectLikesId = new URL(`${utilities_2.LOCAL_DOMAIN}${(0, path_to_regexp_1.compile)(this.routes.likes, {
const objectLikesId = new URL(`${utilities_1.LOCAL_DOMAIN}${(0, path_to_regexp_1.compile)(this.routes.likes, {
validate: false,
})({
entityRoute,
@ -101,7 +87,7 @@ async function handleCreate(activity) {
published: publishedDate,
attributedTo: actorId,
});
const objectSharesId = new URL(`${utilities_2.LOCAL_DOMAIN}${(0, path_to_regexp_1.compile)(this.routes.shares, {
const objectSharesId = new URL(`${utilities_1.LOCAL_DOMAIN}${(0, path_to_regexp_1.compile)(this.routes.shares, {
validate: false,
})({
entityRoute,
@ -122,55 +108,16 @@ async function handleCreate(activity) {
object.shares = objectSharesId;
object.published = publishedDate;
if (object.inReplyTo) {
const objectInReplyTo = await this.core.findEntityById((0, utilities_3.getId)(object.inReplyTo));
const inReplyToId = (0, utilities_1.getId)(object.inReplyTo);
type_utilities_1.assert.exists(inReplyToId);
const objectInReplyTo = await this.core.findEntityById(inReplyToId);
if (objectInReplyTo && 'replies' in objectInReplyTo) {
const repliesCollectionId = (0, utilities_3.getId)(objectInReplyTo.replies);
const repliesCollectionId = (0, utilities_1.getId)(objectInReplyTo.replies);
if (repliesCollectionId) {
await this.core.insertOrderedItem(repliesCollectionId, objectId);
}
}
}
if (object.tag) {
const tags = Array.isArray(object.tag) ? object.tag : [object.tag];
for (const tag of tags) {
if (!(tag instanceof URL) &&
type_utilities_1.guard.isType(tag, AP.ExtendedObjectTypes.HASHTAG)) {
const hashtagCollectionUrl = new URL(`${utilities_2.LOCAL_DOMAIN}${(0, path_to_regexp_1.compile)(this.routes.hashtag)({
slug: tag.name
.replace('#', '')
.toLowerCase()
.trim()
.replace(/[^a-z0-9]+/g, '-')
.replace(/^-+|-+$/g, ''),
})}`);
tag.id = hashtagCollectionUrl;
tag.url = hashtagCollectionUrl;
const hashtagCollection = await this.core.findEntityById(hashtagCollectionUrl);
if (!hashtagCollection) {
const hashtagEntity = {
id: hashtagCollectionUrl,
url: hashtagCollectionUrl,
name: tag.name,
type: [
AP.ExtendedObjectTypes.HASHTAG,
AP.CollectionTypes.ORDERED_COLLECTION,
],
orderedItems: [],
};
await this.core.saveEntity(hashtagEntity);
const serverActor = await this.core.findOne('entity', {
preferredUsername: utilities_1.SERVER_ACTOR_USERNAME,
});
type_utilities_1.assert.isApActor(serverActor);
const serverHashtags = await this.core.getStreamByName(serverActor, 'Hashtags');
const serverHashtagsUrl = serverHashtags.id;
await this.core.insertItem(serverHashtagsUrl, hashtagCollectionUrl);
}
await this.core.insertOrderedItem(hashtagCollectionUrl, objectId);
}
}
object.tag = tags;
}
await Promise.all([
this.core.saveEntity(object),
this.core.saveEntity(objectReplies),

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,3 @@
import { OutboxPostEndpoint } from '..';
import * as AP from '@activity-kit/types';
export declare function handleDelete(this: OutboxPostEndpoint, activity: AP.Entity): Promise<void>;
export declare function handleDelete(this: OutboxPostEndpoint, activity: AP.Delete | AP.Create): Promise<void>;

View File

@ -28,7 +28,6 @@ const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleDelete(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.DELETE);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const object = await this.core.findEntityById(objectId);

View File

@ -1 +1 @@
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,YAAY,CAEhC,QAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAY,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,QAAQ,CAAC,MAAM,GAAG;QAChB,EAAE,EAAE,QAAQ;QACZ,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS;QAClC,OAAO,EAAE,IAAI,IAAI,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC,IAAI;KACxB,CAAC;IAEF,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAvBD,oCAuBC"}
{"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/delete.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,YAAY,CAEhC,QAA+B;IAE/B,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,QAAQ,CAAC,MAAM,GAAG;QAChB,EAAE,EAAE,QAAQ;QACZ,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS;QAClC,OAAO,EAAE,IAAI,IAAI,EAAE;QACnB,UAAU,EAAE,MAAM,CAAC,IAAI;KACxB,CAAC;IAEF,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AArBD,oCAqBC"}

View File

@ -1,3 +1,3 @@
import { OutboxPostEndpoint } from '..';
import * as AP from '@activity-kit/types';
export declare function handleFollow(this: OutboxPostEndpoint, activity: AP.Entity): Promise<void>;
export declare function handleFollow(this: OutboxPostEndpoint, activity: AP.Follow): Promise<void>;

View File

@ -1,44 +1,18 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleFollow = void 0;
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleFollow(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.FOLLOW);
const actorId = (0, utilities_1.getId)(activity.actor);
type_utilities_1.assert.exists(actorId);
const actor = await this.core.findEntityById(actorId);
type_utilities_1.assert.isApActor(actor);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const object = await this.core.findEntityById(objectId);
type_utilities_1.assert.isApEntity(object);
const actorId = (0, utilities_1.getId)(activity.actor);
const actor = await this.core.queryById(actorId);
type_utilities_1.assert.isApActor(actor);
const requests = await this.core.getStreamByName(actor, 'Requests');
const requestsId = (0, utilities_1.getId)(requests);
await this.core.insertItem(requestsId, (0, utilities_1.getId)(activity));
if (objectId.href === actorId.href) {
throw new Error('Cannot follow self.');
}
}
exports.handleFollow = handleFollow;
//# sourceMappingURL=follow.js.map

View File

@ -1 +1 @@
{"version":3,"file":"follow.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/follow.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,YAAY,CAEhC,QAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAY,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjD,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,CAAC;IAEnC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAA,iBAAK,EAAC,QAAQ,CAAC,CAAC,CAAC;AAC1D,CAAC;AAxBD,oCAwBC"}
{"version":3,"file":"follow.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/follow.ts"],"names":[],"mappings":";;;AAEA,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,YAAY,CAEhC,QAAmB;IAEnB,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAEtD,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;QAClC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACxC;AACH,CAAC;AAnBD,oCAmBC"}

View File

@ -1,3 +1,3 @@
import { OutboxPostEndpoint } from '..';
import * as AP from '@activity-kit/types';
export declare function handleLike(this: OutboxPostEndpoint, activity: AP.Entity): Promise<void>;
export declare function handleLike(this: OutboxPostEndpoint, activity: AP.Like): Promise<void>;

View File

@ -1,35 +1,11 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.handleLike = void 0;
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleLike(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.LIKE);
const actorId = (0, utilities_1.getId)(activity.actor);
type_utilities_1.assert.exists(actorId);
const actor = await this.core.queryById(actorId);
type_utilities_1.assert.isApActor(actor);
const objectId = (0, utilities_1.getId)(activity.object);
@ -46,7 +22,9 @@ async function handleLike(activity) {
if (!(0, utilities_1.isLocal)(objectId)) {
throw new Error('Cannot add to remote collection.');
}
await this.core.insertOrderedItem(likesId, activity.id);
const activityId = (0, utilities_1.getId)(activity);
type_utilities_1.assert.exists(activityId);
await this.core.insertOrderedItem(likesId, activityId);
}
catch (error) {
console.log(error);

View File

@ -1 +1 @@
{"version":3,"file":"like.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/like.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAyD;AAElD,KAAK,UAAU,UAAU,CAE9B,QAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAU,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjD,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEnC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAErD,IAAI;QACF,uBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,CAAC,IAAA,mBAAO,EAAC,QAAQ,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;KACzD;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AAxCD,gCAwCC"}
{"version":3,"file":"like.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/like.ts"],"names":[],"mappings":";;;AAEA,iEAAsD;AACtD,uDAAyD;AAElD,KAAK,UAAU,UAAU,CAA2B,QAAiB;IAC1E,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEtC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAEjD,uBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEnD,uBAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE1B,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEnC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAErD,IAAI;QACF,uBAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,CAAC,IAAA,mBAAO,EAAC,QAAQ,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,MAAM,UAAU,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,CAAC;QAEnC,uBAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE1B,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;KACxD;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACpB;AACH,CAAC;AA1CD,gCA0CC"}

View File

@ -1,3 +1,3 @@
import { OutboxPostEndpoint } from '..';
import * as AP from '@activity-kit/types';
export declare function handleRemove(this: OutboxPostEndpoint, activity: AP.Entity): Promise<void>;
export declare function handleRemove(this: OutboxPostEndpoint, activity: AP.Remove | AP.Add): Promise<void>;

View File

@ -28,30 +28,26 @@ const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
const utilities_1 = require("@activity-kit/utilities");
async function handleRemove(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.REMOVE);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const targetId = (0, utilities_1.getId)(activity.target);
type_utilities_1.assert.exists(targetId);
const target = await this.core.findEntityById(targetId);
type_utilities_1.assert.isApCollection(target);
if (target.attributedTo) {
const actorId = (0, utilities_1.getId)(activity.actor);
type_utilities_1.assert.exists(actorId);
const attributedToId = (0, utilities_1.getId)(target.attributedTo);
if (attributedToId?.toString() !== actorId?.toString()) {
type_utilities_1.assert.exists(attributedToId);
if (attributedToId.href !== actorId.href) {
throw new Error('Not allowed.');
}
}
if (Array.isArray(target.type)
? target.type.includes(AP.CollectionTypes.ORDERED_COLLECTION)
: target.type === AP.CollectionTypes.ORDERED_COLLECTION) {
if (type_utilities_1.guard.isApType(target, AP.CollectionTypes.ORDERED_COLLECTION)) {
await this.core.removeOrderedItem(targetId, objectId);
}
else if (Array.isArray(target.type)
? target.type.includes(AP.CollectionTypes.COLLECTION)
: target.type === AP.CollectionTypes.COLLECTION) {
await this.core.removeItem(targetId, objectId);
}
else {
throw new Error('Bad target: Not a collection.');
await this.core.removeItem(targetId, objectId);
}
}
exports.handleRemove = handleRemove;

View File

@ -1 +1 @@
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/remove.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAAsD;AACtD,uDAAgD;AAEzC,KAAK,UAAU,YAAY,CAEhC,QAAmB;IAEnB,uBAAM,CAAC,QAAQ,CAAY,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExD,uBAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAE9B,IAAI,MAAM,CAAC,YAAY,EAAE;QACvB,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,cAAc,EAAE,QAAQ,EAAE,KAAK,OAAO,EAAE,QAAQ,EAAE,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;KACF;IAED,IACE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC;QAC7D,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,kBAAkB,EACzD;QACA,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACvD;SAAM,IACL,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QACxB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;QACrD,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC,eAAe,CAAC,UAAU,EACjD;QACA,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAChD;SAAM;QACL,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;KAClD;AACH,CAAC;AApCD,oCAoCC"}
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/outbox/sideEffects/remove.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wDAA0C;AAC1C,iEAA6D;AAC7D,uDAAgD;AAEzC,KAAK,UAAU,YAAY,CAEhC,QAA4B;IAE5B,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,QAAQ,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExC,uBAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAExB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAExD,uBAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAE9B,IAAI,MAAM,CAAC,YAAY,EAAE;QACvB,MAAM,OAAO,GAAG,IAAA,iBAAK,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtC,uBAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvB,MAAM,cAAc,GAAG,IAAA,iBAAK,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAElD,uBAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE9B,IAAI,cAAc,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE;YACxC,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;SACjC;KACF;IAED,IACE,sBAAK,CAAC,QAAQ,CACZ,MAAM,EACN,EAAE,CAAC,eAAe,CAAC,kBAAkB,CACtC,EACD;QACA,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KACvD;SAAM;QACL,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;KAChD;AACH,CAAC;AAxCD,oCAwCC"}

View File

@ -30,33 +30,34 @@ const utilities_1 = require("@activity-kit/utilities");
async function handleUndo(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.UNDO);
const objectId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(objectId);
const object = await this.core.findEntityById(objectId);
type_utilities_1.assert.isApActivity(object);
if (!isActorAuthorizedToModifyObject(this.actor, activity)) {
throw new Error('Not authorized to modify object!');
}
if (type_utilities_1.guard.isType(object, AP.ActivityTypes.CREATE)) {
if (type_utilities_1.guard.isApType(object, AP.ActivityTypes.CREATE)) {
await this.handleDelete(object);
}
if (type_utilities_1.guard.isType(object, AP.ActivityTypes.FOLLOW)) {
if (type_utilities_1.guard.isApType(object, AP.ActivityTypes.FOLLOW)) {
await this.handleUndoFollow(object);
}
if (type_utilities_1.guard.isType(object, AP.ActivityTypes.ACCEPT)) {
if (type_utilities_1.guard.isApType(object, AP.ActivityTypes.ACCEPT)) {
await this.handleUndoAccept(object);
}
if (type_utilities_1.guard.isType(object, AP.ActivityTypes.BLOCK)) {
if (type_utilities_1.guard.isApType(object, AP.ActivityTypes.BLOCK)) {
await this.handleUndoBlock(object);
}
if (type_utilities_1.guard.isType(object, AP.ActivityTypes.LIKE)) {
if (type_utilities_1.guard.isApType(object, AP.ActivityTypes.LIKE)) {
await this.handleUndoLike(object);
}
if (type_utilities_1.guard.isType(object, AP.ActivityTypes.ANNOUNCE)) {
if (type_utilities_1.guard.isApType(object, AP.ActivityTypes.ANNOUNCE)) {
await this.handleUndoAnnounce(object);
}
if (type_utilities_1.guard.isType(object, AP.ActivityTypes.ADD)) {
if (type_utilities_1.guard.isApType(object, AP.ActivityTypes.ADD)) {
await this.handleRemove(object);
}
if (type_utilities_1.guard.isType(object, AP.ActivityTypes.REMOVE)) {
if (type_utilities_1.guard.isApType(object, AP.ActivityTypes.REMOVE)) {
await this.handleAdd(object);
}
}

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/outbox/sideEffects/undo/index.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/outbox/sideEffects/undo/index.ts"],"names":[],"mappings":"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"}

View File

@ -1,3 +1,3 @@
import * as AP from '@activity-kit/types';
import { OutboxPostEndpoint } from '../..';
export declare function handleUndoAccept(this: OutboxPostEndpoint, activity: AP.Entity): Promise<void>;
export declare function handleUndoAccept(this: OutboxPostEndpoint, activity: AP.Accept): Promise<void>;

View File

@ -28,13 +28,14 @@ const utilities_1 = require("@activity-kit/utilities");
const AP = __importStar(require("@activity-kit/types"));
const type_utilities_1 = require("@activity-kit/type-utilities");
async function handleUndoAccept(activity) {
type_utilities_1.assert.isApType(activity, AP.ActivityTypes.ACCEPT);
const actorId = (0, utilities_1.getId)(activity.actor);
type_utilities_1.assert.exists(actorId);
const actor = await this.core.findEntityById(actorId);
type_utilities_1.assert.isApActor(actor);
const followersId = (0, utilities_1.getId)(actor.followers);
type_utilities_1.assert.exists(followersId);
const followId = (0, utilities_1.getId)(activity.object);
type_utilities_1.assert.exists(followId);
const follow = await this.core.queryById(followId);
type_utilities_1.assert.isApType(follow, AP.ActivityTypes.FOLLOW);
const followerId = (0, utilities_1.getId)(follow.actor);

Some files were not shown because too many files have changed in this diff Show More