mirror of
https://github.com/CompassConnections/Compass.git
synced 2026-03-07 16:26:09 -05:00
Add Big 5 profile field
This commit is contained in:
@@ -509,6 +509,16 @@ export const API = (_apiTypeCheck = {
|
||||
pref_age_max: z.coerce.number().optional(),
|
||||
drinks_min: z.coerce.number().optional(),
|
||||
drinks_max: z.coerce.number().optional(),
|
||||
big5_openness_min: z.coerce.number().optional(),
|
||||
big5_openness_max: z.coerce.number().optional(),
|
||||
big5_conscientiousness_min: z.coerce.number().optional(),
|
||||
big5_conscientiousness_max: z.coerce.number().optional(),
|
||||
big5_extraversion_min: z.coerce.number().optional(),
|
||||
big5_extraversion_max: z.coerce.number().optional(),
|
||||
big5_agreeableness_min: z.coerce.number().optional(),
|
||||
big5_agreeableness_max: z.coerce.number().optional(),
|
||||
big5_neuroticism_min: z.coerce.number().optional(),
|
||||
big5_neuroticism_max: z.coerce.number().optional(),
|
||||
religion: arraybeSchema.optional(),
|
||||
pref_relation_styles: arraybeSchema.optional(),
|
||||
pref_romantic_styles: arraybeSchema.optional(),
|
||||
|
||||
@@ -56,6 +56,7 @@ export const baseProfilesSchema = z.object({
|
||||
country: z.string().optional().nullable(),
|
||||
gender: genderType,
|
||||
geodb_city_id: z.string().optional().nullable(),
|
||||
languages: z.array(z.string()).optional().nullable(),
|
||||
looking_for_matches: zBoolean,
|
||||
photo_urls: z.array(z.string()).nullable(),
|
||||
pinned_url: z.string(),
|
||||
@@ -67,13 +68,18 @@ export const baseProfilesSchema = z.object({
|
||||
region_code: z.string().optional().nullable(),
|
||||
visibility: z.union([z.literal('public'), z.literal('member')]),
|
||||
wants_kids_strength: z.number().nullable(),
|
||||
languages: z.array(z.string()).optional().nullable(),
|
||||
})
|
||||
|
||||
const optionalProfilesSchema = z.object({
|
||||
avatar_url: z.string().optional().nullable(),
|
||||
bio: contentSchema.optional().nullable(),
|
||||
big5_openness: z.number().min(0).max(100).optional().nullable(),
|
||||
big5_conscientiousness: z.number().min(0).max(100).optional().nullable(),
|
||||
big5_extraversion: z.number().min(0).max(100).optional().nullable(),
|
||||
big5_agreeableness: z.number().min(0).max(100).optional().nullable(),
|
||||
big5_neuroticism: z.number().min(0).max(100).optional().nullable(),
|
||||
born_in_location: z.string().optional().nullable(),
|
||||
causes: z.array(z.string()).optional().nullable(),
|
||||
comments_enabled: zBoolean.optional(),
|
||||
company: z.string().optional().nullable(),
|
||||
diet: z.array(z.string()).optional().nullable(),
|
||||
@@ -82,29 +88,27 @@ const optionalProfilesSchema = z.object({
|
||||
drinks_min: z.number().min(0).optional().nullable(),
|
||||
drinks_per_month: z.number().min(0).optional().nullable(),
|
||||
education_level: z.string().optional().nullable(),
|
||||
mbti: z.string().optional().nullable(),
|
||||
ethnicity: z.array(z.string()).optional().nullable(),
|
||||
has_kids: z.number().min(0).optional().nullable(),
|
||||
has_pets: zBoolean.optional().nullable(),
|
||||
height_in_inches: z.number().optional().nullable(),
|
||||
image_descriptions: z.any().optional().nullable(),
|
||||
interests: z.array(z.string()).optional().nullable(),
|
||||
is_smoker: zBoolean.optional().nullable(),
|
||||
mbti: z.string().optional().nullable(),
|
||||
occupation: z.string().optional().nullable(),
|
||||
occupation_title: z.string().optional().nullable(),
|
||||
political_beliefs: z.array(z.string()).optional().nullable(),
|
||||
interests: z.array(z.string()).optional().nullable(),
|
||||
work: z.array(z.string()).optional().nullable(),
|
||||
causes: z.array(z.string()).optional().nullable(),
|
||||
relationship_status: z.array(z.string()).optional().nullable(),
|
||||
political_details: z.string().optional().nullable(),
|
||||
pref_romantic_styles: z.array(z.string()).nullable(),
|
||||
relationship_status: z.array(z.string()).optional().nullable(),
|
||||
religion: z.array(z.string()).optional().nullable(),
|
||||
religious_belief_strength: z.number().optional().nullable(),
|
||||
religious_beliefs: z.string().optional().nullable(),
|
||||
twitter: z.string().optional().nullable(),
|
||||
university: z.string().optional().nullable(),
|
||||
website: z.string().optional().nullable(),
|
||||
image_descriptions: z.any().optional().nullable(),
|
||||
work: z.array(z.string()).optional().nullable(),
|
||||
})
|
||||
|
||||
export const combinedProfileSchema =
|
||||
baseProfilesSchema.merge(optionalProfilesSchema)
|
||||
export const combinedProfileSchema = baseProfilesSchema.merge(optionalProfilesSchema)
|
||||
|
||||
@@ -22,6 +22,17 @@ export type FilterFields = {
|
||||
shortBio: boolean | undefined
|
||||
drinks_min: number | undefined
|
||||
drinks_max: number | undefined
|
||||
// Big Five personality filters (0-100 range)
|
||||
big5_openness_min: number | undefined
|
||||
big5_openness_max: number | undefined
|
||||
big5_conscientiousness_min: number | undefined
|
||||
big5_conscientiousness_max: number | undefined
|
||||
big5_extraversion_min: number | undefined
|
||||
big5_extraversion_max: number | undefined
|
||||
big5_agreeableness_min: number | undefined
|
||||
big5_agreeableness_max: number | undefined
|
||||
big5_neuroticism_min: number | undefined
|
||||
big5_neuroticism_max: number | undefined
|
||||
} & {
|
||||
[K in OptionTableKey]: string[]
|
||||
}
|
||||
@@ -89,6 +100,16 @@ export const initialFilters: Partial<FilterFields> = {
|
||||
shortBio: undefined,
|
||||
drinks_min: undefined,
|
||||
drinks_max: undefined,
|
||||
big5_openness_min: undefined,
|
||||
big5_openness_max: undefined,
|
||||
big5_conscientiousness_min: undefined,
|
||||
big5_conscientiousness_max: undefined,
|
||||
big5_extraversion_min: undefined,
|
||||
big5_extraversion_max: undefined,
|
||||
big5_agreeableness_min: undefined,
|
||||
big5_agreeableness_max: undefined,
|
||||
big5_neuroticism_min: undefined,
|
||||
big5_neuroticism_max: undefined,
|
||||
orderBy: 'created_time',
|
||||
}
|
||||
|
||||
|
||||
@@ -856,6 +856,11 @@ export type Database = {
|
||||
profiles: {
|
||||
Row: {
|
||||
age: number | null
|
||||
big5_agreeableness: number | null
|
||||
big5_conscientiousness: number | null
|
||||
big5_extraversion: number | null
|
||||
big5_neuroticism: number | null
|
||||
big5_openness: number | null
|
||||
bio: Json | null
|
||||
bio_length: number | null
|
||||
bio_text: string | null
|
||||
@@ -913,6 +918,11 @@ export type Database = {
|
||||
}
|
||||
Insert: {
|
||||
age?: number | null
|
||||
big5_agreeableness?: number | null
|
||||
big5_conscientiousness?: number | null
|
||||
big5_extraversion?: number | null
|
||||
big5_neuroticism?: number | null
|
||||
big5_openness?: number | null
|
||||
bio?: Json | null
|
||||
bio_length?: number | null
|
||||
bio_text?: string | null
|
||||
@@ -970,6 +980,11 @@ export type Database = {
|
||||
}
|
||||
Update: {
|
||||
age?: number | null
|
||||
big5_agreeableness?: number | null
|
||||
big5_conscientiousness?: number | null
|
||||
big5_extraversion?: number | null
|
||||
big5_neuroticism?: number | null
|
||||
big5_openness?: number | null
|
||||
bio?: Json | null
|
||||
bio_length?: number | null
|
||||
bio_text?: string | null
|
||||
@@ -1204,7 +1219,15 @@ export type Database = {
|
||||
ts?: string
|
||||
user_id?: string | null
|
||||
}
|
||||
Relationships: []
|
||||
Relationships: [
|
||||
{
|
||||
foreignKeyName: 'user_events_user_id_fkey'
|
||||
columns: ['user_id']
|
||||
isOneToOne: false
|
||||
referencedRelation: 'users'
|
||||
referencedColumns: ['id']
|
||||
},
|
||||
]
|
||||
}
|
||||
user_notifications: {
|
||||
Row: {
|
||||
|
||||
Reference in New Issue
Block a user