Constructors

  • Parameters

    • fetch: ((input, init?) => Promise<Response>)
        • (input, init?): Promise<Response>
        • Parameters

          • input: RequestInfo | URL
          • Optional init: RequestInit

          Returns Promise<Response>

    • authToken: string

    Returns Folksonomy

Properties

baseUrl: string
fetch: ((input, init?) => Promise<Response>)

Type declaration

    • (input, init?): Promise<Response>
    • Parameters

      • input: RequestInfo | URL
      • Optional init: RequestInit

      Returns Promise<Response>

raw: {
    DELETE<P>(url, ...init): Promise<FetchResponse<"delete" extends keyof paths[P]
        ? paths[P][keyof paths[P] & "delete"]
        : unknown>>;
    GET<P>(url, ...init): Promise<FetchResponse<"get" extends keyof paths[P]
        ? paths[P][keyof paths[P] & "get"]
        : unknown>>;
    HEAD<P>(url, ...init): Promise<FetchResponse<"head" extends keyof paths[P]
        ? paths[P][keyof paths[P] & "head"]
        : unknown>>;
    OPTIONS<P>(url, ...init): Promise<FetchResponse<"options" extends keyof paths[P]
        ? paths[P][keyof paths[P] & "options"]
        : unknown>>;
    PATCH<P>(url, ...init): Promise<FetchResponse<"patch" extends keyof paths[P]
        ? paths[P][keyof paths[P] & "patch"]
        : unknown>>;
    POST<P>(url, ...init): Promise<FetchResponse<"post" extends keyof paths[P]
        ? paths[P][keyof paths[P] & "post"]
        : unknown>>;
    PUT<P>(url, ...init): Promise<FetchResponse<"put" extends keyof paths[P]
        ? paths[P][keyof paths[P] & "put"]
        : unknown>>;
    TRACE<P>(url, ...init): Promise<FetchResponse<"trace" extends keyof paths[P]
        ? paths[P][keyof paths[P] & "trace"]
        : unknown>>;
}

Type declaration

  • DELETE:function
    • Call a DELETE endpoint

      Type Parameters

      • P extends "/product/{product}/{k}"

      Parameters

      • url: P
      • Rest ...init: HasRequiredKeys<FetchOptions<FilterKeys<paths[P], "delete">>> extends never
            ? [FetchOptions<FilterKeys<paths[P], "delete">>?]
            : [FetchOptions<FilterKeys<paths[P], "delete">>]

      Returns Promise<FetchResponse<"delete" extends keyof paths[P]
          ? paths[P][keyof paths[P] & "delete"]
          : unknown>>

  • GET:function
    • Call a GET endpoint

      Type Parameters

      • P extends PathsWithMethod<paths, "get">

      Parameters

      • url: P
      • Rest ...init: HasRequiredKeys<FetchOptions<FilterKeys<paths[P], "get">>> extends never
            ? [FetchOptions<FilterKeys<paths[P], "get">>?]
            : [FetchOptions<FilterKeys<paths[P], "get">>]

      Returns Promise<FetchResponse<"get" extends keyof paths[P]
          ? paths[P][keyof paths[P] & "get"]
          : unknown>>

  • HEAD:function
    • Call a HEAD endpoint

      Type Parameters

      • P extends never

      Parameters

      • url: P
      • Rest ...init: HasRequiredKeys<FetchOptions<FilterKeys<paths[P], "head">>> extends never
            ? [FetchOptions<FilterKeys<paths[P], "head">>?]
            : [FetchOptions<FilterKeys<paths[P], "head">>]

      Returns Promise<FetchResponse<"head" extends keyof paths[P]
          ? paths[P][keyof paths[P] & "head"]
          : unknown>>

  • OPTIONS:function
    • Call a OPTIONS endpoint

      Type Parameters

      • P extends never

      Parameters

      • url: P
      • Rest ...init: HasRequiredKeys<FetchOptions<FilterKeys<paths[P], "options">>> extends never
            ? [FetchOptions<FilterKeys<paths[P], "options">>?]
            : [FetchOptions<FilterKeys<paths[P], "options">>]

      Returns Promise<FetchResponse<"options" extends keyof paths[P]
          ? paths[P][keyof paths[P] & "options"]
          : unknown>>

  • PATCH:function
    • Call a PATCH endpoint

      Type Parameters

      • P extends never

      Parameters

      • url: P
      • Rest ...init: HasRequiredKeys<FetchOptions<FilterKeys<paths[P], "patch">>> extends never
            ? [FetchOptions<FilterKeys<paths[P], "patch">>?]
            : [FetchOptions<FilterKeys<paths[P], "patch">>]

      Returns Promise<FetchResponse<"patch" extends keyof paths[P]
          ? paths[P][keyof paths[P] & "patch"]
          : unknown>>

  • POST:function
    • Call a POST endpoint

      Type Parameters

      • P extends PathsWithMethod<paths, "post">

      Parameters

      • url: P
      • Rest ...init: HasRequiredKeys<FetchOptions<FilterKeys<paths[P], "post">>> extends never
            ? [FetchOptions<FilterKeys<paths[P], "post">>?]
            : [FetchOptions<FilterKeys<paths[P], "post">>]

      Returns Promise<FetchResponse<"post" extends keyof paths[P]
          ? paths[P][keyof paths[P] & "post"]
          : unknown>>

  • PUT:function
    • Call a PUT endpoint

      Type Parameters

      • P extends "/product"

      Parameters

      • url: P
      • Rest ...init: HasRequiredKeys<FetchOptions<FilterKeys<paths[P], "put">>> extends never
            ? [FetchOptions<FilterKeys<paths[P], "put">>?]
            : [FetchOptions<FilterKeys<paths[P], "put">>]

      Returns Promise<FetchResponse<"put" extends keyof paths[P]
          ? paths[P][keyof paths[P] & "put"]
          : unknown>>

  • TRACE:function
    • Call a TRACE endpoint

      Type Parameters

      • P extends never

      Parameters

      • url: P
      • Rest ...init: HasRequiredKeys<FetchOptions<FilterKeys<paths[P], "trace">>> extends never
            ? [FetchOptions<FilterKeys<paths[P], "trace">>?]
            : [FetchOptions<FilterKeys<paths[P], "trace">>]

      Returns Promise<FetchResponse<"trace" extends keyof paths[P]
          ? paths[P][keyof paths[P] & "trace"]
          : unknown>>

