Skip to content
Snippets Groups Projects
user avatar
Federico Hurtado authored
f5f270ff
History
Request body for addPerson endpoint
{
    personInfo: {
        firstName: string (not null)
        lastName: string (not null)
        middleName: string
        suffix: string
        maidenName: string
        nickName: string
        techAlumniChapter: string --> maybe give a list of chapters in the front end to choose from?
        classYear: int (not null)
        gradYear: int
        gradSemester: int
        gender: string (accepted values: male. female, other) --> make this a choice in the front end, not something to enter in a text box
    }
    degrees: [
        {
            degreeType: string (accepted values: "AS", "BS", "BA", "MS", "PhD", ....) (need to add more of these) --> make a dropdown menu to choose from in front end for this
            degreeYear: int (not null),
            degreeDescription: string (max 255 chars)
            degreeDepartment: string,
            degreeCollege: string
        },
        {
            subject,
            degreeType,
            degreeYear,
            degreeDescription
        },
        ....
    ],
    addresses: [
        {
            address1: string (not null),
            address2: string, -- not sure if we need this
            city: string (not null),
            state: string (not null),
            country: string (not null),
            zipCode: int,
            preferredAddress: boolean
        },
        {
        ** ADD ANOTHER ADDRESS HERE IF NECESSARY
        }
    ],
    contacts: [
        {
            contactNumber: string --> i guess this can be a phone nunber, email, etc.
            contactType: string --> need to define list: phone, email, ....
            preferredContact: boolean
        },
        ..... more contacts if needed
    ],
    involvements: [
        involvement1: string,
        involvement2: string ,
        .... more if needed
    ]
}


Notes:
- for the front end, try to make user error as hard as possible
    example: for gender provide a way to choose from male, female, other rather than have the user type in the gender

- this makes it so that a person can have 0 or many degrees, contacts, involvements, or addresses. If a person does not
   have any of these, make the list be empty.


- if any value is not given (example: graduation date for a person who did not graduate), leave that value as null in the
  request to the backend server

request body for update person:

{
    personInfo: { -- note: pass ALL of the info here, even if it is not updated. Ex: if person only updates their nickname, still send their firstName, lastName, etc. in the request
        firstName: string (not null)
        lastName: string (not null)
        middleName: string
        suffix: string
        maidenName: string
        nickName: string
        techAlumniChapter: string
        classYear: int (not null)
        gradYear: int
        gradSemester: int
        gender: string (accepted values: male. female, other)
    }
    degrees: [ -- note: include ONLY the degrees that should be updated
        {
            peopleDegreeId: int, -- this is not present in createPerson, will need this.
            degreeType: string
            degreeYear: int (not null),
            degreeDescription: string (max 255 chars)
            degreeDepartment: string,
            degreeCollege: string,
        },
        ....
    ],
    addresses: [ -- note: include ONLY the addresses that should be updated
        {
            address1: string (not null),
            address2: string, -- not sure if we need this
            city: string (not null),
            state: string (not null),
            country: string (not null),
            zipCode: int,
            preferredAddress: boolean
        },
        {
        ** ADD ANOTHER ADDRESS HERE IF NECESSARY
        }
    ],
    contacts: [
        {
            contactNumber: string --> i guess this can be a phone nunber, email, etc.
            contactType: string --> need to define list: phone, email, ....
            preferredContact: boolean
        },
        ..... more contacts if needed
    ],
    involvements: [
        involvement1: string,
        involvement2: string ,
        .... more if needed
    ]
}