Skip to content
This repository was archived by the owner on Jun 30, 2023. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/swift.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ jobs:
- uses: fwal/setup-swift@v1
with:
swift-version: "5.6"
- name: Install Sourcery
run: brew update && brew install sourcery
- name: Check Flat API
run: ./flat-api.sh -c
- name: Build tools & Lint
if: steps.cache-spm.outputs.cache-hit != 'true'
run: swift run -c release --package-path BuildTools swift-format lint -p --strict --recursive ./Sources ./Tests ./scripts
Expand Down
45 changes: 8 additions & 37 deletions Sources/TwitterAPIKit/APIv1/Account/AccountAPIv1.swift
Original file line number Diff line number Diff line change
@@ -1,79 +1,50 @@
import Foundation

public protocol AccountAPIv1 {
open class AccountAPIv1: TwitterAPIBase {

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/get-account-settings
func getAccountSetting(
_ request: GetAccountSettingsRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/get-account-verify_credentials
func getAccountVerify(
_ request: GetAccountVerifyCredentialsRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-remove_profile_banner
func postRemoveProfileBanner(
_ request: PostAccountRemoveProfileBannerRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-settings
func postAccountSettings(
_ request: PostAccountSettingsRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile
func postAccountProfile(
_ request: PostAccountUpdateProfileRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile_banner
func postProfileBanner(
_ request: PostAccountUpdateProfileBannerRequestV1
) -> TwitterAPISessionDataTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile_image
func postProfileImage(
_ request: PostAccountUpdateProfileImageRequestV1
) -> TwitterAPISessionJSONTask
}

extension TwitterAPIClient.TwitterAPIImplV1: AccountAPIv1 {
public func getAccountSetting(
_ request: GetAccountSettingsRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/get-account-verify_credentials
public func getAccountVerify(
_ request: GetAccountVerifyCredentialsRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-remove_profile_banner
public func postRemoveProfileBanner(
_ request: PostAccountRemoveProfileBannerRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-settings
public func postAccountSettings(
_ request: PostAccountSettingsRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile
public func postAccountProfile(
_ request: PostAccountUpdateProfileRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile_banner
public func postProfileBanner(
_ request: PostAccountUpdateProfileBannerRequestV1
) -> TwitterAPISessionDataTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/manage-account-settings/api-reference/post-account-update_profile_image
public func postProfileImage(
_ request: PostAccountUpdateProfileImageRequestV1
) -> TwitterAPISessionJSONTask {
Expand Down
11 changes: 3 additions & 8 deletions Sources/TwitterAPIKit/APIv1/Application/ApplicationAPIv1.swift
Original file line number Diff line number Diff line change
@@ -1,16 +1,11 @@
import Foundation

public protocol ApplicationAPIv1 {
open class ApplicationAPIv1: TwitterAPIBase {

/// https://developer.twitter.com/en/docs/twitter-api/v1/developer-utilities/rate-limit-status/api-reference/get-application-rate_limit_status
func getRateLimit(
public func getRateLimit(
_ request: GetApplicationRateLimitStatusRequestV1
) -> TwitterAPISessionJSONTask

}

extension TwitterAPIClient.TwitterAPIImplV1: ApplicationAPIv1 {
func getRateLimit(_ request: GetApplicationRateLimitStatusRequestV1) -> TwitterAPISessionJSONTask {
) -> TwitterAPISessionJSONTask {
return session.send(request)
}
}
58 changes: 9 additions & 49 deletions Sources/TwitterAPIKit/APIv1/BlockAndMute/BlockAndMuteAPIv1.swift
Original file line number Diff line number Diff line change
@@ -1,104 +1,64 @@
import Foundation

public protocol BlockAndMuteAPIv1 {
open class BlockAndMuteAPIv1: TwitterAPIBase {

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/get-blocks-ids
func getBlockIDs(
_ request: GetBlocksIDsRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/get-blocks-list
func getBlockUsers(
_ request: GetBlocksListRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/get-mutes-users-ids
func getMuteIDs(
_ request: GetMutesUsersIDsRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/get-mutes-users-list
func getMuteUsers(
_ request: GetMutesUsersListRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-blocks-create
func postBlockUser(
_ request: PostBlocksCreateRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-blocks-destroy
func postUnblockUser(
_ request: PostBlocksDestroyRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-mutes-users-create
func postMuteUser(
_ request: PostMutesUsersCreateRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-mutes-users-destroy
func postUnmuteUser(
_ request: PostMutesUsersDestroyRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-users-report_spam
func postReportSpam(
_ request: PostUsersReportSpamRequestV1
) -> TwitterAPISessionJSONTask

}

extension TwitterAPIClient.TwitterAPIImplV1: BlockAndMuteAPIv1 {

public func getBlockIDs(
_ request: GetBlocksIDsRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/get-blocks-list
public func getBlockUsers(
_ request: GetBlocksListRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/get-mutes-users-ids
public func getMuteIDs(
_ request: GetMutesUsersIDsRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/get-mutes-users-list
public func getMuteUsers(
_ request: GetMutesUsersListRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-blocks-create
public func postBlockUser(
_ request: PostBlocksCreateRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-blocks-destroy
public func postUnblockUser(
_ request: PostBlocksDestroyRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-mutes-users-create
public func postMuteUser(
_ request: PostMutesUsersCreateRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-mutes-users-destroy
public func postUnmuteUser(
_ request: PostMutesUsersDestroyRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

/// https://developer.twitter.com/en/docs/twitter-api/v1/accounts-and-users/mute-block-report-users/api-reference/post-users-report_spam
public func postReportSpam(
_ request: PostUsersReportSpamRequestV1
) -> TwitterAPISessionJSONTask {
Expand Down
83 changes: 20 additions & 63 deletions Sources/TwitterAPIKit/APIv1/Collection/CollectionAPIv1.swift
Original file line number Diff line number Diff line change
@@ -1,115 +1,72 @@
import Foundation

public protocol CollectionAPIv1 {
open class CollectionAPIv1: TwitterAPIBase {

/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/get-collections-entries
func getCollectionEntries(
_ request: GetCollectionsEntriesRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/get-collections-list
func getCollections(
_ request: GetCollectionsListRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/get-collections-show
func getCollection(
_ request: GetCollectionsShowRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-create
func postCreateCollection(
_ request: PostCollectionsCreateRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-destroy
func postDestroyCollection(
_ request: PostCollectionsDestroyRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-entries-add
func postCollectionAddEntry(
_ request: PostCollectionsEntriesAddRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-entries-curate
func postCollectionCurate(
_ request: PostCollectionsEntriesCurateRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-entries-move
func postCollectionMoveEntry(
_ request: PostCollectionsEntriesMoveRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-entries-remove
func postCollectionRemoveEntry(
_ request: PostCollectionsEntriesRemoveRequestV1
) -> TwitterAPISessionJSONTask

/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-update
func postCollectionUpdate(
_ request: PostCollectionsUpdateRequestV1
) -> TwitterAPISessionJSONTask
}

extension TwitterAPIClient.TwitterAPIImplV1: CollectionAPIv1 {

func getCollectionEntries(
public func getCollectionEntries(
_ request: GetCollectionsEntriesRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

func getCollections(
/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/get-collections-list
public func getCollections(
_ request: GetCollectionsListRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

func getCollection(
/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/get-collections-show
public func getCollection(
_ request: GetCollectionsShowRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

func postCreateCollection(
/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-create
public func postCreateCollection(
_ request: PostCollectionsCreateRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

func postDestroyCollection(
/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-destroy
public func postDestroyCollection(
_ request: PostCollectionsDestroyRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

func postCollectionAddEntry(
/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-entries-add
public func postCollectionAddEntry(
_ request: PostCollectionsEntriesAddRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

func postCollectionCurate(
/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-entries-curate
public func postCollectionCurate(
_ request: PostCollectionsEntriesCurateRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

func postCollectionMoveEntry(
/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-entries-move
public func postCollectionMoveEntry(
_ request: PostCollectionsEntriesMoveRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

func postCollectionRemoveEntry(
/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-entries-remove
public func postCollectionRemoveEntry(
_ request: PostCollectionsEntriesRemoveRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
}

func postCollectionUpdate(
/// https://developer.twitter.com/en/docs/twitter-api/v1/tweets/curate-a-collection/api-reference/post-collections-update
public func postCollectionUpdate(
_ request: PostCollectionsUpdateRequestV1
) -> TwitterAPISessionJSONTask {
return session.send(request)
Expand Down
Loading