Complete PHP API for Gitea for use in JCB.
Go to file
2023-05-02 01:51:30 +02:00
src update 2023-04-30 01:34:12 2023-04-30 01:34:12 +02:00
README.md update 2023-05-02 01:51:30 2023-05-02 01:51:30 +02:00
super-powers.json update 2023-05-02 01:51:30 2023-05-02 01:51:30 +02:00

███████╗██╗   ██╗██████╗ ███████╗██████╗
██╔════╝██║   ██║██╔══██╗██╔════╝██╔══██╗
███████╗██║   ██║██████╔╝█████╗  ██████╔╝
╚════██║██║   ██║██╔═══╝ ██╔══╝  ██╔══██╗
███████║╚██████╔╝██║     ███████╗██║  ██║
╚══════╝ ╚═════╝ ╚═╝     ╚══════╝╚═╝  ╚═╝
██████╗  ██████╗ ██╗    ██╗███████╗██████╗ ███████╗
██╔══██╗██╔═══██╗██║    ██║██╔════╝██╔══██╗██╔════╝
██████╔╝██║   ██║██║ █╗ ██║█████╗  ██████╔╝███████╗
██╔═══╝ ██║   ██║██║███╗██║██╔══╝  ██╔══██╗╚════██║
██║     ╚██████╔╝╚███╔███╔╝███████╗██║  ██║███████║
╚═╝      ╚═════╝  ╚══╝╚══╝ ╚══════╝╚═╝  ╚═╝╚══════╝

What is JCB Super Powers?

The Joomla Component Builder (JCB) Super Power features are designed to enhance JCB's functionality and streamline the development process. These Super Powers enable developers to efficiently manage and share their custom powers across multiple JCB instances through repositories hosted on https://git.vdm.dev/[username]/[repository-name]. JCB Super Powers are managed using a combination of layers, events, tasks, methods, switches, and algorithms, which work together to provide powerful customization and extensibility options. More details on JCB Super Powers can be found in the Super Powers Documentation.

In summary, JCB Super Powers offer a flexible and efficient way to manage and share functionalities between JCB instances. By utilizing a sophisticated system of layers, events, tasks, methods, switches, and algorithms, developers can seamlessly integrate JCB core powers and their custom powers. For more information on how to work with JCB Super Powers, refer to the Super Powers User Guide.

What can I find here?

This repository contains an index (see below) of all the approved powers within the JCB GUI. During the compilation of a component, these powers are automatically added to the repository, ensuring a well-organized and accessible collection of functionalities.

Index of powers

Class Diagrams

VDM Joomla Gitea

namespace VDM\Joomla\Gitea

@startuml

namespace VDM\Joomla\Gitea #DarkCyan {


  abstract Factory  #Orange {
    # static $container
    + {static} _() : Mixed
    + {static} getContainer() : Container
    # {static} createContainer() : Container
  }

  class Issue  #Gold {
    + list() : ?array
    + get() : ?object
    + create() : ?object
    + search() : ?array
    + edit() : ?object
    + delete() : string
  }

  class Labels  #Gold {
    + create() : ?object
    + get() : ?object
    + delete() : string
    + update() : ?object
  }

  class Notifications  #Gold {
    + list() : ?array
    + update() : ?array
    + check() : ?object
  }

  class Organization  #Gold {
    + create() : ?object
    + get() : ?object
    + list() : ?array
    + delete() : string
    + edit() : ?object
  }

  class Package  #Gold {
    + get() : ?object
    + delete() : string
  }

  class Repository  #Gold {
    + search() : ?object
    + get() : ?object
    + id() : ?object
    + delete() : string
    + edit() : ?object
    + create() : ?object
  }

  class User  #Gold {
    + authenticate() : ?object
    + search() : ?object
    + get() : o
    + followers() : ?array
    + following() : ?array
    + check() : string
    + gpg() : ?array
    + heatmap() : ?array
    + keys() : ?array
    + repos() : ?array
    + watched() : ?array
  }
}


@enduml

VDM Joomla Componentbuilder Service

