{"id":24540027,"url":"https://github.com/spurtcms/pkgcore","last_synced_at":"2025-06-23T00:03:04.640Z","repository":{"id":194797279,"uuid":"691506849","full_name":"spurtcms/pkgcore","owner":"spurtcms","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-16T14:13:46.000Z","size":158,"stargazers_count":0,"open_issues_count":5,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-16T04:43:04.196Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spurtcms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-09-14T10:14:10.000Z","updated_at":"2024-01-11T12:54:30.000Z","dependencies_parsed_at":"2024-02-22T16:28:50.293Z","dependency_job_id":"972f8991-aafb-4144-8ff0-5ba171471aeb","html_url":"https://github.com/spurtcms/pkgcore","commit_stats":null,"previous_names":["spurtcms/spurtcms-core","spurtcms/pkgcore"],"tags_count":91,"template":false,"template_full_name":null,"purl":"pkg:github/spurtcms/pkgcore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spurtcms%2Fpkgcore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spurtcms%2Fpkgcore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spurtcms%2Fpkgcore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spurtcms%2Fpkgcore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spurtcms","download_url":"https://codeload.github.com/spurtcms/pkgcore/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spurtcms%2Fpkgcore/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261386709,"owners_count":23150866,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-22T17:17:58.230Z","updated_at":"2025-06-23T00:02:59.628Z","avatar_url":"https://github.com/spurtcms.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# spurtCMS Core Modules\n\nThe spurtCMS Core module \"pkgcore\", serves as the foundation for developers seeking to architect dynamic and secure web applications in Golang. Within this module there are four essential package bundles, each contributing pivotal functionalities to user authentication, member management, and content governance. With pkgcore module, developers can construct agile, user-centric applications supported by robust authentication, membership, and content management capabilities.\n\n## 1) Auth Package\n\nspurtCMS “Auth Package” provide functionality for managing authentication, user roles, and permissions within the spurtCMS admin application. They enable tasks such as token generation, user authentication, role management, permission assignment, and data retrieval related to authentication and authorization processes. Here are the list of functionalities carried by functions of Auth package.\n\u003cul\u003e\n                                        \u003cli\u003e Migrate or set up the necessary database tables for handling authentication-related data.\u003c/li\u003e\n                                    \u003cli\u003e  Generates and returns an authentication token, typically used for user authentication and authorization processes.\u003c/li\u003e\n                                    \u003cli\u003e  Validates the authenticity and integrity of a given authentication token.\u003c/li\u003e\n                                \u003cli\u003e  Check if a user login attempt is valid by verifying credentials against stored user information.\u003c/li\u003e\n                                \u003cli\u003e  Retrieves a list of roles available in the system.\u003c/li\u003e\n                                \u003cli\u003e  Fetches role information based on the provided role ID.\u003c/li\u003e\n                                \u003cli\u003e  Creates a new role in the system.\u003c/li\u003e\n                                \u003cli\u003e  Updates an existing role with new information.\u003c/li\u003e\n                                \u003cli\u003e  Deletes a role from the system.\u003c/li\u003e\n                                \u003cli\u003e  Retrieves the status of a role, such as active or inactive.\u003c/li\u003e\n                                \u003cli\u003e  Checks if a role with a given name already exists in the system.\u003c/li\u003e\n                                \u003cli\u003e  Fetches all available data related to roles in the system.\u003c/li\u003e\n                                \u003cli\u003e  Creates a new permission for a role or user.\u003c/li\u003e\n                                \u003cli\u003e  Creates or updates an existing permission in the system.\u003c/li\u003e\n                                \u003cli\u003e  Retrieves a list of permissions associated with a specific role ID.\u003c/li\u003e\n                                \u003cli\u003e  Fetches details of a permission based on the provided permission ID.\u003c/li\u003e\n\u003c/ul\u003e\n\n## 2) Member Access Package\n\nFunctions of spurtCMS \"Member Restrict\" package, collectively provide functionality for managing member access control within the application. This package used in spurtCMS admin application, gives ability to CMS admin to control access to certain parts of the CMS or its content based on user roles, permissions, or other criteria. This feature is crucial for ensuring that sensitive information, administrative tools, or premium content is only accessible to authorized memebers while maintaining the integrity and security of the CMS.\n\n\u003cul\u003e\n                                    \u003cli\u003e Migrate or set up the necessary database tables required for handling member access control.\u003c/li\u003e\n                                    \u003cli\u003e Retrieves information about a specific space, which could be a section or division within the application, typically related to content organization or access control.\u003c/li\u003e\n                                    \u003cli\u003e Retrieves details about a specific page within the admin CMS application.\u003c/li\u003e\n                                    \u003cli\u003e Retrieves information about a specific memeber group or access control group within the system.\u003c/li\u003e\n                                    \u003cli\u003ePerforms checks to verify if a page requires login authentication for access.\u003c/li\u003e\n                                    \u003cli\u003e Retrieves a list of content items accessible to memebers based on their access rights and permissions.\u003c/li\u003e\n                                    \u003cli\u003e Retrieves access control information based on the provided ID, allowing administrators to manage user access rights more granularly.\u003c/li\u003e\n                                    \u003cli\u003e Creates access control settings for members, specifying the level of access they have to specific resources or functionalities within the system.\u003c/li\u003e\n                                    \u003cli\u003e Updates existing member access control settings with new configurations or permissions.\u003c/li\u003e\n                                    \u003cli\u003eDeletes member access control settings, revoking access to specific resources or functionalities as needed.\u003c/li\u003e\n                                    \u003cli\u003e Retrieves channels along with their associated entries, related to content management or publishing.\u003c/li\u003e\n                                    \u003cli\u003eRetrieves the count of channels available within the CMS admin, providing insights into the overall structure and organization of content.\u003c/li\u003e\n\n\u003c/ul\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspurtcms%2Fpkgcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspurtcms%2Fpkgcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspurtcms%2Fpkgcore/lists"}