Spaces:
Configuration error
Configuration error
| package models | |
| import ( | |
| "mime/multipart" | |
| "time" | |
| "github.com/lib/pq" | |
| ) | |
| type LoginRequest struct { | |
| Email string `json:"email" binding:"required"` | |
| Password string `json:"password" binding:"required"` | |
| } | |
| type RegisterRequest struct { | |
| Name string `json:"name"` | |
| Email string `json:"email" binding:"required,email"` | |
| Phone int `json:"phone"` | |
| Password string `json:"password" binding:"required"` | |
| } | |
| type ChangePasswordRequest struct { | |
| OldPassword string `json:"old_password" binding:"required" ` | |
| NewPassword string `json:"new_password" binding:"required" ` | |
| } | |
| type CreateVerifyEmailRequest struct { | |
| Token uint `json:"token" binding:"required"` | |
| } | |
| type ( | |
| CreateAcademyRequest struct { | |
| AccountID int64 `json:"account_id"` | |
| Title string `json:"title" validate:"required"` | |
| Description string `json:"description"` | |
| Order *uint `json:"order"` | |
| } | |
| UpdateAcademyRequest struct { | |
| ID int64 `json:"id"` | |
| Title *string `json:"title"` | |
| Description *string `json:"description"` | |
| Order *uint `json:"order"` | |
| } | |
| AcademyResponse struct { | |
| Academy | |
| TotalMaterial int64 `gorm:"total_material" json:"total_material"` | |
| } | |
| UserAcademyResponse struct { | |
| Academy | |
| TotalMaterial int64 `gorm:"total_material" json:"total_material"` | |
| TotalReadMaterial int64 `gorm:"total_read_material" json:"total_read_material"` | |
| PercentageReadMaterial float64 `gorm:"percentage_read_material" json:"percentage_read_material"` | |
| } | |
| UserAcademyMaterialResponse struct { | |
| ID int64 `gorm:"column:id" json:"id"` | |
| AcademyID int64 `gorm:"column:academy_id" json:"academy_id"` | |
| Title string `gorm:"column:title" json:"title"` | |
| Slug string `gorm:"column:slug" json:"slug"` | |
| Order uint `gorm:"column:order" json:"order"` | |
| CreatedAt *time.Time `gorm:"column:read_created_at" json:"created_at"` | |
| UpdatedAt *time.Time `gorm:"column:read_updated_at" json:"updated_at"` | |
| IsRead bool `gorm:"is_read" json:"is_read"` | |
| } | |
| UserAcademyMaterialDetailResponse struct { | |
| ID int64 `gorm:"column:id" json:"id"` | |
| AcademyID int64 `gorm:"column:academy_id" json:"academy_id"` | |
| Title string `gorm:"column:title" json:"title"` | |
| Slug string `gorm:"column:slug" json:"slug"` | |
| Content string `gorm:"column:content" json:"content"` | |
| Order uint `gorm:"column:order" json:"order"` | |
| CreatedAt *time.Time `gorm:"column:read_created_at" json:"created_at"` | |
| UpdatedAt *time.Time `gorm:"column:read_updated_at" json:"updated_at"` | |
| IsRead bool `gorm:"is_read" json:"is_read"` | |
| } | |
| CreateAcademyMaterialRequest struct { | |
| AcademyID int64 `json:"academy_id" validate:"required"` | |
| Title string `json:"title" validate:"required"` | |
| Content string `json:"content"` | |
| Order *uint `json:"order"` | |
| } | |
| UpdateAcademyMaterialRequest struct { | |
| ID int64 `json:"id"` | |
| Title *string `json:"title"` | |
| Content *string `json:"content"` | |
| Order *uint `json:"order"` | |
| } | |
| ListAcademyRequest struct { | |
| AccountID int64 | |
| Filter | |
| } | |
| ListAcademyMaterialRequest struct { | |
| AccountID int64 | |
| AcademyID int64 | |
| Slug string | |
| Filter | |
| } | |
| ListAcademyContentRequest struct { | |
| AccountID int64 | |
| AcademyID int64 | |
| AcademyMaterialID int64 | |
| Filter | |
| } | |
| ReorderRequest struct { | |
| ID int64 `json:"id"` | |
| Order int64 `json:"order"` | |
| } | |
| ReorderAcademyRequest struct { | |
| Reorder []ReorderRequest `json:"reorder"` | |
| } | |
| ReorderAcademyMaterialRequest struct { | |
| AcademyID int64 `json:"academy_id"` | |
| Reorder []ReorderRequest `json:"reorder"` | |
| } | |
| ToggleAcademyMaterialProgressRequest struct { | |
| AccountID int64 `json:"-"` | |
| MaterialSlug string `json:"-"` | |
| AcademySlug string `json:"-"` | |
| IsRead bool `json:"is_read"` | |
| } | |
| ) | |
| func NewListAcademyRequest() ListAcademyRequest { | |
| return ListAcademyRequest{ | |
| Filter: NewFilter(), | |
| } | |
| } | |
| func NewListAcademyMaterialRequest() ListAcademyMaterialRequest { | |
| return ListAcademyMaterialRequest{ | |
| Filter: NewFilter(), | |
| } | |
| } | |
| func NewListAcademyContentRequest() ListAcademyContentRequest { | |
| return ListAcademyContentRequest{ | |
| Filter: NewFilter(), | |
| } | |
| } | |
| type ( | |
| // GET QUIZ | |
| UserGetQuizRequest struct { | |
| AccountID int64 `json:"account_id" validate:"required"` | |
| AcademyID int64 `json:"academy_id" validate:"required"` | |
| } | |
| UserGetQuizResponse struct { | |
| Quiz | |
| TotalQuestions int64 `json:"total_questions"` | |
| UserAttempts int64 `json:"user_attempts"` | |
| HasActiveAttempt bool `json:"has_active_attempt"` | |
| } | |
| // ATTEMP QUIZ | |
| UserAttemptQuizRequest struct { | |
| AccountID int64 `json:"account_id" validate:"required"` | |
| AcademyID int64 `json:"academy_id" validate:"required"` | |
| } | |
| UserAttemptQuizQuestionsResponse struct { | |
| ID int64 `json:"id"` | |
| IsDoubt bool `json:"is_doubt"` | |
| IsAnswered bool `json:"is_answered"` | |
| } | |
| UserAttemptQuizResponse struct { | |
| ID int64 `json:"id"` | |
| AccountID int64 `json:"account_id"` | |
| QuizID int64 `json:"quiz_id"` | |
| StartedAt time.Time `json:"started_at"` | |
| DueAt time.Time `json:"due_at"` | |
| FinishedAt *time.Time `json:"finished_at"` | |
| Score float64 `json:"score"` | |
| Questions []UserAttemptQuizQuestionsResponse `json:"questions"` | |
| } | |
| // GET QUESTION | |
| GetQuestionQuizRequest struct { | |
| AccountID int64 `json:"account_id" validate:"required"` | |
| AcademyID int64 `json:"academy_id" validate:"required"` | |
| AttemptID int64 `json:"attempt_id" validate:"required"` | |
| QuestionID int64 `json:"question_id" validate:"required"` | |
| } | |
| GetQuestionQuizResponse struct { | |
| Question struct { | |
| ID int64 `json:"id"` | |
| QuizID int64 `json:"quiz_id"` | |
| Content string `json:"content"` | |
| } `json:"question"` | |
| AnswerOptions []struct { | |
| ID int64 `json:"id"` | |
| Content string `json:"content"` | |
| } `json:"answer_options"` | |
| AnswerID *int64 `json:"answer_id"` | |
| IsDoubt bool `json:"is_doubt"` | |
| IsAnswered bool `json:"is_answered"` | |
| } | |
| // ANSWER QUESTION | |
| AnswerQuizRequest struct { | |
| AccountID int64 `json:"account_id" validate:"required"` | |
| AcademyID int64 `json:"academy_id" validate:"required"` | |
| AttemptID int64 `json:"attempt_id" validate:"required"` | |
| QuestionID int64 `json:"question_id" validate:"required"` | |
| AnswerID *int64 `json:"answer_id"` | |
| IsDoubt bool `json:"is_doubt"` | |
| } | |
| // SUBMIT QUIZ | |
| SubmitQuizRequest struct { | |
| AccountID int64 `json:"account_id" validate:"required"` | |
| AcademyID int64 `json:"academy_id" validate:"required"` | |
| AttemptID int64 `json:"attempt_id" validate:"required"` | |
| } | |
| SubmitQuizResponse struct { | |
| QuizAttempt | |
| RemainingAttempts int64 `json:"remaining_attempts" validate:"required"` | |
| } | |
| // RESULT QUIZ | |
| ResultQuizRequest struct { | |
| AccountID int64 `json:"account_id" validate:"required"` | |
| AcademyID int64 `json:"academy_id" validate:"required"` | |
| } | |
| ResultQuizResponse struct { | |
| QuizAttempt | |
| RemainingAttempts int64 `json:"remaining_attempts" validate:"required"` | |
| } | |
| // REVIEW QUIZ | |
| ReviewQuizRequest struct { | |
| AccountID int64 `json:"account_id" validate:"required"` | |
| AcademyID int64 `json:"academy_id" validate:"required"` | |
| } | |
| ReviewQuizQuestion struct { | |
| ID int64 `gorm:"column:id;primaryKey;autoIncrement" json:"id"` | |
| QuizID int64 `gorm:"column:quiz_id;not null" json:"quiz_id"` | |
| Content string `gorm:"column:content" json:"content"` | |
| Review string `gorm:"column:review" json:"review"` | |
| } | |
| ReviewQuiz struct { | |
| Question ReviewQuizQuestion `json:"question"` | |
| AnswerOptions []struct { | |
| ID int64 `json:"id"` | |
| Content string `json:"content"` | |
| IsCorrect bool `json:"is_correct"` | |
| } `json:"answer_options"` | |
| AnswerID *int64 `json:"answer_id"` | |
| } | |
| ReviewQuizResponse struct { | |
| Reviews []ReviewQuiz | |
| } | |
| ) | |
| type ( | |
| MultipleOptionsRequest struct { | |
| OptionName string `json:"option_name" validate:"required"` | |
| OptionValue []string `json:"option_values" validate:"required"` | |
| } | |
| CreateOptionsRequest struct { | |
| Options []MultipleOptionsRequest `json:"options" validate:"required"` | |
| } | |
| CreateOptionsResponse struct { | |
| Options []Options `json:"options"` | |
| } | |
| ListOptionsResponse struct { | |
| Options []Options `json:"options"` | |
| } | |
| ListOptionsBySlugRequest struct { | |
| Slug string `json:"slug"` | |
| } | |
| ListOptionsBySlugResponse struct { | |
| OptionCategory *OptionCategory `json:"option_category"` | |
| OptionValues []OptionValues `json:"option_values"` | |
| } | |
| ) | |
| type ExternalAuthRequest struct { | |
| OauthID string `json:"oauth_id" binding:"required"` | |
| OauthProvider string `json:"oauth_provider" binding:"required"` | |
| IsAgreeTerms bool `json:"is_agree_terms"` | |
| IsSexualDisease bool `json:"is_sexual_disease"` | |
| } | |
| type ForgotPasswordRequest struct { | |
| Email string `json:"email" binding:"required,email"` | |
| } | |
| type ValidateForgotPasswordRequest struct { | |
| Token uint `json:"token" binding:"required"` | |
| NewPassword string `json:"new_password"` | |
| } | |
| type QuestionQuizRequest struct { | |
| QuestionNo int `json:"question_no" binding:"required"` | |
| } | |
| type ( | |
| ListCitiesByProvinceIdRequest struct { | |
| ProvinceID int64 `json:"province_id" binding:"required"` | |
| } | |
| ) | |
| type ( | |
| CreateEmailVerificationRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| ValidateEmailVerificationRequest struct { | |
| AccountID int64 `json:"-"` | |
| Token int64 `json:"token" validate:"required"` | |
| } | |
| ) | |
| type ( | |
| SavePersonalityAndPreferenceRequest struct { | |
| AccountID int64 `json:"-"` | |
| PositiveTraits *string `json:"positive_traits"` // sifat positif | |
| NegativeTraits *string `json:"negative_traits"` // sifat negatif | |
| Hobbies *string `json:"hobbies"` // hobi | |
| LifeGoals *string `json:"life_goals"` // target hidup | |
| DailyActivities *string `json:"daily_activities"` // kegiatan sehari-hari | |
| LeisureActivities *string `json:"leisure_activities"` // kegiatan waktu luang | |
| Likes *string `json:"likes"` // hal yang disukai | |
| Dislikes *string `json:"dislikes"` // hal yang tidak disukai | |
| StressHandling *string `json:"stress_handling"` // cara mengatasi stres | |
| AngerTriggers *string `json:"anger_triggers"` // pemicu amarah | |
| FavoriteFoodAndDrinks *string `json:"favorite_food_and_drinks"` // makanan dan minuman favorit | |
| CanCook *bool `json:"can_cook"` // bisa memasak | |
| TypesOfDishesCooked *string `json:"types_of_dishes_cooked"` // jenis masakan yang bisa dimasak | |
| MonthlyExpenses *string `json:"monthly_expenses" validate:"monthly-expenses"` // pengeluaran per bulan | |
| } | |
| GetPersonalityAndPreferenceRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| CreateFamilyMemberRequest struct { | |
| AccountID int64 `json:"-"` | |
| Role *string `json:"role" validate:"family-role"` // Peran dalam keluarga | |
| Status *string `json:"status" validate:"life-status"` // Status (Hidup, Wafat) | |
| Religion *string `json:"religion" validate:"religion"` // Agama | |
| Job *string `json:"job"` // Pekerjaan | |
| LastEducation *string `json:"last_education" validate:"last-education"` // Pendidikan terakhir | |
| Age *int `json:"age"` // Usia | |
| } | |
| UpdateFamilyMemberRequest struct { | |
| ID int64 `json:"-"` | |
| AccountID int64 `json:"-"` | |
| Role *string `json:"role" validate:"family-role"` // Peran dalam keluarga | |
| Status *string `json:"status" validate:"life-status"` // Status (Hidup, Wafat) | |
| Religion *string `json:"religion" validate:"religion"` // Agama | |
| Job *string `json:"job"` // Pekerjaan | |
| LastEducation *string `json:"last_education" validate:"last-education"` // Pendidikan terakhir | |
| Age *int `json:"age"` // Usia | |
| } | |
| ListFamilyMemberRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| GetFamilyMemberRequest struct { | |
| ID int64 `json:"-"` | |
| } | |
| DeleteFamilyMemberRequest struct { | |
| ID int64 `json:"-"` | |
| } | |
| SavePhysicalAndHealthRequest struct { | |
| AccountID int64 `json:"-"` | |
| HeightInCm *int `json:"height_cm"` // Tinggi badan dalam satuan sentimeter | |
| WeightInKg *int `json:"weight_kg"` // Berat badan dalam satuan kilogram | |
| BodyShape *string `json:"body_shape" validate:"body-shape"` // Bentuk tubuh | |
| SkinColor *string `json:"skin_color" validate:"skin-color"` // Warna kulit | |
| HairType *string `json:"hair_type" validate:"hair-type"` // Tipe rambut | |
| MedicalHistory *pq.StringArray `json:"medical_history"` // Riwayat penyakit | |
| PhysicalDisorder *string `json:"physical_disorder"` // Cacat fisik | |
| PhysicalTraits *string `json:"physical_traits"` // Ciri khas fisik | |
| } | |
| GetPhysicalAndHealthRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| SaveAccountDetailsRequest struct { | |
| AccountID int64 `json:"-"` | |
| FullName *string `json:"full_name"` | |
| Gender *string `json:"gender" validate:"gender"` | |
| DateOfBirth *time.Time `json:"date_of_birth"` | |
| PlaceOfBirth *string `json:"place_of_birth"` | |
| Domicile *string `json:"domicile"` | |
| MaritalStatus *string `json:"marital_status" validate:"marital-status"` | |
| LastEducation *string `json:"last_education" validate:"last-education"` | |
| LastJob *string `json:"last_job"` | |
| PhoneNumber *string `json:"phone_number" validate:"phone-number"` | |
| } | |
| GetAccountDetailsRequest struct { | |
| AccountID int64 `json:"account_id"` | |
| } | |
| SaveWorshipAndReligiousUnderstandingRequest struct { | |
| AccountID int64 `json:"-"` | |
| ObligatoryPrayer *string `json:"obligatory_prayer"` // sholat_wajib_5_waktu | |
| CongregationalPrayer *string `json:"congregational_prayer"` // sholat_berjamaah_di_masjid | |
| TahajjudPrayer *string `json:"tahajjud_prayer"` // sholat_tahajud | |
| DhuhaPrayer *string `json:"dhuha_prayer"` // sholat_dhuha | |
| QuranMemorization *string `json:"quran_memorization"` // hafalan_alquran | |
| QuranReadingAbility *string `json:"quran_reading_ability" validate:"quran-reading-ability"` // kemampuan_baca_alquran | |
| WeeklyReligiousStudyFrequency *string `json:"weekly_religious_study_frequency" validate:"weekly-religious-study-frequency"` // kajian_yang_diikuti_dalam_sepekan | |
| DaudFasting *string `json:"daud_fasting"` // puasa_daud | |
| AyyamulBidhFasting *string `json:"ayyamul_bidh_fasting"` // puasa_ayyamul_bidh | |
| HajjOrUmrah *pq.StringArray `json:"hajj_or_umrah"` // ibadah_haji_umroh | |
| ListeningToMusic *bool `json:"listening_to_music"` // mendengarkan_musik | |
| OpinionOnIkhtilat *string `json:"opinion_on_ikhtilat"` // pendapat_ikhtilat | |
| OpinionOnTouchingNonMahram *string `json:"opinion_on_touching_non_mahram"` // pendapat_menyentuh_non_mahram | |
| OpinionOnVeil *string `json:"opinion_on_veil"` // pendapat_tentang_cadar | |
| OpinionOnBeard *string `json:"opinion_on_beard"` // pendapat_tentang_jenggot_pada_laki_laki | |
| OpinionOnPantsAboveAnkle *string `json:"opinion_on_pants_above_ankle"` // pendapat_tentang_celana_di_atas_mata_kaki | |
| WeeklyReligiousStudies *string `json:"weekly_religious_studies"` // kajian_yang_diikuti_dalam_sepekan | |
| FollowedUstadz *string `json:"followed_ustadz"` // ustadz_yang_diikuti | |
| } | |
| GetWorshipAndReligiousUnderstandingRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| CreateEducationRequest struct { | |
| AccountID int64 `json:"-"` | |
| LastEducation *string `json:"last_education" validate:"last-education"` // pendidikan terakhir | |
| EducationInstitute *string `json:"education_institute"` // institusi pendidikan | |
| EducationMajor *string `json:"education_major"` // jurusan pendidikan | |
| YearStart *int `json:"year_start"` // tahun masuk | |
| YearGraduate *int `json:"year_graduate"` // tahun lulus | |
| } | |
| UpdateEducationRequest struct { | |
| ID int64 `json:"-"` | |
| AccountID int64 `json:"-"` | |
| LastEducation *string `json:"last_education" validate:"last-education"` // pendidikan terakhir | |
| EducationInstitute *string `json:"education_institute"` // institusi pendidikan | |
| EducationMajor *string `json:"education_major"` // jurusan pendidikan | |
| YearStart *int `json:"year_start"` // tahun masuk | |
| YearGraduate *int `json:"year_graduate"` // tahun lulus | |
| } | |
| ListEducationRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| GetEducationRequest struct { | |
| ID int64 `json:"-"` | |
| } | |
| DeleteEducationRequest struct { | |
| ID int64 `json:"-"` | |
| } | |
| CreateJobRequest struct { | |
| AccountID int64 `json:"account_id"` | |
| InstitutionName *string `json:"institution_name"` // nama instansi | |
| CurrentJob *string `json:"current_job"` // pekerjaan saat ini | |
| YearStartedWorking *int `json:"year_started_working"` // tahun mulai bekerja | |
| MonthlyIncome *string `json:"monthly_income" validate:"monthly-income"` // penghasilan per bulan | |
| IncomeSources *pq.StringArray `json:"income_sources"` // sumber penghasilan | |
| } | |
| UpdateJobRequest struct { | |
| ID int64 `json:"-"` | |
| AccountID int64 `json:"-"` | |
| InstitutionName *string `json:"institution_name"` // nama instansi | |
| CurrentJob *string `json:"current_job"` // pekerjaan saat ini | |
| YearStartedWorking *int `json:"year_started_working"` // tahun mulai bekerja | |
| MonthlyIncome *string `json:"monthly_income" validate:"monthly-income"` // penghasilan per bulan | |
| IncomeSources *pq.StringArray `json:"income_sources"` // sumber penghasilan | |
| } | |
| ListJobRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| GetJobRequest struct { | |
| ID int64 `json:"-"` | |
| } | |
| DeleteJobRequest struct { | |
| ID int64 `json:"-"` | |
| } | |
| CreateAchievementRequest struct { | |
| AccountID int64 `json:"account_id"` | |
| AchievementOrAward *string `json:"achievement_or_award"` // prestasi atau penghargaan | |
| } | |
| UpdateAchievementRequest struct { | |
| ID int64 `json:"-"` | |
| AccountID int64 `json:"-"` | |
| AchievementOrAward *string `json:"achievement_or_award"` // prestasi atau penghargaan | |
| } | |
| ListAchievementRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| GetAchievementRequest struct { | |
| ID int64 `json:"-"` | |
| } | |
| DeleteAchievementRequest struct { | |
| ID int64 `json:"-"` | |
| } | |
| UploadProfileImageRequest struct { | |
| AccountID int64 | |
| File *multipart.FileHeader | |
| } | |
| UploadProfileImageResponse struct { | |
| URL string `json:"url"` | |
| } | |
| GetProgressCVRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| GetProgressCVResponse struct { | |
| AccountDetailsProgress float64 `json:"account_details_progress"` | |
| PersonalityAndPreferenceCVProgress float64 `json:"personality_and_preference_cv_progress"` | |
| FamilyMemberCVProgress float64 `json:"family_member_cv_progress"` | |
| PhysicalAndHealthCVProgress float64 `json:"physical_and_health_cv_progress"` | |
| WorshipCVProgress float64 `json:"worship_cv_progress"` | |
| ReligiousUnderstandingCVProgress float64 `json:"religious_understanding_cv_progress"` | |
| EducationCVProgress float64 `json:"education_cv_progress"` | |
| JobCVProgress float64 `json:"job_cv_progress"` | |
| AchievementCVProgress float64 `json:"achievement_cv_progress"` | |
| TotalProgress float64 `json:"total_progress"` | |
| } | |
| ) | |
| type ( | |
| SaveMarriageReadinessProfileRequest struct { | |
| AccountID int64 `json:"account_id"` | |
| // Visi Misi Rumah Tangga | |
| MarriageVision *string `gorm:"column:marriage_vision" json:"marriage_vision"` // Apa visi dan tujuan utama kamu dalam membangun rumah tangga? | |
| LivingPlan *string `gorm:"column:living_plan" json:"living_plan"` // Setelah menikah, kamu berencana tinggal di mana? | |
| SpouseRoles *string `gorm:"column:spouse_roles" json:"spouse_roles"` // Menurutmu, apa peran utama suami dan istri dalam rumah tangga? | |
| SpouseRights *string `gorm:"column:spouse_rights" json:"spouse_rights"` // Apa saja hak suami dan istri menurutmu? | |
| ConflictResolution *string `gorm:"column:conflict_resolution" json:"conflict_resolution"` // Jika terjadi konflik, bagaimana kamu menyikapinya? | |
| ParentingStyle *string `gorm:"column:parenting_style" json:"parenting_style"` // Setelah punya anak, pola pengasuhan seperti apa yang kamu inginkan? | |
| // Konsep Acara Pernikahan | |
| ReadyToMarryDuration *string `gorm:"column:ready_to_marry_duration" json:"ready_to_marry_duration"` // Setelah taaruf dimulai, berapa lama kamu butuh untuk siap menikah? | |
| WeddingConcept *string `gorm:"column:wedding_concept" json:"wedding_concept"` // Seperti apa konsep pernikahan yang kamu harapkan? | |
| WeddingFunding *string `gorm:"column:wedding_funding" json:"wedding_funding"` // Apakah kamu sudah mempersiapkan dana pernikahan? Dari mana sumbernya? | |
| // Karir Kedepannya | |
| CareerAfterMarriage *string `gorm:"column:career_after_marriage" json:"career_after_marriage"` // Apakah kamu ingin tetap bekerja setelah menikah? | |
| TimeManagement *string `gorm:"column:time_management" json:"time_management"` // Bagaimana kamu membagi waktu antara keluarga, ibadah, dan pekerjaan? | |
| CareerGoals *string `gorm:"column:career_goals" json:"career_goals"` // Apa impian karier atau cita-cita kamu dalam 5 sampai 10 tahun ke depan? | |
| SelfDevelopment *string `gorm:"column:self_development" json:"self_development"` // Apa usaha kamu untuk terus mengembangkan diri dan skill? | |
| // Pendidikan Keluarga | |
| DelayChildren *string `gorm:"column:delay_children" json:"delay_children"` // Apakah kamu berencana menunda memiliki anak? | |
| ChildEducationPlan *string `gorm:"column:child_education_plan" json:"child_education_plan"` // Apakah kamu sudah punya rencana pendidikan anak? | |
| ReligiousEmotionalBond *string `gorm:"column:religious_emotional_bond" json:"religious_emotional_bond"` // Bagaimana cara menjaga nilai agama & kedekatan emosional dengan anak? | |
| ParentingChallenges *string `gorm:"column:parenting_challenges" json:"parenting_challenges"` // Saat menghadapi tantangan pengasuhan, bagaimana kamu menyikapinya? | |
| // Finansial Keluarga | |
| MonthlyFinance *string `gorm:"column:monthly_finance" json:"monthly_finance"` // Bagaimana kamu mengelola keuangan bulanan? | |
| FamilyResponsibility *string `gorm:"column:family_responsibility" json:"family_responsibility"` // Apakah kamu masih punya tanggungan keluarga setelah menikah? | |
| DebtStatus *string `gorm:"column:debt_status" json:"debt_status"` // Apakah kamu punya cicilan/utang setelah menikah? | |
| FinanceSharing *string `gorm:"column:finance_sharing" json:"finance_sharing"` // Setelah menikah, bagaimana pembagian tanggung jawab keuangan? | |
| IncomeGapView *string `gorm:"column:income_gap_view" json:"income_gap_view"` // Pandangan kamu jika istri berpenghasilan lebih besar dari suami? | |
| // Keputusan dan Komunikasi | |
| DecisionMaking *string `gorm:"column:decision_making" json:"decision_making"` // Dalam mengambil keputusan, kamu lebih mempertimbangkan pasangan atau sendiri? | |
| GrowthTogether *string `gorm:"column:growth_together" json:"growth_together"` // Apakah kamu siap berjuang bersama pasangan? Apa saja yang ingin diperjuangkan? | |
| ParentIntervention *string `gorm:"column:parent_intervention" json:"parent_intervention"` // Sejauh mana orang tua/mertua boleh ikut campur dalam rumah tangga? | |
| HabitResponse *string `gorm:"column:habit_response" json:"habit_response"` // Bagaimana kamu menyikapi kebiasaan pasangan yang kurang kamu sukai? | |
| } | |
| GetMarriageReadinessProfileRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| ) | |
| type ( | |
| SavePartnerCriteriaRequest struct { | |
| AccountID int64 `json:"account_id"` | |
| ExpecteMinAgeLimit *int `gorm:"column:expected_min_age_limit" json:"expected_min_age_limit"` // batas usia pasangan yang diharapkan | |
| ExpecteMaxAgeLimit *int `gorm:"column:expected_max_age_limit" json:"expected_max_age_limit"` // batas usia pasangan yang diharapkan | |
| ExpectedDomicile *string `gorm:"column:expected_domicile" json:"expected_domicile"` // domisili pasangan yang diharapkan | |
| AcceptedMaritalStatus *pq.StringArray `gorm:"column:accepted_marital_status;type:varchar(255)[]" json:"accepted_marital_status"` // status pernikahan yang diterima | |
| PartnerFamilyReligion *string `gorm:"column:partner_family_religion" json:"partner_family_religion"` // agama yang dianut keluarga pasangan | |
| PartnerWeeklyReligiousStudyFrequency *string `gorm:"column:partner_weekly_religious_study_frequency" json:"partner_weekly_religious_study_frequency"` // rata-rata jumlah kajian yang diikuti pasangan per pekan | |
| PartnerMonthlySpendingEstimate *string `gorm:"column:partner_monthly_spending_estimate" json:"partner_monthly_spending_estimate"` // estimasi pengeluaran pasangan per bulan | |
| PartnerCanCook *string `gorm:"column:partner_can_cook" json:"partner_can_cook"` // apakah pasangan diharapkan bisa memasak | |
| // Kriteria Fisik | |
| ExpectedBodyShapes *pq.StringArray `gorm:"column:expected_body_shapes;type:varchar(255)[]" json:"expected_body_shapes"` // bentuk tubuh yang diharapkan | |
| ExpectedSkinColors *pq.StringArray `gorm:"column:expected_skin_colors;type:varchar(255)[]" json:"expected_skin_colors"` // warna kulit yang diharapkan | |
| ExpectedHairTypes *pq.StringArray `gorm:"column:expected_hair_types;type:varchar(255)[]" json:"expected_hair_types"` // tipe rambut yang diharapkan | |
| ExpectedHairThickness *pq.StringArray `gorm:"column:expected_hair_thickness;type:varchar(255)[]" json:"expected_hair_thickness"` // jenis rambut yang diharapkan | |
| ExpectedMinHeightLimit *int `gorm:"column:expected_min_height_limit" json:"expected_min_height_limit"` // tinggi badan yang diharapkan | |
| ExpectedMaxHeightLimit *int `gorm:"column:expected_max_height_limit" json:"expected_max_height_limit"` // tinggi badan yang diharapkan | |
| // Pendidikan & Pekerjaan | |
| ExpectedPartnerIncome *string `gorm:"column:expected_partner_income" json:"expected_partner_income"` // penghasilan pasangan per bulan yang diharapkan | |
| ExpectedLastEducation *pq.StringArray `gorm:"column:expected_last_education;type:varchar(255)[]" json:"expected_last_education"` // pendidikan terakhir yang diharapkan | |
| // NOT USED | |
| // ExpectedIncomeSources *pq.StringArray `gorm:"column:expected_income_sources;type:varchar(255)[]" json:"expected_income_sources"` // sumber penghasilan pasangan | |
| // ExpectedJobType *string `gorm:"column:expected_job_type" json:"expected_job_type"` // jenis pekerjaan pasangan yang diharapkan | |
| } | |
| GetPartnerCriteriaRequest struct { | |
| AccountID int64 `json:"-"` | |
| } | |
| ) | |