Skip to content
This repository has been archived by the owner on Nov 23, 2021. It is now read-only.

itproject

Sync Action edited this page Nov 17, 2020 · 24 revisions

itproject

Integration Diagram

Application Index

Application Name Method
authenticate getClaims
authenticate login
authenticate register
authenticate registerFirebase
authenticate verify
echo echo
profiles getuser
profiles updateuser
search search
upload upload

Type Index

Application Name Type Name
itproject account
itproject artifact
itproject echoRequest
itproject echoResponse
itproject empty
itproject getClaimsResponse
itproject getuserRequest
itproject job
itproject loginRequest
itproject loginResponse
itproject profile
itproject registerRequest
itproject registerResponse
itproject searchRequest
itproject searchResponse
itproject uploadRequest
itproject uploadResponse
itproject verifyRequest
itproject verifyResponse

Applications

Application authenticate

  • authenticate miroservice that handles authentication and issues JWTs with username claims.

authenticate getClaims

getClaims is used to get which user is currently logged in

Sequence Diagram
Request types
Response types

getClaimsResponse contains a username


authenticate login

Login is used to login to acquire a JWT

Sequence Diagram
Request types
Response types

loginRequest is the response object from Login that is used in bearer authentic ation in the header: "Bearer "


authenticate register

register is used to register a user and acquire a JWT

Sequence Diagram
Request types
Response types

RegisterResponse is the response from the registration services


authenticate registerFirebase

registerFirebase is used to register a user and acquire a JWT

Sequence Diagram
Request types
Response types

empty is an empty type for messages that don't need a payload


authenticate verify

verify is used to verify if a user has permissions to edit a profile

Sequence Diagram
Request types
Response types

verifyResponse is a message that has verified=true if the authenticated used ha s the ability to edit the page


Application echo

  • EchoService is a basic service to test connections

echo echo

echo is a method to test service deployments

Sequence Diagram
Request types
Response types

echoResponse is the response from the EchoService


Application profiles

  • profiles is a service to retrieve and update a profile that is displayed

profiles getuser

getuser gets a user from a userid

Sequence Diagram
Request types
Response types

profile is the data model of the page that is displayed to a user


profiles updateuser

updateuser updates a profile

Sequence Diagram
Request types
Response types

empty is an empty type for messages that don't need a payload


Application search

  • search is a service that is used to find a profile/user based on a search param eter

search search

Sequence Diagram
Request types
Response types

searchResponse is a type that contains the profiles that match the search term


Application upload

  • upload service is used to upload static assets to gcs

upload upload

upload uploads a static asset to gcp and returns a url

Sequence Diagram
Request types
Response types

uploadResponse contains the url of the static asset


Types

itproject.account

itproject.account

account is an account that is stored in the firebase database. account contains all of the username/passwords and hashes.

Full Diagram

Fields

Field name Type Description
email string
name string
password string
preferred_name string
salt string
username string
itproject.artifact

itproject.artifact

  • artifact is a generic entry in the frontend
Full Diagram

Fields

Field name Type Description
description string
link string
title string
itproject.echoRequest

itproject.echoRequest

  • echoRequest is the request object for EchoService
Full Diagram

Fields

Field name Type Description
message string
itproject.echoResponse

itproject.echoResponse

  • echoResponse is the response from the EchoService
Full Diagram

Fields

Field name Type Description
message string
itproject.empty

itproject.empty

  • empty is an empty type for messages that don't need a payload
Full Diagram
itproject.getClaimsResponse

itproject.getClaimsResponse

  • getClaimsResponse contains a username
Full Diagram

Fields

Field name Type Description
username string
itproject.getuserRequest

itproject.getuserRequest

  • getuserRequest contains a username to respond
Full Diagram

Fields

Field name Type Description
userid string
itproject.job

itproject.job

  • job contains information to display in the frontend timeline
Full Diagram

Fields

Field name Type Description
company string
dates string
description string
title string
itproject.loginRequest

itproject.loginRequest

  • loginRequest is empty because the Bas64(username:password) is contained in the header of the request
Full Diagram
itproject.loginResponse

itproject.loginResponse

  • loginRequest is the response object from Login that is used in bearer authentic ation in the header: "Bearer "
Full Diagram

Fields

Field name Type Description
jwt string
itproject.profile

itproject.profile

  • profile is the data model of the page that is displayed to a user
Full Diagram

Fields

Field name Type Description
artifacts sequence of artifact
bio string
content string
email string
full_name string
jobs sequence of job
links sequence of STRING
picture string
username string
itproject.registerRequest

itproject.registerRequest

  • registerRequest contains all the information to register the user in the databa se
Full Diagram

Fields

Field name Type Description
email string
fullName string
password string
preferredName string
username string
itproject.registerResponse

itproject.registerResponse

  • RegisterResponse is the response from the registration services
Full Diagram

Fields

Field name Type Description
jwt string
itproject.searchRequest

itproject.searchRequest

  • searchRequest has the term query that should be searched for
Full Diagram

Fields

Field name Type Description
term string
itproject.searchResponse

itproject.searchResponse

  • searchResponse is a type that contains the profiles that match the search term
Full Diagram

Fields

Field name Type Description
results sequence of profile
itproject.uploadRequest

itproject.uploadRequest

  • upload request contains the data to upload an asset to gcp
Full Diagram

Fields

Field name Type Description
dataurl string dataurl is a string that conforms to the data url schema: https:
developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

|

itproject.uploadResponse

itproject.uploadResponse

  • uploadResponse contains the url of the static asset
Full Diagram

Fields

Field name Type Description
url string

url is in the form https: storage.googleapis.com/joshcarp-it-project-storage/
where assetname is a randomly assigned string |

itproject.verifyRequest

itproject.verifyRequest

  • verifyRequest is used in the veryfy endpoint
Full Diagram

Fields

Field name Type Description
username string
itproject.verifyResponse

itproject.verifyResponse

  • verifyResponse is a message that has verified=true if the authenticated used ha s the ability to edit the page
Full Diagram

Fields

Field name Type Description
verified bool