Skip to content

Latest commit

 

History

History
345 lines (328 loc) · 24.2 KB

CHANGELOG.md

File metadata and controls

345 lines (328 loc) · 24.2 KB

Unreleased

Feat

  • PPT-642 Added place controller (#333)
  • bookings: update_induction endpoint (#331)
  • events: debug log (#329)
  • tenants: early_checkin endpoints (#327)
  • events: #add_attendee (#326)
  • bookings: add recurring booking support [PPT-1382] (#324)
  • PPT-1437 Allow checkin by early_checkin value (#325)
  • PPT-1326 Add endpoint to provide a list of booking ids (#323)
  • events: preference metadata and system selection (#322)
  • bookings: #index filter on permission field (#320)
  • bookings: #index returns PRIVATE, OPEN, and PUBLIC group-event bookings for the booking creator (#318)
  • bookings: [PPT-1215] allow users to add themselves as attendees to public events (#316)
  • events: add a reason for cancellation (#315)
  • staff: add pagination support getting staff [PPT-1170] (#311)
  • bookings: include any attending guests in responses (#308)
  • bookings: [PPT-1098] support multiple assets on a single booking (#307)
  • events: serialize requests from each user [PROJ-512] (#306)
  • guests: deprecate event based guest queries
  • events: add filter to index (#305)
  • events: provide strict requirements for processing responses [PROJ-433] [PROJ-420] [PPT-975] (#304)
  • events: add setup/breakdown fields to destroyed signal
  • events: add fields to patch event metadata
  • events: don't delete metadata and notify meta on event cancel
  • current-user: match options in rest-api
  • events: skip some checks when in delegated mode (#294)
  • add support for public.read and public.write scopes
  • improve permissions checks (#292)
  • shard.lock: bump opentelemetry-instrumentation.cr
  • PPT-621 Add pagination to bookings index route (#284)
  • events: add push event endpoint (#283)
  • events: allow moving room to one that exists in the meeting
  • events: provide method to keep old resources when moving room
  • events: destroy metadata when event deleted
  • bookings: add support for linking bookings (#280)
  • events: include ical_uid in signals
  • bookings: [PPT-387] implement linked bookings child parent relationship (#278)
  • survey: [PPT-358] add visitor triggers (#275)
  • events: add events filter with ical uid (#271)
  • staff: [PPT-89] support Azure AD filter (#269)
  • events: decorate events with system data where possible (#268)
  • events: patch metadata lookup using ical uid (#267)
  • db: support additional connection details (#266)
  • event_metadata: provide additional options for metadata queries (#265)
  • survey: soft-delete questions if they are used in a survey (#260)
  • survey: include deleted questions by default and include delete… (#259)
  • events: improve event patching (#258)
  • survey: [PPT-67|PPT-101] update /surveys/questions endpoint (#257)
  • survey: [PPT-91] filter answers on date range (#255)
  • survey: use host_override if defined (#254)
  • survey: triggers (#249)
  • survey: add fields (#246)
  • events: allow meetings to be booked by service accounts (#243)
  • surveys: survey improvements (#239)
  • migrations: add additional indexes to bookings table (#240)
  • survey: add survey models and endpoints (#236)
  • outlook: generate plugin xml manifest (#208)
  • add support for running using a service account (#223)
  • tenants: flag if running in delegated mode (#219)
  • Dockerfile: add support for ARM64 images (#213)
  • refactor for self documenting code (#211)
  • events: relax when metadata is returned on events (#210)
  • bookings: add event_id column for associating bookings to events (#207)
  • bookings: checked_in to canclled state transition (#196)
  • events: add dedicated metadata update methods (#195)
  • staff: add query for a users calendars
  • staff: add query for a users manager
  • add group related routes (#192)
  • controllers/bookings: add include checked out flag (#190)
  • bookings: adjust booking limit checks (#189)
  • add support for delegated API access (#188)
  • logging: configure OpenTelemetry
  • booking: change error code on booking limits (#179)
  • logging: add configuration by LOG_LEVEL env var
  • controllers/events: add support for declining events (#176)
  • calendars: precise free/busy availability requests (#170)
  • bookings: update booking validation (#166)
  • tenants: expose booking limits in the API (#164)
  • bookings: restrict booking_limits by zones (#163)
  • bookings: add department field (#149)
  • bookings: add current_state and history (#146)
  • bookings: add configurable limits on booked assets (#145)
  • bookings: flag on delete (#136)
  • events: endpoint to get events by ext_data (#131)

Fix

  • bookings: refactor how booking instance is applied
  • bookings: don't return rejected or deleted recurring master bookings
  • booking: checked out filters to work with recurring bookings
  • bookings: add approve and reject routes for recurring instances
  • bookings: modify how delete is performed
  • events: [PPT-1390] return 404 instead of 500 and improve logging (#321)
  • bookings: user/zones query with booking_type=group-event (#319)
  • booking: [PPT-1205] update phone of existing guest when inviting visitor (#317)
  • application: forbidden when no valid scope
  • bookings: remove isolated transactions
  • bookings: add a serialisable backoff
  • bookings: specs passing
  • events: update event id requirement
  • bookings: ensure serialisable transactions (#314)
  • events: [PPT-1190] update metadata on rapid destroy after create (#313)
  • bookings: changed signal
  • events: metadata updates to be resource_master_id aware
  • events: check for declined status on push update
  • events: refactor change notifications
  • events: resource calendar signal
  • calendars: allow any specified if delegated
  • events: recurring metadata visibility [PPT-1072] [PPT-1073] (#309)
  • calendars: availability removing busy items within period (#303)
  • shard.lock: bump office365 dep [PROJ-419]
  • events: add setup/breakdown time to StaffAPI::Event#aument (#302)
  • bookings: pagination using created ascending order (#301)
  • events: user checkin with custom calendar [PPT-538]
  • events: render rejected linked bookings [PPT-915]
  • calendars: [PPT-945] remove busy times that are outside of the period in #free_busy (#300)
  • events: update guest details [PPT-910]
  • bookings: rejected / approved status [PPT-917]
  • bookings: missing save on approve and reject routes
  • unauthorized if delegated access has expired (#296) [PPT-731]
  • guests: query where there are no bookings
  • calendars: availability status request
  • calendar: availability check (#293)
  • guests: invalid SQL generated when there were no meetings
  • calendar: availability of timeslots imidiatly preceding another meeting (#289)
  • events: patch_metadata attempts to obtain client
  • events: [PPT-723] failed metadata lookup on recurring booking edit (#290)
  • events: check not required with delegated access PPT-758 (#288)
  • events: fixes O365 decline events
  • events: accepting an event must use a special route (#286)
  • tenants: allow updates to email_domain column
  • tenants: don't error if no tenant configured
  • event: mark metadata as cancelled on augment
  • event: mark metadata as cancelled on augment
  • events: use relative monthly bookings by default (#285) (PPT-651)
  • events: only return matching ical_uid when requested
  • events: ensure metadata patching applied on room change
  • bookings: add default response status to attendees
  • shard.lock: bump models for JWT email downcasing (#276)
  • bump forbidden log levels (#274)
  • tenants: enable patching delegated state (#272)
  • migration: alter attendees booking_id column type (#273)
  • events: skip calendar check if it matches user (#270)
  • events: regression caused by missing calendar id (#264)
  • survey: survey questions deleted json property (#262)
  • staff_api: check sent for not nil in Surveys::Invitations (#253)
  • outlook: xml manifest version (#252)
  • events: delete event with a service account user
  • events: delete event with a service account user (#251)
  • events: fix cancel with service account (#250)
  • tenant: don't set a default conference type (#247)
  • bookings: add transaction lock to prevent duplicate bookings (#242)
  • outlook: minor manifest fixes (#235)
  • bookings: improve consistency between requests and responses (#234)
  • visitor_checkin: when running in delegated permissions mode (#233)
  • models/tenant: allow credentials to be nil (#231)
  • outlook: adjust outlook config (#230)
  • events: patching extension metadata (#227)
  • events: update ext_data (#224)
  • events: get event succeed if the host event can't be fetched (#218)
  • utilities/helpers: ensure emails are downcased (#202)
  • calendar: downcase candidate keys (#200)
  • use correct routes for calendar view with delegated access (#198)
  • events: update on graph api where host event switch not made (#194)
  • models/booking/history: handle pull parser when setting history
  • update placeos-log-backend
  • telemetry: seperate telemetry file
  • migrations/migrate_user_ids: add user_id migrations (#180)
  • bookings: correct logic (#169)
  • controllers/tenants: update to support limits (#168)
  • bookings: handle additional state transitions (#157)
  • incomplete centralised ci (#156)
  • migrations: adds unique migration for deleted and email digest (#139)
  • models booking: render deleted at as an integer
  • models booking: render deleted and deleted_at (#138)
  • controller bookings: ignore deleted entries when checking for clashes
  • bookings/events/guest: query Guest by tenant (#137)
  • event/guests: filtering of host from attendees
  • event/guests: Don't add host as guest, even when event.host is not specified
  • bookings: emails saved in lower case (#128)

Refactor

  • events: [PPT 503] replace #not_nil! with more specific errors (#287)
  • migrated staff-api to pg-orm (#277)
  • set app name to staff-api (#185)
  • spec: randomise data (#159)
  • tenant: improve uniqueness constraint (#151)
  • application: remove unnecessary code (#155)
  • central build CI (#150)
  • booking: use PlaceOS::Model::Email (#135)

Perf

  • avoid unnecessary allocation (#160)

v1.1.2 (2021-11-05)

Feat

  • tenant: scopes in parameters for delegated access (#126)
  • tenant: allow conference_type to be configurable (#119)
  • events: add permissions check on event creation (#111)
  • add PG_CONNECTION_POOL_SIZE env (#109)
  • guests controller: improve search query (#104)
  • events: create visitor on check-in (#98)
  • guests controller: make email mutable (#99)
  • add support for x-api-key auth (#89)
  • bookings: query within extension_data json (#84)
  • guests controller: query should allow searching emails
  • removes double serialisation (#78)
  • add phone to search query
  • events: allow guest check-in using guest id instead of email
  • guests: support updating via guest ID
  • SSL_VERIFY_NONE now only applies to PlaceOS connections
  • render Place API client errors in response
  • events: allow mailbox override on guest check-in
  • application: add additional error information in production
  • events: return error description on 404 responses
  • add SSL_VERIFY_NONE env var (#61)
  • add query for checked in status
  • logging: add sentry
  • add health check command line option
  • tenants: add support for updating a tenant
  • tenant: return 404 if domain isn't configured
  • add logstash logging
  • bookings: add timestamps for various events
  • bookings: signal more information about who is performing actions
  • bookings: allow booked_by users to also manage bookings
  • bookings: provide a way of including bookings you've made
  • bookings: fix current user booking query
  • bookings: return bookings when booked on behalf of another
  • store emails downcased in database
  • bookings: improve clashing booking check
  • add database connection check to health check
  • bookings: add additional fields to booking signals
  • staff: be more flexible with values passed
  • add health check route
  • add approver details to update signal
  • add support for crystal 0.36
  • bookings: test signal outside of spawn
  • bookings: add error logging to failed signals
  • bookings: add approved and rejected filters
  • bookings: make created time queryable
  • bookings: add timestamps for tracking booking workflows
  • bookings: different signals if core booking data unchanged
  • bookings: pass process_state in booking events
  • bookings: add booked_by support and processing state
  • bookings: add support for querying by user email
  • bookings: allow querying other users bookings
  • events: check for office365 and grab host event as appropriate
  • accurate updating of events in office365
  • events ical uid: inital work
  • return users events if no calendar passed
  • return bad_request when missing params are detected
  • return bad_request when missing params are detected
  • bookings: default to the users bookings
  • events: include event extension_data in changed signals
  • events: include event extension_data in changed signals

Fix

  • calendars: check availability correctly (#125)
  • events update: unable to mark visitor as unexpected (#122)
  • bookings: add validation for booking times (#120)
  • events: on PUT request look up events with system mailbox (#118)
  • events: parsing online meetings in office365
  • Dockerfile: layer name missing
  • syntax error in specs (#113)
  • improve handling of GraphAPI errors
  • application controller: public scope check
  • Dockerfile: correct path to healthcheck (#94)
  • utilities helper: list calendars only as required (#93)
  • tenant: remove id assign + correct domain validation (#91)
  • spec: add various fixes to ensure CI is passing (#92)
  • clashing bookings: Do not include bookings on the time bound.
  • controller events: resolve build issues
  • tenant: init id (#74)
  • tenant_spec: remove focus
  • change level to NeverDisplay (#67)
  • readme: typo `
  • creds: use placeos encryption model for credentials (#58)
  • bookings: don't reset state unless value changed
  • tenant: allow editing of tenants
  • update visitor name on event creation
  • metadata not found
  • events: resources marked as resources in office365
  • guest checkin: where user might not have calendar read access
  • get_placeos_client now proxies host header
  • bookings: don't return bookings on the boundary of searches
  • application: correct HTTP status enum members
  • check for timezone presence (#50)
  • guest meetings: return correct meeting ID for graph API (#42)
  • models guest: event_metadatas inner join on id instead of event_id
  • migrations: class name clash
  • Dockerfile.test: shards install
  • event_metadata.cr: fix typo
  • bookings controller: save who made the changes on booking update
  • bookings: booked by check needs to be an OR
  • bookings: make query less ambiguous
  • booking: query for user_id and email
  • booking: check if approver email is defined
  • healthcheck: add version information to help with debugging
  • bookings: don't set user id if email is set
  • bookings: it's not a conflict to book a previously rejected asset_id
  • bookings: use last_changed as age tracker
  • update model queries to match updated ORM
  • bookings: change how zones query is structured
  • bookings: change how zones query is structured
  • bookings: change where zones query occurs in index
  • build: compiler errors
  • minor webmock stub fix
  • postgresql variable using aargs instead of namedtuple
  • migrations adding columns not working
  • where queries with pg variables as args instead of namedtuples
  • order_by args format, updated connection pool format
  • bookings: modify zones filter
  • bookings: modify zones filter
  • guest: Get guest's future Events should include events that are currently in progress (not ended yet)
  • matching_calendar_ids: matches should be case-insensitive
  • matching_calendar_ids: matches should be case-insensitive
  • events: office365 delegated access

Refactor

  • api: log calendar errors
  • jwt: use updated interface
  • minor model refactor
  • efficient and concise specs
  • use correct find over find! enumerable method
  • scope methods with where clause clarifying the relations of tables
  • ::PlaceOS::Client::API::Error in rescue_from block
  • optimise sql queries, use concise expressions in algo
  • improve Bookings#create algo
  • use find! over find where redundant, remove unnecessary before_action block
  • make controller helper methods private
  • use the correct fields default

Perf

  • bookings: only query given params (#123)
  • logging: set raven to be async