Methods

  • Update a product tag (or add it if it does not exist)

    Parameters

    • tag: {
          comment?: string;
          editor?: string;
          k: string;
          last_edit?: string;
          owner?: string;
          product: string;
          v: string;
          version?: number;
      }

      Tag to add or update with the following fields:

      • k: key
      • v: value
      • product: barcode
      • version: version of the tag (must be equal to previous version + 1)
      • owner: user_id of the owner of the tag (empty for public tags)
      • Optional comment?: string

        Comment

        Default

        
        
      • Optional editor?: string

        Editor

      • k: string

        K

      • Optional last_edit?: string

        Last Edit Format: date-time

      • Optional owner?: string

        Owner

        Default

        
        
      • product: string

        Product

      • v: string

        V

      • Optional version?: number

        Version

        Default

        1
        

    Returns Promise<boolean>

    if the tag was added or updated

  • Get a list of existing tags for a product

    Parameters

    • barcode: string

    Returns Promise<FetchResponse<{
        parameters: {
            path: {
                product: string;
            };
            query?: {
                owner?: unknown;
            };
        };
        responses: {
            200: {
                content: {
                    application/json: {
                        comment?: string;
                        editor?: string;
                        k: string;
                        last_edit?: string;
                        owner?: string;
                        product: string;
                        v: string;
                        version?: number;
                    }[];
                };
            };
            422: {
                content: {
                    application/json: {
                        detail?: {
                            loc: string[];
                            msg: string;
                            type: string;
                        }[];
                    };
                };
            };
        };
    }>>

  • Get the list of products that have a key or key=value if value is provided

    Parameters

    • key: string
    • Optional value: string

    Returns Promise<{
        comment?: string;
        editor?: string;
        k: string;
        last_edit?: string;
        owner?: string;
        product: string;
        v: string;
        version?: number;
    }[]>

  • Authentication: provide user/password and get a bearer token in return

    Parameters

    • username: string

      Open Food Facts user_id (not email)

    • password: string

      user password

    Returns Promise<{
        token: {
            access_token: string;
            token_type: string;
        };
    } | {
        error: ApiError;
    }>

    the bearer token, to be used in later requests with usual "Authorization: bearer token" headers

  • Parameters

    • tag: {
          comment?: string;
          editor?: string;
          k: string;
          last_edit?: string;
          owner?: string;
          product: string;
          v: string;
          version?: number;
      }
      • Optional comment?: string

        Comment

        Default

        
        
      • Optional editor?: string

        Editor

      • k: string

        K

      • Optional last_edit?: string

        Last Edit Format: date-time

      • Optional owner?: string

        Owner

        Default

        
        
      • product: string

        Product

      • v: string

        V

      • Optional version?: number

        Version

        Default

        1
        

    Returns Promise<boolean>

  • Delete a product tag

    Parameters

    • tag: {
          comment?: string;
          editor?: string;
          k: string;
          last_edit?: string;
          owner?: string;
          product: string;
          v: string;
          version?: number;
      } & {
          version: number;
      }

    Returns Promise<FetchResponse<{
        parameters: {
            path: {
                k: string;
                product: string;
            };
            query: {
                owner?: unknown;
                version: number;
            };
        };
        responses: {
            200: {
                content: {
                    application/json: unknown;
                };
            };
            422: {
                content: {
                    application/json: {
                        detail?: {
                            loc: string[];
                            msg: string;
                            type: string;
                        }[];
                    };
                };
            };
        };
    }>>

    if the tag was deleted

Generated using TypeDoc