{"id":23168795,"url":"https://github.com/servable-community/publishable","last_synced_at":"2025-04-04T22:45:00.015Z","repository":{"id":196869197,"uuid":"697411534","full_name":"servable-community/publishable","owner":"servable-community","description":"The publishable protocol handles the complete publication state of an object.","archived":false,"fork":false,"pushed_at":"2024-02-01T20:07:57.000Z","size":555,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-14T09:06:24.579Z","etag":null,"topics":["protocol","publication","servable"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/servable-community.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}},"created_at":"2023-09-27T17:13:23.000Z","updated_at":"2023-11-04T09:16:16.000Z","dependencies_parsed_at":"2023-09-28T01:21:44.896Z","dependency_job_id":"d306a723-dcc8-41c6-91b7-a670527b3c53","html_url":"https://github.com/servable-community/publishable","commit_stats":null,"previous_names":["yelounak/publishable-server","yelounak/servable-publishable-server","servable-community/publishable","yelounak/servable-publishable"],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/servable-community%2Fpublishable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/servable-community%2Fpublishable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/servable-community%2Fpublishable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/servable-community%2Fpublishable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/servable-community","download_url":"https://codeload.github.com/servable-community/publishable/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247261581,"owners_count":20910107,"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":["protocol","publication","servable"],"created_at":"2024-12-18T03:13:27.223Z","updated_at":"2025-04-04T22:44:59.996Z","avatar_url":"https://github.com/servable-community.png","language":"JavaScript","readme":"# Publishable *protocol for Servable*\n\n\n**@servable-community/publishable**\n\n\n[![npm Package](https://img.shields.io/npm/v/@servable-community/publishable.svg?style=flat-square)](https://www.npmjs.org/package/@servable-community/publishable) [![NPM Downloads](https://img.shields.io/npm/dm/@servable-community/publishable.svg)](https://npmjs.org/package/@servable-community/publishable) [![Build Status](https://github.com/servable-community/publishable/actions/workflows/release.yml/badge.svg)](https://github.com/servable-community/publishable/actions/tests.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n\n\n\n\n\u003cimg src=\"src/assets/icon.png\" alt=\"drawing\" style=\"width:80px;\" /\u003e\n\n\n\n\n\n\n\n## A complete lifecycle management for publication\n\n\n\nAllow any object to be in a published or drafted state.\n\nLorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.\n\n\n\n```mermaid\n\n%%{\n\n  init: {\n\n    'theme': 'base',\n\n    'themeVariables': {\n\n      'primaryColor': '#fff',\n\n      'primaryTextColor': '#323232',\n\n      'primaryBorderColor': '#323232',\n\n      'lineColor': '#323232',\n\n      'fontFamily': 'ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace'\n\n    }\n\n  }\n\n}%%\n\nflowchart TD\n\n    start([Launch Servable]) --\u003e requiresMigration{A protocol\\n requires\\n migration?}\n\n    requiresMigration -- Yes --\u003e migrate[Migrate every protocol \\nthat requires migration]\n\n    requiresMigration -- No --\u003e doLaunch[Do Launch]\n\n    migrate --\u003e doLaunch[Do Launch]\n\n```\n\n\n\n### Available in Servable registry\n\n\n\u003cimg src=\"https://cdn.servable.app/assets/logo.png\" alt=\"drawing\" style=\"width:50px;\" /\u003e\n\n\n@servable-community/publishable is available at [servable registry](https://servable.app/feature/@servable-community/publishable).\n\n\n**Use in your servable project:**\n\n```bash\nyo servable -t useprotocol --protocolid @servable-community/publishable\n```\n\n## Install\n\n```bash\nyarn add @servable-community/publishable\n```\n\n\nor\n\n```bash\nnpm install @servable-community/publishable\n```\n\n## Compatible engines\n\n| Adapter | Version | Link |\n| ------- | ------- | ---- |\n| @servable-community/parse-server-engine | * | https://github.com/servable-community/parse-server-engine.git |\n\n## Used APIs\n\n| Api | Version |\n| --- | ------- |\n| Route | * |\n| Object | * |\n| Cloud | * |\n| User | * |\n| Role | * |\n| Session | * |\n| Installation | * |\n| Config | * |\n| LiveQuery | * |\n\n## Categories\n\n\n![Static Badge](https://img.shields.io/badge/app-orange) ![Static Badge](https://img.shields.io/badge/generic-orange)\n\n### Companion packages\n\n\n\u003cimg src=\"https://github-readme-stats.vercel.app/api/pin/?username=undefined\u0026repo=undefined\"/\u003e\n\n### Dependencies\n\n#### Target classes\n\n\n\u003cimg src=\"https://github-readme-stats.vercel.app/api/pin/?username=servable-community\u0026repo=disposableorphansable\"/\u003e\n\n\n\u003cimg src=\"https://github-readme-stats.vercel.app/api/pin/?username=servable-community\u0026repo=disposablechildrenable\"/\u003e\n\n#### Managed classes\n\n##### Applies to classes: *commentableEntry*\n\n\n\u003cimg src=\"https://github-readme-stats.vercel.app/api/pin/?username=servable-community\u0026repo=localable\"/\u003e\n\n## Usage\n\n### Template\n\n\nAdd this template to your class' protocols.json file. Fill the values to fit your needs with the right parameters.\n\n```json\n{\n  \"id\": \"publishable\",\n  \"name\": \"Publishable\",\n  \"slug\": \"\",\n  \"params\": {}\n}\n```\n\n### Parameters\n\n| type | id  | Message | Default value | vacuity |\n| ---- | --- | ------- | ------------- | ------- |\n| input | waitForValidation | Wait for validation |  | optional |\n| input | errorMessage | Error message | Could not publish | mandatory |\n| input | notifyOnError | Notify on error |  | mandatory |\n\n## Seed\n\n## Protocol class\n\n## Before init\n\n## After init\n\n## Config\n\n## Functions\n\n## Live Classes\n\n## Schema\n\n#### Target class\n\n\n**Fields**\n\n| Name | Type | Target class | Default value |\n| ---- | ---- | ------------ | ------------- |\n| publishableStatus | String |  |  |\n\n\n**Class Level Permissions**\n\n| Name | Content |\n| ---- | ------- |\n| protectedFields | {\"*\":[]} |\n\n\n**Indexes**\n\n| Name | Content |\n| ---- | ------- |\n| _publishableStatus | {\"publishableStatus\":1} |\n\n## System\n\n## Lib\n\n## Triggers\n\n## Resources\n\n### Servable Documentation\n\n\nYou can find here the complete [servable documentation](https://docs.servable.app/) with guides and api reference.\n\n### Servable Registry\n\n\nYou can find other Servable  protocols at the [Servable registry](https://servable.app/)\n\n### License\n\n\nMIT © [servable-community](https://github.com/servable-community)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fservable-community%2Fpublishable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fservable-community%2Fpublishable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fservable-community%2Fpublishable/lists"}