|
|
@@ -0,0 +1,391 @@
|
|
|
+/* tslint:disable */
|
|
|
+/* eslint-disable */
|
|
|
+/**
|
|
|
+ * Admin.NET 通用权限开发平台
|
|
|
+ * 让 .NET 开发更简单、更通用、更流行。整合最新技术,模块插件式开发,前后端分离,开箱即用。<br/><u><b><font color='FF0000'> 👮不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!</font></b></u>
|
|
|
+ *
|
|
|
+ * OpenAPI spec version: 1.0.0
|
|
|
+ *
|
|
|
+ *
|
|
|
+ * NOTE: This class is auto generated by the swagger code generator program.
|
|
|
+ * https://github.com/swagger-api/swagger-codegen.git
|
|
|
+ * Do not edit the class manually.
|
|
|
+ */
|
|
|
+import globalAxios, { AxiosResponse, AxiosInstance, AxiosRequestConfig } from 'axios';
|
|
|
+import { Configuration } from '../configuration';
|
|
|
+// Some imports not used depending on template conditions
|
|
|
+// @ts-ignore
|
|
|
+import { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';
|
|
|
+import { AddUserRegWayInput } from '../models';
|
|
|
+import { AdminResultInt64 } from '../models';
|
|
|
+import { AdminResultListUserRegWayOutput } from '../models';
|
|
|
+import { BaseIdInput } from '../models';
|
|
|
+import { PageUserRegWayInput } from '../models';
|
|
|
+import { UpdateUserRegWayInput } from '../models';
|
|
|
+/**
|
|
|
+ * SysUserRegWayApi - axios parameter creator
|
|
|
+ * @export
|
|
|
+ */
|
|
|
+export const SysUserRegWayApiAxiosParamCreator = function (configuration?: Configuration) {
|
|
|
+ return {
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 增加注册方案 ➕
|
|
|
+ * @param {AddUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ apiSysUserRegWayAddPost: async (body?: AddUserRegWayInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
|
+ const localVarPath = `/api/sysUserRegWay/add`;
|
|
|
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
|
+ const localVarUrlObj = new URL(localVarPath, 'https://example.com');
|
|
|
+ let baseOptions;
|
|
|
+ if (configuration) {
|
|
|
+ baseOptions = configuration.baseOptions;
|
|
|
+ }
|
|
|
+ const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
|
|
|
+ const localVarHeaderParameter = {} as any;
|
|
|
+ const localVarQueryParameter = {} as any;
|
|
|
+
|
|
|
+ // authentication Bearer required
|
|
|
+ // http bearer authentication required
|
|
|
+ if (configuration && configuration.accessToken) {
|
|
|
+ const accessToken = typeof configuration.accessToken === 'function'
|
|
|
+ ? await configuration.accessToken()
|
|
|
+ : await configuration.accessToken;
|
|
|
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
|
|
|
+ }
|
|
|
+
|
|
|
+ localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
|
|
|
+
|
|
|
+ const query = new URLSearchParams(localVarUrlObj.search);
|
|
|
+ for (const key in localVarQueryParameter) {
|
|
|
+ query.set(key, localVarQueryParameter[key]);
|
|
|
+ }
|
|
|
+ for (const key in options.params) {
|
|
|
+ query.set(key, options.params[key]);
|
|
|
+ }
|
|
|
+ localVarUrlObj.search = (new URLSearchParams(query)).toString();
|
|
|
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
|
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
|
+ const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
|
|
|
+ localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
|
|
|
+
|
|
|
+ return {
|
|
|
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
|
|
|
+ options: localVarRequestOptions,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 删除注册方案 ❌
|
|
|
+ * @param {BaseIdInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ apiSysUserRegWayDeletePost: async (body?: BaseIdInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
|
+ const localVarPath = `/api/sysUserRegWay/delete`;
|
|
|
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
|
+ const localVarUrlObj = new URL(localVarPath, 'https://example.com');
|
|
|
+ let baseOptions;
|
|
|
+ if (configuration) {
|
|
|
+ baseOptions = configuration.baseOptions;
|
|
|
+ }
|
|
|
+ const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
|
|
|
+ const localVarHeaderParameter = {} as any;
|
|
|
+ const localVarQueryParameter = {} as any;
|
|
|
+
|
|
|
+ // authentication Bearer required
|
|
|
+ // http bearer authentication required
|
|
|
+ if (configuration && configuration.accessToken) {
|
|
|
+ const accessToken = typeof configuration.accessToken === 'function'
|
|
|
+ ? await configuration.accessToken()
|
|
|
+ : await configuration.accessToken;
|
|
|
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
|
|
|
+ }
|
|
|
+
|
|
|
+ localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
|
|
|
+
|
|
|
+ const query = new URLSearchParams(localVarUrlObj.search);
|
|
|
+ for (const key in localVarQueryParameter) {
|
|
|
+ query.set(key, localVarQueryParameter[key]);
|
|
|
+ }
|
|
|
+ for (const key in options.params) {
|
|
|
+ query.set(key, options.params[key]);
|
|
|
+ }
|
|
|
+ localVarUrlObj.search = (new URLSearchParams(query)).toString();
|
|
|
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
|
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
|
+ const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
|
|
|
+ localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
|
|
|
+
|
|
|
+ return {
|
|
|
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
|
|
|
+ options: localVarRequestOptions,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 查询注册方案列表 🔖
|
|
|
+ * @param {PageUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ apiSysUserRegWayListPost: async (body?: PageUserRegWayInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
|
+ const localVarPath = `/api/sysUserRegWay/list`;
|
|
|
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
|
+ const localVarUrlObj = new URL(localVarPath, 'https://example.com');
|
|
|
+ let baseOptions;
|
|
|
+ if (configuration) {
|
|
|
+ baseOptions = configuration.baseOptions;
|
|
|
+ }
|
|
|
+ const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
|
|
|
+ const localVarHeaderParameter = {} as any;
|
|
|
+ const localVarQueryParameter = {} as any;
|
|
|
+
|
|
|
+ // authentication Bearer required
|
|
|
+ // http bearer authentication required
|
|
|
+ if (configuration && configuration.accessToken) {
|
|
|
+ const accessToken = typeof configuration.accessToken === 'function'
|
|
|
+ ? await configuration.accessToken()
|
|
|
+ : await configuration.accessToken;
|
|
|
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
|
|
|
+ }
|
|
|
+
|
|
|
+ localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
|
|
|
+
|
|
|
+ const query = new URLSearchParams(localVarUrlObj.search);
|
|
|
+ for (const key in localVarQueryParameter) {
|
|
|
+ query.set(key, localVarQueryParameter[key]);
|
|
|
+ }
|
|
|
+ for (const key in options.params) {
|
|
|
+ query.set(key, options.params[key]);
|
|
|
+ }
|
|
|
+ localVarUrlObj.search = (new URLSearchParams(query)).toString();
|
|
|
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
|
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
|
+ const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
|
|
|
+ localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
|
|
|
+
|
|
|
+ return {
|
|
|
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
|
|
|
+ options: localVarRequestOptions,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 更新注册方案 ✏️
|
|
|
+ * @param {UpdateUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ apiSysUserRegWayUpdatePost: async (body?: UpdateUserRegWayInput, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
|
|
|
+ const localVarPath = `/api/sysUserRegWay/update`;
|
|
|
+ // use dummy base URL string because the URL constructor only accepts absolute URLs.
|
|
|
+ const localVarUrlObj = new URL(localVarPath, 'https://example.com');
|
|
|
+ let baseOptions;
|
|
|
+ if (configuration) {
|
|
|
+ baseOptions = configuration.baseOptions;
|
|
|
+ }
|
|
|
+ const localVarRequestOptions :AxiosRequestConfig = { method: 'POST', ...baseOptions, ...options};
|
|
|
+ const localVarHeaderParameter = {} as any;
|
|
|
+ const localVarQueryParameter = {} as any;
|
|
|
+
|
|
|
+ // authentication Bearer required
|
|
|
+ // http bearer authentication required
|
|
|
+ if (configuration && configuration.accessToken) {
|
|
|
+ const accessToken = typeof configuration.accessToken === 'function'
|
|
|
+ ? await configuration.accessToken()
|
|
|
+ : await configuration.accessToken;
|
|
|
+ localVarHeaderParameter["Authorization"] = "Bearer " + accessToken;
|
|
|
+ }
|
|
|
+
|
|
|
+ localVarHeaderParameter['Content-Type'] = 'application/json-patch+json';
|
|
|
+
|
|
|
+ const query = new URLSearchParams(localVarUrlObj.search);
|
|
|
+ for (const key in localVarQueryParameter) {
|
|
|
+ query.set(key, localVarQueryParameter[key]);
|
|
|
+ }
|
|
|
+ for (const key in options.params) {
|
|
|
+ query.set(key, options.params[key]);
|
|
|
+ }
|
|
|
+ localVarUrlObj.search = (new URLSearchParams(query)).toString();
|
|
|
+ let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};
|
|
|
+ localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};
|
|
|
+ const needsSerialization = (typeof body !== "string") || localVarRequestOptions.headers['Content-Type'] === 'application/json';
|
|
|
+ localVarRequestOptions.data = needsSerialization ? JSON.stringify(body !== undefined ? body : {}) : (body || "");
|
|
|
+
|
|
|
+ return {
|
|
|
+ url: localVarUrlObj.pathname + localVarUrlObj.search + localVarUrlObj.hash,
|
|
|
+ options: localVarRequestOptions,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * SysUserRegWayApi - functional programming interface
|
|
|
+ * @export
|
|
|
+ */
|
|
|
+export const SysUserRegWayApiFp = function(configuration?: Configuration) {
|
|
|
+ return {
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 增加注册方案 ➕
|
|
|
+ * @param {AddUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ async apiSysUserRegWayAddPost(body?: AddUserRegWayInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultInt64>>> {
|
|
|
+ const localVarAxiosArgs = await SysUserRegWayApiAxiosParamCreator(configuration).apiSysUserRegWayAddPost(body, options);
|
|
|
+ return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
|
|
|
+ const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
|
|
|
+ return axios.request(axiosRequestArgs);
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 删除注册方案 ❌
|
|
|
+ * @param {BaseIdInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ async apiSysUserRegWayDeletePost(body?: BaseIdInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
|
|
|
+ const localVarAxiosArgs = await SysUserRegWayApiAxiosParamCreator(configuration).apiSysUserRegWayDeletePost(body, options);
|
|
|
+ return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
|
|
|
+ const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
|
|
|
+ return axios.request(axiosRequestArgs);
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 查询注册方案列表 🔖
|
|
|
+ * @param {PageUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ async apiSysUserRegWayListPost(body?: PageUserRegWayInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<AdminResultListUserRegWayOutput>>> {
|
|
|
+ const localVarAxiosArgs = await SysUserRegWayApiAxiosParamCreator(configuration).apiSysUserRegWayListPost(body, options);
|
|
|
+ return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
|
|
|
+ const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
|
|
|
+ return axios.request(axiosRequestArgs);
|
|
|
+ };
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 更新注册方案 ✏️
|
|
|
+ * @param {UpdateUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ async apiSysUserRegWayUpdatePost(body?: UpdateUserRegWayInput, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => Promise<AxiosResponse<void>>> {
|
|
|
+ const localVarAxiosArgs = await SysUserRegWayApiAxiosParamCreator(configuration).apiSysUserRegWayUpdatePost(body, options);
|
|
|
+ return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {
|
|
|
+ const axiosRequestArgs :AxiosRequestConfig = {...localVarAxiosArgs.options, url: basePath + localVarAxiosArgs.url};
|
|
|
+ return axios.request(axiosRequestArgs);
|
|
|
+ };
|
|
|
+ },
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * SysUserRegWayApi - factory interface
|
|
|
+ * @export
|
|
|
+ */
|
|
|
+export const SysUserRegWayApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {
|
|
|
+ return {
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 增加注册方案 ➕
|
|
|
+ * @param {AddUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ async apiSysUserRegWayAddPost(body?: AddUserRegWayInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultInt64>> {
|
|
|
+ return SysUserRegWayApiFp(configuration).apiSysUserRegWayAddPost(body, options).then((request) => request(axios, basePath));
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 删除注册方案 ❌
|
|
|
+ * @param {BaseIdInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ async apiSysUserRegWayDeletePost(body?: BaseIdInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
|
|
|
+ return SysUserRegWayApiFp(configuration).apiSysUserRegWayDeletePost(body, options).then((request) => request(axios, basePath));
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 查询注册方案列表 🔖
|
|
|
+ * @param {PageUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ async apiSysUserRegWayListPost(body?: PageUserRegWayInput, options?: AxiosRequestConfig): Promise<AxiosResponse<AdminResultListUserRegWayOutput>> {
|
|
|
+ return SysUserRegWayApiFp(configuration).apiSysUserRegWayListPost(body, options).then((request) => request(axios, basePath));
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 更新注册方案 ✏️
|
|
|
+ * @param {UpdateUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ */
|
|
|
+ async apiSysUserRegWayUpdatePost(body?: UpdateUserRegWayInput, options?: AxiosRequestConfig): Promise<AxiosResponse<void>> {
|
|
|
+ return SysUserRegWayApiFp(configuration).apiSysUserRegWayUpdatePost(body, options).then((request) => request(axios, basePath));
|
|
|
+ },
|
|
|
+ };
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
+ * SysUserRegWayApi - object-oriented interface
|
|
|
+ * @export
|
|
|
+ * @class SysUserRegWayApi
|
|
|
+ * @extends {BaseAPI}
|
|
|
+ */
|
|
|
+export class SysUserRegWayApi extends BaseAPI {
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 增加注册方案 ➕
|
|
|
+ * @param {AddUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ * @memberof SysUserRegWayApi
|
|
|
+ */
|
|
|
+ public async apiSysUserRegWayAddPost(body?: AddUserRegWayInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultInt64>> {
|
|
|
+ return SysUserRegWayApiFp(this.configuration).apiSysUserRegWayAddPost(body, options).then((request) => request(this.axios, this.basePath));
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 删除注册方案 ❌
|
|
|
+ * @param {BaseIdInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ * @memberof SysUserRegWayApi
|
|
|
+ */
|
|
|
+ public async apiSysUserRegWayDeletePost(body?: BaseIdInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
|
|
|
+ return SysUserRegWayApiFp(this.configuration).apiSysUserRegWayDeletePost(body, options).then((request) => request(this.axios, this.basePath));
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 查询注册方案列表 🔖
|
|
|
+ * @param {PageUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ * @memberof SysUserRegWayApi
|
|
|
+ */
|
|
|
+ public async apiSysUserRegWayListPost(body?: PageUserRegWayInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<AdminResultListUserRegWayOutput>> {
|
|
|
+ return SysUserRegWayApiFp(this.configuration).apiSysUserRegWayListPost(body, options).then((request) => request(this.axios, this.basePath));
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * @summary 更新注册方案 ✏️
|
|
|
+ * @param {UpdateUserRegWayInput} [body]
|
|
|
+ * @param {*} [options] Override http request option.
|
|
|
+ * @throws {RequiredError}
|
|
|
+ * @memberof SysUserRegWayApi
|
|
|
+ */
|
|
|
+ public async apiSysUserRegWayUpdatePost(body?: UpdateUserRegWayInput, options?: AxiosRequestConfig) : Promise<AxiosResponse<void>> {
|
|
|
+ return SysUserRegWayApiFp(this.configuration).apiSysUserRegWayUpdatePost(body, options).then((request) => request(this.axios, this.basePath));
|
|
|
+ }
|
|
|
+}
|