Packages

Unofficial Elixir SDK for the Nylas API

Current section

Files

Jump to
ex_nylas mix.exs
Raw

mix.exs

defmodule ExNylas.MixProject do
use Mix.Project
def project do
[
app: :ex_nylas,
version: "0.10.1",
elixir: "~> 1.14",
start_permanent: Mix.env() == :prod,
description: "Unofficial Elixir SDK for the Nylas API",
package: package(),
deps: deps(),
name: "ExNylas",
dialyzer: [plt_add_apps: [:mix]],
aliases: aliases(),
source_url: url(),
homepage_url: url(),
docs: [
main: "ExNylas",
extras: ["README.md", "LICENSE"],
groups_for_modules: [
"Admin - API Keys": [
ExNylas.APIKeys,
ExNylas.APIKey,
ExNylas.APIKeys.Build
],
"Admin - Applications": [
ExNylas.Applications,
ExNylas.Application,
ExNylas.Application.Branding,
ExNylas.Application.HostedAuthentication,
ExNylas.ApplicationRedirects,
ExNylas.ApplicationRedirect,
ExNylas.ApplicationRedirect.Build
],
"Admin - Connector Credentials": [
ExNylas.ConnectorCredentials,
ExNylas.ConnectorCredential,
ExNylas.ConnectorCredential.Build
],
"Admin - Connectors": [
ExNylas.Connectors,
ExNylas.Connector,
ExNylas.Connector.Build,
ExNylas.Connector.Settings,
ExNylas.Connector.Build.Settings
],
"Admin - Providers": [
ExNylas.Providers,
ExNylas.Provider
],
"Authentication": [
ExNylas.HostedAuthentication,
ExNylas.HostedAuthentication.Options,
ExNylas.HostedAuthentication.Options.Build,
ExNylas.HostedAuthentication.Error,
ExNylas.HostedAuthentication.Grant,
ExNylas.CustomAuthentication,
ExNylas.CustomAuthentication.Build,
ExNylas.CustomAuthentication.Build.Settings
],
"Calendar - Availability": [
ExNylas.Availability,
ExNylas.Availability.Build,
ExNylas.Availability.TimeSlot,
ExNylas.CalendarAvailability,
ExNylas.CalendarAvailability.Build,
ExNylas.CalendarAvailability.Build.Participant,
ExNylas.CalendarAvailability.Build.Participant.OpenHours
],
"Calendar - Calendars": [
ExNylas.Calendars,
ExNylas.Calendar,
ExNylas.Calendar.Build
],
"Calendar - Events": [
ExNylas.Events,
ExNylas.Event,
ExNylas.Event.Build,
ExNylas.Event.Participant,
ExNylas.Event.Build.Participant,
ExNylas.Event.Organizer,
ExNylas.Event.Conferencing,
ExNylas.Event.Conferencing.Details,
ExNylas.Event.Build.Conferencing,
ExNylas.Event.Build.Conferencing.Details,
ExNylas.Event.Reminder,
ExNylas.Event.Build.Reminder
],
"Calendar - Event When": [
ExNylas.Event.When,
ExNylas.Event.Date,
ExNylas.Event.Datespan,
ExNylas.Event.Timespan,
ExNylas.Event.Build.When
],
"Calendar - Free/Busy": [
ExNylas.FreeBusy,
ExNylas.FreeBusy.Build,
ExNylas.FreeBusy.TimeSlot,
ExNylas.CalendarFreeBusy,
ExNylas.CalendarFreeBusy.Build
],
"Channels": [
ExNylas.Channels,
ExNylas.Channel,
ExNylas.Channel.Build
],
"Common - Availability": [
ExNylas.AvailabilityRules,
ExNylas.AvailabilityRules.Build,
ExNylas.Buffer,
ExNylas.Buffer.Build,
ExNylas.OpenHours,
ExNylas.OpenHours.Build
],
"Common - Email Participants": [
ExNylas.EmailParticipant,
ExNylas.EmailParticipant.Build
],
"Common - Event Booking": [
ExNylas.EventBooking,
ExNylas.EventBooking.Build
],
"Common - Event Conferencing": [
ExNylas.EventConferencing,
ExNylas.EventConferencing.Build,
ExNylas.EventConferencing.Build.Details,
ExNylas.EventConferencing.Details
],
"Common - Event Reminder": [
ExNylas.EventReminder,
ExNylas.EventReminder.Build
],
"Common - Message Headers": [
ExNylas.MessageHeader,
ExNylas.MessageHeader.Build
],
"Common - Scheduling Participants": [
ExNylas.SchedulingParticipant,
ExNylas.SchedulingParticipant.Build,
ExNylas.SchedulingParticipant.Availability,
ExNylas.SchedulingParticipant.Build.Availability,
ExNylas.SchedulingParticipant.Booking,
ExNylas.SchedulingParticipant.Build.Booking
],
"Common - Scheduler": [
ExNylas.Scheduler,
ExNylas.Scheduler.Build,
ExNylas.Scheduler.Build.EmailTemplate,
ExNylas.Scheduler.Build.EmailTemplate.BookingConfirmed
],
"Common - Tracking Options": [
ExNylas.TrackingOptions,
ExNylas.TrackingOptions.Build
],
"Contact Groups": [
ExNylas.ContactGroups,
ExNylas.ContactGroup
],
"Contacts": [
ExNylas.Contacts,
ExNylas.Contact,
ExNylas.Contact.Build,
ExNylas.Contact.Email,
ExNylas.Contact.Build.Email,
ExNylas.Contact.PhoneNumber,
ExNylas.Contact.Build.PhoneNumber,
ExNylas.Contact.PhysicalAddress,
ExNylas.Contact.Build.PhysicalAddress,
ExNylas.Contact.ImAddress,
ExNylas.Contact.Build.ImAddress,
ExNylas.Contact.WebPage,
ExNylas.Contact.Build.WebPage,
ExNylas.Contact.ContactGroup,
ExNylas.Contact.Build.ContactGroup
],
"Core": [
ExNylas.API,
ExNylas.Auth,
ExNylas.Connection,
ExNylas.Multipart,
ExNylas.ResponseHandler,
ExNylas.Telemetry,
ExNylas.Transform
],
"Core - Paging": [
ExNylas.Paging,
ExNylas.Paging.Cursor,
ExNylas.Paging.Helpers,
ExNylas.Paging.Offset,
ExNylas.Paging.Options
],
"Core - Response": [
ExNylas.Response,
ExNylas.Error
],
"Email - Attachments": [
ExNylas.Attachments,
ExNylas.Attachment,
ExNylas.Attachment.Build
],
"Email - Drafts": [
ExNylas.Drafts,
ExNylas.Draft,
ExNylas.Draft.Build
],
"Email - Folders": [
ExNylas.Folders,
ExNylas.Folder,
ExNylas.Folder.Build
],
"Email - Message Schedules": [
ExNylas.MessageSchedules,
ExNylas.MessageSchedule,
ExNylas.MessageSchedule.Status
],
"Email - Messages": [
ExNylas.Messages,
ExNylas.Message,
ExNylas.Message.Build
],
"Email - Threads": [
ExNylas.Threads,
ExNylas.Thread
],
"Exceptions": [
ExNylasError
],
"Grants": [
ExNylas.Grants,
ExNylas.Grant
],
"Notetaker": [
ExNylas.Notetakers,
ExNylas.Notetaker,
ExNylas.Notetaker.Build,
ExNylas.Notetaker.Build.MeetingSettings,
ExNylas.Notetaker.Build.Rules,
ExNylas.Notetaker.Build.Rules.ParticipantFilter,
ExNylas.Notetaker.CustomSettings,
ExNylas.Notetaker.Media,
ExNylas.Notetaker.Media.Recording,
ExNylas.Notetaker.Media.Transcript,
ExNylas.Notetaker.MeetingSettings,
ExNylas.Notetaker.Rules,
ExNylas.Notetaker.Rules.ParticipantFilter,
ExNylas.StandaloneNotetakers
],
"Order Consolidation - Orders": [
ExNylas.OrderConsolidation.Orders,
ExNylas.OrderConsolidation.Order,
ExNylas.OrderConsolidation.Order.Product
],
"Order Consolidation - Shipments": [
ExNylas.OrderConsolidation.Shipments,
ExNylas.OrderConsolidation.Shipment,
ExNylas.OrderConsolidation.Shipment.CarrierEnrichment,
ExNylas.OrderConsolidation.Shipment.CarrierEnrichment.DeliveryStatus,
ExNylas.OrderConsolidation.Shipment.CarrierEnrichment.PackageActivity,
ExNylas.OrderConsolidation.Shipment.CarrierEnrichment.PackageActivity.Location,
ExNylas.OrderConsolidation.Shipment.CarrierEnrichment.PackageActivity.Status
],
"Room Resources": [
ExNylas.RoomResources,
ExNylas.RoomResource
],
"Scheduling - Availability": [
ExNylas.Scheduling.Availability,
ExNylas.Scheduling.Availability.Build
],
"Scheduling - Bookings": [
ExNylas.Scheduling.Bookings,
ExNylas.Scheduling.Booking,
ExNylas.Scheduling.Booking.Build,
ExNylas.Scheduling.Booking.Build.AdditionalGuests,
ExNylas.Scheduling.Booking.Build.Guest,
ExNylas.Scheduling.Booking.Organizer
],
"Scheduling - Configurations": [
ExNylas.Scheduling.Configurations,
ExNylas.Scheduling.Configuration,
ExNylas.Scheduling.Configuration.Build,
ExNylas.Scheduling.Configuration.Availability,
ExNylas.Scheduling.Configuration.Scheduler,
ExNylas.Scheduling.Configuration.Scheduler.Build,
ExNylas.Scheduling.Configuration.Scheduler.EmailTemplate,
ExNylas.Scheduling.Configuration.Scheduler.EmailTemplate.BookingConfirmed
],
"Scheduling - Sessions": [
ExNylas.Scheduling.Sessions,
ExNylas.Scheduling.Session,
ExNylas.Scheduling.Session.Build
],
"Smart Compose": [
ExNylas.SmartCompose,
ExNylas.Schema.SmartCompose
],
"Types": [
ExNylas.Type.Atom,
ExNylas.Type.MapOrList
],
"Utilities": [
ExNylas.Util,
ExNylas.Util.Error,
ExNylas.Util.Schema
],
"Webhook Notifications": [
ExNylas.WebhookNotifications,
ExNylas.WebhookNotification,
ExNylas.WebhookNotificationData,
ExNylas.WebhookNotification.Booking,
ExNylas.WebhookNotification.Booking.BookingInfo,
ExNylas.WebhookNotification.Booking.BookingInfo.Participant,
ExNylas.WebhookNotification.Grant,
ExNylas.WebhookNotification.MessageBounceDetected,
ExNylas.WebhookNotification.MessageBounceDetected.Origin,
ExNylas.WebhookNotification.MessageLinkClicked,
ExNylas.WebhookNotification.MessageLinkClicked.LinkData,
ExNylas.WebhookNotification.MessageLinkClicked.Recent,
ExNylas.WebhookNotification.MessageOpened,
ExNylas.WebhookNotification.MessageOpened.MessageData,
ExNylas.WebhookNotification.MessageOpened.Recent,
ExNylas.WebhookNotification.Notetaker,
ExNylas.WebhookNotification.Notetaker.Event,
ExNylas.WebhookNotification.Notetaker.MeetingSettings,
ExNylas.WebhookNotification.NotetakerMedia,
ExNylas.WebhookNotification.NotetakerMedia.Media,
ExNylas.WebhookNotification.Order,
ExNylas.WebhookNotification.Order.Merchant,
ExNylas.WebhookNotification.Order.Metadata,
ExNylas.WebhookNotification.Order.Order,
ExNylas.WebhookNotification.Order.Order.LineItem,
ExNylas.WebhookNotification.ThreadReplied,
ExNylas.WebhookNotification.ThreadReplied.ReplyData,
ExNylas.WebhookNotification.Tracking,
ExNylas.WebhookNotification.Tracking.Merchant,
ExNylas.WebhookNotification.Tracking.Metadata,
ExNylas.WebhookNotification.Tracking.Shipping
],
"Webhooks": [
ExNylas.Webhooks,
ExNylas.Webhook,
ExNylas.Webhook.Build
]
],
groups_for_docs: [
"API Functions": &(&1[:group] == :api),
"Build Functions": &(&1[:group] == :build),
"Schema Functions": &(&1[:group] == :schema)
]
],
test_coverage: [tool: ExCoveralls]
]
end
def cli do
[
preferred_envs: [quality_check: :test, qc: :test, t: :test],
]
end
def application do
[
extra_applications: [:logger]
]
end
defp aliases do
[
c: "compile",
qc: "quality_check",
t: "test"
]
end
defp deps do
[
{:bypass, "~> 2.1", only: :test},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false},
{:ecto, "~> 3.12"},
{:excoveralls, "~> 0.18.1", only: :test},
{:ex_doc, "~> 0.31", only: :dev, runtime: false},
{:miss, "~> 0.1.5"},
{:multipart, "~> 0.4.0"},
{:polymorphic_embed, "~> 5.0"},
{:req, "~> 0.5.10"},
{:req_telemetry, "~> 0.1.1"},
{:typed_ecto_schema, "~> 0.4.1", runtime: false}
]
end
defp package do
[
name: "ex_nylas",
licenses: ["MIT"],
links: %{
"Changelog" => "#{url()}/blob/main/CHANGELOG.md",
"GitHub" => url()
}
]
end
defp url, do: "https://github.com/nicholasbair/ex_nylas"
end