21 lines
		
	
	
		
			552 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			552 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import type { Static } from "@sinclair/typebox"
 | 
						|
import { Type } from "@sinclair/typebox"
 | 
						|
 | 
						|
import { date, id } from "./utils"
 | 
						|
import type { UserPublicWithoutSettings } from "./User"
 | 
						|
 | 
						|
export const memberSchema = {
 | 
						|
  id,
 | 
						|
  isOwner: Type.Boolean({ default: false }),
 | 
						|
  createdAt: date.createdAt,
 | 
						|
  updatedAt: date.updatedAt,
 | 
						|
  userId: id,
 | 
						|
  guildId: id,
 | 
						|
}
 | 
						|
const memberObjectSchema = Type.Object(memberSchema)
 | 
						|
export type Member = Static<typeof memberObjectSchema>
 | 
						|
 | 
						|
export interface MemberWithPublicUser extends Member {
 | 
						|
  user: UserPublicWithoutSettings
 | 
						|
}
 |