server

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2024 License: MIT Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewExecutableSchema

func NewExecutableSchema(cfg Config) graphql.ExecutableSchema

NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface.

Types

type ComplexityRoot

type ComplexityRoot struct {
	Admin struct {
		Email    func(childComplexity int) int
		ID       func(childComplexity int) int
		LastName func(childComplexity int) int
		Name     func(childComplexity int) int
		Password func(childComplexity int) int
	}

	Alert struct {
		Comment  func(childComplexity int) int
		Height   func(childComplexity int) int
		ID       func(childComplexity int) int
		Name     func(childComplexity int) int
		Sex      func(childComplexity int) int
		Symptoms func(childComplexity int) int
		Weight   func(childComplexity int) int
	}

	AnteChir struct {
		ID              func(childComplexity int) int
		InducedSymptoms func(childComplexity int) int
		Localisation    func(childComplexity int) int
		Name            func(childComplexity int) int
	}

	AnteDisease struct {
		Chir       func(childComplexity int) int
		Chronicity func(childComplexity int) int
		ID         func(childComplexity int) int
		Name       func(childComplexity int) int
		Symptoms   func(childComplexity int) int
		Treatment  func(childComplexity int) int
	}

	AnteFamily struct {
		Disease func(childComplexity int) int
		ID      func(childComplexity int) int
		Name    func(childComplexity int) int
	}

	DemoAccount struct {
		Email    func(childComplexity int) int
		ID       func(childComplexity int) int
		Password func(childComplexity int) int
	}

	Disease struct {
		Advice           func(childComplexity int) int
		Code             func(childComplexity int) int
		ID               func(childComplexity int) int
		Name             func(childComplexity int) int
		Symptoms         func(childComplexity int) int
		SymptomsAcute    func(childComplexity int) int
		SymptomsChronic  func(childComplexity int) int
		SymptomsSubacute func(childComplexity int) int
	}

	Doctor struct {
		Email         func(childComplexity int) int
		ID            func(childComplexity int) int
		Password      func(childComplexity int) int
		PatientIds    func(childComplexity int) int
		RendezVousIds func(childComplexity int) int
	}

	Document struct {
		Category     func(childComplexity int) int
		DocumentType func(childComplexity int) int
		DownloadURL  func(childComplexity int) int
		ID           func(childComplexity int) int
		IsFavorite   func(childComplexity int) int
		Name         func(childComplexity int) int
		OwnerID      func(childComplexity int) int
	}

	Health struct {
		ID                    func(childComplexity int) int
		PatientsAllergies     func(childComplexity int) int
		PatientsIllness       func(childComplexity int) int
		PatientsPrimaryDoctor func(childComplexity int) int
		PatientsTreatments    func(childComplexity int) int
	}

	Info struct {
		Birthdate func(childComplexity int) int
		Height    func(childComplexity int) int
		ID        func(childComplexity int) int
		Name      func(childComplexity int) int
		Sex       func(childComplexity int) int
		Surname   func(childComplexity int) int
		Weight    func(childComplexity int) int
	}

	Logs struct {
		Answer   func(childComplexity int) int
		Question func(childComplexity int) int
	}

	MedicalInfo struct {
		Health func(childComplexity int) int
		Info   func(childComplexity int) int
	}

	Mutation struct {
		CreateAdmin        func(childComplexity int, email string, password string, name string, lastName string) int
		CreateAlert        func(childComplexity int, name string, sex *string, height *int, weight *int, symptoms []string, comment string) int
		CreateAnteChir     func(childComplexity int, name string, localisation string, inducedSymptoms []string) int
		CreateAnteDisease  func(childComplexity int, name string, chronicity float64, chir *string, treatment []string, symptoms []string) int
		CreateAnteFamily   func(childComplexity int, name string, disease []string) int
		CreateDemoAccount  func(childComplexity int, email string, password string) int
		CreateDisease      func(childComplexity int, code string, name string, symptoms []string, symptomsAcute []*model.SymptomWeightInput, symptomsSubacute []*model.SymptomWeightInput, symptomsChronic []*model.SymptomWeightInput, advice *string) int
		CreateDoctor       func(childComplexity int, email string, password string) int
		CreateDocument     func(childComplexity int, ownerID string, name string, documentType string, category string, isFavorite bool, downloadURL string) int
		CreateHealth       func(childComplexity int, patientsAllergies []string, patientsIllness []string, patientsPrimaryDoctor string, patientsTreatments []string) int
		CreateInfo         func(childComplexity int, name string, birthdate string, height int, weight int, sex string, surname string) int
		CreateNotification func(childComplexity int, token string, message string, title string) int
		CreatePatient      func(childComplexity int, email string, password string) int
		CreateRdv          func(childComplexity int, idPatient string, doctorID string, startDate int, endDate int) int
		CreateSession      func(childComplexity int, symptoms []string, age int, height int, weight int, sex string, lastQuestion string, logs []*model.LogsInput, alerts []string) int
		CreateSymptom      func(childComplexity int, code string, name string, location *string, duration *int, acute *int, subacute *int, chronic *int, symptom []string, advice *string, question string) int
		CreateTestAccount  func(childComplexity int, email string, password string) int
		CreateTreatment    func(childComplexity int, name string, disease string, symptoms []string, sideEffects []string) int
		DeleteAdmin        func(childComplexity int, id string) int
		DeleteAlert        func(childComplexity int, id string) int
		DeleteAnteChir     func(childComplexity int, id string) int
		DeleteAnteDisease  func(childComplexity int, id string) int
		DeleteAnteFamily   func(childComplexity int, id string) int
		DeleteDemoAccount  func(childComplexity int, id string) int
		DeleteDisease      func(childComplexity int, id string) int
		DeleteDoctor       func(childComplexity int, id string) int
		DeleteDocument     func(childComplexity int, id string) int
		DeleteHealth       func(childComplexity int, id string) int
		DeleteInfo         func(childComplexity int, id string) int
		DeleteNotification func(childComplexity int, id string) int
		DeletePatient      func(childComplexity int, id string) int
		DeleteRdv          func(childComplexity int, id string) int
		DeleteSession      func(childComplexity int, id string) int
		DeleteSlot         func(childComplexity int, id string) int
		DeleteSymptom      func(childComplexity int, id string) int
		DeleteTestAccount  func(childComplexity int, id string) int
		DeleteTreatment    func(childComplexity int, id string) int
		UpdateAdmin        func(childComplexity int, id string, email *string, password *string, name *string, lastName *string) int
		UpdateAlert        func(childComplexity int, id string, name *string, sex *string, height *int, weight *int, symptoms []string, comment *string) int
		UpdateAnteChir     func(childComplexity int, id string, name *string, localisation *string, inducedSymptoms []string) int
		UpdateAnteDisease  func(childComplexity int, id string, name *string, chronicity *float64, chir *string, treatment []string, symptoms []string) int
		UpdateAnteFamily   func(childComplexity int, id string, name *string, disease []string) int
		UpdateDemoAccount  func(childComplexity int, id string, email *string, password *string) int
		UpdateDisease      func(childComplexity int, id string, code *string, name *string, symptoms []string, symptomsAcute []*model.SymptomWeightInput, symptomsSubacute []*model.SymptomWeightInput, symptomsChronic []*model.SymptomWeightInput, advice *string) int
		UpdateDoctor       func(childComplexity int, id string, email *string, password *string, rendezVousIds []*string, patientIds []*string) int
		UpdateDocument     func(childComplexity int, id string, name *string, isFavorite *bool) int
		UpdateHealth       func(childComplexity int, id string, patientsAllergies []string, patientsIllness []string, patientsPrimaryDoctor *string, patientsTreatments []string) int
		UpdateInfo         func(childComplexity int, id string, name *string, birthdate *string, height *int, weight *int, sex *string, surname *string) int
		UpdateNotification func(childComplexity int, id string, token string, message string, title string) int
		UpdatePatient      func(childComplexity int, id string, email *string, password *string, onboardingInfoID *string, onboardingHealthID *string, rendezVousIds []*string, documentIds []*string) int
		UpdateRdv          func(childComplexity int, id string, idPatient *string, doctorID *string, startDate *int, endDate *int, cancelationReason *string) int
		UpdateSession      func(childComplexity int, id string, symptoms []string, age *int, height *int, weight *int, sex *string, lastQuestion *string, logs []*model.LogsInput, alerts []string) int
		UpdateSymptom      func(childComplexity int, id string, code *string, name *string, location *string, duration *int, acute *int, subacute *int, chronic *int, symptom []string, advice *string, question *string) int
		UpdateTestAccount  func(childComplexity int, id string, email *string, password *string) int
		UpdateTreatment    func(childComplexity int, id string, name *string, disease *string, symptoms []string, sideEffects []string) int
	}

	Notification struct {
		ID      func(childComplexity int) int
		Message func(childComplexity int) int
		Title   func(childComplexity int) int
		Token   func(childComplexity int) int
	}

	Patient struct {
		DocumentIds        func(childComplexity int) int
		Email              func(childComplexity int) int
		ID                 func(childComplexity int) int
		OnboardingHealthID func(childComplexity int) int
		OnboardingInfoID   func(childComplexity int) int
		Password           func(childComplexity int) int
		RendezVousIds      func(childComplexity int) int
	}

	Query struct {
		GetAdminByEmail       func(childComplexity int, email string) int
		GetAdminByID          func(childComplexity int, id string) int
		GetAdmins             func(childComplexity int) int
		GetAlertByID          func(childComplexity int, id string) int
		GetAlerts             func(childComplexity int) int
		GetAnteChirByID       func(childComplexity int, id string) int
		GetAnteChirs          func(childComplexity int) int
		GetAnteDiseaseByID    func(childComplexity int, id string) int
		GetAnteDiseases       func(childComplexity int) int
		GetAnteFamilies       func(childComplexity int) int
		GetAnteFamilyByID     func(childComplexity int, id string) int
		GetDemoAccountByEmail func(childComplexity int, email string) int
		GetDemoAccountByID    func(childComplexity int, id string) int
		GetDemoAccounts       func(childComplexity int) int
		GetDiseaseByID        func(childComplexity int, id string) int
		GetDiseases           func(childComplexity int) int
		GetDoctorByEmail      func(childComplexity int, email string) int
		GetDoctorByID         func(childComplexity int, id string) int
		GetDoctorRdv          func(childComplexity int, doctorID string) int
		GetDoctors            func(childComplexity int) int
		GetDocumentByID       func(childComplexity int, id string) int
		GetDocuments          func(childComplexity int) int
		GetHealthByID         func(childComplexity int, id string) int
		GetHealths            func(childComplexity int) int
		GetInfoByID           func(childComplexity int, id string) int
		GetInfos              func(childComplexity int) int
		GetNotificationByID   func(childComplexity int, id string) int
		GetNotifications      func(childComplexity int) int
		GetPatientByEmail     func(childComplexity int, email string) int
		GetPatientByID        func(childComplexity int, id string) int
		GetPatientDocument    func(childComplexity int, id string) int
		GetPatientRdv         func(childComplexity int, idPatient string) int
		GetPatients           func(childComplexity int) int
		GetRdvByID            func(childComplexity int, id string) int
		GetSessionByID        func(childComplexity int, id string) int
		GetSessions           func(childComplexity int) int
		GetSymptomByID        func(childComplexity int, id string) int
		GetSymptoms           func(childComplexity int) int
		GetTestAccountByEmail func(childComplexity int, email string) int
		GetTestAccountByID    func(childComplexity int, id string) int
		GetTestAccounts       func(childComplexity int) int
		GetTreatmentByID      func(childComplexity int, id string) int
		GetTreatments         func(childComplexity int) int
	}

	Rdv struct {
		CancelationReason func(childComplexity int) int
		DoctorID          func(childComplexity int) int
		EndDate           func(childComplexity int) int
		ID                func(childComplexity int) int
		IDPatient         func(childComplexity int) int
		StartDate         func(childComplexity int) int
	}

	Session struct {
		Age          func(childComplexity int) int
		Alerts       func(childComplexity int) int
		Height       func(childComplexity int) int
		ID           func(childComplexity int) int
		LastQuestion func(childComplexity int) int
		Logs         func(childComplexity int) int
		Sex          func(childComplexity int) int
		Symptoms     func(childComplexity int) int
		Weight       func(childComplexity int) int
	}

	Symptom struct {
		Acute    func(childComplexity int) int
		Advice   func(childComplexity int) int
		Chronic  func(childComplexity int) int
		Code     func(childComplexity int) int
		Duration func(childComplexity int) int
		ID       func(childComplexity int) int
		Location func(childComplexity int) int
		Name     func(childComplexity int) int
		Question func(childComplexity int) int
		Subacute func(childComplexity int) int
		Symptom  func(childComplexity int) int
	}

	SymptomWeight struct {
		Key   func(childComplexity int) int
		Value func(childComplexity int) int
	}

	TestAccount struct {
		Email    func(childComplexity int) int
		ID       func(childComplexity int) int
		Password func(childComplexity int) int
	}

	Treatment struct {
		Disease     func(childComplexity int) int
		ID          func(childComplexity int) int
		Name        func(childComplexity int) int
		SideEffects func(childComplexity int) int
		Symptoms    func(childComplexity int) int
	}
}

