
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>
225 lines
9.4 KiB
PHP
225 lines
9.4 KiB
PHP
<?php
|
|
|
|
return [
|
|
|
|
//oauth2.0 params from openstackid server resource server admin console
|
|
'openstackid_client_id' => env('APP_OAUTH_2_0_CLIENT_ID'),
|
|
'openstackid_client_secret' => env('APP_OAUTH_2_0_CLIENT_SECRET'),
|
|
'openstackid_base_url' => env('APP_OAUTH_2_0_AUTH_SERVER_BASE_URL'),
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application Environment
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This value determines the "environment" your application is currently
|
|
| running in. This may determine how you prefer to configure various
|
|
| services your application utilizes. Set this in your ".env" file.
|
|
|
|
|
*/
|
|
|
|
'env' => env('APP_ENV', 'dev'),
|
|
|
|
// emails will be send to this email on dev/testing mode
|
|
'dev_email_to' => env('DEV_EMAIL_TO', null),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application Debug Mode
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| When your application is in debug mode, detailed error messages with
|
|
| stack traces will be shown on every error that occurs within your
|
|
| application. If disabled, a simple generic error page is shown.
|
|
|
|
|
*/
|
|
|
|
'debug' => env('APP_DEBUG', true),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application URL
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This URL is used by the console to properly generate URLs when using
|
|
| the Artisan command line tool. You should set this to the root of
|
|
| your application so that it is used when running Artisan tasks.
|
|
|
|
|
*/
|
|
|
|
'url' => env('APP_URL', 'http://localhost'),
|
|
|
|
/*
|
|
|---------------------------------------------------------------------------
|
|
| Application Scope Base Realm
|
|
|---------------------------------------------------------------------------
|
|
*/
|
|
|
|
'scope_base_realm' => env('APP_SCOPE_BASE_REALM', 'http://localhost'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application Timezone
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Here you may specify the default timezone for your application, which
|
|
| will be used by the PHP date and date-time functions. We have gone
|
|
| ahead and set this to a sensible default for you out of the box.
|
|
|
|
|
*/
|
|
|
|
'timezone' => 'UTC',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application Locale Configuration
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The application locale determines the default locale that will be used
|
|
| by the translation service provider. You are free to set this value
|
|
| to any of the locales which will be supported by the application.
|
|
|
|
|
*/
|
|
|
|
'locale' => 'en',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Application Fallback Locale
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The fallback locale determines the locale to use when the current one
|
|
| is not available. You may change the value to correspond to any of
|
|
| the language folders that are provided through your application.
|
|
|
|
|
*/
|
|
|
|
'fallback_locale' => 'en',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Encryption Key
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This key is used by the Illuminate encrypter service and should be set
|
|
| to a random, 32 character string, otherwise these encrypted strings
|
|
| will not be safe. Please do this before deploying an application!
|
|
|
|
|
*/
|
|
|
|
'key' => env('APP_KEY'),
|
|
|
|
'cipher' => 'AES-256-CBC',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Autoloaded Service Providers
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The service providers listed here will be automatically loaded on the
|
|
| request to your application. Feel free to add your own services to
|
|
| this array to grant expanded functionality to your applications.
|
|
|
|
|
*/
|
|
|
|
'providers' => [
|
|
|
|
/*
|
|
* Laravel Framework Service Providers...
|
|
*/
|
|
Illuminate\Auth\AuthServiceProvider::class,
|
|
Illuminate\Broadcasting\BroadcastServiceProvider::class,
|
|
Illuminate\Bus\BusServiceProvider::class,
|
|
Illuminate\Cache\CacheServiceProvider::class,
|
|
Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
|
|
Illuminate\Cookie\CookieServiceProvider::class,
|
|
Illuminate\Database\DatabaseServiceProvider::class,
|
|
Illuminate\Encryption\EncryptionServiceProvider::class,
|
|
Illuminate\Filesystem\FilesystemServiceProvider::class,
|
|
Illuminate\Foundation\Providers\FoundationServiceProvider::class,
|
|
Illuminate\Hashing\HashServiceProvider::class,
|
|
Illuminate\Mail\MailServiceProvider::class,
|
|
Illuminate\Pagination\PaginationServiceProvider::class,
|
|
Illuminate\Pipeline\PipelineServiceProvider::class,
|
|
Illuminate\Queue\QueueServiceProvider::class,
|
|
Illuminate\Redis\RedisServiceProvider::class,
|
|
Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
|
|
Illuminate\Session\SessionServiceProvider::class,
|
|
Illuminate\Translation\TranslationServiceProvider::class,
|
|
Illuminate\Validation\ValidationServiceProvider::class,
|
|
Illuminate\View\ViewServiceProvider::class,
|
|
/*
|
|
* Application Service Providers...
|
|
*/
|
|
App\Providers\AppServiceProvider::class,
|
|
App\Providers\AuthServiceProvider::class,
|
|
App\Providers\EventServiceProvider::class,
|
|
App\Providers\RouteServiceProvider::class,
|
|
App\Repositories\RepositoriesProvider::class,
|
|
App\Services\FileSystem\Swift\SwiftServiceProvider::class,
|
|
\App\Services\FileSystem\Dropbox\DropboxServiceProvider::class,
|
|
services\BaseServicesProvider::class,
|
|
services\ModelServicesProvider::class,
|
|
factories\FactoriesProvider::class,
|
|
App\Http\Utils\UtilsProvider::class,
|
|
libs\utils\CustomDoctrineServiceProvider::class,
|
|
LaravelDoctrine\Extensions\BeberleiExtensionsServiceProvider::class,
|
|
Sichikawa\LaravelSendgridDriver\SendgridTransportServiceProvider::class,
|
|
LaravelDoctrine\Migrations\MigrationsServiceProvider::class,
|
|
SimpleSoftwareIO\QrCode\QrCodeServiceProvider::class,
|
|
\App\Queue\RabbitMQServiceProvider::class,
|
|
],
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Class Aliases
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| This array of class aliases will be registered when this application
|
|
| is started. However, feel free to register as many as you wish as
|
|
| the aliases are "lazy" loaded so they don't hinder performance.
|
|
|
|
|
*/
|
|
|
|
'aliases' => [
|
|
'App' => Illuminate\Support\Facades\App::class,
|
|
'Artisan' => Illuminate\Support\Facades\Artisan::class,
|
|
'Auth' => Illuminate\Support\Facades\Auth::class,
|
|
'Blade' => Illuminate\Support\Facades\Blade::class,
|
|
'Cache' => Illuminate\Support\Facades\Cache::class,
|
|
'Config' => Illuminate\Support\Facades\Config::class,
|
|
'Cookie' => Illuminate\Support\Facades\Cookie::class,
|
|
'Crypt' => Illuminate\Support\Facades\Crypt::class,
|
|
'DB' => Illuminate\Support\Facades\DB::class,
|
|
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
|
|
'Event' => Illuminate\Support\Facades\Event::class,
|
|
'File' => Illuminate\Support\Facades\File::class,
|
|
'Gate' => Illuminate\Support\Facades\Gate::class,
|
|
'Hash' => Illuminate\Support\Facades\Hash::class,
|
|
'Lang' => Illuminate\Support\Facades\Lang::class,
|
|
'Log' => Illuminate\Support\Facades\Log::class,
|
|
'Mail' => Illuminate\Support\Facades\Mail::class,
|
|
'Password' => Illuminate\Support\Facades\Password::class,
|
|
'Queue' => Illuminate\Support\Facades\Queue::class,
|
|
'Redirect' => Illuminate\Support\Facades\Redirect::class,
|
|
'Redis' => Illuminate\Support\Facades\Redis::class,
|
|
'Request' => Illuminate\Support\Facades\Request::class,
|
|
'Response' => Illuminate\Support\Facades\Response::class,
|
|
'Route' => Illuminate\Support\Facades\Route::class,
|
|
'Schema' => Illuminate\Support\Facades\Schema::class,
|
|
'Session' => Illuminate\Support\Facades\Session::class,
|
|
'Storage' => Illuminate\Support\Facades\Storage::class,
|
|
'URL' => Illuminate\Support\Facades\URL::class,
|
|
'Validator' => Illuminate\Support\Facades\Validator::class,
|
|
'View' => Illuminate\Support\Facades\View::class,
|
|
'EntityManager' => LaravelDoctrine\ORM\Facades\EntityManager::class,
|
|
'Registry' => LaravelDoctrine\ORM\Facades\Registry::class,
|
|
'Doctrine' => LaravelDoctrine\ORM\Facades\Doctrine::class,
|
|
'Encryption' => services\utils\Facades\Encryption::class,
|
|
'QrCode' => SimpleSoftwareIO\QrCode\Facades\QrCode::class,
|
|
],
|
|
|
|
'app_name' => env('APP_NAME', 'Open Infrastructure Summit'),
|
|
'tenant_name' => env('TENANT_NAME', 'OpenStack'),
|
|
|
|
];
|