invite link basics

This commit is contained in:
vabene1111
2022-06-01 17:42:07 +02:00
parent f41e4c62d4
commit 2afab2aec8
9 changed files with 714 additions and 9 deletions

View File

@@ -20,7 +20,7 @@ from cookbook.models import (Automation, BookmarkletImport, Comment, CookLog, Cu
RecipeBookEntry, RecipeImport, ShareLink, ShoppingList,
ShoppingListEntry, ShoppingListRecipe, Step, Storage, Supermarket,
SupermarketCategory, SupermarketCategoryRelation, Sync, SyncLog, Unit,
UserFile, UserPreference, ViewLog, Space, UserSpace)
UserFile, UserPreference, ViewLog, Space, UserSpace, InviteLink)
from cookbook.templatetags.custom_tags import markdown
from recipes.settings import MEDIA_URL, AWS_ENABLED
@@ -1026,6 +1026,21 @@ class AutomationSerializer(serializers.ModelSerializer):
read_only_fields = ('created_by',)
class InviteLinkSerializer(WritableNestedModelSerializer):
group = GroupSerializer()
def create(self, validated_data):
validated_data['created_by'] = self.context['request'].user
validated_data['space'] = self.context['request'].space
return super().create(validated_data)
class Meta:
model = InviteLink
fields = (
'id', 'uuid', 'email', 'group', 'valid_until', 'used_by', 'created_by', 'created_at',)
read_only_fields = ('id', 'uuid', 'email', 'created_by', 'created_at',)
# CORS, REST and Scopes aren't currently working
# Scopes are evaluating before REST has authenticated the user assigning a None space
# I've made the change below to fix the bookmarklet, other serializers likely need a similar/better fix

View File

@@ -27,6 +27,7 @@ router.register(r'import-log', api.ImportLogViewSet)
router.register(r'export-log', api.ExportLogViewSet)
router.register(r'group', api.GroupViewSet)
router.register(r'ingredient', api.IngredientViewSet)
router.register(r'invite-link', api.InviteLinkViewSet)
router.register(r'keyword', api.KeywordViewSet)
router.register(r'meal-plan', api.MealPlanViewSet)
router.register(r'meal-type', api.MealTypeViewSet)

View File

@@ -53,7 +53,7 @@ from cookbook.models import (Automation, BookmarkletImport, CookLog, CustomFilte
Recipe, RecipeBook, RecipeBookEntry, ShareLink, ShoppingList,
ShoppingListEntry, ShoppingListRecipe, Step, Storage, Supermarket,
SupermarketCategory, SupermarketCategoryRelation, Sync, SyncLog, Unit,
UserFile, UserPreference, ViewLog, Space, UserSpace)
UserFile, UserPreference, ViewLog, Space, UserSpace, InviteLink)
from cookbook.provider.dropbox import Dropbox
from cookbook.provider.local import Local
from cookbook.provider.nextcloud import Nextcloud
@@ -74,7 +74,7 @@ from cookbook.serializer import (AutomationSerializer, BookmarkletImportSerializ
SupermarketCategorySerializer, SupermarketSerializer,
SyncLogSerializer, SyncSerializer, UnitSerializer,
UserFileSerializer, UserNameSerializer, UserPreferenceSerializer,
ViewLogSerializer, IngredientSimpleSerializer, BookmarkletImportListSerializer, RecipeFromSourceSerializer, SpaceSerializer, UserSpaceSerializer, GroupSerializer)
ViewLogSerializer, IngredientSimpleSerializer, BookmarkletImportListSerializer, RecipeFromSourceSerializer, SpaceSerializer, UserSpaceSerializer, GroupSerializer, InviteLinkSerializer)
from recipes import settings
@@ -1044,6 +1044,16 @@ class AutomationViewSet(viewsets.ModelViewSet, StandardFilterMixin):
return super().get_queryset()
class InviteLinkViewSet(viewsets.ModelViewSet, StandardFilterMixin):
queryset = InviteLink.objects
serializer_class = InviteLinkSerializer
permission_classes = [CustomIsSpaceOwner]
def get_queryset(self):
self.queryset = self.queryset.filter(space=self.request.space).all()
return super().get_queryset()
class CustomFilterViewSet(viewsets.ModelViewSet, StandardFilterMixin):
queryset = CustomFilter.objects
serializer_class = CustomFilterSerializer

