Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions swift/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,20 @@ let package = Package(
.swiftLanguageMode(.v6),
]
),
// Models a customer: depends on the `Basecamp` target and imports it
// plainly, so only the public surface is visible (#735). Deliberately a
// non-test target — `swift build` compiles it, which is broader cover
// than `swift test`, and it is deliberately absent from `products` so it
// is never built by a package that depends on this one. Its sources must
// never use `@testable`; PublicInitCoverageTests enforces both properties.
.target(
name: "BasecampPublicAPIConsumer",
dependencies: ["Basecamp"],
path: "Sources/BasecampPublicAPIConsumer",
swiftSettings: [
.swiftLanguageMode(.v6),
]
),
.executableTarget(
name: "BasecampGenerator",
path: "Sources/BasecampGenerator",
Expand Down
12 changes: 12 additions & 0 deletions swift/Sources/Basecamp/Generated/Models/AccountLimits.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,16 @@ public struct AccountLimits: Codable, Sendable {
public var canCreateUsers: Bool?
public var canPinProjects: Bool?
public var canUploadFiles: Bool?

public init(
canCreateProjects: Bool? = nil,
canCreateUsers: Bool? = nil,
canPinProjects: Bool? = nil,
canUploadFiles: Bool? = nil
) {
self.canCreateProjects = canCreateProjects
self.canCreateUsers = canCreateUsers
self.canPinProjects = canPinProjects
self.canUploadFiles = canUploadFiles
}
}
4 changes: 4 additions & 0 deletions swift/Sources/Basecamp/Generated/Models/AccountLogo.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,8 @@ import Foundation

public struct AccountLogo: Codable, Sendable {
public var url: String?

public init(url: String? = nil) {
self.url = url
}
}
6 changes: 6 additions & 0 deletions swift/Sources/Basecamp/Generated/Models/AccountSettings.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,10 @@ public struct AccountSettings: Codable, Sendable {
public var companyHqEnabled: Bool?
public var projectsEnabled: Bool?
public var teamsEnabled: Bool?

public init(companyHqEnabled: Bool? = nil, projectsEnabled: Bool? = nil, teamsEnabled: Bool? = nil) {
self.companyHqEnabled = companyHqEnabled
self.projectsEnabled = projectsEnabled
self.teamsEnabled = teamsEnabled
}
}
20 changes: 20 additions & 0 deletions swift/Sources/Basecamp/Generated/Models/AccountSubscription.swift
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,24 @@ public struct AccountSubscription: Codable, Sendable {
public var teams: Bool?
public var templates: Bool?
public var timesheet: Bool?

public init(
clients: Bool? = nil,
logo: Bool? = nil,
projectLimit: Int32? = nil,
properName: String? = nil,
shortName: String? = nil,
teams: Bool? = nil,
templates: Bool? = nil,
timesheet: Bool? = nil
) {
self.clients = clients
self.logo = logo
self.projectLimit = projectLimit
self.properName = properName
self.shortName = shortName
self.teams = teams
self.templates = templates
self.timesheet = timesheet
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,20 @@ public struct CampfireLineAttachment: Codable, Sendable {
public var filename: String?
public var title: String?
public var url: String?

public init(
byteSize: Int? = nil,
contentType: String? = nil,
downloadUrl: String? = nil,
filename: String? = nil,
title: String? = nil,
url: String? = nil
) {
self.byteSize = byteSize
self.contentType = contentType
self.downloadUrl = downloadUrl
self.filename = filename
self.title = title
self.url = url
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,38 @@ public struct ClientApprovalResponse: Codable, Sendable {
public var type: String?
public var updatedAt: String?
public var visibleToClients: Bool?

public init(
appUrl: String? = nil,
approved: Bool? = nil,
bookmarkUrl: String? = nil,
bucket: RecordingBucket? = nil,
content: String? = nil,
createdAt: String? = nil,
creator: Person? = nil,
id: Int? = nil,
inheritsStatus: Bool? = nil,
parent: RecordingParent? = nil,
status: String? = nil,
title: String? = nil,
type: String? = nil,
updatedAt: String? = nil,
visibleToClients: Bool? = nil
) {
self.appUrl = appUrl
self.approved = approved
self.bookmarkUrl = bookmarkUrl
self.bucket = bucket
self.content = content
self.createdAt = createdAt
self.creator = creator
self.id = id
self.inheritsStatus = inheritsStatus
self.parent = parent
self.status = status
self.title = title
self.type = type
self.updatedAt = updatedAt
self.visibleToClients = visibleToClients
}
}
5 changes: 5 additions & 0 deletions swift/Sources/Basecamp/Generated/Models/ClientSide.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,9 @@ import Foundation
public struct ClientSide: Codable, Sendable {
public var appUrl: String?
public var url: String?

public init(appUrl: String? = nil, url: String? = nil) {
self.appUrl = appUrl
self.url = url
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,8 @@ import Foundation

public struct CreateAttachmentResponseContent: Codable, Sendable {
public var attachableSgid: String?

public init(attachableSgid: String? = nil) {
self.attachableSgid = attachableSgid
}
}
14 changes: 14 additions & 0 deletions swift/Sources/Basecamp/Generated/Models/DoorService.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,18 @@ public struct DoorService: Codable, Sendable {
public var name: String?
public var supportingText: String?
public var validPatterns: [String]?

public init(
code: String? = nil,
exampleUrl: String? = nil,
name: String? = nil,
supportingText: String? = nil,
validPatterns: [String]? = nil
) {
self.code = code
self.exampleUrl = exampleUrl
self.name = name
self.supportingText = supportingText
self.validPatterns = validPatterns
}
}
6 changes: 6 additions & 0 deletions swift/Sources/Basecamp/Generated/Models/EventDetails.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,10 @@ public struct EventDetails: Codable, Sendable {
public var addedPersonIds: [Int]?
public var notifiedRecipientIds: [Int]?
public var removedPersonIds: [Int]?

public init(addedPersonIds: [Int]? = nil, notifiedRecipientIds: [Int]? = nil, removedPersonIds: [Int]? = nil) {
self.addedPersonIds = addedPersonIds
self.notifiedRecipientIds = notifiedRecipientIds
self.removedPersonIds = removedPersonIds
}
}
68 changes: 68 additions & 0 deletions swift/Sources/Basecamp/Generated/Models/EverythingFile.swift
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,72 @@ public struct EverythingFile: Codable, Sendable {
public var url: String?
public var visibleToClients: Bool?
public var width: Int32?

public init(
appDownloadUrl: String? = nil,
appUrl: String? = nil,
attachableSgid: String? = nil,
bookmarkUrl: String? = nil,
boostsCount: Int32? = nil,
boostsUrl: String? = nil,
bucket: RecordingBucket? = nil,
byteSize: Int? = nil,
commentsCount: Int32? = nil,
commentsUrl: String? = nil,
content: String? = nil,
contentAttachments: [RichTextAttachment]? = nil,
contentType: String? = nil,
createdAt: String? = nil,
creator: Person? = nil,
description: String? = nil,
descriptionAttachments: [RichTextAttachment]? = nil,
downloadUrl: String? = nil,
filename: String? = nil,
height: Int32? = nil,
id: Int? = nil,
inheritsStatus: Bool? = nil,
parent: RecordingParent? = nil,
position: Int32? = nil,
status: String? = nil,
subscriptionUrl: String? = nil,
title: String? = nil,
type: String? = nil,
updatedAt: String? = nil,
url: String? = nil,
visibleToClients: Bool? = nil,
width: Int32? = nil
) {
self.appDownloadUrl = appDownloadUrl
self.appUrl = appUrl
self.attachableSgid = attachableSgid
self.bookmarkUrl = bookmarkUrl
self.boostsCount = boostsCount
self.boostsUrl = boostsUrl
self.bucket = bucket
self.byteSize = byteSize
self.commentsCount = commentsCount
self.commentsUrl = commentsUrl
self.content = content
self.contentAttachments = contentAttachments
self.contentType = contentType
self.createdAt = createdAt
self.creator = creator
self.description = description
self.descriptionAttachments = descriptionAttachments
self.downloadUrl = downloadUrl
self.filename = filename
self.height = height
self.id = id
self.inheritsStatus = inheritsStatus
self.parent = parent
self.position = position
self.status = status
self.subscriptionUrl = subscriptionUrl
self.title = title
self.type = type
self.updatedAt = updatedAt
self.url = url
self.visibleToClients = visibleToClients
self.width = width
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,8 @@ import Foundation

public struct GaugeNeedleUpdatePayload: Codable, Sendable {
public var description: String?

public init(description: String? = nil) {
self.description = description
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,10 @@ public struct GetAssignedTodosResponseContent: Codable, Sendable {
public var groupedBy: String?
public var person: Person?
public var todos: [Todo]?

public init(groupedBy: String? = nil, person: Person? = nil, todos: [Todo]? = nil) {
self.groupedBy = groupedBy
self.person = person
self.todos = todos
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,9 @@ import Foundation
public struct GetMyAssignmentsResponseContent: Codable, Sendable {
public var nonPriorities: [MyAssignment]?
public var priorities: [MyAssignment]?

public init(nonPriorities: [MyAssignment]? = nil, priorities: [MyAssignment]? = nil) {
self.nonPriorities = nonPriorities
self.priorities = priorities
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,16 @@ public struct GetOverdueTodosResponseContent: Codable, Sendable {
public var overAWeekLate: [Todo]?
public var overThreeMonthsLate: [Todo]?
public var underAWeekLate: [Todo]?

public init(
overAMonthLate: [Todo]? = nil,
overAWeekLate: [Todo]? = nil,
overThreeMonthsLate: [Todo]? = nil,
underAWeekLate: [Todo]? = nil
) {
self.overAMonthLate = overAMonthLate
self.overAWeekLate = overAWeekLate
self.overThreeMonthsLate = overThreeMonthsLate
self.underAWeekLate = underAWeekLate
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,9 @@ import Foundation
public struct GetPersonProgressResponseContent: Codable, Sendable {
public var events: [TimelineEvent]?
public var person: Person?

public init(events: [TimelineEvent]? = nil, person: Person? = nil) {
self.events = events
self.person = person
}
}
16 changes: 16 additions & 0 deletions swift/Sources/Basecamp/Generated/Models/OutOfOffice.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,20 @@ public struct OutOfOffice: Codable, Sendable {
public var ongoing: Bool?
public var person: OutOfOfficePerson?
public var startDate: String?

public init(
backOnDate: String? = nil,
enabled: Bool? = nil,
endDate: String? = nil,
ongoing: Bool? = nil,
person: OutOfOfficePerson? = nil,
startDate: String? = nil
) {
self.backOnDate = backOnDate
self.enabled = enabled
self.endDate = endDate
self.ongoing = ongoing
self.person = person
self.startDate = startDate
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,8 @@ import Foundation

public struct PauseQuestionResponseContent: Codable, Sendable {
public var paused: Bool?

public init(paused: Bool? = nil) {
self.paused = paused
}
}
14 changes: 14 additions & 0 deletions swift/Sources/Basecamp/Generated/Models/Preferences.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,18 @@ public struct Preferences: Codable, Sendable {
public var timeFormat: String?
public var timeZoneName: String?
public var url: String?

public init(
appUrl: String? = nil,
firstWeekDay: String? = nil,
timeFormat: String? = nil,
timeZoneName: String? = nil,
url: String? = nil
) {
self.appUrl = appUrl
self.firstWeekDay = firstWeekDay
self.timeFormat = timeFormat
self.timeZoneName = timeZoneName
self.url = url
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,10 @@ public struct PreferencesPayload: Codable, Sendable {
public var firstWeekDay: String?
public var timeFormat: String?
public var timeZoneName: String?

public init(firstWeekDay: String? = nil, timeFormat: String? = nil, timeZoneName: String? = nil) {
self.firstWeekDay = firstWeekDay
self.timeFormat = timeFormat
self.timeZoneName = timeZoneName
}
}
Loading
Loading