Other Classes

The following classes are available globally.

  • Helper for random crypto related stuff.

    See more

    Declaration

    Swift

    final class CryptoHelper
  • Declaration

    Swift

    final class ICSHelper
  • Declaration

    Swift

    final public class ValidatingDecoder : Decoder
  • Declaration

    Swift

    final public class DecoderProxy<OutputType> : Decodable where OutputType : Decodable
  • Declaration

    Swift

    public class ValidatingJSONDecoder
  • Declaration

    Swift

    public class GDImage
  • Base class for the Sched schedule update job. This is common between the AsyncScheduledJob and AsyncJob.

    See more

    Declaration

    Swift

    class UpdateScheduleJobBase
  • Declaration

    Swift

    final class MKSnippet : Model
    extension MKSnippet: Reportable
  • Declaration

    Swift

    final class MKSong : Model
    extension MKSong: Reportable
  • An official performer or shadow event organizer on the cruise. Generally, official performers are those listed on the JoCo website. Shadow Event organizers are people who are running shadow events on the official schedule.

    The records for official performers are imported in bulk, but shadow event organizers can self-create a Perfomer profile and attach it to the event(s) they’re running. For shadow event organizers, their Performer profile MUST be linked to their user (as it’s user-created content), and a user cannot have different profiles for different events. Also, while official performers usually have relations to events on the schedule, they don’t need to. Shadow event organizers profiles must be created with a relation to the event they’re running.

    Because it’s often the case that there’s at least one late change to the official lineup, these models can be soft-deleted by admin, which should be easier to manage than delete-on-update logic.This also gives the technical ability to list performers who weren’t able to make it aboard. I haven’t checked whether this is information we can actually provide–there may be contractual issues or something.

    See more

    Declaration

    Swift

    final class Performer : Model
  • A PersonalEvent that a user has added to their calendar, and optionally invited select users to also have in their calendars.

    See more

    Declaration

    Swift

    final class PersonalEvent : Model, Searchable
    extension PersonalEvent: Reportable
  • ScheduleLog records changes made to the events in the schedule, both by manual schedule updates (done by uploading a .ics file) and automatic schedule updates (where the server periodically queries Sched.com and applies changes automatically).

    See more

    Declaration

    Swift

    final class ScheduleLog : Model
  • A photo to be shown in the photo stream. Currently, photo stream photos:

    • are non-editable and non-deletable by the author
    • may be deleted by moderators. The ‘locked’ state may be applied as well, but does nothing.
    See more

    Declaration

    Swift

    final class StreamPhoto : Model
    extension StreamPhoto: Reportable
  • Declaration

    Swift

    final class EventPerformer : Model
  • Catches 404 errors where we don’t match any route, genrates HTML error pages for them unless the path starts with /api/v3. Must be installed as a global middleware (via app.middleware) to work, since it needs to be called for paths that don’t mach routes.

    See more

    Declaration

    Swift

    public final class SiteNoRouteErrorMiddleware : AsyncMiddleware