Skip to content

Service API

Rstar37 edited this page Jun 15, 2019 · 5 revisions

Assignforce RESTful API

Note: These models are for the RESTful API. For the Angular models, go to models. REST is a style of architecture that focuses on being client server independent. So the format of the data being exchanged is detailed here. Batch Service Curriculum Service Focus Service Location Service Skill Service Trainer Service Settings Service Final Project Service

Batch Service

API

Method Verb Endpoint Request Body Response Body
Create POST "/batch-service/" Batch Object Batch Object
Read All GET "/batch-service/" none Batch Object array
Read One GET "/batch-service/{id}" none Batch Object
Update PUT "/batch-service/" Batch Object Batch Object
Delete DELETE "/batch-service/{id}" none 200 status

Batch Object

{
    id: number,
    name: string,
    endDate: string, // formatted (yyyy-dd-mmThh:mm:ssZ)
    startDate: string, //formatted(yyyy-dd-mmThh:mm:ssZ)
    curriculum: number,
    trainer: number,
    cotrainer: number,
    skills: Set<SkillIdHolder>,
    location: number,
    building: number,
    room: number,
    classSize: number,
    finalProject: number
}

SkillIdHolder Object

{
    skillId: number
}

Curriculum Service

API

Method Verb Endpoint Request Body Response Body
Create POST "/curriculum-service/" Curriculum Object Curriculum Object
Read All GET "/curriculum-service/" none Curriculum Object array
Read One GET "/curriculum-service/{id}" none Curriculum Object
Update PUT "/curriculum-service/" Curriculum Object Curriculum Object
Delete DELETE "/curriculum-service/{id}" none 200 status

Curriculum Object

{
    id: number,
    name: string,
    isActive: boolean,
    isCore: boolean,
    skills: Set<SkillIdHolder>
}

SkillIdHolder Object

{
    skillId: number
}

SkillMessage Object

{
   context: string,
   skillId: number
}

Location Service

Location API

Method Verb Endpoint Request Body Response Body
Create Location POST "/location-service/" Location Object Location Object
Read All Locations GET "/location-service/" none Location Object array
Read One Location Get "/location-service/{id} none Location Object
Update Location PUT "/location-service/" Location Object Location Object
Delete Location DELETE "/location-service/{id}" none 200 status
Create Building POST "/location-service/building/" Building Object Building Object
Read All Buildings GET "/location-service/building/" none Building Object Array
Read One Building GET "/location-service/building/{id}" none Building Object
Update Building PUT "/location-service/building/" Building Object Building Object
Delete Building DELETE "/location-service/building/{id}" none 200 status
Create Room POST "/location-service/room/" Room Object Room Object
Read All Rooms GET "/location-service/room/" none Room Object Array
Read One Room GET "/location-service/room/{id}" none Room Object
Update Room PUT "/location-service/room/" Room Object Room Object
Delete Room DELETE "/location-service/room/{id}" none 200 status
Create Unavailability POST "/location-service/unavailabilities/" Unavailability Object Unavailability Object
Read All Unavailabilities GET "/location-service/unavailabilities/" none Unavailability Object Array
Read One Unavailability GET "/location-service/unavailabilities/{id}" none Unavailability Object
Update Unavailability PUT "/location-service/unavailabilities/" Unavailability Object Unavailability Object
Delete Unavailability DELETE "/location-service/unavailabilities/{id}" none 200 status

Location Object

{
    id: number,
    name: string,
    city: string,
    state: string,
    isActive: boolean,
}

Building Object

{
    buildingId: number,
    isActive: boolean,
    buildingName: string,
    address: number,
    id: number,
}

Room Object

{
    id: number,
    roomName: string,
    building: number
}

Unavailability Object

{
    id: number,
    description: string,
    endDate: date,
    startDate: date,
    room: number
}

Skill Service

API

Method Verb Endpoint Request Body Response Body
Create POST "/skill-service/" Skill Object Skill Object
Read All GET "/skill-service/" none Skill Object array
Read One GET "/skill-service/{id} none Skill Object
Read Multiple By Array POST "/skill-service/by-array" Skills Array Object Skill Object array
Update PUT "/skill-service/" Skill Object Skill Object
Delete DELETE "/skill-service/{id}" none 200 Status

Skill Object

{
    skillId: number,
    skillName: string,
    isActive: boolean
}

Trainer Service

API

Method Verb Endpoint Request Body Response Body
Create Trainer POST "/trainer-service/" Trainer Object Trainer Object
Read All Trainers GET "/trainer-service/" none Trainer Object array
Read One Trainer (by id) GET "/trainer-service/{id}" none Trainer Object
Read One Trainer(by email) GET "/trainer-service/email/{email}" none Trainer Object
Update Trainer PUT "/trainer-service/" Trainer Object Trainer Object
Delete Trainer DELETE "/trainer-service/{id}" none 200 status
Create Certification POST "/trainer-service/certs" Certification Object Certification Object
Read All Certifications GET "/trainer-service/certs" none Certification Object array
Read One Certification GET "/trainer-service/certs/{id}" none Certification Object
Update Certification PUT "/trainer-service/certs/" Certification Object Certification Object
Delete Certification DELETE "/trainer-service/certs/{id}" none 200 status

Trainer Object

{
    id: number,
    firstName: string,
    lastName: string,
    isActive: boolean,
    preferredLocation: number,
    unavailabilities: Set<Unavailability>,
    email: string,
    skills: Set<SkillIdHolder>,
    certifications: Set<Certification>,
    resume: string,
    linkedInUrl: string
}

Unavailability Object

{
    id: number,
    startDate: string, // formatted (yyyy-dd-mmThh:mm:ssZ)
    endDate: string, // formatted (yyyy-dd-mmThh:mm:ssZ)
    description: string
}

Certification Object

{
    certId: number,
    certName: string
}

Settings Service

API

Method Verb Endpoint Request Body Response Body
Read One GET "/setting-service/{id}" none Setting Object
Update PUT "/setting-service/" Setting Object Setting Object

Setting Object

{
    id: number,
    alias: string,
    trainersPerPage: number,
    reportGrads: number,
    batchLength: number,
    reportIncomingGrads: number,
    minBatchSize: number,
    maxBatchSize: number,
    trainserBreakDays: number,
    defaultLocation: number,
    defaultBuilding: number,
    defaultNamePattern: string
}

Final Project Service

API

Method Verb Endpoint Request Body Response Body
Create Final Project POST "/final-project-service/" Final Project Object Final Project Object
Read All Projects GET "/final-project-service/" none Final Project Object array
Read One Final Project (by id) GET "/final-project-service/{id}" none Final Project Object
Update Final Project PUT "/final-project-service/" Final Project Object Final Project Object
Delete Final Project DELETE "/final-project-service/{id}" none 200 status

Trainer Object

{
    id: number,
    name: string,
    description: string,
    isActive: boolean,
}