View File

@@ -46,6 +46,72 @@
</div>
<div class="row mt-2">
<div class="col col-12">
<button @click="show_invite_create = true">Create</button>
<div v-if="invite_links !== undefined">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>{{ $t('Email') }}</th>
<th>{{ $t('Group') }}</th>
<th>{{ $t('Token') }}</th>
<th></th>
</tr>
</thead>
<tr v-for="il in invite_links" :key="il.id">
<td>{{ il.id }}</td>
<td>{{ il.email }}</td>
<td>
<generic-multiselect
class="input-group-text m-0 p-0"
@change="il.group = $event.val;"
label="name"
:initial_single_selection="il.group"
:model="Models.GROUP"
style="flex-grow: 1; flex-shrink: 1; flex-basis: 0"
:limit="10"
:multiple="false"
/>
</td>
<td><input class="form-control" disabled v-model="il.uuid"></td>
<td><input type="date" v-model="il.valid_until" class="form-control"></td>
<td>
<b-dropdown no-caret right>
<template #button-content>
<i class="fas fa-ellipsis-v"></i>
</template>
<b-dropdown-item>
<i class="fas fa-share-alt"></i>
</b-dropdown-item>
<b-dropdown-item>
<i class="fas fa-link"></i>
</b-dropdown-item>
<b-dropdown-item>
<i class="far fa-clipboard"></i>
</b-dropdown-item>
<b-dropdown-item>
{{ $t('Delete') }}
</b-dropdown-item>
</b-dropdown>
</td>
</tr>
</table>
</div>
</div>
</div>
<generic-modal-form :model="Models.INVITE_LINK" :action="Actions.CREATE" :show="show_invite_create"
@finish-action="show_invite_create = false; loadInviteLinks()"/>
</div>
</template>
@@ -59,17 +125,20 @@ import {ApiMixin, ResolveUrlMixin, StandardToasts, ToastMixin} from "@/utils/uti
import {ApiApiFactory} from "@/utils/openapi/api.ts"
import GenericMultiselect from "@/components/GenericMultiselect";
import GenericModalForm from "@/components/Modals/GenericModalForm";
Vue.use(BootstrapVue)
export default {
name: "SupermarketView",
mixins: [ResolveUrlMixin, ToastMixin, ApiMixin],
components: {GenericMultiselect},
components: {GenericMultiselect, GenericModalForm},
data() {
return {
space: undefined,
user_spaces: []
user_spaces: [],
invite_links: [],
show_invite_create: false
}
},
mounted() {
@@ -82,8 +151,15 @@ export default {
apiFactory.listUserSpaces().then(r => {
this.user_spaces = r.data
})
this.loadInviteLinks()
},
methods: {
loadInviteLinks: function () {
let apiFactory = new ApiApiFactory()
apiFactory.listInviteLinks().then(r => {
this.invite_links = r.data
})
},
updateUserSpace: function (userSpace) {
let apiFactory = new ApiApiFactory()
apiFactory.partialUpdateUserSpace(userSpace.id, userSpace).then(r => {

View File

@@ -0,0 +1,36 @@
<template>
<div>
<b-form-group v-bind:label="label" class="mb-3">
<b-form-input v-model="new_value" type="date" ></b-form-input>
<em v-if="help" class="small text-muted">{{ help }}</em>
<small v-if="subtitle" class="text-muted">{{ subtitle }}</small>
</b-form-group>
</div>
</template>
<script>
export default {
name: "DateInput",
props: {
field: { type: String, default: "You Forgot To Set Field Name" },
label: { type: String, default: "Text Field" },
value: { type: String, default: "" },
help: { type: String, default: undefined },
subtitle: { type: String, default: undefined },
},
data() {
return {
new_value: undefined,
}
},
mounted() {
this.new_value = this.value
},
watch: {
new_value: function () {
this.$root.$emit("change", this.field, this.new_value)
},
},
methods: {},
}
</script>

View File

@@ -14,6 +14,7 @@
<emoji-input v-if="visibleCondition(f, 'emoji')" :label="f.label" :value="f.value" :field="f.field" @change="storeValue" />
<file-input v-if="visibleCondition(f, 'file')" :label="f.label" :value="f.value" :field="f.field" @change="storeValue" />
<small-text v-if="visibleCondition(f, 'smalltext')" :value="f.value" />
<date-input v-if="visibleCondition(f, 'date')" :label="f.label" :value="f.value" :field="f.field" :help="showHelp && f.help" :subtitle="f.subtitle" />
</div>
<template v-slot:modal-footer>
<div class="row w-100">
@@ -42,6 +43,7 @@ import { ApiMixin, StandardToasts, ToastMixin, getUserPreference } from "@/utils
import CheckboxInput from "@/components/Modals/CheckboxInput"
import LookupInput from "@/components/Modals/LookupInput"
import TextInput from "@/components/Modals/TextInput"
import DateInput from "@/components/Modals/DateInput"
import EmojiInput from "@/components/Modals/EmojiInput"
import ChoiceInput from "@/components/Modals/ChoiceInput"
import FileInput from "@/components/Modals/FileInput"
@@ -50,7 +52,7 @@ import HelpBadge from "@/components/Badges/Help"
export default {
name: "GenericModalForm",
components: { FileInput, CheckboxInput, LookupInput, TextInput, EmojiInput, ChoiceInput, SmallText, HelpBadge },
components: { FileInput, CheckboxInput, LookupInput, TextInput, EmojiInput, ChoiceInput, SmallText, HelpBadge,DateInput },
mixins: [ApiMixin, ToastMixin],
props: {
model: { required: true, type: Object },

View File

@@ -412,5 +412,6 @@
"Warning_Delete_Supermarket_Category": "Deleting a supermarket category will also delete all relations to foods. Are you sure?",
"New_Supermarket": "Create new supermarket",
"New_Supermarket_Category": "Create new supermarket category",
"Are_You_Sure": "Are you sure?"
"Are_You_Sure": "Are you sure?",
"Valid Until": "Valid Until"
}

View File

@@ -663,6 +663,41 @@ export class Models {
},
},
}
static INVITE_LINK = {
name: "InviteLink",
apiName: "InviteLink",
paginated: false,
create: {
params: [["email", "group", "valid_until"]],
form: {
email: {
form_field: true,
type: "text",
field: "email",
label: "Email",
placeholder: "",
},
group: {
form_field: true,
type: "lookup",
field: "group",
list: "GROUP",
list_label: "name",
label: "Group",
placeholder: "",
},
valid_until: {
form_field: true,
type: "date",
field: "valid_until",
label: "Valid Until",
placeholder: "",
},
},
},
}
static USER = {
name: "User",
apiName: "User",

View File

@@ -1315,6 +1315,61 @@ export interface InlineResponse2009 {
*/
results?: Array<SyncLog>;
}
/**
*
* @export
* @interface InviteLink
*/
export interface InviteLink {
/**
*
* @type {number}
* @memberof InviteLink
*/
id?: number;
/**
*
* @type {string}
* @memberof InviteLink
*/
uuid?: string;
/**
*
* @type {string}
* @memberof InviteLink
*/
email?: string;
/**
*
* @type {number}
* @memberof InviteLink
*/
group: number;
/**
*
* @type {string}
* @memberof InviteLink
*/
valid_until?: string;
/**
*
* @type {number}
* @memberof InviteLink
*/
used_by?: number | null;
/**
*
* @type {string}
* @memberof InviteLink
*/
created_by?: string;
/**
*
* @type {string}
* @memberof InviteLink
*/
created_at?: string;
}
/**
*
* @export
@@ -3634,10 +3689,10 @@ export interface UserSpace {
space?: string;
/**
*
* @type {Array<number>}
* @type {Array<UserSpaceGroups>}
* @memberof UserSpace
*/
groups: Array<number>;
groups: Array<UserSpaceGroups>;
/**
*
* @type {string}
@@ -3651,6 +3706,25 @@ export interface UserSpace {
*/
updated_at?: string;
}
/**
*
* @export
* @interface UserSpaceGroups
*/
export interface UserSpaceGroups {
/**
*
* @type {number}
* @memberof UserSpaceGroups
*/
id?: number;
/**
*
* @type {string}
* @memberof UserSpaceGroups
*/
name: string;
}
/**
*
* @export
@@ -3953,6 +4027,39 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration)
options: localVarRequestOptions,
};
},
/**
*
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
createInviteLink: async (inviteLink?: InviteLink, options: any = {}): Promise<RequestArgs> => {
const localVarPath = `/api/invite-link/`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
localVarHeaderParameter['Content-Type'] = 'application/json';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(inviteLink, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {Keyword} [keyword]
@@ -4890,6 +4997,39 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration)
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
destroyInviteLink: async (id: string, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'id' is not null or undefined
assertParamExists('destroyInviteLink', 'id', id)
const localVarPath = `/api/invite-link/{id}/`
.replace(`{${"id"}}`, encodeURIComponent(String(id)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -5952,6 +6092,35 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration)
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
listInviteLinks: async (options: any = {}): Promise<RequestArgs> => {
const localVarPath = `/api/invite-link/`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -7379,6 +7548,43 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration)
options: localVarRequestOptions,
};
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
partialUpdateInviteLink: async (id: string, inviteLink?: InviteLink, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'id' is not null or undefined
assertParamExists('partialUpdateInviteLink', 'id', id)
const localVarPath = `/api/invite-link/{id}/`
.replace(`{${"id"}}`, encodeURIComponent(String(id)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'PATCH', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
localVarHeaderParameter['Content-Type'] = 'application/json';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(inviteLink, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -8532,6 +8738,39 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration)
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
retrieveInviteLink: async (id: string, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'id' is not null or undefined
assertParamExists('retrieveInviteLink', 'id', id)
const localVarPath = `/api/invite-link/{id}/`
.replace(`{${"id"}}`, encodeURIComponent(String(id)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
@@ -9670,6 +9909,43 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration)
options: localVarRequestOptions,
};
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
updateInviteLink: async (id: string, inviteLink?: InviteLink, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'id' is not null or undefined
assertParamExists('updateInviteLink', 'id', id)
const localVarPath = `/api/invite-link/{id}/`
.replace(`{${"id"}}`, encodeURIComponent(String(id)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
localVarHeaderParameter['Content-Type'] = 'application/json';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(inviteLink, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -10358,6 +10634,43 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration)
options: localVarRequestOptions,
};
},
/**
*
* @param {string} id A unique integer value identifying this user space.
* @param {UserSpace} [userSpace]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
updateUserSpace: async (id: string, userSpace?: UserSpace, options: any = {}): Promise<RequestArgs> => {
// verify required parameter 'id' is not null or undefined
assertParamExists('updateUserSpace', 'id', id)
const localVarPath = `/api/user-space/{id}/`
.replace(`{${"id"}}`, encodeURIComponent(String(id)));
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
let baseOptions;
if (configuration) {
baseOptions = configuration.baseOptions;
}
const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};
const localVarHeaderParameter = {} as any;
const localVarQueryParameter = {} as any;
localVarHeaderParameter['Content-Type'] = 'application/json';
setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);
let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
localVarRequestOptions.data = serializeDataIfNeeded(userSpace, localVarRequestOptions, configuration)
return {
url: toPathString(localVarUrlObj),
options: localVarRequestOptions,
};
},
/**
*
* @param {string} id A unique integer value identifying this view log.
@@ -10485,6 +10798,16 @@ export const ApiApiFp = function(configuration?: Configuration) {
const localVarAxiosArgs = await localVarAxiosParamCreator.createIngredient(ingredient, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async createInviteLink(inviteLink?: InviteLink, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<InviteLink>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.createInviteLink(inviteLink, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {Keyword} [keyword]
@@ -10768,6 +11091,16 @@ export const ApiApiFp = function(configuration?: Configuration) {
const localVarAxiosArgs = await localVarAxiosParamCreator.destroyIngredient(id, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async destroyInviteLink(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.destroyInviteLink(id, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -11083,6 +11416,15 @@ export const ApiApiFp = function(configuration?: Configuration) {
const localVarAxiosArgs = await localVarAxiosParamCreator.listIngredients(page, pageSize, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async listInviteLinks(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<Array<InviteLink>>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.listInviteLinks(options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} [query] Query string matched against keyword name.
@@ -11488,6 +11830,17 @@ export const ApiApiFp = function(configuration?: Configuration) {
const localVarAxiosArgs = await localVarAxiosParamCreator.partialUpdateIngredient(id, ingredient, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async partialUpdateInviteLink(id: string, inviteLink?: InviteLink, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<InviteLink>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.partialUpdateInviteLink(id, inviteLink, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -11832,6 +12185,16 @@ export const ApiApiFp = function(configuration?: Configuration) {
const localVarAxiosArgs = await localVarAxiosParamCreator.retrieveIngredient(id, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async retrieveInviteLink(id: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<InviteLink>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.retrieveInviteLink(id, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -12172,6 +12535,17 @@ export const ApiApiFp = function(configuration?: Configuration) {
const localVarAxiosArgs = await localVarAxiosParamCreator.updateIngredient(id, ingredient, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async updateInviteLink(id: string, inviteLink?: InviteLink, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<InviteLink>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.updateInviteLink(id, inviteLink, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -12373,6 +12747,17 @@ export const ApiApiFp = function(configuration?: Configuration) {
const localVarAxiosArgs = await localVarAxiosParamCreator.updateUserPreference(user, userPreference, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id A unique integer value identifying this user space.
* @param {UserSpace} [userSpace]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
async updateUserSpace(id: string, userSpace?: UserSpace, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<UserSpace>> {
const localVarAxiosArgs = await localVarAxiosParamCreator.updateUserSpace(id, userSpace, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
*
* @param {string} id A unique integer value identifying this view log.
@@ -12466,6 +12851,15 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?:
createIngredient(ingredient?: Ingredient, options?: any): AxiosPromise<Ingredient> {
return localVarFp.createIngredient(ingredient, options).then((request) => request(axios, basePath));
},
/**
*
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
createInviteLink(inviteLink?: InviteLink, options?: any): AxiosPromise<InviteLink> {
return localVarFp.createInviteLink(inviteLink, options).then((request) => request(axios, basePath));
},
/**
*
* @param {Keyword} [keyword]
@@ -12721,6 +13115,15 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?:
destroyIngredient(id: string, options?: any): AxiosPromise<void> {
return localVarFp.destroyIngredient(id, options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
destroyInviteLink(id: string, options?: any): AxiosPromise<void> {
return localVarFp.destroyInviteLink(id, options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -13005,6 +13408,14 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?:
listIngredients(page?: number, pageSize?: number, options?: any): AxiosPromise<InlineResponse2004> {
return localVarFp.listIngredients(page, pageSize, options).then((request) => request(axios, basePath));
},
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
listInviteLinks(options?: any): AxiosPromise<Array<InviteLink>> {
return localVarFp.listInviteLinks(options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} [query] Query string matched against keyword name.
@@ -13374,6 +13785,16 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?:
partialUpdateIngredient(id: string, ingredient?: Ingredient, options?: any): AxiosPromise<Ingredient> {
return localVarFp.partialUpdateIngredient(id, ingredient, options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
partialUpdateInviteLink(id: string, inviteLink?: InviteLink, options?: any): AxiosPromise<InviteLink> {
return localVarFp.partialUpdateInviteLink(id, inviteLink, options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -13686,6 +14107,15 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?:
retrieveIngredient(id: string, options?: any): AxiosPromise<Ingredient> {
return localVarFp.retrieveIngredient(id, options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
retrieveInviteLink(id: string, options?: any): AxiosPromise<InviteLink> {
return localVarFp.retrieveInviteLink(id, options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -13993,6 +14423,16 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?:
updateIngredient(id: string, ingredient?: Ingredient, options?: any): AxiosPromise<Ingredient> {
return localVarFp.updateIngredient(id, ingredient, options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
updateInviteLink(id: string, inviteLink?: InviteLink, options?: any): AxiosPromise<InviteLink> {
return localVarFp.updateInviteLink(id, inviteLink, options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -14176,6 +14616,16 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?:
updateUserPreference(user: string, userPreference?: UserPreference, options?: any): AxiosPromise<UserPreference> {
return localVarFp.updateUserPreference(user, userPreference, options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} id A unique integer value identifying this user space.
* @param {UserSpace} [userSpace]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
updateUserSpace(id: string, userSpace?: UserSpace, options?: any): AxiosPromise<UserSpace> {
return localVarFp.updateUserSpace(id, userSpace, options).then((request) => request(axios, basePath));
},
/**
*
* @param {string} id A unique integer value identifying this view log.
@@ -14284,6 +14734,17 @@ export class ApiApi extends BaseAPI {
return ApiApiFp(this.configuration).createIngredient(ingredient, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ApiApi
*/
public createInviteLink(inviteLink?: InviteLink, options?: any) {
return ApiApiFp(this.configuration).createInviteLink(inviteLink, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {Keyword} [keyword]
@@ -14595,6 +15056,17 @@ export class ApiApi extends BaseAPI {
return ApiApiFp(this.configuration).destroyIngredient(id, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ApiApi
*/
public destroyInviteLink(id: string, options?: any) {
return ApiApiFp(this.configuration).destroyInviteLink(id, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -14941,6 +15413,16 @@ export class ApiApi extends BaseAPI {
return ApiApiFp(this.configuration).listIngredients(page, pageSize, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ApiApi
*/
public listInviteLinks(options?: any) {
return ApiApiFp(this.configuration).listInviteLinks(options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} [query] Query string matched against keyword name.
@@ -15382,6 +15864,18 @@ export class ApiApi extends BaseAPI {
return ApiApiFp(this.configuration).partialUpdateIngredient(id, ingredient, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ApiApi
*/
public partialUpdateInviteLink(id: string, inviteLink?: InviteLink, options?: any) {
return ApiApiFp(this.configuration).partialUpdateInviteLink(id, inviteLink, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -15758,6 +16252,17 @@ export class ApiApi extends BaseAPI {
return ApiApiFp(this.configuration).retrieveIngredient(id, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ApiApi
*/
public retrieveInviteLink(id: string, options?: any) {
return ApiApiFp(this.configuration).retrieveInviteLink(id, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -16131,6 +16636,18 @@ export class ApiApi extends BaseAPI {
return ApiApiFp(this.configuration).updateIngredient(id, ingredient, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} id A unique integer value identifying this invite link.
* @param {InviteLink} [inviteLink]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ApiApi
*/
public updateInviteLink(id: string, inviteLink?: InviteLink, options?: any) {
return ApiApiFp(this.configuration).updateInviteLink(id, inviteLink, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} id A unique integer value identifying this keyword.
@@ -16350,6 +16867,18 @@ export class ApiApi extends BaseAPI {
return ApiApiFp(this.configuration).updateUserPreference(user, userPreference, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} id A unique integer value identifying this user space.
* @param {UserSpace} [userSpace]
* @param {*} [options] Override http request option.
* @throws {RequiredError}
* @memberof ApiApi
*/
public updateUserSpace(id: string, userSpace?: UserSpace, options?: any) {
return ApiApiFp(this.configuration).updateUserSpace(id, userSpace, options).then((request) => request(this.axios, this.basePath));
}
/**
*
* @param {string} id A unique integer value identifying this view log.