Skip to content

Administrators Endpoints

N Vijay Narayanan edited this page Aug 16, 2022 · 8 revisions

Get all Administrators

GET: /api/administrators

  • Authorization Required: authorizeAdmin
  • Currently unused
Query Params Description Optional
page Page number to retrieve true
limit Number of records to retrieve true

Response Body:

{
    administrators: [
        {
            id: number;
            name: string;
            email: string;
            profilePicUrl?: string;
            githubUrl?: string;
            linkedinUrl?: string;
            personalSiteUrl?: string;
            selfIntro?: string;
            administratorId: number;
            startDate: string;
            endDate: string;    
        }
    ]
}

Get a single Administrator

GET: /api/administrators/:administratorId

  • Authorization Required: authorizeAdmin
  • Currently unused
Request Params Description
adminID ID of Administrator in the Student table

Response Body:

{
    administrator: {
        id: number;
        name: string;
        email: string;
        profilePicUrl?: string;
        githubUrl?: string;
        linkedinUrl?: string;
        personalSiteUrl?: string;
        selfIntro?: string;
        administratorId: number;
        startDate: string;
        endDate: string;    
    }
}

Create a new account with Administrator role

POST: /api/administrators

  • Authorization Required: authorizeAdmin

Request Body:

{
    user: {
        email: string,
        name: string,
    },
    administrator: {
        startDate: string;
        endDate: string;
    }
}

Edit an Administrator role

POST: /api/administrators/:administratorId

  • Authorization Required: authorizeAdmin

Request Body:

{
    administrator: {
        startDate: string;
        endDate: string;
    }
}

Creating multiple accounts with Administrator role

POST: /api/administrators/batch

  • Authorization Required: authorizeAdmin
  • Currently unused

Request Body:

{
    count: number
    accounts: [
        {
            user: {
                name: string
                email: string
                password: string | undefined // password if dev
            },
            administrator: {
                startDate: DateTime,
                endDate: DateTime
            }
        }
    ]
}

Add an Administrator role to an existing account

POST: /api/users/:userId/administrator

  • Authorization Required: authorizeAdmin

Request Body:

{
    administrator: {
        startDate: string;
        endDate: string;
    }
}

NUS Skylab v2 - Backend

Introduction

Project Organization

Project Requirements

Endpoints

Clone this wiki locally