namespace VDM\Joomla\Componentbuilder\Service

@startuml

namespace VDM\Joomla\Componentbuilder\Service #Olive {


  class Gitea  #Gold {
    + register() : void
    + getUri() : Uri
    + getHttp() : Http
  }
}


@enduml

VDM Joomla Gitea Abstraction

namespace VDM\Joomla\Gitea\Abstraction

@startuml

namespace VDM\Joomla\Gitea\Abstraction #Olive {


  abstract Api  #Orange {
    # Http $http
    # Uri $uri
    # Response $response
    + __construct()
    + load_() : void
  }
}


@enduml

VDM Joomla Gitea Admin

namespace VDM\Joomla\Gitea\Admin

@startuml

namespace VDM\Joomla\Gitea\Admin #Olive {


  class Cron  #Gold {
    + list() : ?array
    + run() : string
  }

  class Organizations  #Gold {
    + list() : ?array
  }

  class Unadopted  #Gold {
    + list() : ?array
    + adopt() : string
    + delete() : string
  }

  class Users  #Gold {
    + list() : ?array
    + create() : ?object
    + delete() : string
    + edit() : ?object
  }
}


@enduml

VDM Joomla Gitea Issue

namespace VDM\Joomla\Gitea\Issue

@startuml

namespace VDM\Joomla\Gitea\Issue #Olive {


  class Comments  #Gold {
    + list() : ?array
    + get() : ?object
    + delete() : string
    + edit() : ?object
    + add() : ?object
  }

  class Deadline  #Gold {
    + set() : object
  }

  class Labels  #Gold {
    + list() : ?array
    + get() : ?array
    + replace() : object
    + add() : ?array
    + remove() : string
    + clear() : string
  }

  class Milestones  #Gold {
    + create() : ?object
    + list() : ?array
    + get() : ?object
    + delete() : string
    + update() : ?object
  }

  class Reactions  #Gold {
    + list() : ?array
    + add() : ?object
    + remove() : string
  }

  class Stopwatch  #Gold {
    + start() : string
    + stop() : string
    + delete() : string
  }

  class Subscriptions  #Gold {
    + get() : ?object
    + check() : ?object
    + subscribe() : string
    + unsubscribe() : string
  }

  class Timeline  #Gold {
    + get() : ?array
  }

  class Times  #Gold {
    + list() : ?array
    + add() : ?object
    + reset() : string
    + delete() : string
  }
}


@enduml

VDM Joomla Gitea Miscellaneous

namespace VDM\Joomla\Gitea\Miscellaneous

@startuml

namespace VDM\Joomla\Gitea\Miscellaneous #Olive {


  class Activitypub  #Gold {
    + get() : ?object
    + send() : string
  }

  class Gpg  #Gold {
    + get() : ?string
  }

  class Markdown  #Gold {
    + render() : ?string
    + raw() : ?string
  }

  class NodeInfo  #Gold {
    + get() : ?object
  }

  class Version  #Gold {
    + get() : ?object
  }
}


@enduml

VDM Joomla Gitea Notifications

namespace VDM\Joomla\Gitea\Notifications

@startuml

namespace VDM\Joomla\Gitea\Notifications #Olive {


  class Repository  #Gold {
    + get() : ?array
    + update() : ?array
  }

  class Thread  #Gold {
    + get() : ?object
    + mark() : ?object
  }
}


@enduml

VDM Joomla Gitea Organization

namespace VDM\Joomla\Gitea\Organization

@startuml

namespace VDM\Joomla\Gitea\Organization #Olive {


  class Hooks  #Gold {
    + list() : ?array
    + create() : ?object
    + get() : ?object
    + delete() : string
    + update() : ?object
  }

  class Labels  #Gold {
    + list() : ?array
    + create() : ?object
    + get() : ?object
    + delete() : string
    + update() : ?object
  }

  class Members  #Gold {
    + list() : ?array
    + check() : string
    + remove() : string
  }

  class PublicMembers  #Gold {
    + list() : ?array
    + check() : ?string
    + publicize() : ?string
    + conceal() : string
  }

  class Repository  #Gold {
    + list() : ?array
    + create() : ?object
  }

  class Teams  #Gold {
    + list() : ?array
    + get() : ?object
    + create() : ?object
    + search() : ?object
    + delete() : string
    + edit() : ?object
  }

  class User  #Gold {
    + list() : ?array
    + get() : ?array
    + permissions() : ?object
  }
}


@enduml

VDM Joomla Gitea Package

namespace VDM\Joomla\Gitea\Package

@startuml

namespace VDM\Joomla\Gitea\Package #Olive {


  class Files  #Gold {
    + get() : ?object
  }

  class Owner  #Gold {
    + get() : ?array
  }
}


@enduml

VDM Joomla Gitea Repository

namespace VDM\Joomla\Gitea\Repository

@startuml

namespace VDM\Joomla\Gitea\Repository #Olive {


  class Archive  #Gold {
    + get() : string
  }

  class Assignees  #Gold {
    + get() : ?array
  }

  class Attachments  #Gold {
    + list() : ?array
    + create() : ?object
    + get() : ?object
    + delete() : string
    + edit() : ?object
  }

  class Branch  #Gold {
    + list() : ?array
    + create() : ?object
    + get() : ?object
    + delete() : string
  }

  class Collaborator  #Gold {
    + list() : ?array
    + check() : string
    + add() : string
    + delete() : string
    + permission() : ?object
  }

  class Commits  #Gold {
    + getList() : ?object
    + getCommit() : ?object
    + status() : ?object
    + statuses() : ?array
    + diff() : string
  }

  class Contents  #Gold {
    + get() : mixed
    + metadata() : ?object
    + create() : ?object
    + root() : ?array
    + update() : ?object
    + delete() : ?object
    + editor() : ?string
    + blob() : ?object
  }

  class Forks  #Gold {
    + listForks() : ?array
    + repo() : ?object
  }

  class Gpg  #Gold {
    + get() : string
  }

  class Hooks  #Gold {
    + list() : ?array
    + create() : ?object
    + get() : ?object
    + edit() : ?object
    + test() : string
  }

  class Keys  #Gold {
    + list() : ?array
    + add() : ?object
    + id() : ?object
    + delete() : string
  }

  class Languages  #Gold {
    + getLanguages() : ?object
  }

  class Media  #Gold {
    + get() : string
  }

  class Merge  #Gold {
    + check() : string
    + pull() : string
    + cancel() : string
  }

  class Mirror  #Gold {
    + sync() : string
  }

  class Mirrors  #Gold {
    + get() : ?array
    + add() : ?object
    + sync() : string
    + name() : ?object
    + delete() : string
  }

  class Notes  #Gold {
    + get() : ?object
  }

  class Patch  #Gold {
    + applyDiffPatch() : ?object
  }

  class Pulls  #Gold {
    + list() : ?array
    + create() : ?object
    + get() : ?object
    + update() : ?object
    + diff() : string
    + commits() : ?array
    + files() : ?array
    + merge() : string
    + update() : string
  }

  class Refs  #Gold {
    + list() : ?array
    + get() : ?array
  }

  class Releases  #Gold {
    + list() : ?array
    + create() : ?object
    + get() : ?object
    + delete() : string
    + update() : ?object
    + getByTag() : ?object
    + deleteByTag() : string
  }

  class Remote  #Gold {
    + migrate() : ?object
  }

  class Reviewers  #Gold {
    + request() : ?array
    + cancel() : string
    + get() : ?array
  }

  class Reviews  #Gold {
    + list() : ?array
    + create() : ?object
    + get() : ?object
    + submit() : ?object
    + delete() : string
    + comments() : ?array
    + dismiss() : ?object
    + undismiss() : ?object
  }

  class Stargazers  #Gold {
    + list() : ?array
  }

  class Statuses  #Gold {
    + get() : ?array
    + create() : ?object
  }

  class Tags  #Gold {
    + list() : ?array
    + get() : ?object
    + sha() : ?object
    + create() : ?object
    + delete() : string
  }

  class Teams  #Gold {
    + list() : ?array
    + check() : ?object
    + add() : string
    + delete() : string
  }

  class Templates  #Gold {
    + issue() : ?array
    + repo() : ?object
  }

  class Times  #Gold {
    + list() : ?array
  }

  class Topics  #Gold {
    + get() : ?object
    + replace() : string
    + add() : string
    + delete() : string
    + search() : ?array
  }

  class Transfer  #Gold {
    + create() : ?object
    + accept() : ?object
    + reject() : ?object
  }

  class Trees  #Gold {
    + get() : ?object
  }

  class Watchers  #Gold {
    + list() : ?array
    + check() : ?object
    + watch() : ?object
    + unwatch() : string
  }

  class Wiki  #Gold {
    + create() : ?object
    + get() : ?object
    + pages() : ?array
    + delete() : string
    + edit() : ?object
    + revisions() : ?object
  }
}


@enduml

VDM Joomla Gitea Service

namespace VDM\Joomla\Gitea\Service

@startuml

namespace VDM\Joomla\Gitea\Service #Olive {


  class Admin  #Gold {
    + register() : void
    + getCron() : Cron
    + getOrganizations() : Organizations
    + getUnadopted() : Unadopted
    + getUsers() : Users
    + getKeys() : Keys
    + getOrganization() : Organization
    + getRepository() : Repository
  }

  class Issue  #Gold {
    + register() : void
    + getIssue() : Issu
    + getComments() : Comments
    + getRepoComments() : RepoComments
    + getLabels() : Labels
    + getIssueLabels() : IssueLabels
    + getMilestones() : Milestones
    + getReactions() : Reactions
    + getComment() : Comment
    + getStopwatch() : Stopwatch
    + getSubscriptions() : Subscriptions
    + getTimeline() : Timeline
    + getTimes() : Times
  }

  class Jcb  #Gold {
    + register() : void
    + getUri() : Uri
    + getHttp() : Http
  }

  class Miscellaneous  #Gold {
    + register() : void
    + getActivitypub() : Activitypub
    + getGpg() : Gpg
    + getMarkdown() : Markdown
    + getNodeInfo() : NodeInfo
    + getVersion() : Version
  }

  class Notifications  #Gold {
    + register() : void
    + getNotifications() : Notifi
    + getRepository() : Repository
    + getThread() : Thread
  }

  class Organization  #Gold {
    + register() : void
    + getOrganization() : Org
    + getHooks() : Hooks
    + getLabels() : Labels
    + getMembers() : Members
    + getPublicMembers() : PublicMembers
    + getRepository() : Repository
    + getTeams() : Teams
    + getTeamsMembers() : TeamsMembers
    + getTeamsRepository() : TeamsRepository
    + getUser() : User
  }

  class Package  #Gold {
    + register() : void
    + getPackage() : Pack
    + getFiles() : Files
    + getOwner() : Owner
  }

  class Repository  #Gold {
    + register() : void
    + getRepository() : Repo
    + getArchive() : Archive
    + getAssignees() : Assignees
    + getAttachments() : Attachments
    + getBranch() : Branch
    + getProtection() : Protection
    + getCollaborator() : Collaborator
    + getCommits() : Commits
    + getContents() : Contents
    + getForks() : Forks
    + getGpg() : Gpg
    + getHooks() : Hooks
    + getGit() : Git
    + getKeys() : Keys
    + getLanguages() : Languages
    + getMedia() : Media
    + getMerge() : Merge
    + getMirror() : Mirror
    + getMirrors() : Mirrors
    + getNotes() : Notes
    + getPatch() : Patch
    + getPulls() : Pulls
    + getRefs() : Refs
    + getReleases() : Releases
    + getRemote() : Remote
    + getReviewers() : Reviewers
    + getReviews() : Reviews
    + getStargazers() : Stargazers
    + getStatuses() : Statuses
    + getTags() : Tags
    + getTeams() : Teams
    + getTemplates() : Templates
    + getTimes() : Times
    + getTopics() : Topics
    + getTransfer() : Transfer
    + getTrees() : Trees
    + getWatchers() : Watchers
    + getWiki() : Wiki
  }

  class Settings  #Gold {
    + register() : void
    + getApi() : Api
    + getAttachment() : Attachment
    + getRepository() : Repository
    + getUi() : Ui
  }

  class User  #Gold {
    + register() : void
    + getUser() : Usr
    + getApplications() : Applications
    + getEmails() : Emails
    + getFollowers() : Followers
    + getFollowing() : Following
    + getGpg() : Gpg
    + getKeys() : Keys
    + getRepos() : Repos
    + getSettings() : Settings
    + getStarred() : Starred
    + getSubscriptions() : Subscriptions
    + getTeams() : Teams
    + getTimes() : Times
    + getTokens() : Tokens
  }

  class Utilities  #Gold {
    + register() : void
    + getUri() : Uri
    + getResponse() : Response
  }
}


@enduml

VDM Joomla Gitea Settings

namespace VDM\Joomla\Gitea\Settings

@startuml

namespace VDM\Joomla\Gitea\Settings #Olive {


  class Api  #Gold {
    + get() : ?object
  }

  class Attachment  #Gold {
    + get() : ?object
  }

  class Repository  #Gold {
    + get() : ?object
  }

  class Ui  #Gold {
    + get() : ?object
  }
}


@enduml

VDM Joomla Gitea User

namespace VDM\Joomla\Gitea\User

@startuml

namespace VDM\Joomla\Gitea\User #Olive {


  class Applications  #Gold {
    + get() : ?array
    + id() : ?object
    + create() : ?object
    + delete() : string
    + update() : ?object
  }

  class Emails  #Gold {
    + list() : ?array
    + add() : ?array
    + delete() : string
  }

  class Followers  #Gold {
    + list() : ?array
  }

  class Following  #Gold {
    + list() : ?array
    + check() : bool
    + follow() : string
    + unfollow() : string
  }

  class Gpg  #Gold {
    + createGPGKey() : ?object
    + get() : ?object
    + token() : ?string
    + verify() : ?object
    + list() : ?array
    + remove() : string
  }

  class Keys  #Gold {
    + create() : ?object
    + list() : ?array
    + get() : ?object
    + delete() : string
  }

  class Repos  #Gold {
    + create() : ?object
    + list() : ?array
    + star() : string
    + unstar() : string
  }

  class Settings  #Gold {
    + get() : ?object
    + update() : ?array
  }

  class Starred  #Gold {
    + list() : ?array
    + check() : string
  }

  class Subscriptions  #Gold {
    + list() : ?array
  }

  class Teams  #Gold {
    + list() : ?array
  }

  class Times  #Gold {
    + list() : ?array
    + stopwatches() : ?array
  }

  class Tokens  #Gold {
    + list() : ?array
    + create() : ?object
    + delete() : string
  }
}


@enduml

VDM Joomla Gitea Utilities

namespace VDM\Joomla\Gitea\Utilities

@startuml

namespace VDM\Joomla\Gitea\Utilities #Olive {


  class Http << (F,LightGreen) >> #Green {
    + __construct()
    + setToken()
  }

  class Response << (F,LightGreen) >> #Green {
    + get() : mixed
    + get_() : mixed
    # body() : mixed
    # error() : string
  }

  class Uri << (F,LightGreen) >> #Green {
    - string $endpoint
    - string $version
    - string $url
    + __construct()
    + get() : JoomlaUri
    + api() : string
    + setUrl() : void
    - setEndpoint() : void
    - setVersion() : void
  }
}


@enduml

VDM Joomla Gitea Admin Users

namespace VDM\Joomla\Gitea\Admin\Users

@startuml

namespace VDM\Joomla\Gitea\Admin\Users #LightGreen {


  class Keys  #Gold {
    + add() : ?object
    + delete() : string
  }

  class Organization  #Gold {
    + create() : ?object
  }

  class Repository  #Gold {
    + create() : ?object
  }
}


@enduml

VDM Joomla Gitea Issue Reactions