type Config

type Config struct {
	Schema     *ast.Schema
	Resolvers  ResolverRoot
	Directives DirectiveRoot
	Complexity ComplexityRoot
}

type DB

type DB struct {
	Client *mongo.Client
}

type DirectiveRoot

type DirectiveRoot struct {
}

type MutationResolver

type MutationResolver interface {
	CreatePatient(ctx context.Context, email string, password string) (*model.Patient, error)
	UpdatePatient(ctx context.Context, id string, email *string, password *string, onboardingInfoID *string, onboardingHealthID *string, rendezVousIds []*string, documentIds []*string) (*model.Patient, error)
	DeletePatient(ctx context.Context, id string) (*bool, error)
	CreateDoctor(ctx context.Context, email string, password string) (*model.Doctor, error)
	UpdateDoctor(ctx context.Context, id string, email *string, password *string, rendezVousIds []*string, patientIds []*string) (*model.Doctor, error)
	DeleteDoctor(ctx context.Context, id string) (*bool, error)
	CreateAdmin(ctx context.Context, email string, password string, name string, lastName string) (*model.Admin, error)
	UpdateAdmin(ctx context.Context, id string, email *string, password *string, name *string, lastName *string) (*model.Admin, error)
	DeleteAdmin(ctx context.Context, id string) (*bool, error)
	CreateDemoAccount(ctx context.Context, email string, password string) (*model.DemoAccount, error)
	UpdateDemoAccount(ctx context.Context, id string, email *string, password *string) (*model.DemoAccount, error)
	DeleteDemoAccount(ctx context.Context, id string) (*bool, error)
	CreateTestAccount(ctx context.Context, email string, password string) (*model.TestAccount, error)
	UpdateTestAccount(ctx context.Context, id string, email *string, password *string) (*model.TestAccount, error)
	DeleteTestAccount(ctx context.Context, id string) (*bool, error)
	CreateSession(ctx context.Context, symptoms []string, age int, height int, weight int, sex string, lastQuestion string, logs []*model.LogsInput, alerts []string) (*model.Session, error)
	UpdateSession(ctx context.Context, id string, symptoms []string, age *int, height *int, weight *int, sex *string, lastQuestion *string, logs []*model.LogsInput, alerts []string) (*model.Session, error)
	DeleteSession(ctx context.Context, id string) (*bool, error)
	CreateSymptom(ctx context.Context, code string, name string, location *string, duration *int, acute *int, subacute *int, chronic *int, symptom []string, advice *string, question string) (*model.Symptom, error)
	UpdateSymptom(ctx context.Context, id string, code *string, name *string, location *string, duration *int, acute *int, subacute *int, chronic *int, symptom []string, advice *string, question *string) (*model.Symptom, error)
	DeleteSymptom(ctx context.Context, id string) (*bool, error)
	CreateDisease(ctx context.Context, code string, name string, symptoms []string, symptomsAcute []*model.SymptomWeightInput, symptomsSubacute []*model.SymptomWeightInput, symptomsChronic []*model.SymptomWeightInput, advice *string) (*model.Disease, error)
	UpdateDisease(ctx context.Context, id string, code *string, name *string, symptoms []string, symptomsAcute []*model.SymptomWeightInput, symptomsSubacute []*model.SymptomWeightInput, symptomsChronic []*model.SymptomWeightInput, advice *string) (*model.Disease, error)
	DeleteDisease(ctx context.Context, id string) (*bool, error)
	CreateInfo(ctx context.Context, name string, birthdate string, height int, weight int, sex string, surname string) (*model.Info, error)
	UpdateInfo(ctx context.Context, id string, name *string, birthdate *string, height *int, weight *int, sex *string, surname *string) (*model.Info, error)
	DeleteInfo(ctx context.Context, id string) (*bool, error)
	CreateHealth(ctx context.Context, patientsAllergies []string, patientsIllness []string, patientsPrimaryDoctor string, patientsTreatments []string) (*model.Health, error)
	UpdateHealth(ctx context.Context, id string, patientsAllergies []string, patientsIllness []string, patientsPrimaryDoctor *string, patientsTreatments []string) (*model.Health, error)
	DeleteHealth(ctx context.Context, id string) (*bool, error)
	CreateNotification(ctx context.Context, token string, message string, title string) (*model.Notification, error)
	UpdateNotification(ctx context.Context, id string, token string, message string, title string) (*model.Notification, error)
	DeleteNotification(ctx context.Context, id string) (*bool, error)
	CreateRdv(ctx context.Context, idPatient string, doctorID string, startDate int, endDate int) (*model.Rdv, error)
	UpdateRdv(ctx context.Context, id string, idPatient *string, doctorID *string, startDate *int, endDate *int, cancelationReason *string) (*model.Rdv, error)
	DeleteRdv(ctx context.Context, id string) (*bool, error)
	DeleteSlot(ctx context.Context, id string) (*bool, error)
	CreateDocument(ctx context.Context, ownerID string, name string, documentType string, category string, isFavorite bool, downloadURL string) (*model.Document, error)
	UpdateDocument(ctx context.Context, id string, name *string, isFavorite *bool) (*model.Document, error)
	DeleteDocument(ctx context.Context, id string) (*bool, error)
	CreateAnteChir(ctx context.Context, name string, localisation string, inducedSymptoms []string) (*model.AnteChir, error)
	UpdateAnteChir(ctx context.Context, id string, name *string, localisation *string, inducedSymptoms []string) (*model.AnteChir, error)
	DeleteAnteChir(ctx context.Context, id string) (*bool, error)
	CreateAnteDisease(ctx context.Context, name string, chronicity float64, chir *string, treatment []string, symptoms []string) (*model.AnteDisease, error)
	UpdateAnteDisease(ctx context.Context, id string, name *string, chronicity *float64, chir *string, treatment []string, symptoms []string) (*model.AnteDisease, error)
	DeleteAnteDisease(ctx context.Context, id string) (*bool, error)
	CreateAnteFamily(ctx context.Context, name string, disease []string) (*model.AnteFamily, error)
	UpdateAnteFamily(ctx context.Context, id string, name *string, disease []string) (*model.AnteFamily, error)
	DeleteAnteFamily(ctx context.Context, id string) (*bool, error)
	CreateTreatment(ctx context.Context, name string, disease string, symptoms []string, sideEffects []string) (*model.Treatment, error)
	UpdateTreatment(ctx context.Context, id string, name *string, disease *string, symptoms []string, sideEffects []string) (*model.Treatment, error)
	DeleteTreatment(ctx context.Context, id string) (*bool, error)
	CreateAlert(ctx context.Context, name string, sex *string, height *int, weight *int, symptoms []string, comment string) (*model.Alert, error)
	UpdateAlert(ctx context.Context, id string, name *string, sex *string, height *int, weight *int, symptoms []string, comment *string) (*model.Alert, error)
	DeleteAlert(ctx context.Context, id string) (*bool, error)
}

