Skip to content

NVMNovem/github-access-api

Repository files navigation

GitHubAccessAPI

GitHubAccessAPI is a Swift package for integrating GitHub App setup and installation-token generation into Vapor projects.

It provides a lightweight API to interact with a GitHub access server, with optional SwiftUI setup flows for client-side integration.

Platform Compatibility

This Swift package is designed to run on:

  • macOS
  • Linux

Installation

Add github-access-api as a dependency to your Package.swift:

// Package.swift (snippet)
dependencies: [
    .package(url: "https://github.com/NVMNovem/github-access-api", from: "1.0.0")
]

targets: [
    .target(
        name: "MyApp",
        dependencies: [
            .product(name: "GitHubAccessAPI", package: "github-access-api")
        ]
    )
]

Basic usage

SwiftUI ViewModifier

import GitHubAccess

struct ContentView: View {
    var body: some View {
        MainView()
            .gitHubSetup { result in
                switch result {
                case .success(let installationId):
                    print("Installation ID:", installationId)
                case .failure(let error):
                    print("Setup failed:", error)
                }
            }
    }
}

SwiftUI Scene

Use this when working with DocumentGroup scenes.

import GitHubAccess

@main
struct MyApp: App {
    var body: some Scene {
        DocumentGroup(newDocument: MyDocument()) { file in
            DocumentView(document: file.$document)
        }

        GitHubSetup { result in
            switch result {
            case .success(let installationId):
                print("Installation ID:", installationId)
            case .failure(let error):
                print("Setup failed:", error)
            }
        }
    }
}

About

[API] The GitHub Access API to interact with a GitHub Access Server

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages