Skip to content

skrodal/ac-fusjonator-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ac-fusjonator-api

Dette APIet er registrert i UNINETT Dataporten og benyttes av tjeneste "ConnectFusjonator".

APIet mottar og prosesserer henvendelser fra en klient (eks. https://github.com/skrodal/ac-fusjonator-client) registrert i UNINETT Dataporten som har tilgang til dette APIet.

Dataflyt mellom klient<->API<->AdobeConnect er som følger:

  1. Klient sender brukerliste til API med følgende CSV format (current_login, new_login):
    GAMMELT@HIN.NO, NYTT@UIT.no 
    karius@hin.no, karius@uit.no 
    baktus@hin.no, baktus@uit.no 
    kasper@hin.no, kasper@uit.no 
    jesper@hin.no, jesper@uit.no
  1. API kryssjekker hver linje i brukerlista med Adobe Connect som følger:
  • Eksisterer konto med brukernavn?
    • NEI: skip til neste linje (vi trenger ikke gjøre noe som helst med dette brukernavnet)
    • JA: bruker har konto. Sjekk for sikkerhets skyld om NYTT_brukernavn også eksisterer:
      • NEI: bra, legg til brukernavn (gammelt og nytt) i liste over kontoer som kan og skal fusjoneres
      • JA: ops! Nytt brukernavn eksisterer allerede - altså kan ikke gammel og ny konto migreres...
  1. API sender tilbake til klienten ei liste med brukerkontoer som kan migreres, og som kan kontrolleres av brukeren. I tillegg synliggjøres liste over problematiske kontoer (der begge brukernavn allerede eksisterer). Se eksempel lenger ned.

  2. Klient sender så nytt kall til API med den nye lista over kontoer som kan migreres.

  3. API sender hver og en bruker til Adobe Connect for å bytte fra gammelt til nytt brukernavn.

  4. Når #5 er ferdig sender API svar til klient med status (liste over alle brukernavn som ble migrert).

  5. Ferdig!

Eksempelsvar fra API til klient:

Eksempel med tulle-data for å illustrere første oppslag i API:

  • Karius og Baktus har ingen konto fra før, så vi kan regne med at disse to blir ignorert.
  • Simon og Renlin har konto og vi kan forvente at ny uit adresse er ledig.
  • Siste linje vet vi kommer til å skjære seg.
     karius@hin.no, karius@uit.no
     baktus@hin.no, baktus@uit.no
     simon@uninett.no, simon@uit.no
     renlin@uninett.no, renlin@uit.no
     simon@uninett.no, renlin@uninett.no

Svar fra API etter å ha sjekket med Adobe Connect:

  • Første to linjer ble ignorert (de har ikke konto)
  • Neste to linjer er OK - begge brukere har konto og nytt brukernavn er ikke tatt i bruk enda.
  • Siste linje: kollisjon siden nytt brukernavn allerede er tatt i bruk!

Kun brukere i "ok"-segmentet vil bli sent til Adobe Connect i neste kall for migrering.

{
  "status": true,
  "data": {
    "ignore": {
      "karius@hin.no": {
        "message": "Hopper over siden ingen konto er registrert for dette brukernavnet.",
        "account_info_current": {
          "username": "karius@hin.no"
        },
        "account_info_new": {
          "username": "karius@uit.no"
        }
      },
      "baktus@hin.no": {
        "message": "Hopper over siden ingen konto er registrert for dette brukernavnet.",
        "account_info_current": {
          "username": "baktus@hin.no"
        },
        "account_info_new": {
          "username": "baktus@uit.no"
        }
      }
    },
    "ok": {
      "simon@uninett.no": {
        "message": "Klar for fusjonering til nytt brukernavn!",
        "account_info_current": {
          "principal_id": "237238",
          "username": "simon@uninett.no"
        },
        "account_info_new": {
          "username": "simon@uit.no"
        }
      },
      "renlin@uninett.no": {
        "message": "Klar for fusjonering til nytt brukernavn!",
        "account_info_current": {
          "principal_id": "5662772",
          "username": "renlin@uninett.no"
        },
        "account_info_new": {
          "username": "renlin@uit.no"
        }
      }
    },
    "problem": {
      "simon@uninett.no": {
        "message": "Kan ikke migrere! Nytt brukernavn er allerede blitt tatt i bruk.",
        "account_info_current": {
          "principal_id": "237238",
          "username": "simon@uninett.no"
        },
        "account_info_new": {
          "principal_id": "5662772",
          "username": "renlin@uninett.no",
        }
      }
    }
  }
}

Relatert

For mer informasjon om APIets funksjon, se https://github.com/skrodal/ac-fusjonator-client.

Annet

Utviklet av Simon Skrødal for UNINETT

About

Adobe Connect: Endrer eksisterende (Feide) brukernavn til nytt

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages