package comms import ( "context" //"github.com/Gleipnir-Technology/bob" "github.com/Gleipnir-Technology/nidus-sync/db" //"github.com/Gleipnir-Technology/nidus-sync/db/gen/nidus-sync/public/enum" "github.com/Gleipnir-Technology/jet/postgres" "github.com/Gleipnir-Technology/nidus-sync/db/gen/nidus-sync/comms/model" "github.com/Gleipnir-Technology/nidus-sync/db/gen/nidus-sync/comms/table" ) func ContactPhoneInsert(ctx context.Context, txn db.Ex, m model.ContactPhone) (model.ContactPhone, error) { statement := table.ContactPhone.INSERT(table.ContactPhone.MutableColumns). MODEL(m). RETURNING(table.ContactPhone.AllColumns) return db.ExecuteOneTx[model.ContactPhone](ctx, txn, statement) } func ContactPhoneFromE164(ctx context.Context, txn db.Ex, e164 string) (model.ContactPhone, error) { statement := table.ContactPhone.SELECT( table.ContactPhone.AllColumns, ).FROM(table.ContactPhone). WHERE(table.ContactPhone.E164.EQ(postgres.String(e164))) return db.ExecuteOneTx[model.ContactPhone](ctx, txn, statement) } func ContactPhoneUpdateConfirmedMessageID(ctx context.Context, txn db.Ex, e164 string, message_id *int32) error { statement := table.ContactPhone.UPDATE(). SET(table.ContactPhone.ConfirmedMessageID.SET(postgres.IntExp(postgres.NULL))). WHERE(table.ContactPhone.E164.EQ(postgres.String(e164))) return db.ExecuteNoneTx(ctx, txn, statement) } func ContactPhoneUpdateStopMessageID(ctx context.Context, txn db.Ex, e164 string, message_id *int32) error { /* m := model.ContactPhone{} m.StopMessageID = message_id statement := table.ContactPhone.UPDATE( table.ContactPhone.StopMessageID, ).MODEL(m). WHERE(table.ContactPhone.E164.EQ(postgres.String(e164))) */ statement := table.ContactPhone.UPDATE(). SET(table.ContactPhone.StopMessageID.SET(postgres.IntExp(postgres.NULL))). WHERE(table.ContactPhone.E164.EQ(postgres.String(e164))) return db.ExecuteNoneTx(ctx, txn, statement) } /* func ContactPhonesFromAddress(ctx context.Context, address string) ([]model.ContactPhone, error) { statement := table.ContactPhone.SELECT( table.ContactPhone.AllColumns, ).FROM(table.ContactPhone). WHERE(table.ContactPhone.Source.EQ(postgres.String(address)).OR( table.ContactPhone.Destination.EQ(postgres.String(address)))) return db.ExecuteMany[model.ContactPhone](ctx, statement) } */