namespace VDM\Joomla\Gitea\Issue\Reactions

@startuml

namespace VDM\Joomla\Gitea\Issue\Reactions #LightGreen {


  class Comment  #Gold {
    + list() : ?array
    + add() : ?object
    + remove() : string
  }
}


@enduml

VDM Joomla Gitea Issue Repository

namespace VDM\Joomla\Gitea\Issue\Repository

@startuml

namespace VDM\Joomla\Gitea\Issue\Repository #LightGreen {


  class Comments  #Gold {
    + list() : ?array
  }
}


@enduml

VDM Joomla Gitea Organization Teams

namespace VDM\Joomla\Gitea\Organization\Teams

@startuml

namespace VDM\Joomla\Gitea\Organization\Teams #LightGreen {


  class Members  #Gold {
    + list() : ?array
    + get() : ?object
    + add() : string
    + remove() : string
  }

  class Repository  #Gold {
    + list() : ?array
    + get() : ?object
    + add() : string
    + remove() : string
  }
}


@enduml

VDM Joomla Gitea Repository Branch

namespace VDM\Joomla\Gitea\Repository\Branch

@startuml

namespace VDM\Joomla\Gitea\Repository\Branch #LightGreen {


  class Protection  #Gold {
    + list() : ?array
    + create() : ?object
    + get() : ?object
    + delete() : string
    + edit() : ?object
  }
}


@enduml

VDM Joomla Gitea Repository Hooks

namespace VDM\Joomla\Gitea\Repository\Hooks

@startuml

namespace VDM\Joomla\Gitea\Repository\Hooks #LightGreen {


  class Git  #Gold {
    + list() : ?array
    + get() : ?object
    + delete() : string
    + edit() : ?object
  }
}


@enduml

     ██╗ ██████╗  ██████╗ ███╗   ███╗██╗      █████╗
     ██║██╔═══██╗██╔═══██╗████╗ ████║██║     ██╔══██╗
     ██║██║   ██║██║   ██║██╔████╔██║██║     ███████║
██   ██║██║   ██║██║   ██║██║╚██╔╝██║██║     ██╔══██║
╚█████╔╝╚██████╔╝╚██████╔╝██║ ╚═╝ ██║███████╗██║  ██║
 ╚════╝  ╚═════╝  ╚═════╝ ╚═╝     ╚═╝╚══════╝╚═╝  ╚═╝
 ██████╗ ██████╗ ███╗   ███╗██████╗  ██████╗ ███╗   ██╗███████╗███╗   ██╗████████╗
██╔════╝██╔═══██╗████╗ ████║██╔══██╗██╔═══██╗████╗  ██║██╔════╝████╗  ██║╚══██╔══╝
██║     ██║   ██║██╔████╔██║██████╔╝██║   ██║██╔██╗ ██║█████╗  ██╔██╗ ██║   ██║
██║     ██║   ██║██║╚██╔╝██║██╔═══╝ ██║   ██║██║╚██╗██║██╔══╝  ██║╚██╗██║   ██║
╚██████╗╚██████╔╝██║ ╚═╝ ██║██║     ╚██████╔╝██║ ╚████║███████╗██║ ╚████║   ██║
 ╚═════╝ ╚═════╝ ╚═╝     ╚═╝╚═╝      ╚═════╝ ╚═╝  ╚═══╝╚══════╝╚═╝  ╚═══╝   ╚═╝
██████╗ ██╗   ██╗██╗██╗     ██████╗ ███████╗██████╗
██╔══██╗██║   ██║██║██║     ██╔══██╗██╔════╝██╔══██╗
██████╔╝██║   ██║██║██║     ██║  ██║█████╗  ██████╔╝
██╔══██╗██║   ██║██║██║     ██║  ██║██╔══╝  ██╔══██╗
██████╔╝╚██████╔╝██║███████╗██████╔╝███████╗██║  ██║
╚═════╝  ╚═════╝ ╚═╝╚══════╝╚═════╝ ╚══════╝╚═╝  ╚═╝

Build with Joomla Component Builder