Toggle document index

App responsibilities

The board

  • Offer up your categories and their nodes (e.g. location, classification for Seek), so the mapper and UI can access them
  • Offer up a UI (user-SSO protected) to set the fields (description, title, upload video, etc.)
  • Store the data from the UI above, for a posting ID (single job may be posted multiple times)
  • Periodically (e.g. when there are new postings) push the postings into the mothership
  • Periodically (e.g. every 6 hours) scan for closed jobs where you may have missed the delta pings

    API flow

    note right of mapper: user opens app note right of mapper: mapper enumerates boards mapper->board: GET /boards/forApp mapper->board2: GET /boards/forApp note right of mapper: mapper gets all nodes\nfrom tenant mapper->board: GET /categories mapper->board: GET /categories/byID/{} mapper->board: GET /categories/byID/{}/values note right of mapper: user starts mapping\nfor first board note right of mapper: mapper gets all nodes from board mapper->board: GET /jobBoards/forApp/categories mapper->board: GET /jobBoards/forApp/categories/byID/{} mapper->board: GET /jobBoards/forApp/categories/byID/{}/values note right of mapper: user maps categories note right of mapper: user maps nodes

    User clicks in the job panel to post the job to a job board for first time

    note right of poster: poster grabs common details: note right of poster: get title, description poster->ats: GET /jobs/byID/{} note right of poster: get category drop down values poster->board: GET /jobBoards/forApp/categories poster->board: GET /jobBoards/forApp/categories/byID/{} poster->board: GET /jobBoards/forApp/categories/byID/{}/values note right of poster: get mappings (to set defaults) poster->mapper: POST /jobBoards/forApp/{app}/mappings note right of poster: poster creates a draft posting object\nwith values as above note right of poster: get link to board's\niframe-ed posting UI poster->board: GET /jobBoards/forApp/postingUI/byID/{posting} note right of poster: UI can now be shown. User edits,\nclicks save. Client-side message\nsignals board UI to save\nit's own values. note left of board: board saves its own\nvalues against the posting board->poster: PATCH /jobBoards/postings/byID/{}/boardDetails note right of poster: poster signals that postings\nhave changed (should this be "tenantDeltaPings"?) poster->board: POST /jobBoards/postings/byID/{}/deltaPings note right of poster: poster updates mothership poster->mothership: send postings across in bulk or individually note left of ats: job closes on ATS ats->poster: /jobs/open/externally/byID/{id}/deltaPings

    User clicks to take down a posting