// Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. // Code generated by gorm.io/gen. DO NOT EDIT. package query import ( "context" "database/sql" "gorm.io/gorm" "gorm.io/gen" "gorm.io/plugin/dbresolver" ) var ( Q = new(Query) Ansprechpartner *ansprechpartner Dokument *dokument Firma *firma FirmaAnsprechpartner *firmaAnsprechpartner Kalender *kalender Kalendereintrag *kalendereintrag Kostenstelle *kostenstelle Lager *lager Lagerplatz *lagerplatz Material *material Nachricht *nachricht Projekt *projekt Rechnung *rechnung Rechnungsposition *rechnungsposition Scanobject *scanobject User *user Zahlung *zahlung ) func SetDefault(db *gorm.DB, opts ...gen.DOOption) { *Q = *Use(db, opts...) Ansprechpartner = &Q.Ansprechpartner Dokument = &Q.Dokument Firma = &Q.Firma FirmaAnsprechpartner = &Q.FirmaAnsprechpartner Kalender = &Q.Kalender Kalendereintrag = &Q.Kalendereintrag Kostenstelle = &Q.Kostenstelle Lager = &Q.Lager Lagerplatz = &Q.Lagerplatz Material = &Q.Material Nachricht = &Q.Nachricht Projekt = &Q.Projekt Rechnung = &Q.Rechnung Rechnungsposition = &Q.Rechnungsposition Scanobject = &Q.Scanobject User = &Q.User Zahlung = &Q.Zahlung } func Use(db *gorm.DB, opts ...gen.DOOption) *Query { return &Query{ db: db, Ansprechpartner: newAnsprechpartner(db, opts...), Dokument: newDokument(db, opts...), Firma: newFirma(db, opts...), FirmaAnsprechpartner: newFirmaAnsprechpartner(db, opts...), Kalender: newKalender(db, opts...), Kalendereintrag: newKalendereintrag(db, opts...), Kostenstelle: newKostenstelle(db, opts...), Lager: newLager(db, opts...), Lagerplatz: newLagerplatz(db, opts...), Material: newMaterial(db, opts...), Nachricht: newNachricht(db, opts...), Projekt: newProjekt(db, opts...), Rechnung: newRechnung(db, opts...), Rechnungsposition: newRechnungsposition(db, opts...), Scanobject: newScanobject(db, opts...), User: newUser(db, opts...), Zahlung: newZahlung(db, opts...), } } type Query struct { db *gorm.DB Ansprechpartner ansprechpartner Dokument dokument Firma firma FirmaAnsprechpartner firmaAnsprechpartner Kalender kalender Kalendereintrag kalendereintrag Kostenstelle kostenstelle Lager lager Lagerplatz lagerplatz Material material Nachricht nachricht Projekt projekt Rechnung rechnung Rechnungsposition rechnungsposition Scanobject scanobject User user Zahlung zahlung } func (q *Query) Available() bool { return q.db != nil } func (q *Query) clone(db *gorm.DB) *Query { return &Query{ db: db, Ansprechpartner: q.Ansprechpartner.clone(db), Dokument: q.Dokument.clone(db), Firma: q.Firma.clone(db), FirmaAnsprechpartner: q.FirmaAnsprechpartner.clone(db), Kalender: q.Kalender.clone(db), Kalendereintrag: q.Kalendereintrag.clone(db), Kostenstelle: q.Kostenstelle.clone(db), Lager: q.Lager.clone(db), Lagerplatz: q.Lagerplatz.clone(db), Material: q.Material.clone(db), Nachricht: q.Nachricht.clone(db), Projekt: q.Projekt.clone(db), Rechnung: q.Rechnung.clone(db), Rechnungsposition: q.Rechnungsposition.clone(db), Scanobject: q.Scanobject.clone(db), User: q.User.clone(db), Zahlung: q.Zahlung.clone(db), } } func (q *Query) ReadDB() *Query { return q.ReplaceDB(q.db.Clauses(dbresolver.Read)) } func (q *Query) WriteDB() *Query { return q.ReplaceDB(q.db.Clauses(dbresolver.Write)) } func (q *Query) ReplaceDB(db *gorm.DB) *Query { return &Query{ db: db, Ansprechpartner: q.Ansprechpartner.replaceDB(db), Dokument: q.Dokument.replaceDB(db), Firma: q.Firma.replaceDB(db), FirmaAnsprechpartner: q.FirmaAnsprechpartner.replaceDB(db), Kalender: q.Kalender.replaceDB(db), Kalendereintrag: q.Kalendereintrag.replaceDB(db), Kostenstelle: q.Kostenstelle.replaceDB(db), Lager: q.Lager.replaceDB(db), Lagerplatz: q.Lagerplatz.replaceDB(db), Material: q.Material.replaceDB(db), Nachricht: q.Nachricht.replaceDB(db), Projekt: q.Projekt.replaceDB(db), Rechnung: q.Rechnung.replaceDB(db), Rechnungsposition: q.Rechnungsposition.replaceDB(db), Scanobject: q.Scanobject.replaceDB(db), User: q.User.replaceDB(db), Zahlung: q.Zahlung.replaceDB(db), } } type queryCtx struct { Ansprechpartner IAnsprechpartnerDo Dokument IDokumentDo Firma IFirmaDo FirmaAnsprechpartner IFirmaAnsprechpartnerDo Kalender IKalenderDo Kalendereintrag IKalendereintragDo Kostenstelle IKostenstelleDo Lager ILagerDo Lagerplatz ILagerplatzDo Material IMaterialDo Nachricht INachrichtDo Projekt IProjektDo Rechnung IRechnungDo Rechnungsposition IRechnungspositionDo Scanobject IScanobjectDo User IUserDo Zahlung IZahlungDo } func (q *Query) WithContext(ctx context.Context) *queryCtx { return &queryCtx{ Ansprechpartner: q.Ansprechpartner.WithContext(ctx), Dokument: q.Dokument.WithContext(ctx), Firma: q.Firma.WithContext(ctx), FirmaAnsprechpartner: q.FirmaAnsprechpartner.WithContext(ctx), Kalender: q.Kalender.WithContext(ctx), Kalendereintrag: q.Kalendereintrag.WithContext(ctx), Kostenstelle: q.Kostenstelle.WithContext(ctx), Lager: q.Lager.WithContext(ctx), Lagerplatz: q.Lagerplatz.WithContext(ctx), Material: q.Material.WithContext(ctx), Nachricht: q.Nachricht.WithContext(ctx), Projekt: q.Projekt.WithContext(ctx), Rechnung: q.Rechnung.WithContext(ctx), Rechnungsposition: q.Rechnungsposition.WithContext(ctx), Scanobject: q.Scanobject.WithContext(ctx), User: q.User.WithContext(ctx), Zahlung: q.Zahlung.WithContext(ctx), } } func (q *Query) Transaction(fc func(tx *Query) error, opts ...*sql.TxOptions) error { return q.db.Transaction(func(tx *gorm.DB) error { return fc(q.clone(tx)) }, opts...) } func (q *Query) Begin(opts ...*sql.TxOptions) *QueryTx { tx := q.db.Begin(opts...) return &QueryTx{Query: q.clone(tx), Error: tx.Error} } type QueryTx struct { *Query Error error } func (q *QueryTx) Commit() error { return q.db.Commit().Error } func (q *QueryTx) Rollback() error { return q.db.Rollback().Error } func (q *QueryTx) SavePoint(name string) error { return q.db.SavePoint(name).Error } func (q *QueryTx) RollbackTo(name string) error { return q.db.RollbackTo(name).Error }