diff --git a/swagger.yml b/swagger.yml deleted file mode 100644 index bd652cfb..00000000 --- a/swagger.yml +++ /dev/null @@ -1,1098 +0,0 @@ -swagger: '2.0' -info: - version: 1.0.0 - title: 'easyappointments-api' -host: localhost -basePath: /dev/easyappointments/index.php/api/v1/ -tags: - - name: admins - - name: providers - - name: secretaries - - name: customers - - name: availabilities - - name: unavailabilities - - name: appointments - - name: services - - name: categories - - name: settings -schemes: - #- https - - http -securityDefinitions: - ApiKeyAuth: - description: "A bearer token is required when accessing or editing administrative data. The value is required to have the following format \"Bearer ##############\"" - type: apiKey - in: header - name: Authorization -paths: - # AVAILABILITY - - '/availabilities': - get: - tags: - - availabilities - summary: Gets availability - parameters: - - name: providerId - in: query - type: integer - - name: serviceId - in: query - type: integer - - name: date - in: query - type: string - responses: - '200': - description: success - schema: - $ref: '#/definitions/Availabilities' - - # APPOINTMENTS - - '/appointments': - get: - tags: - - appointments - summary: Get all appointments - parameters: - - name: page - in: query - type: integer - - name: length - in: query - type: integer - - name: sort - in: query - type: string - - name: q - in: query - type: string - - name: aggregates - in: query - type: string - responses: - '200': - description: success - schema: - items: - $ref: '#/definitions/Appointment' - post: - tags: - - appointments - summary: Create single appointment - parameters: - - name: body - in: body - schema: - $ref: '#/definitions/Appointment' - responses: - '201': - description: success - schema: - $ref: '#/definitions/Appointment' - '/appointments/{appointmentId}': - get: - tags: - - appointments - summary: Get single appointment - parameters: - - name: appointmentId - in: path - type: integer - required: true - responses: - '200': - description: success - schema: - $ref: '#/definitions/Appointment' - put: - tags: - - appointments - summary: Update single appointment - parameters: - - name: appointmentId - in: path - type: integer - required: true - - name: body - in: body - schema: - $ref: '#/definitions/Appointment' - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Appointment' - delete: - tags: - - appointments - summary: Delete single appointment - parameters: - - name: appointmentId - in: path - type: integer - required: true - responses: - '204': - description: success - schema: - $ref: '#/definitions/Appointment' - '404': - description: not found - - # UNAVAILABILITY - - '/unavailabilities': - get: - tags: - - unavailabilities - summary: Get all unavailabilities - parameters: - - name: page - in: query - type: integer - - name: length - in: query - type: integer - - name: sort - in: query - type: string - - name: q - in: query - type: string - responses: - '200': - description: success - schema: - items: - $ref: '#/definitions/Unavailability' - post: - tags: - - unavailabilities - summary: Create single unavailability - parameters: - - name: body - in: body - schema: - $ref: '#/definitions/Unavailability' - responses: - '201': - description: success - schema: - $ref: '#/definitions/Unavailability' - '/unavailabilities/{unavailabilityId}': - get: - tags: - - unavailabilities - summary: Get single unavailability - parameters: - - name: unavailabilityId - in: path - type: integer - required: true - responses: - '200': - description: success - schema: - $ref: '#/definitions/Unavailability' - put: - tags: - - unavailabilities - summary: Update single unavailability - parameters: - - name: unavailabilityId - in: path - type: integer - required: true - - name: body - in: body - schema: - $ref: '#/definitions/Unavailability' - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Unavailability' - delete: - tags: - - unavailabilities - summary: Delete single unavailability - parameters: - - name: unavailabilityId - in: path - type: integer - required: true - responses: - '204': - description: success - schema: - $ref: '#/definitions/Unavailability' - '404': - description: not found - - # CUSTOMERS - - '/customers': - get: - tags: - - customers - summary: Get all customers - parameters: - - name: page - in: query - type: integer - - name: length - in: query - type: integer - - name: sort - in: query - type: string - - name: q - in: query - type: string - responses: - '200': - description: success - schema: - items: - $ref: '#/definitions/Customer' - post: - tags: - - customers - summary: Create single customer - parameters: - - name: body - in: body - schema: - $ref: '#/definitions/Customer' - responses: - '201': - description: success - schema: - $ref: '#/definitions/Customer' - '/customers/{customerId}': - get: - tags: - - customers - summary: Get single customer - parameters: - - name: customerId - in: path - type: integer - required: true - responses: - '200': - description: success - schema: - $ref: '#/definitions/Customer' - put: - tags: - - customers - summary: Update single customer - parameters: - - name: customerId - in: path - type: integer - required: true - - name: body - in: body - schema: - $ref: '#/definitions/Customer' - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Customer' - delete: - tags: - - customers - summary: Delete single customer - parameters: - - name: customerId - in: path - type: integer - required: true - responses: - '204': - description: success - schema: - $ref: '#/definitions/Customer' - '404': - description: not found - - # SERVICES - - '/services': - get: - tags: - - services - summary: Get all services - parameters: - - name: page - in: query - type: integer - - name: length - in: query - type: integer - - name: sort - in: query - type: string - - name: q - in: query - type: string - responses: - '200': - description: success - schema: - items: - $ref: '#/definitions/Service' - post: - tags: - - services - summary: Create single service - parameters: - - name: body - in: body - schema: - $ref: '#/definitions/Service' - responses: - '201': - description: success - schema: - $ref: '#/definitions/Service' - '/services/{serviceId}': - get: - tags: - - services - summary: Get single service - parameters: - - name: serviceId - in: path - type: integer - required: true - responses: - '200': - description: success - schema: - $ref: '#/definitions/Service' - put: - tags: - - services - summary: Update single service - parameters: - - name: serviceId - in: path - type: integer - required: true - - name: body - in: body - schema: - $ref: '#/definitions/Service' - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Service' - delete: - tags: - - services - summary: Delete single service - parameters: - - name: serviceId - in: path - type: integer - required: true - responses: - '204': - description: success - schema: - $ref: '#/definitions/Service' - '404': - description: not found - - # CATEGORIES - - '/categories': - get: - tags: - - categories - summary: Get all categories - parameters: - - name: page - in: query - type: integer - - name: length - in: query - type: integer - - name: sort - in: query - type: string - - name: q - in: query - type: string - responses: - '200': - description: success - schema: - items: - $ref: '#/definitions/Category' - post: - tags: - - categories - summary: Create single category - parameters: - - name: body - in: body - schema: - $ref: '#/definitions/Category' - responses: - '201': - description: success - schema: - $ref: '#/definitions/Category' - '/categories/{categoryId}': - get: - tags: - - categories - summary: Get single category - parameters: - - name: categoryId - in: path - type: integer - required: true - responses: - '200': - description: success - schema: - $ref: '#/definitions/Category' - put: - tags: - - categories - summary: Update single category - parameters: - - name: categoryId - in: path - type: integer - required: true - - name: body - in: body - schema: - $ref: '#/definitions/Category' - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Category' - delete: - tags: - - categories - summary: Delete single category - parameters: - - name: categoryId - in: path - type: integer - required: true - responses: - '204': - description: success - schema: - $ref: '#/definitions/Category' - '404': - description: not found - - # ADMINS - - '/admins': - get: - tags: - - admins - summary: Get all admins - parameters: - - name: page - in: query - type: integer - - name: length - in: query - type: integer - - name: sort - in: query - type: string - - name: q - in: query - type: string - responses: - '200': - description: success - schema: - items: - $ref: '#/definitions/Admin' - post: - tags: - - admins - summary: Create single admin - parameters: - - name: body - in: body - schema: - items: - $ref: '#/definitions/Admin' - responses: - '201': - description: success - schema: - $ref: '#/definitions/Admin' - '/admins/{adminId}': - get: - tags: - - admins - summary: Get single admin - parameters: - - name: adminId - in: path - type: integer - required: true - responses: - '200': - description: success - schema: - $ref: '#/definitions/Admin' - put: - tags: - - admins - summary: Update single admin - parameters: - - name: adminId - in: path - type: integer - required: true - - name: body - in: body - schema: - $ref: '#/definitions/Admin' - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Admin' - delete: - tags: - - admins - summary: Delete single admin - parameters: - - name: adminId - in: path - type: integer - required: true - responses: - '204': - description: success - schema: - $ref: '#/definitions/Admin' - '404': - description: not found - - # PROVIDERS - - '/providers': - get: - tags: - - providers - summary: Get all providers - parameters: - - name: page - in: query - type: integer - - name: length - in: query - type: integer - - name: sort - in: query - type: string - - name: q - in: query - type: string - responses: - '200': - description: success - schema: - items: - $ref: '#/definitions/Provider' - post: - tags: - - providers - summary: Create single provider - parameters: - - name: body - in: body - schema: - $ref: '#/definitions/Provider' - responses: - '201': - description: success - schema: - $ref: '#/definitions/Provider' - '/providers/{providerId}': - get: - tags: - - providers - summary: Get single provider - parameters: - - name: providerId - in: path - type: integer - required: true - responses: - '200': - description: success - schema: - $ref: '#/definitions/Provider' - put: - tags: - - providers - summary: Update single provider - parameters: - - name: providerId - in: path - type: integer - required: true - - name: body - in: body - schema: - $ref: '#/definitions/Provider' - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Provider' - delete: - tags: - - providers - summary: Delete single provider - parameters: - - name: providerId - in: path - type: integer - required: true - responses: - '204': - description: success - schema: - $ref: '#/definitions/Provider' - '404': - description: not found - - # SECRETARIES - - '/secretaries': - get: - tags: - - secretaries - summary: Get all secretaries - parameters: - - name: page - in: query - type: integer - - name: length - in: query - type: integer - - name: sort - in: query - type: string - - name: q - in: query - type: string - responses: - '200': - description: success - schema: - items: - $ref: '#/definitions/Secretary' - post: - tags: - - secretaries - summary: Create single secretary - parameters: - - name: body - in: body - schema: - $ref: '#/definitions/Secretary' - responses: - '201': - description: success - schema: - $ref: '#/definitions/Secretary' - '/secretaries/{secretaryId}': - get: - tags: - - secretaries - summary: Get single secretary - parameters: - - name: secretaryId - in: path - type: integer - required: true - responses: - '200': - description: success - schema: - $ref: '#/definitions/Secretary' - put: - tags: - - secretaries - summary: Update single secretary - parameters: - - name: secretaryId - in: path - type: integer - required: true - - name: body - in: body - schema: - $ref: '#/definitions/Secretary' - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Secretary' - delete: - tags: - - secretaries - summary: Delete single secretary - parameters: - - name: secretaryId - in: path - type: integer - required: true - responses: - '204': - description: success - schema: - $ref: '#/definitions/Secretary' - '404': - description: not found - - # SETTINGS - - '/settings': - get: - tags: - - settings - summary: Get all settings - parameters: - - name: page - in: query - type: integer - - name: length - in: query - type: integer - - name: sort - in: query - type: string - - name: q - in: query - type: string - responses: - '200': - description: success - schema: - items: - $ref: '#/definitions/Setting' - '/settings/{settingName}': - get: - tags: - - settings - summary: Get single setting - parameters: - - name: settingName - in: path - type: string - required: true - responses: - '200': - description: success - schema: - $ref: '#/definitions/Setting' - put: - tags: - - settings - summary: Update single setting - parameters: - - name: settingName - in: path - type: integer - required: true - - name: body - in: body - schema: - $ref: '#/definitions/Setting' - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Setting' - delete: - tags: - - settings - summary: Delete single setting - parameters: - - name: settingName - in: path - type: integer - required: true - responses: - '204': - description: success - schema: - $ref: '#/definitions/Setting' - '404': - description: not found - -# DEFINITIONS - -definitions: - Availabilities: - type: array - items: - type: string - - Appointment: - type: object - properties: - id: - type: integer - book: - type: string - start: - type: string - end: - type: string - hash: - type: string - location: - type: string - status: - type: string - notes: - type: string - customerId: - type: integer - providerId: - type: integer - serviceId: - type: integer - googleCalendarId: - type: string - - Unavailability: - type: object - properties: - id: - type: integer - book: - type: string - start: - type: string - end: - type: string - notes: - type: string - providerId: - type: integer - - Customer: - type: object - properties: - id: - type: integer - firstName: - type: string - lastName: - type: string - email: - type: string - phone: - type: string - address: - type: string - city: - type: string - zip: - type: string - notes: - type: string - - Service: - type: object - properties: - id: - type: integer - name: - type: string - duration: - type: integer - price: - type: string - currency: - type: string - description: - type: string - availabilitiesType: - type: string - attendantsNumber: - type: string - categoryId: - type: integer - - Category: - type: object - properties: - id: - type: integer - name: - type: string - description: - type: string - - Admin: - type: object - properties: - id: - type: integer - firstName: - type: string - lastName: - type: string - email: - type: string - mobile: - type: string - phone: - type: string - address: - type: string - city: - type: string - zip: - type: string - notes: - type: string - timezone: - type: string - settings: - type: object - properties: - username: - type: string - password: - type: string - notifications: - type: boolean - calendarView: - type: string - - Provider: - type: object - properties: - id: - type: integer - firstName: - type: string - lastName: - type: string - email: - type: string - mobile: - type: string - phone: - type: string - address: - type: string - city: - type: string - zip: - type: string - notes: - type: string - timezone: - type: string - services: - type: array - items: - type: integer - settings: - type: object - properties: - username: - type: string - password: - type: string - notifications: - type: boolean - calendarView: - type: string - googleSync: - type: boolean - googleCalendar: - type: string - googleToken: - type: string - syncFutureDays: - type: string - syncPastDays: - type: string - workingPlan: - type: string - - Secretary: - type: object - properties: - id: - type: integer - firstName: - type: string - lastName: - type: string - email: - type: string - mobile: - type: string - phone: - type: string - address: - type: string - city: - type: string - zip: - type: string - notes: - type: string - timezone: - type: string - providers: - type: array - items: - type: integer - settings: - type: object - properties: - username: - type: string - password: - type: string - notifications: - type: boolean - calendarView: - type: string - - Setting: - type: object - properties: - name: - type: string - value: - type: string - -externalDocs: - description: Find out more about Easy!Appointments - url: 'https://easyappointments.org/docs.html'