wip
This commit is contained in:
		
							parent
							
								
									7b05e01819
								
							
						
					
					
						commit
						051ab45181
					
				
					 2 changed files with 34 additions and 0 deletions
				
			
		| 
						 | 
					@ -11,3 +11,31 @@ export interface ISwSubscription {
 | 
				
			||||||
	auth: string;
 | 
						auth: string;
 | 
				
			||||||
	publickey: string;
 | 
						publickey: string;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * SwSubscriptionを物理削除します
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					export async function deleteSwSubscription(swSubscription: string | mongo.ObjectID | ISwSubscription) {
 | 
				
			||||||
 | 
						let s: ISwSubscription;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Populate
 | 
				
			||||||
 | 
						if (mongo.ObjectID.prototype.isPrototypeOf(swSubscription)) {
 | 
				
			||||||
 | 
							s = await SwSubscription.findOne({
 | 
				
			||||||
 | 
								_id: swSubscription
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						} else if (typeof swSubscription === 'string') {
 | 
				
			||||||
 | 
							s = await SwSubscription.findOne({
 | 
				
			||||||
 | 
								_id: new mongo.ObjectID(swSubscription)
 | 
				
			||||||
 | 
							});
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							s = swSubscription as ISwSubscription;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (s == null) return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// このSwSubscriptionを削除
 | 
				
			||||||
 | 
						await SwSubscription.remove({
 | 
				
			||||||
 | 
							_id: s._id
 | 
				
			||||||
 | 
						});
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,7 @@ import DriveFolder, { deleteDriveFolder } from './drive-folder';
 | 
				
			||||||
import PollVote, { deletePollVote } from './poll-vote';
 | 
					import PollVote, { deletePollVote } from './poll-vote';
 | 
				
			||||||
import FollowingLog, { deleteFollowingLog } from './following-log';
 | 
					import FollowingLog, { deleteFollowingLog } from './following-log';
 | 
				
			||||||
import FollowedLog, { deleteFollowedLog } from './followed-log';
 | 
					import FollowedLog, { deleteFollowedLog } from './followed-log';
 | 
				
			||||||
 | 
					import SwSubscription, { deleteSwSubscription } from './sw-subscription';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const User = db.get<IUser>('users');
 | 
					const User = db.get<IUser>('users');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -239,6 +240,11 @@ export async function deleteUser(user: string | mongo.ObjectID | IUser) {
 | 
				
			||||||
		await FollowedLog.find({ userId: u._id })
 | 
							await FollowedLog.find({ userId: u._id })
 | 
				
			||||||
	).map(x => deleteFollowedLog(x)));
 | 
						).map(x => deleteFollowedLog(x)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// このユーザーのSwSubscriptionをすべて削除
 | 
				
			||||||
 | 
						await Promise.all((
 | 
				
			||||||
 | 
							await SwSubscription.find({ userId: u._id })
 | 
				
			||||||
 | 
						).map(x => deleteSwSubscription(x)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// このユーザーを削除
 | 
						// このユーザーを削除
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue