MCPcopy Create free account
hub / github.com/koding/kite / getKey

Method getKey

kontrol/postgres.go:432–464  ·  view source on GitHub ↗
(preds ...interface{})

Source from the content-addressed store, hash-verified

430}
431
432func (p *Postgres) getKey(preds ...interface{}) (*KeyPair, error) {
433 psql := sq.StatementBuilder.PlaceholderFormat(sq.Dollar).
434 Select("id", "public", "private", "deleted_at").
435 From("kite.key")
436
437 for _, pred := range preds {
438 psql = psql.Where(pred)
439 }
440
441 sqlQuery, args, err := psql.ToSql()
442 if err != nil {
443 return nil, err
444 }
445
446 var (
447 kp KeyPair
448 t pq.NullTime
449 )
450
451 err = p.DB.QueryRow(sqlQuery, args...).Scan(&kp.ID, &kp.Public, &kp.Private, &t)
452 if err != nil {
453 if err == sql.ErrNoRows {
454 return nil, ErrNoKeyFound
455 }
456 return nil, err
457 }
458
459 if t.Valid {
460 return nil, ErrKeyDeleted
461 }
462
463 return &kp, nil
464}
465
466func (p *Postgres) GetKeyFromID(id string) (*KeyPair, error) {
467 return p.getKey(sq.Eq{"id": id})

Callers 2

GetKeyFromIDMethod · 0.95
GetKeyFromPublicMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected