Commit Graph

62 Commits

Author SHA1 Message Date
Clark Boylan 7ae2662876 Retire this project
The upstream for this project has moved to github. Retire the opendev
repo to avoid any confusion.

Depends-On: https://review.opendev.org/c/openstack/project-config/+/818170
Change-Id: I0e7f14701a75c4cceb76c80d2584534ddbd45f58
2021-11-16 14:44:10 -08:00
smarcet 4432a5f2b9 Import assets from MUX
Added new endpoints
POST api/v1/summits/{id}/presentations/all/import/mux

payload
* mux_token_id ( string|required)
* mux_token_secret ( string|required)
* email_to (optional|email)

required scopes

REALM_URL/summits/write
REALM_URL/summits/write-event
REALM_URL/summits/write-presentation

Change-Id: If3af7466f5c2fd1a38e1129fecd7e0b86312590e
Signed-off-by: smarcet <smarcet@gmail.com>
2021-06-04 16:28:20 -03:00
smarcet 39e3c8e333 * Summit Registration Model/Endpoints
Doc

https://docs.google.com/document/d/1gOAceevwutF3QHYWD0_6aESQMZEiIz3YVBVXlyUuRy8

* Summit Registration External Feed

https://docs.google.com/document/d/1_2QZUK--A350jxh2USKBtVtisKrrcUcVjdKnbcZ7-4M/edit#

* Multi Stripe Config

* Added stripe payment configuration per summit
* Added webhook automatic creation
* Added CRUD endpoints for payment profiles per summit

GET api/v1/summits/{id}/payment-gateway-profiles

filters

active ['==']
application_type ['=@', '==']

scopes

summits/read/all
summits/payment-gateway-profiles/read

POST  api/v1/summits/{id}/payment-gateway-profiles

payload

'active'               => 'sometimes|boolean',
'application_type'     => 'sometimes|string|in:Registration,BookableRooms'
'provider'             => 'required|string|in:Stripe',
'test_mode_enabled'    => 'required|boolean',
'live_secret_key'      => 'sometimes|string',
'live_publishable_key' => 'required_with:live_secret_key|string',
'test_secret_key'      => 'sometimes|string',
'test_publishable_key' => 'required_with:test_secret_key|string'

scopes

summits/write
summits/payment-gateway-profiles/write

GET  api/v1/summits/{id}/payment-gateway-profiles/{payment_profile_id}

scopes

summits/read/all
summits/payment-gateway-profiles/read

PUT api/v1/summits/{id}/payment-gateway-profiles/{payment_profile_id}

payload

'active'               => 'sometimes|boolean',
'application_type'     => 'sometimes|string|in:Registration,BookableRooms'
'provider'             => 'required|string|in:Stripe',
'test_mode_enabled'    => 'required|boolean',
'live_secret_key'      => 'sometimes|string',
'live_publishable_key' => 'required_with:live_secret_key|string',
'test_secret_key'      => 'sometimes|string',
'test_publishable_key' => 'required_with:test_secret_key|string'

scopes

summits/payment-gateway-profiles/write
summits/write

DELETE api/v1/summits/{id}/payment-gateway-profiles/{payment_profile_id}

scopes

summits/payment-gateway-profiles/write
summits/write

Stripe Webhooks

default webhook

(SECRET set per application under .env, should be created previously on stripe default account)

POST api/public/v1/summits/all/payments/{application_name}/confirm

where application_name could be Registration or BookableRooms

otherwise if a stripe account is set per summit, when the profile gets activated
a webhook will be automatically be created using following url

POST api/public/v1/summits/{id}/payments/{application_name}/confirm

* Email API Integration

* moved all blade templates to mail api ( DB Seeding)
* defined email events flows per summmit
* created endpoint to set up templates per email events on each flow

PUT /api/v1/summits/{id}/email-flows-events/{event_id}

payload

email_template_identifier: string

* added endpoint to get all email events per summit

GET /api/v1/summits/{id}/email-flows-events

* added endpoint to get email event per summit/id

GET /api/v1/summits/{id}/email-flows-events/{event_id}

Summit Documents endpoints

add summit document

POST /api/v1/summits/{id}/summit-documents

payload

file (mandatory|file stream)
label ( mandatory|string)
name ( mandatory|string)
description (optional|string)

get all summit documents

GET /api/v1/summits/{id}/summit-documents

get by id

GET /api/v1/summits/{id}/summit-documents/{document_id}

update

PUT GET /api/v1/summits/{id}/summit-documents/{document_id}

file (optional|file stream)
label (optional|string)
name (optional|string)
description (optional|string)

delete

DELETE GET /api/v1/summits/{id}/summit-documents/{document_id}

add event type to doc

PUT /api/v1/summits/{id}/summit-documents/{document_id}/event-types/{event_type_id}

delete event type from doc

DELETE /api/v1/summits/{id}/summit-documents/{document_id}/event-types/{event_type_id}

add document to event type

PUT /api/v1/summits/{id}/event-types/{event_type_id}/summit-documents/{document_id}

delete document from event type

DELETE /api/v1/summits/{id}/event-types/{event_type_id}/summit-documents/{document_id}

Updated Summit events to support streaming url, meeting_url and etherpad link

* Summit Registration - Invite only

Summit Administrator Permission Groups

GET /api/v1/summit-administrator-groups

filter

* title
* member_first_name
* member_last_name
* member_full_name
* member_email
* summit_id
* member_id

ordering

id
title

scopes

%s/summit-administrator-groups/read

/api/v1/summit-administrator-groups/{group_id}

scopes

%s/summit-administrator-groups/read

POST /api/v1/summit-administrator-groups

title
summits
members

scopes

%s/summit-administrator-groups/write

PUT /api/v1/summit-administrator-groups/{group_id}

title
summits
members

scopes

%s/summit-administrator-groups/write

DELETE /api/v1/summit-administrator-groups/{group_id}

scopes

%s/summit-administrator-groups/write

PUT /api/v1/summit-administrator-groups/{group_id}/members/{member_id}

DELETE /api/v1/summit-administrator-groups/{group_id}/members/{member_id}

PUT /api/v1/summit-administrator-groups/{group_id}/summits/{summit_id}

DELETE /api/v1/summit-administrator-groups/{group_id}/summits/{summit_id}

Room Metrics

PUT /api/v1/summits/{id}/members/{member_id}/schedule/{event_id}/enter

Scopes

%s/me/summits/events/enter

PUT /api/v1/summits/{id}/members/{member_id}/schedule/{event_id}/leave

%s/me/summits/events/leave

update summit_event serializer

new fields

total_attendance_count
current_attendance_count
attendance
current_attendance

Added new Speakers Endpoints

GET /api/v1/summits/{id}/speakers/on-schedule

retrieves all speakers on summit schedule

filters

'first_name' => ['=@', '=='],
'last_name'  => ['=@', '=='],
'email'      => ['=@', '=='],
'id'         => ['=='],
'full_name'  => ['=@', '=='],
'start_date' => ['>', '<', '<=', '>=', '=='],
'end_date'   => ['>', '<', '<=', '>=', '=='],

Summit Events Image

POST /api/v1/summits/{id}/events/{event_id}/image
DELETE /api/v1/summits/{id}/events/{event_id}/image

Speakers Image Big Pic

POST /api/v1/speakers/{speaker_id}/big-photo
DELETE /api/v1/speakers/{speaker_id}/big-photo

CFP - multiple summits

Presentation Materials - Media Uploads

New Endpoints

GET api/v1/summit-media-file-types

filter
'name' => ['=@', '==']

order

id, name

POST api/v1/summit-media-file-types

payload

'name'  => 'required|string|max:255',
'description'  => 'sometimes|string|max:255',
'allowed_extensions' => 'required|string_array',

GET api/v1/summit-media-file-types/{id}

PUT api/v1/summit-media-file-types/{id}

payload

'name'  => 'sometimes|string|max:255',
'description'  => 'sometimes|string|max:255',
'allowed_extensions' => 'required|string_array',

DELETE api/v1/summit-media-file-types/{id}

GET api/v1/summits/{id}/media-upload-types

POST

payload

'name' => 'required|string|max:255',
'description' => 'sometimes|string|max:255',
'is_mandatory' => 'required|boolean',
'max_size' => 'required|int|megabyte_aligned',
'private_storage_type' => 'required|string|in:None,DropBox,Swift,Local',
'public_storage_type' => 'required|string|in:None,DropBox,Swift,Local'
'type_id' => 'required|int',
'presentation_types' => 'sometimes|int_array',

GET api/v1/summits/{id}/media-upload-types/{media_upload_type_id}

PUT api/v1/summits/{id}/media-upload-types/{media_upload_type_id}

payload

'name' => 'sometimes|string|max:255',
'description' => 'sometimes|string|max:255',
'is_mandatory' => 'sometimes|boolean',
'max_size' => 'sometimes|int|megabyte_aligned',
'private_storage_type' => 'sometimes|string|in:None,DropBox,Swift,Local',
'public_storage_type' => 'sometimes|string|in:None,DropBox,Swift,Local'
'type_id' => 'sometimes|int',
'presentation_types' => 'sometimes|int_array',

DELETE api/v1/summits/{id}/media-upload-types/{media_upload_type_id}

PUT api/v1/summits/{id}/media-upload-types/{media_upload_type_id}/presentation-types/{event_type_id}

DELETE api/v1/summits/{id}/media-upload-types/{media_upload_type_id}/presentation-types/{event_type_id}

GET api/v1/summits/{id}/presentations/{presentation_id}/media-uploads

POST api/v1/summits/{id}/presentations/{presentation_id}/media-uploads

payload multiform

file

media_upload_type_id

GET api/v1/summits/{id}/presentations/{presentation_id}/media-uploads/{media_upload_id}

PUT api/v1/summits/{id}/presentations/{presentation_id}/media-uploads/{media_upload_id}

payload multiform

file

DELETE api/v1/summits/{id}/presentations/{presentation_id}/media-uploads/{media_upload_id}

POST /api/v1/summits/{id}/media-upload-types/all/clone/{to_summit_id}

Summit Invitation Only endpoints V2

CRUD invitations

Change-Id: Ia23c247a59c3810f2a738265efdd890fe6f59dfb
Signed-off-by: smarcet <smarcet@gmail.com>
2020-09-21 09:52:07 -03:00
smarcet 7dfe201633 Added endpoint to share Event by email
POST /api/v1/summits/{id}/events/{event_id}/published/mail

Paylaod
from : required|email
to:required|email
event_uri: optional|url
if not set tries to referer or summit.default_event_detail_url

Required Scopes

$REALM_URL/me/summits/events/schedule/mai

Change-Id: If5d5cfee902f58d3517a79cf333df7174b247208
Signed-off-by: smarcet <smarcet@gmail.com>
2020-02-17 18:38:49 -03:00
smarcet e33cf7ee44 RSVP endpoints
POST api/v1/summits/{id}/members/me/schedule/{event_id}/rsvp

Payload

anwers: array of answer DTO

answer DTO

question_id: int
value: string or string array ( depending on type of question multivalue or not)

Required Scopes

REALM_BASE_URL/summits/write

PUT api/v1/summits/{id}/members/me/schedule/{event_id}/rsvp

Payload

anwers: array of answer DTO

answer DTO

question_id: int
value: string or string array ( depending on type of question multivalue or not)

Required Scopes

REALM_BASE_URL/summits/write

DELETE api/v1/summits/{id}/members/me/schedule/{event_id}/rsvp

Required Scopes

REALM_BASE_URL/summits/write

Change-Id: I9ea4388effd44617e5122e1b1a23c9c74473d2e6
2020-02-12 12:19:26 -03:00
smarcet 835f32ea2a Updated bookable rooms emails
Change-Id: I799ea6c130d54e0172b93c88282a1ee3541319b4
2019-12-17 14:08:28 -03:00
smarcet fe546f4702 * Fixes on bookable rooms api
* added emails
* updated model to store client token from gateway
* updated model to store amount refund

Change-Id: Ibeebab8f1209ee9763186293746fe44f8ffe0466
2019-06-26 11:33:16 -03:00
smarcet 3c757f9cd2 Added endpoints for speakers profile edit request
request-edit-speaker-permission

PUT /api/v1/speakers/{speaker_id}/edit-permission

required scopes

/speakers/write
/summits/write

get-edit-speaker-permission

GET /api/v1/speakers/{speaker_id}/edit-permission

required scopes

/summits/read
/summits/read/all

Change-Id: I53e34e32116a2bf2a39ed583fce648fc01be12fd
2019-05-06 18:04:11 -03:00
sebastian marcet 7913ffe703 Revert "Update API code to work with Presentation Moderators collection (+N)"
This reverts commit 812519f220.

Change-Id: I3c56db1fb8e214da4659a77ed3a76f1020927d36
2019-02-21 12:21:54 -03:00
Sebastian Marcet 812519f220 Update API code to work with Presentation Moderators collection (+N)
Allow to presentation to have more than one single moderator

Change-Id: I89ca267ee3462835aa23aea45bfad36d3d5b34f6
2019-02-13 12:44:17 -03:00
Sebastian Marcet 63a1083a93 fixed speaker update endpoints
* refactoring
* adding missing relations
- other_presentation_links ( string array)
- languages ( int array)
- travel_preferences ( string array)
- areas_of_expertise ( string array)
- organizational_roles ( int array)
- other_organizational_rol ( field string)
- active_involvements ( int array )

Change-Id: I5f1093a43035aa2d6eadb6eea16bde250fb3d6a7
2018-10-17 12:35:51 -03:00
Sebastian Marcet aebbcd1bd4 Fixed bugs on Submit presentation flow
* added tags per allowed track
* updated presentation progress
* added presentation progress on presentation serializer
* added new endpoint to mark presentation as completed
PUT /api/v1/summits/{id}/presentations/{presentation_id}/completed

Change-Id: I23ec05341f74498312f074236b691dd6473700b1
2018-09-26 15:03:46 -03:00
Sebastian Marcet 76b206edbe added new endpoint delete my presentation
DELETE /api/v1/summits/{id}/presentations/{presentation_id}

scopes

%s/summits/write
%s/summits/write-event
%s/summits/write-presentation

Change-Id: Ib23576a9f1e023c2570d6c39c3a084a6935f8b1d
2018-09-26 11:32:25 -03:00
Sebastian Marcet 7492438d7a Fix validation issue on links presentation creation
Change-Id: I64930ba1644cd27dd1ec8b29cb2d5c573ec0d85d
2018-09-25 10:37:09 -03:00
Sebastian Marcet 20d96d7182 Added new endpoints to seed tags on summit tracks
seed allowed tag on all summit tracks

POST /api/v1/summits/{id}/track-tag-groups/all/allowed-tags/{tag_id}/seed-on-tracks

scopes

%s/summits/write
%s/tracks/write

seed tag track group allowed tags on particular track

POST /api/v1/summits/{id}/track-tag-groups/{track_tag_group_id}/allowed-tags/all/copy/tracks/{track_id}

scopes

%s/summits/write
%s/tracks/write

Change-Id: Ib0d58f5e34de54c86ad5377fb1a20657c246f908
2018-09-17 14:45:45 -03:00
Sebastian Marcet 62188c7815 Added endpoints to remove/add extra questions from tracks
PUT /api/v1/summits/{id}/tracks/{track_id}/extra-questions/{question_id}

DELETE /api/v1/summits/{id}/tracks/{track_id}/extra-questions/{question_id}

scopes

%s/tracks/write
%s/summits/write

Change-Id: I5d3455dad8058a93f357b40adc7efdf5995b01c7
2018-09-14 19:17:49 -03:00
Sebastian Marcet 10e1b1c424 Track Extra Questions Endpoints
Get all track questions

GET /api/v1/track-question-templates

params

'page'     => 'integer|min:1'
'per_page' => 'required_with:page|integer|min:5|max:100'

filter

'name'  => ['=@', '==']
'label' => ['=@', '==']
'class_name' => ['==']

order

* id
* name
* label

expand
* tracks

scopes

%s/summits/read/all

Add track question

POST /api/v1/track-question-templates

payload

'name' => 'sometimes|alpha_dash|max:255'
'label' => 'sometimes|string'
'is_mandatory' => 'sometimes|boolean'
'is_read_only' => 'sometimes|boolean'
'tracks' => 'sometimes|int_array'

for
TrackCheckBoxQuestionTemplate and TrackTextBoxQuestionTemplate

'initial_value' => 'string|sometimes'

for
TrackDropDownQuestionTemplate

'is_multiselect' => 'sometimes|boolean'
'is_country_selector' => 'sometimes|boolean'

scopes

%s/summits/write
%s/track-question-templates/write

PUT /api/v1/track-question-templates/{track_question_template_id}

payload same as POST

scopes

%s/summits/write
%s/track-question-templates/write

delete track question

DELETE /api/v1/track-question-templates/{track_question_template_id}

scopes

%s/summits/write
%s/track-question-templates/write

get track question metadata

GET /api/v1/track-question-templates/metadata

scopes

%s/summits/read/all

add track question value

POST /api/v1/track-question-templates/{track_question_template_id}/values

payload

'value' => 'required|string|max:255'
'label' => 'required|string'

scopes

%s/summits/write
%s/track-question-templates/write

update track question value

/api/v1/track-question-templates/{track_question_template_id}/values/{track_question_template_value_id}

payload

'value' => 'sometimes|string|max:255'
'label' => 'sometimes|string'
'order' => 'sometimes|integer|min:1'

delete track question value

DELETE /api/v1/track-question-templates/{track_question_template_id}/values/{track_question_template_value_id}

scopes

%s/summits/write
%s/track-question-templates/write

get track question template value

GET /api/v1/track-question-templates/{track_question_template_id}/values/{track_question_template_value_id}

scopes

'%s/summits/read/all'

Change-Id: I663bccf3987cb0b7e337e0fe5b92f3723fac5cd6
2018-09-14 14:50:13 -03:00
Sebastian Marcet e193e866cd Added new endpoints for Track Tag Groups
* get track tag groups per summit

GET /api/v1/summits/{id}/track-tag-groups

params
expand: allowed_tags,tag

scopes %s/summits/read/all

* get track tag group by id

GET /api/v1/summits/{id}/track-tag-groups/{track_tag_group_id}

params
expand: allowed_tags,tag

scopes %s/summits/read/all

* seed default track tag groups on summit

PUT /api/v1/summits/{id}/track-tag-groups/seed-defaults

scopes
%s/summits/write
%s/track-tag-groups/write

* add track tag groups

POST /api/v1/summits/{id}/track-tag-groups

payload

'name'          => 'required|string|max:50',
'label'         => 'required|string|max:50',
'is_mandatory'  => 'required|boolean',
'allowed_tags'  => 'sometimes|string_array'

scopes

%s/summits/write
%s/track-tag-groups/write

* update track tag group

PUT /api/v1/summits/{id}/track-tag-groups/{track_tag_group_id}

payload

'name'          => 'sometimes|string|max:50',
'label'         => 'sometimes|string|max:50',
'is_mandatory'  => 'sometimes|boolean',
'order'         => 'sometimes|integer|min:1',
'allowed_tags'  => 'sometimes|string_array',

scopes

%s/summits/write
%s/track-tag-groups/write

* delete track tag group by id

DELETE /api/v1/summits/{id}/track-tag-groups/{track_tag_group_id}

scopes

%s/summits/write
%s/track-tag-groups/write

Change-Id: Ieef974863c19b41655888cbbd8e29215f4724127
2018-09-10 12:48:21 -03:00
Sebastian Marcet d2f7d110ec added new endpoint ADD Organization
POST /api/v1/organizations

payload

Change-Id: I713fcb70f380693b8b20a21a569064a0b3c3ed84
name: required|string|max:255
2018-09-04 12:30:28 -03:00
Sebastian Marcet a1776966b3 Added endpoints for Presentation Submission (CFP)
POST /api/v1/summits/{id}/presentations

scopes
* summits/write
* summits/write-event
* summits/write-presentation

payload

* 'title'                     => 'required|string|max:100'
* 'description'               => 'required|string'
* 'social_description'        => 'required|string|max:100'
* 'level'                     => 'required|in:Beginner,Intermediate,Advanced,N/A'
* 'attendees_expected_learnt' => 'required|string|max:1000'
* 'type_id'                   => 'required|integer'
* 'track_id'                  => 'required|integer'
* 'attending_media'           => 'required|boolean'
* 'links'                     => 'required|url_array'
* 'extra_questions'           => 'sometimes|entity_value_array'

PUT api/v1/summits/{id}/presentations/{presentation_id}

scopes
* summits/write
* summits/write-event
* summits/write-presentation

* 'title'                     => 'sometimes|string|max:100'
* 'description'               => 'sometimes|string'
* 'social_description'        => 'sometimes|string|max:100'
* 'level'                     => 'sometimes|in:Beginner,Intermediate,Advanced,N/A'
* 'attendees_expected_learnt' => 'sometimes|string|max:1000'
* 'type_id'                   => 'sometimes|integer'
* 'track_id'                  => 'sometimes|integer'
* 'attending_media'           => 'sometimes|boolean'
* 'links'                     => 'sometimes|url_array'
* 'extra_questions'           => 'sometimes|entity_value_array'

Change-Id: Iadc8bf072491a64ef48a1b475b36b92c2fe1d707
2018-07-31 15:13:18 -03:00
Sebastian Marcet 5b649adca1 Added endpoints to add/remove track groups from Selection Plan
PUT /api/v1/summits/{id}/selection-plans/{selection_plan_id}/track-groups/{track_group_id}
DELETE /api/v1/summits/{id}/selection-plans/{selection_plan_id}/track-groups/{track_group_id}

Change-Id: I50755c69bda23cff9f3f9067008ca7415d572160
2018-06-11 07:10:57 -07:00
Sebastian Marcet 1f240e6deb Added endpoint to delete selection plan by summit
DELETE /api/v1/summits/{id}/selection-plans/{selection_plan_id}

Change-Id: I3893e5dea6b604874932466598dcb79940c5321e
2018-06-07 14:11:58 -07:00
Sebastian Marcet 3318a2840e Added endpoint to update selection plan by summit
PUT /api/v1/summits/{id}/selection-plans/{selection_plan_id}

Payload

'name'                  => 'sometimes|string|max:255',
'is_enabled'            => 'sometimes|boolean',
'submission_begin_date' => 'nullable|date_format:U',
'submission_end_date'   => 'nullable|required_with:submission_begin_date|date_format:U|after_or_equal:submission_begin_date',
'voting_begin_date'     => 'nullable|date_format:U',
'voting_end_date'       => 'nullable|required_with:voting_begin_date|date_format:U|after_or_equal:voting_begin_date',
'selection_begin_date'  => 'nullable|date_format:U',
'selection_end_date'    => 'nullable|required_with:selection_begin_date|date_format:U|after_or_equal:selection_begin_date',

Change-Id: I451cd23f5208f1d08a8812871c3667e6dc951ad5
2018-06-07 13:05:37 -07:00
Sebastian Marcet cb6b3a22c7 Added endpoint to create selection plans by summit
POST /api/v1/summits/{id}/selection-plans

Payload

'name'                  => 'required|string|max:255',
'is_enabled'            => 'required|boolean',
'submission_begin_date' => 'nullable|date_format:U',
'submission_end_date'   => 'nullable|required_with:submission_begin_date|date_format:U|after_or_equal:submission_begin_date',
'voting_begin_date'     => 'nullable|date_format:U',
'voting_end_date'       => 'nullable|required_with:voting_begin_date|date_format:U|after_or_equal:voting_begin_date',
'selection_begin_date'  => 'nullable|date_format:U',
'selection_end_date'    => 'nullable|required_with:selection_begin_date|date_format:U|after_or_equal:selection_begin_date',

Change-Id: I73eb45cd5f15b79b294ef9b098f7fa749c2122ef
2018-06-07 11:41:34 -07:00
Sebastian Marcet 143a1b6b73 updated validation for
Push notification delete

User can not delete a push notification
already sent

Change-Id: Idb6e1fb851ee9ae1692f79f292a6b06b888566e9
2018-04-21 10:24:15 -03:00
Sebastian Marcet 6f70e897f0 Added endpoint to delete push notifications
DELETE /api/v1/summits/{id}/notifications/{notification_id}

Change-Id: I62f92fdd9ccf242d9b799e35635c1f47e0502a27
2018-04-17 14:31:33 -03:00
Sebastian Marcet f36d3a9da8 added endpoint to approve/unpprove push notification
PUT /api/v1/summits/{id}/notifications/{notification_id}/approve
DELETE /api/v1/summits/{id}/notifications/{notification_id}/approve

Change-Id: I8128585b90bc73314eb4d024a5786f2d8ef637e5
2018-04-17 12:51:31 -03:00
Sebastian Marcet c3746d60fb Added endpoint to create new summit push notification
POST /api/v1/summits/{id}/notifications

Payload

* channel       ( required_if:platform,MOBILE|in:EVERYONE,SPEAKERS,ATTENDEES,MEMBERS,SUMMIT,EVENT,GROUP )
* message       ( required|string )
* platform      ( required|in:MOBILE,WEB )
* event_id      ( required_if:channel,EVENT|integer )
* group_id      ( required_if:channel,GROUP|integer )
* recipient_ids ( required_if:channel,MEMBERS|int_array )

Required Scopes

* '%s/summits/write' (OR)
* '%s/summits/write-notifications'

Change-Id: I565407e35d1b73828c52309cadd65b93a7452a7f
2018-04-16 19:02:37 -03:00
Sebastian Marcet 168b450002 added endpoint to copy tracks from summit to another
POST /api/v1/summits/{id}/tracks/copy/{to_summit_id}

Change-Id: Icbfe4c5826cd939181674e4efd00236aafccf4b1
2018-04-05 19:26:06 -03:00
Sebastian Marcet 18bf5bfa04 added endpoint update summit
PUT /api/v1/summits/{id}

Payload

* name (sometimes|string|max:50)
* start_date (sometimes|date_format:U)
* end_date (required_with:start_date|date_format:U|after:start_date)
* submission_begin_date (sometimes|date_format:U)
* submission_end_date (required_with:submission_begin_date|date_format:U|after:submission_begin_date)
* voting_begin_date (sometimes|date_format:U)
* voting_end_date (required_with:voting_begin_date|date_format:U|after:voting_begin_date)
* selection_begin_date (sometimes|date_format:U)
* selection_end_date (required_with:selection_begin_date|date_format:U|after:selection_begin_date)
* registration_begin_date (sometimes|date_format:U)
* registration_end_date (required_with:registration_begin_date|date_format:U|after:registration_begin_date)
* start_showing_venues_date (sometimes|date_format:U|before:start_date)
* schedule_start_date (sometimes|date_format:U)
* active (sometimes|boolean)
* dates_label (sometimes|string)
* time_zone_id (sometimes|timezone) check http://php.net/manual/en/timezones.php
* external_summit_id (sometimes|string)
* available_on_api (sometimes|boolean)
* calendar_sync_name (sometimes|string|max:255)
* calendar_sync_desc  (sometimes|string)
* link (sometimes|url)
* registration_link (sometimes|url)
* max_submission_allowed_per_user (sometimes|integer|min:1)

Required scopes

'%s/summits/write'

Change-Id: Ib50c64994f9de5e8cfba0aaf2a990708a3c6afb9
2018-04-04 18:08:33 -03:00
Sebastian Marcet db247d60b2 added endpoint to create summit
POST /api/v1/summits

Payload

* name (required|string|max:50)
* start_date (required|date_format:U)
* end_date (required_with:start_date|date_format:U|after:start_date)
* submission_begin_date (sometimes|date_format:U)
* submission_end_date (required_with:submission_begin_date|date_format:U|after:submission_begin_date)
* voting_begin_date (sometimes|date_format:U)
* voting_end_date (required_with:voting_begin_date|date_format:U|after:voting_begin_date)
* selection_begin_date (sometimes|date_format:U)
* selection_end_date (required_with:selection_begin_date|date_format:U|after:selection_begin_date)
* registration_begin_date (sometimes|date_format:U)
* registration_end_date (required_with:registration_begin_date|date_format:U|after:registration_begin_date)
* start_showing_venues_date (sometimes|date_format:U|before:start_date)
* schedule_start_date (sometimes|date_format:U)
* active (sometimes|boolean)
* dates_label (sometimes|string)
* time_zone_id (required|timezone) check http://php.net/manual/en/timezones.php
* external_summit_id (sometimes|string)
* available_on_api (sometimes|boolean)
* calendar_sync_name (sometimes|string|max:255)
* calendar_sync_desc  (sometimes|string)
* link (sometimes|url)
* registration_link (sometimes|url)
* max_submission_allowed_per_user (sometimes|integer|min:1)

Change-Id: Ia1ff04d728f53a3869724574fad4fee027049f04
2018-04-04 12:34:23 -03:00
Sebastian Marcet e6af97c7e8 Added endpoints to create/update RSVP templates by summit
POST /api/v1/summits/{id}/rsvp-templates

Payload

* title (required|string|max:255)
* is_enabled (required|boolean)

PUT /api/v1/summits/{id}/rsvp-templates/{template_id}

Payload

* title (sometimes|string|max:255)
* is_enabled (sometimes|boolean)

Change-Id: I8d379bd796382ec75fef238ad2e2b9681d51e909
2018-03-29 11:12:38 -03:00
Sebastian Marcet eeab19f748 Added endpoint to add presentation category group
as long as endpoint to manage child collections
(associated tracks and allowed groups)

POST /api/v1/summits/{id}/track-groups

Payload

* class_name (PresentationCategoryGroup|PrivatePresentationCategoryGroup)
* name (required|string)
* description (sometimes|string)
* color (sometimes|hex_color)

Payload for private groups ( optional if class_name == 'PrivatePresentationCategoryGroup'

* submission_begin_date (sometimes|date_format:U)
* submission_end_date (sometimes|date_format:U|required_with:submission_begin_date|after:submission_begin_date)
* max_submission_allowed_per_user (sometimes|integer|min:1)

endpoints to manage tracks

PUT /api/v1/summits/{id}/track-groups/{track_group_id}/tracks/{track_id}
DELETE /api/v1/summits/{id}/track-groups/{track_group_id}/tracks/{track_id}

endpoints to manage allowed groups (only PrivatePresentationCategoryGroup)

PUT /api/v1/summits/{id}/track-groups/{track_group_id}/allowed-groups/{group_id}
DELETE /api/v1/summits/{id}/track-groups/{track_group_id}/allowed-groups/{group_id}

Change-Id: Icf97c9b014609b71d1668faa654a51044d5bb3ec
2018-03-27 19:08:16 -03:00
Sebastian Marcet 75d969b81a Added endpoint to seed default ticket types
from eventbrite

POST /api/v1/summits/{id}/ticket-types/seed-defaults

Change-Id: Ie8f625ef092f319084710641c9ae5e6d5d051692
2018-03-26 09:22:25 -03:00
Sebastian Marcet 5395330f27 Added endpoint to delete ticket type
DELETE /api/v1/summits/{id}/ticket-types/{ticket_type_id}

Change-Id: I59223cfe40be431f0da20da193c580abc1d80c62
2018-03-23 16:41:10 -03:00
Sebastian Marcet 98c4500d48 Added endpoint update ticket type
PUT /api/v1/summits/{id}/ticket-types/{ticket_type_id}

Payload

* name (sometimes|string)
* external_id (sometimes|string|max:255
* description (sometimes|string)

Change-Id: Id9736e2151a8c69441e29e4167f3d1a83ecf1434
2018-03-23 14:56:24 -03:00
Sebastian Marcet b62eb94d12 Added endpoint Add Ticket Type
POST /api/v1/summits/{id}/ticket-types

Payload

* name (required|string)
* external_id (required|string|max:255)
* description (sometimes|string)

Change-Id: Ia97b29fc8979aeb7a2f7d451b157c65193b6286b
2018-03-23 12:56:39 -03:00
Sebastian Marcet d2a9492239 Added endpoint to delete
RSVP Question Value

DELETE /api/v1/summits/{id}/rsvp-templates/{template_id}/questions/{question_id}/values/{value_id}

Change-Id: Icb1a8d10735549fedce9f7f920594d293b5c1031
2018-03-21 13:56:22 -03:00
Sebastian Marcet 6d5e0d637b Added endpoint
POST /api/v1/summits/{id}/rsvp-templates/{template_id}/questions/{question_id}/values

Payload
* label (required|string)
* value (required|string)

Change-Id: I80818505f2877b38241416bd211610593a300267
2018-03-20 18:05:48 -03:00
Sebastian Marcet 3b92c8470a Added endpoint
DELETE /api/v1/summits/{id}/rsvp-templates/{template_id}/questions/{question_id}

Change-Id: Ifb42b15c9879d53dc845af580381a04f2ae3e03d
2018-03-20 14:26:34 -03:00
Sebastian Marcet 8b8e08e051 Added endpoints
GET /api/v1/summits/{id}/rsvp-templates/{template_id}/questions/{question_id}

PUT /api/v1/summits/{id}/rsvp-templates/{template_id}/questions/{question_id}

Payload

Base Payload

* class_name (string:in:RSVPMemberEmailQuestionTemplate,
			RSVPMemberFirstNameQuestionTemplate,
			RSVPMemberLastNameQuestionTemplate,
			RSVPTextBoxQuestionTemplate,
			RSVPTextAreaQuestionTemplate,
			RSVPCheckBoxListQuestionTemplate,
			RSVPRadioButtonListQuestionTemplate,
			RSVPDropDownQuestionTemplate,
			RSVPLiteralContentQuestionTemplate
	)
* name         (sometimes|alpha_dash|max:255)
* label        (sometimes|string)
* is_mandatory (sometimes|boolean)
* is_read_only (sometimes|boolean)

RSVPTextBoxQuestionTemplate, RSVPTextAreaQuestionTemplate

* initial_value (string|sometimes)

RSVPCheckBoxListQuestionTemplate,RSVPRadioButtonListQuestionTemplate

* empty_string (sometimes|string)

RSVPDropDownQuestionTemplate

* is_multiselect (sometimes|boolean)
* is_country_selector (sometimes|boolean)
* use_chosen_plugin (sometimes|boolean)

RSVPLiteralContentQuestionTemplate

* content (sometimes|string)

Change-Id: If25eaca50a8b727317ebf15774300753557facdc
2018-03-20 12:56:23 -03:00
Sebastian Marcet 8ef48797c3 added location images endpoints
POST /api/v1/summits/{id}/locations/{location_id}/images

Content Type multipart/form-data'
* file (required)
* name (required|string|max:255)
* description (required|string)

PUT /api/v1/summits/{id}/locations/{location_id}/images/{image_id}

Content Type multipart/form-data'
* file (sometimes)
* name (sometimes|string|max:255)
* description (sometimes|string)
* order (sometimes|integer|ming:1)

GET /api/v1/summits/{id}/locations/{location_id}/images/{image_id}

DELETE /api/v1/summits/{id}/locations/{location_id}/images/{image_id}

Change-Id: I71d0b234d267aed0791dfafa0c91e842f5064aca
2018-03-14 06:53:57 -03:00
Sebastian Marcet 12fc9cf490 added endpoint to delete location map
DELETE /api/v1/summits/{id}/locations/{location_id}/maps/{map_id}

Change-Id: I5b16e4f89888437df723597da5d423c5549cdab8
2018-03-12 18:57:37 -03:00
Sebastian Marcet 92f87924df added endpoint to update location maps and get by id
PUT /api/v1/summits/{id}/locations/{location_id}/maps/{map_id}

Content Type multipart/form-data'
* file (sometimes)
* name (sometimes|string|max:255)
* description (sometimes|string)

GET /api/v1/summits/{id}/locations/{location_id}/maps/{map_id}

Change-Id: I00d28aae722ba7416317c561b2e42140908d73b5
2018-03-12 15:13:29 -03:00
Sebastian Marcet c87f7ee320 added endpoint to add location map
POST /api/v1/summits/{id}/locations/{location_id}/maps

Content Type multipart/form-data'
* file (required)
* name (required|string|max:255)
* description (required|string)

Change-Id: Iefa691dafeb41c8076eb28295c550348d5e954de
2018-03-12 14:23:57 -03:00
Sebastian Marcet d1d8fb73f4 PUT /api/v1/summits/{id}/locations/{location_id}/banners/{banner_id}
Payload

* title (sometimes|string)
* content (sometimes|string)
* type (sometimes|in:Primary,Secondary)
* enabled (sometimes|boolean)
* class_name (sometimes|in:SummitLocationBanner,ScheduledSummitLocationBanner)

Payload part for ScheduledSummitLocationBanner

* start_date (sometimes|date_format:U)
* end_date (required_with:start_date|date_format:U|after:start_date)

Required Scopes

* '%s/summits/write'
* '%s/locations/write'
* '%s/locations/banners/write'

Change-Id: I1b60fae02b3d74532ee0f77c98ac783f9a0e23cb
2018-03-08 08:27:18 -03:00
Sebastian Marcet dda0d68378 added new endpoint add location banner
POST /api/v1/summits/{id}/locations/{location_id}/banners
Payload

* title (required|string)
* content (required|string)
* type (required|in:Primary,Secondary)
* enabled (required|boolean)
* class_name (required|in:SummitLocationBanner, ScheduledSummitLocationBanner)

Payload part for ScheduledSummitLocationBanner

* start_date (required|date_format:U)
* end_date (required_with:start_date|date_format:U|after:start_date)

Required Scopes

* '%s/summits/write'
* '%s/locations/write'
* '%s/locations/banners/write'

Change-Id: Ic8de4a81c4d57253bbe25559a5ba7f50d1c7730d
2018-03-07 19:07:51 -03:00
Sebastian Marcet a50d7f9a4f Added endpoint to update summit venue rooms
PUT /api/v1/summits/{id}/locations/venues/{venue_id}/rooms/{room_id}
PUT /api/v1/summits/{id}/locations/venues/{venue_id}/floors/{floor_id}/rooms/{room_id}

Payload

* name (sometimes|string:max:255)
* description (sometimes|string)
* override_blackouts (sometimes|boolean)
* capacity (sometimes|integer:min:0)
* order (sometimes|integer:min:1)
* floor_id (sometimes|integer)

Change-Id: Id05be351fb6378ee97c45ac07554097434a2b07c
2018-03-06 16:13:01 -03:00
Sebastian Marcet 8481288e88 added new endpoints to add rooms per venue and per venue floors
POST /api/v1/summits/{id}/locations/venues/{venue_id}/rooms

POST /api/v1/summits/{id}/locations/venues/{venue_id}/floors/{floor_id}/rooms

Payload

* name (required|string:max:255)
* description (sometimes|string)
* override_blackouts (sometimes|boolean)
* capacity (sometimes|integer:min:0)

Change-Id: I217a562040a8a2c46691afe26e44e642f4c845f0
2018-03-05 18:25:12 -03:00
Sebastian Marcet 246e3deb4b Added endpoint delete venue floor
DELETE /api/v1/summits/{id}/locations/venues/{venue_id}/floors/{floor_id}

Change-Id: I2833f70ba553b9974ae32a674f86a6d529cf3641
2018-03-05 16:47:53 -03:00