Do Spar things transactionally
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 20/100
Direzione di ricerca
Esamina prima la definizione proposta di insertScimAndSamlUser e la pull request #905 indicata. Traccia il percorso di inserimento esistente di Spar per SCIM e SAML, inclusi il comportamento batch e quello dei retry mostrati nell’issue. Il lavoro è completato quando i due inserimenti vengono gestiti transazionalmente come descritto e il problema di serializzazione di WrappedScimStoredUser SparTag è risolto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Right, I think this might still be worth it in this one, and should look like something in the lines of:
insertScimAndSamlUser :: (HasCallStack, MonadClient m) => UserId -> SAML.UserRef -> ScimC.User.StoredUser SparTag -> m ()
insertScimAndSamlUser uid (SAML.UserRef tenant subject) scimUsr = retry x5 . batch $ do
setType BatchLogged
setConsistency Quorum
addPrepQuery insScim (uid, WrappedScimStoredUser scimUsr)
addPrepQuery insSaml (tenant, subject, uid)
where
insScim :: PrepQuery W (UserId, WrappedScimStoredUser SparTag) ()
insScim = "INSERT INTO scim_user (id, json) VALUES (?, ?)"
insSaml :: PrepQuery W (SAML.Issuer, SAML.NameID, UserId) ()
insSaml = "INSERT INTO user (issuer, sso_id, uid) VALUES (?, ?, ?)"
The main annoyance I see with this is that you will need a Show instance for WrappedScimStoredUser SparTag -> not sure how trivial it is to come up with a meaningful one.
Originally posted by @tiago-loureiro in https://github.com/wireapp/wire-server/pull/905
- Lingua principale
- Haskell
- Stelle
- 2.8k
- Fork
- 332
- Merge medio
- 3g 7h
- PR unite (30g)
- 49
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di wireapp/wire-server
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
wireapp/wire-server#5632 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
wireapp/wire-server#5443 · 1 commento ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
wireapp/wire-server#5315 · 4 commenti · 1 reazione ·
I maintainer di solito rispondono entro 2 giorni
-
Dependency DashboardAperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
wireapp/wire-server#4754 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
wireapp/wire-server#4613 ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di wireapp/wire-server
Issue simili
-
`unsafeReleaseAll` throws `ResourceRegistryUsedFromUntrackedThread` when called from an untracked threadForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 80/100
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Vim-mode indent crashes: monaco-vim's browser build inlines monaco-editor 0.33Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
compiler-explorer/compiler-explorer#9402 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 95/100
objectionary/phino#2137 ·
I maintainer di solito rispondono entro 1 giorno