Merge branch 'fix/sanitisation' into slowcord
This commit is contained in:
		
						commit
						2a32a481d2
					
				
							
								
								
									
										12481
									
								
								api/assets/schemas.json
									
									
									
									
									
								
							
							
						
						
									
										12481
									
								
								api/assets/schemas.json
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @ -31,7 +31,6 @@ const Excluded = [ | |||||||
| ]; | ]; | ||||||
| 
 | 
 | ||||||
| function modify(obj) { | function modify(obj) { | ||||||
| 	delete obj.additionalProperties; |  | ||||||
| 	for (var k in obj) { | 	for (var k in obj) { | ||||||
| 		if (typeof obj[k] === "object" && obj[k] !== null) { | 		if (typeof obj[k] === "object" && obj[k] !== null) { | ||||||
| 			modify(obj[k]); | 			modify(obj[k]); | ||||||
|  | |||||||
| @ -183,6 +183,9 @@ router.post( | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients", "recipients.user"] }); | 		const channel = await Channel.findOneOrFail({ where: { id: channel_id }, relations: ["recipients", "recipients.user"] }); | ||||||
|  | 		if (!channel.isWritable()) { | ||||||
|  | 			throw new HTTPError(`Cannot send messages to channel of type ${channel.type}`, 400) | ||||||
|  | 		} | ||||||
| 
 | 
 | ||||||
| 		const embeds = body.embeds || []; | 		const embeds = body.embeds || []; | ||||||
| 		if (body.embed) embeds.push(body.embed); | 		if (body.embed) embeds.push(body.embed); | ||||||
| @ -221,6 +224,8 @@ router.post( | |||||||
| 			); | 			); | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  | 	 | ||||||
| 		//Fix for the client bug
 | 		//Fix for the client bug
 | ||||||
| 		delete message.member | 		delete message.member | ||||||
| 		 | 		 | ||||||
|  | |||||||
| @ -53,8 +53,6 @@ router.patch("/", route({ body: "UserModifySchema" }), async (req: Request, res: | |||||||
| 			throw FieldErrors({ email: { message: req.t("auth:register.EMAIL_INVALID"), code: "EMAIL_INVALID" } }); | 			throw FieldErrors({ email: { message: req.t("auth:register.EMAIL_INVALID"), code: "EMAIL_INVALID" } }); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	user.assign(body); |  | ||||||
| 
 |  | ||||||
| 	if (body.new_password) { | 	if (body.new_password) { | ||||||
| 		if (!body.password && !user.email) { | 		if (!body.password && !user.email) { | ||||||
| 			throw FieldErrors({ | 			throw FieldErrors({ | ||||||
| @ -73,6 +71,7 @@ router.patch("/", route({ body: "UserModifySchema" }), async (req: Request, res: | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | 	user.assign(body); | ||||||
| 	await user.save(); | 	await user.save(); | ||||||
| 
 | 
 | ||||||
| 	// @ts-ignore
 | 	// @ts-ignore
 | ||||||
|  | |||||||
| @ -352,6 +352,17 @@ export class Channel extends BaseClass { | |||||||
| 	isDm() { | 	isDm() { | ||||||
| 		return this.type === ChannelType.DM || this.type === ChannelType.GROUP_DM; | 		return this.type === ChannelType.DM || this.type === ChannelType.GROUP_DM; | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | 	// Does the channel support sending messages ( eg categories do not )
 | ||||||
|  | 	isWritable() { | ||||||
|  | 		const disallowedChannelTypes = [ | ||||||
|  | 			ChannelType.GUILD_CATEGORY, | ||||||
|  | 			ChannelType.GUILD_VOICE,		// TODO: Remove this when clients can send messages to voice channels on discord.com
 | ||||||
|  | 			ChannelType.GUILD_STAGE_VOICE, | ||||||
|  | 			ChannelType.VOICELESS_WHITEBOARD, | ||||||
|  | 		]; | ||||||
|  | 		return disallowedChannelTypes.indexOf(this.type) == -1; | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export interface ChannelPermissionOverwrite { | export interface ChannelPermissionOverwrite { | ||||||
|  | |||||||
							
								
								
									
										37
									
								
								util/src/entities/UserGroup.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								util/src/entities/UserGroup.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | |||||||
|  | import { Column, Entity, JoinColumn, ManyToOne, RelationId } from "typeorm"; | ||||||
|  | 
 | ||||||
|  | import { BaseClass } from "./BaseClass"; | ||||||
|  | import { Guild } from "./Guild"; | ||||||
|  | import { User } from "./User"; | ||||||
|  | 
 | ||||||
|  | @Entity("groups") | ||||||
|  | export class UserGroup extends BaseClass { | ||||||
|  | 	@Column() | ||||||
|  | 	color: number; | ||||||
|  | 
 | ||||||
|  | 	@Column() | ||||||
|  | 	hoist: boolean; | ||||||
|  | 	 | ||||||
|  | 	@JoinColumn({ name: "controller", referencedColumnName: "id" }) | ||||||
|  | 	@ManyToOne(() => User) | ||||||
|  | 	controller?: User; | ||||||
|  | 	  | ||||||
|  | 	@Column() | ||||||
|  | 	mentionable_by?: string; | ||||||
|  | 
 | ||||||
|  | 	@Column() | ||||||
|  | 	name: string; | ||||||
|  | 
 | ||||||
|  | 	@Column() | ||||||
|  | 	rights: string; | ||||||
|  | 
 | ||||||
|  | 	@Column({ nullable: true }) | ||||||
|  | 	icon: string; | ||||||
|  | 	 | ||||||
|  | 	@Column({ nullable: true }) | ||||||
|  | 	parent?: string; | ||||||
|  | 	 | ||||||
|  | 	@Column({ type: "simple-array", nullable: true}) | ||||||
|  | 	associciations: string[]; | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Madeline
						Madeline