summaryrefslogtreecommitdiff
path: root/src/remote/activitypub/models/question.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/remote/activitypub/models/question.ts')
-rw-r--r--src/remote/activitypub/models/question.ts19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/remote/activitypub/models/question.ts b/src/remote/activitypub/models/question.ts
new file mode 100644
index 0000000000..53892a409e
--- /dev/null
+++ b/src/remote/activitypub/models/question.ts
@@ -0,0 +1,19 @@
+import { IChoice, IPoll } from '../../../models/note';
+import Resolver from '../resolver';
+
+export async function extractPollFromQuestion(questionUri: string): Promise<IPoll> {
+ const resolver = new Resolver();
+ const question = await resolver.resolve(questionUri) as any;
+
+ const choices: IChoice[] = question.oneOf.map((x: any, i: number) => {
+ return {
+ id: i,
+ text: x.name,
+ votes: x._misskey_votes || 0,
+ } as IChoice;
+ });
+
+ return {
+ choices
+ };
+}