Explorar o código

set IdToNameMap type

kaori %!s(int64=3) %!d(string=hai) anos
pai
achega
e86cbc41fe

+ 1 - 1
packages/app/src/server/models/page-tag-relation.js

@@ -2,7 +2,6 @@
 /* eslint-disable no-return-await */
 
 const flatMap = require('array.prototype.flatmap');
-
 const mongoose = require('mongoose');
 const mongoosePaginate = require('mongoose-paginate-v2');
 const uniqueValidator = require('mongoose-unique-validator');
@@ -112,6 +111,7 @@ class PageTagRelation {
 
     // retrieve tag documents
     const Tag = mongoose.model('Tag');
+    // TODO: set IdToNameMap type by 93933
     const tagIdToNameMap = await Tag.getIdToNameMap(distinctTagIds);
 
     // convert to map

+ 5 - 2
packages/app/src/server/models/tag.ts

@@ -12,11 +12,14 @@ export interface TagDocument {
   name: string;
 }
 
+export type IdToNameMap = {[key:Types.ObjectId] : string }
+
 export interface TagModel extends Model<TagDocument>{
-  getIdToNameMap(tagIds: Types.ObjectId[])
+  getIdToNameMap(tagIds: Types.ObjectId[]): IdToNameMap
   findOrCreateMany(tagNames: string[])
 }
 
+
 const tagSchema = new Schema<TagDocument, TagModel>({
   name: {
     type: String,
@@ -28,7 +31,7 @@ tagSchema.plugin(mongoosePaginate);
 tagSchema.plugin(uniqueValidator);
 
 
-tagSchema.statics.getIdToNameMap = async function(tagIds: Types.ObjectId[]) {
+tagSchema.statics.getIdToNameMap = async function(tagIds: Types.ObjectId[]): Promise<IdToNameMap> {
   const tags = await this.find({ _id: { $in: tagIds } });
 
   const idToNameMap = {};