smallbusinesshero / sbh-service

The backend of www.smallbusinesshero.de
MIT License
4 stars 1 forks source link

Extend Store API for input form #76

Open PapaBravo opened 4 years ago

PapaBravo commented 4 years ago

Add the following fields to Store

PapaBravo commented 4 years ago

Update command for dev (id 0a9e549d-5018-4bfc-aaa2-468d76c9e348)

{
    "version": 1,
    "actions": [
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "shopCategory",
                "required": false,
                "label": {
                    "de": "shopCategory",
                    "en": "shopCategory"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "contactWhatsapp",
                "required": false,
                "label": {
                    "de": "contactWhatsapp",
                    "en": "contactWhatsapp"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "contactInstagram",
                "required": false,
                "label": {
                    "de": "contactInstagram",
                    "en": "contactInstagram"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "contactFacebook",
                "required": false,
                "label": {
                    "de": "contactFacebook",
                    "en": "contactFacebook"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "contactFacetime",
                "required": false,
                "label": {
                    "de": "contactFacetime",
                    "en": "contactFacetime"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "contactSkype",
                "required": false,
                "label": {
                    "de": "contactSkype",
                    "en": "contactSkype"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "contactTwitter",
                "required": false,
                "label": {
                    "de": "contactTwitter",
                    "en": "contactTwitter"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "Boolean"
                },
                "name": "hasDelivery",
                "required": false,
                "label": {
                    "de": "hasDelivery",
                    "en": "hasDelivery"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "Boolean"
                },
                "name": "hasPickup",
                "required": false,
                "label": {
                    "de": "hasPickup",
                    "en": "hasPickup"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "Boolean"
                },
                "name": "hasShipping",
                "required": false,
                "label": {
                    "de": "hasShipping",
                    "en": "hasShipping"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "ownerPhone",
                "required": false,
                "label": {
                    "de": "ownerPhone",
                    "en": "ownerPhone"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "ownerEmail",
                "required": false,
                "label": {
                    "de": "ownerEmail",
                    "en": "ownerEmail"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "Number"
                },
                "name": "numberOfEmployees",
                "required": false,
                "label": {
                    "de": "numberOfEmployees",
                    "en": "numberOfEmployees"
                },
                "inputHint": "SingleLine"
            }
        }
    ]
}
PapaBravo commented 4 years ago

Example store:

{
    "key": "my-test-channel",
    "address": {
        "city": "Berlin",
        "postalCode": "12555",
        "streetName": "Bahnhofstraße",
        "streetNumber": "12"
    },
    "contactFacebook": "facebook_handle",
    "contactInstagram": "@some_instagram_handle",
    "contactSkype": "contactSkype",
    "contactTwitter": "contactTwitter",
    "contactWhatsapp": "contactWhatsapp",
    "description": {
        "de-DE": "Deutsche Beschreibung"
    },
    "email": "some@thing.de",
    "hasDelivery": true,
    "hasPickup": true,
    "hasShipping": false,
    "homepage": "https://example.com",
    "name": {
        "de-DE": "Deutscher Shopname"
    },
    "neighborhood": [
        "Köpenick"
    ],
    "numberOfEmployees": 42,
    "ownerEmail": "private@email.de",
    "ownerPhone": "0800 - private phone",
    "phone": "0190 public phone",
    "profileVideoURL": "string",
    "shopCategory": "Fake",
    "shopOwnerImage": "https://example.com/me.jpg",
    "shopOwnerName": "It's a me!"
}
PapaBravo commented 4 years ago

After refining the API, this additional update has to be applied

{
    "version": 14,
    "actions": [
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "contactPhone",
                "required": false,
                "label": {
                    "de": "contactPhone",
                    "en": "contactPhone"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "contactEmail",
                "required": false,
                "label": {
                    "de": "contactEmail",
                    "en": "contactEmail"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "contactHomepage",
                "required": false,
                "label": {
                    "de": "contactHomepage",
                    "en": "contactHomepage"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "shopOwnerFirstName",
                "required": false,
                "label": {
                    "de": "shopOwnerFirstName",
                    "en": "shopOwnerFirstName"
                },
                "inputHint": "SingleLine"
            }
        },
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "shopOwnerLastName",
                "required": false,
                "label": {
                    "de": "shopOwnerLastName",
                    "en": "shopOwnerLastName"
                },
                "inputHint": "SingleLine"
            }
        }
    ]
}
PapaBravo commented 4 years ago
{
    "version": 14,
    "actions": [
        {
            "action": "addFieldDefinition",
            "fieldDefinition": {
                "type": {
                    "name": "String"
                },
                "name": "profileImage",
                "required": false,
                "label": {
                    "de": "profileImage",
                    "en": "profileImage"
                },
                "inputHint": "SingleLine"
            }
        }
    ]
}