# extendify/1.2.1/src/Library/api/User.js

Extendify, version 1.2.1. 68 lines.

- Page: https://pluginprobe.com/plugins/extendify/1.2.1/code/src/Library/api/User.js
- Raw: https://pluginprobe.com/plugins/extendify/1.2.1/raw/src/Library/api/User.js
- Modified: 2022-10-21T02:18:10+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/extendify/1.2.1/code/src/Library/api/User.js#L10-L20`.

```javascript
import { Axios as api } from './axios'

export const User = {
    async getData() {
        // Zustand changed their persist middleware to bind to the store
        // so api was undefined here. That's why using fetch for this one request.
        const data = await fetch(`${window.extendifyData.root}/user`, {
            method: 'GET',
            headers: {
                'X-WP-Nonce': window.extendifyData.nonce,
                'X-Requested-With': 'XMLHttpRequest',
                'X-Extendify': true,
            },
        })
        return await data.json()
    },
    getMeta(key) {
        return api.get('user-meta', {
            params: {
                key,
            },
        })
    },
    authenticate(email, key) {
        const formData = new FormData()
        formData.append('email', email)
        formData.append('key', key)
        return api.post('login', formData, {
            headers: {
                'Content-Type': 'multipart/form-data',
            },
        })
    },
    register(email) {
        const formData = new FormData()
        formData.append('data', email)
        return api.post('register', formData, {
            headers: {
                'Content-Type': 'multipart/form-data',
            },
        })
    },
    setData(data) {
        const formData = new FormData()
        formData.append('data', JSON.stringify(data))
        return api.post('user', formData, {
            headers: {
                'Content-Type': 'multipart/form-data',
            },
        })
    },
    deleteData() {
        return api.post('clear-user')
    },
    registerMailingList(email) {
        const formData = new FormData()
        formData.append('email', email)
        return api.post('register-mailing-list', formData, {
            headers: {
                'Content-Type': 'multipart/form-data',
            },
        })
    },
    allowedImports() {
        return api.get('max-free-imports')
    },
}

```