type QueryResolver

type QueryResolver interface {
	GetPatients(ctx context.Context) ([]*model.Patient, error)
	GetPatientByID(ctx context.Context, id string) (*model.Patient, error)
	GetPatientByEmail(ctx context.Context, email string) (*model.Patient, error)
	GetDoctors(ctx context.Context) ([]*model.Doctor, error)
	GetDoctorByID(ctx context.Context, id string) (*model.Doctor, error)
	GetDoctorByEmail(ctx context.Context, email string) (*model.Doctor, error)
	GetAdmins(ctx context.Context) ([]*model.Admin, error)
	GetAdminByID(ctx context.Context, id string) (*model.Admin, error)
	GetAdminByEmail(ctx context.Context, email string) (*model.Admin, error)
	GetDemoAccounts(ctx context.Context) ([]*model.DemoAccount, error)
	GetDemoAccountByID(ctx context.Context, id string) (*model.DemoAccount, error)
	GetDemoAccountByEmail(ctx context.Context, email string) (*model.DemoAccount, error)
	GetTestAccounts(ctx context.Context) ([]*model.TestAccount, error)
	GetTestAccountByID(ctx context.Context, id string) (*model.TestAccount, error)
	GetTestAccountByEmail(ctx context.Context, email string) (*model.TestAccount, error)
	GetSessions(ctx context.Context) ([]*model.Session, error)
	GetSessionByID(ctx context.Context, id string) (*model.Session, error)
	GetSymptomByID(ctx context.Context, id string) (*model.Symptom, error)
	GetDiseaseByID(ctx context.Context, id string) (*model.Disease, error)
	GetInfos(ctx context.Context) ([]*model.Info, error)
	GetInfoByID(ctx context.Context, id string) (*model.Info, error)
	GetSymptoms(ctx context.Context) ([]*model.Symptom, error)
	GetDiseases(ctx context.Context) ([]*model.Disease, error)
	GetHealths(ctx context.Context) ([]*model.Health, error)
	GetHealthByID(ctx context.Context, id string) (*model.Health, error)
	GetNotifications(ctx context.Context) ([]*model.Notification, error)
	GetNotificationByID(ctx context.Context, id string) (*model.Notification, error)
	GetPatientRdv(ctx context.Context, idPatient string) ([]*model.Rdv, error)
	GetDoctorRdv(ctx context.Context, doctorID string) ([]*model.Rdv, error)
	GetRdvByID(ctx context.Context, id string) (*model.Rdv, error)
	GetDocuments(ctx context.Context) ([]*model.Document, error)
	GetDocumentByID(ctx context.Context, id string) (*model.Document, error)
	GetPatientDocument(ctx context.Context, id string) ([]*model.Document, error)
	GetAnteChirs(ctx context.Context) ([]*model.AnteChir, error)
	GetAnteChirByID(ctx context.Context, id string) (*model.AnteChir, error)
	GetAnteDiseases(ctx context.Context) ([]*model.AnteDisease, error)
	GetAnteDiseaseByID(ctx context.Context, id string) (*model.AnteDisease, error)
	GetAnteFamilies(ctx context.Context) ([]*model.AnteFamily, error)
	GetAnteFamilyByID(ctx context.Context, id string) (*model.AnteFamily, error)
	GetTreatments(ctx context.Context) ([]*model.Treatment, error)
	GetTreatmentByID(ctx context.Context, id string) (*model.Treatment, error)
	GetAlerts(ctx context.Context) ([]*model.Alert, error)
	GetAlertByID(ctx context.Context, id string) (*model.Alert, error)
}

type Resolver

type Resolver struct {
	Db *DB
}

func (*Resolver) Mutation

func (r *Resolver) Mutation() MutationResolver

Mutation returns MutationResolver implementation.

func (*Resolver) Query

func (r *Resolver) Query() QueryResolver

Query returns QueryResolver implementation.

type ResolverRoot

type ResolverRoot interface {
	Mutation() MutationResolver
	Query() QueryResolver
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL