Update remote Emoji (#3680)
This commit is contained in:
		
							parent
							
								
									8025b121af
								
							
						
					
					
						commit
						acc6f54557
					
				
					 2 changed files with 19 additions and 1 deletions
				
			
		| 
						 | 
					@ -15,4 +15,6 @@ export type IEmoji = {
 | 
				
			||||||
	url: string;
 | 
						url: string;
 | 
				
			||||||
	aliases?: string[];
 | 
						aliases?: string[];
 | 
				
			||||||
	updatedAt?: Date;
 | 
						updatedAt?: Date;
 | 
				
			||||||
 | 
						/** AP object id */
 | 
				
			||||||
 | 
						uri?: string;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -181,6 +181,20 @@ export async function extractEmojis(tags: ITag[], host_: string) {
 | 
				
			||||||
			});
 | 
								});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (exists) {
 | 
								if (exists) {
 | 
				
			||||||
 | 
									if ((tag.updated != null && exists.updatedAt == null)
 | 
				
			||||||
 | 
										|| (tag.id != null && exists.uri == null)
 | 
				
			||||||
 | 
										|| (tag.updated != null && exists.updatedAt != null && new Date(tag.updated) > exists.updatedAt)) {
 | 
				
			||||||
 | 
											return await Emoji.findOneAndUpdate({
 | 
				
			||||||
 | 
												host,
 | 
				
			||||||
 | 
												name,
 | 
				
			||||||
 | 
											}, {
 | 
				
			||||||
 | 
												$set: {
 | 
				
			||||||
 | 
													uri: tag.id,
 | 
				
			||||||
 | 
													url: tag.icon.url,
 | 
				
			||||||
 | 
													updatedAt: new Date(tag.updated),
 | 
				
			||||||
 | 
												}
 | 
				
			||||||
 | 
											});
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
				return exists;
 | 
									return exists;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -189,8 +203,10 @@ export async function extractEmojis(tags: ITag[], host_: string) {
 | 
				
			||||||
			return await Emoji.insert({
 | 
								return await Emoji.insert({
 | 
				
			||||||
				host,
 | 
									host,
 | 
				
			||||||
				name,
 | 
									name,
 | 
				
			||||||
 | 
									uri: tag.id,
 | 
				
			||||||
				url: tag.icon.url,
 | 
									url: tag.icon.url,
 | 
				
			||||||
				aliases: [],
 | 
									updatedAt: tag.updated ? new Date(tag.updated) : undefined,
 | 
				
			||||||
 | 
									aliases: []
 | 
				
			||||||
			});
 | 
								});
 | 
				
			||||||
		})
 | 
							})
 | 
				
			||||||
	);
 | 
						);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue