MCPcopy Index your code
hub / github.com/coder/coder / CryptoKey

Function CryptoKey

coderd/database/dbgen/dbgen.go:1805–1841  ·  view source on GitHub ↗
(t testing.TB, db database.Store, seed database.CryptoKey)

Source from the content-addressed store, hash-verified

1803}
1804
1805func CryptoKey(t testing.TB, db database.Store, seed database.CryptoKey) database.CryptoKey {
1806 t.Helper()
1807
1808 seed.Feature = takeFirst(seed.Feature, database.CryptoKeyFeatureWorkspaceAppsAPIKey)
1809
1810 // An empty string for the secret is interpreted as
1811 // a caller wanting a new secret to be generated.
1812 // To generate a key with a NULL secret set Valid=false
1813 // and String to a non-empty string.
1814 if seed.Secret.String == "" {
1815 secret, err := newCryptoKeySecret(seed.Feature)
1816 require.NoError(t, err, "generate secret")
1817 seed.Secret = sql.NullString{
1818 String: secret,
1819 Valid: true,
1820 }
1821 }
1822
1823 key, err := db.InsertCryptoKey(genCtx, database.InsertCryptoKeyParams{
1824 Sequence: takeFirst(seed.Sequence, 123),
1825 Secret: seed.Secret,
1826 SecretKeyID: takeFirst(seed.SecretKeyID, sql.NullString{}),
1827 Feature: seed.Feature,
1828 StartsAt: takeFirst(seed.StartsAt, dbtime.Now()),
1829 })
1830 require.NoError(t, err, "insert crypto key")
1831
1832 if seed.DeletesAt.Valid {
1833 key, err = db.UpdateCryptoKeyDeletesAt(genCtx, database.UpdateCryptoKeyDeletesAtParams{
1834 Feature: key.Feature,
1835 Sequence: key.Sequence,
1836 DeletesAt: sql.NullTime{Time: seed.DeletesAt.Time, Valid: true},
1837 })
1838 require.NoError(t, err, "update crypto key deletes_at")
1839 }
1840 return key
1841}
1842
1843func ProvisionerJobTimings(t testing.TB, db database.Store, build database.WorkspaceBuild, count int) []database.ProvisionerJobTiming {
1844 timings := make([]database.ProvisionerJobTiming, count)

Callers 9

TestJWSFunction · 0.92
TestJWEFunction · 0.92
TestRotatorFunction · 0.92
Test_rotateKeysFunction · 0.92
TestGetCryptoKeysFunction · 0.92
TestCryptoKeysFunction · 0.92

Calls 6

NowFunction · 0.92
newCryptoKeySecretFunction · 0.85
takeFirstFunction · 0.70
HelperMethod · 0.65
InsertCryptoKeyMethod · 0.65

Tested by 9

TestJWSFunction · 0.74
TestJWEFunction · 0.74
TestRotatorFunction · 0.74
Test_rotateKeysFunction · 0.74
TestGetCryptoKeysFunction · 0.74
TestCryptoKeysFunction · 0.74