1
0
Fork 0
freesewing/markdown/dev/reference/backend/patterns/clone/en.md

3.6 KiB

title
Clone a Pattern

Create a new Pattern by cloning an existing one.

Access control

The Permission level required to clone a Pattern depends on:

  • Whether the Pattern is public
  • Who created the Pattern

The details are outlined in the table below:

Public Patterns Non-Public Patterns
Your own 0 or higher 3 or higher
Other user's 0 or higher 5 or higher

Endpoints

Creating a new Person is possible via these endpoints:

Method Path Authentication
/patterns/:id/clone/jwt JSON Web Token
/patterns/:id/clone/key API Key & Secret

Request URL

The URL should contain the ID of the Pattern you wish to remove. It replaces the :id placeholder in the endpoints listed above.

Response status codes

Possible status codes for these endpoints are:

Status code Description
success
the request was malformed
the request lacks authentication
authentication failed
server error
If the status code is not the `error` property in the response body should indicate the nature of the problem.

Response body

Value Type Description
result String Either success or error
error String Will give info on the nature of the error. Only set if an error occurred.
pattern.id Number The ID of the Pattern
pattern.createdAt String Date string indicating the moment the pattern was created
pattern.data Object Any additional data that was stored with Pattern data
pattern.design String The name of the design of which this Pattern is an instance
pattern.img String The URL to the image stored with this Pattern
pattern.name String The name of the Pattern
pattern.notes String The notes stored with the Pattern
pattern.personId Number The ID of the Person for whom the Pattern was created
pattern.public Boolean Indicates whether the Pattern is publicly accessible or not
pattern.settings Object The settings used to (re-)create the Pattern
pattern.userId Number The ID of the user who created the Pattern
pattern.updatedAt String Date string indicating the last time the pattern was updated

Example request

const clone = axios.post(
  'https://backend.freesewing.org/patterns/10/clone/jwt',
  null,
  {
    headers: {
      Authorization: `Bearer ${token}`
    }
  }
)

Example response

{
  "result": "success",
  "pattern": {
    "id": 19,
    "createdAt": "2022-11-19T16:29:33.346Z",
    "data": {
      "some": "value"
    },
    "design": "aaron",
    "img": "https://cdn.sanity.io/images/hl5bw8cj/production/a1565c8c6c70cfe7ea0fdf5c65501cd885adbe78-200x187.png",
    "name": "Just a test",
    "notes": "These are my notes",
    "personId": 17,
    "public": true,
    "settings": {
      "sa": 5
    },
    "userId": 10,
    "updatedAt": "2022-11-19T16:29:33.346Z"
  }
}