feat: more details for invite link
This commit is contained in:
@@ -125,5 +125,65 @@ export const KEY_PWA_INSTALLED = "VOCECHAT_PWA_INSTALLED";
|
||||
export const KEY_LOCAL_MAGIC_TOKEN = "VOCECHAT_LOCAL_MAGIC_TOKEN";
|
||||
export const KEY_LOCAL_TRY_PATH = "VOCECHAT_TRY_PATH";
|
||||
export const Emojis = ["👍", "❤️", "😄", "👀", "👎", "🎉", "🙁", "🚀"];
|
||||
export const getInviteLinkExpireList = () => [
|
||||
{
|
||||
label: i18n.t("auth:invite_expire.min30"),
|
||||
value: 30 * 60
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_expire.h1"),
|
||||
value: 60 * 60
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_expire.h6"),
|
||||
value: 6 * 60 * 60
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_expire.h12"),
|
||||
value: 12 * 60 * 60
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_expire.d1"),
|
||||
value: 24 * 60 * 60
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_expire.d7"),
|
||||
value: 7 * 24 * 60 * 60
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_expire.d30"),
|
||||
value: 30 * 24 * 60 * 60
|
||||
}
|
||||
];
|
||||
export const getInviteLinkTimesList = () => [
|
||||
{
|
||||
label: i18n.t("auth:invite_times.no_limit"),
|
||||
value: -1
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_times.time1"),
|
||||
value: 1
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_times.times5"),
|
||||
value: 5
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_times.times10"),
|
||||
value: 10
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_times.times25"),
|
||||
value: 25
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_times.times50"),
|
||||
value: 50
|
||||
},
|
||||
{
|
||||
label: i18n.t("auth:invite_times.times100"),
|
||||
value: 100
|
||||
}
|
||||
];
|
||||
|
||||
export default BASE_URL;
|
||||
|
||||
@@ -82,15 +82,13 @@ export const channelApi = createApi({
|
||||
}
|
||||
}
|
||||
}),
|
||||
createInviteLink: builder.query<string, number | void>({
|
||||
query: (gid) => ({
|
||||
createInviteLink: builder.query<string, { expire: number; times: number }>({
|
||||
query: (data) => ({
|
||||
headers: {
|
||||
"content-type": "text/plain",
|
||||
accept: "text/plain"
|
||||
},
|
||||
url: gid
|
||||
? `/group/create_reg_magic_link?expired_in=3600&max_times=1&gid=${gid}`
|
||||
: `/group/create_reg_magic_link?expired_in=3600&max_times=1`,
|
||||
url: `/group/create_reg_magic_link?expired_in=${data.expire}&max_times=${data.times}`,
|
||||
responseHandler: "text"
|
||||
}),
|
||||
transformResponse: (link: string) => {
|
||||
@@ -117,14 +115,17 @@ export const channelApi = createApi({
|
||||
}
|
||||
}
|
||||
}),
|
||||
createPrivateInviteLink: builder.query<string, number | void>({
|
||||
query: (gid) => ({
|
||||
createPrivateInviteLink: builder.query<
|
||||
string,
|
||||
{ cid: number; expire: number; times: number | null }
|
||||
>({
|
||||
query: (data) => ({
|
||||
headers: {
|
||||
"content-type": "text/plain",
|
||||
accept: "text/plain"
|
||||
},
|
||||
// 七天过期
|
||||
url: `/group/create_invite_private_magic_link?expired_in=604800&max_times=1&gid=${gid}`,
|
||||
url: `/group/create_invite_private_magic_link?expired_in=${data.expire}&max_times=${data.times}&gid=${data.cid}`,
|
||||
responseHandler: "text"
|
||||
}),
|
||||
transformResponse: (link: string) => {
|
||||
|
||||
@@ -21,15 +21,12 @@ import {
|
||||
TestEmailDTO
|
||||
} from "@/types/server";
|
||||
import { User } from "@/types/user";
|
||||
import { transformInviteLink } from "@/utils";
|
||||
import BASE_URL, { ContentTypes, IS_OFFICIAL_DEMO, PAYMENT_URL_PREFIX } from "../config";
|
||||
import { updateInfo } from "../slices/server";
|
||||
import { updateCallInfo, upsertVoiceList } from "../slices/voice";
|
||||
import { RootState } from "../store";
|
||||
import baseQuery from "./base.query";
|
||||
|
||||
const defaultExpireDuration = 2 * 24 * 60 * 60;
|
||||
|
||||
export const serverApi = createApi({
|
||||
reducerPath: "serverApi",
|
||||
baseQuery,
|
||||
@@ -263,19 +260,6 @@ export const serverApi = createApi({
|
||||
}
|
||||
}
|
||||
}),
|
||||
createInviteLink: builder.query<string, number>({
|
||||
query: (expired_in = defaultExpireDuration) => ({
|
||||
headers: {
|
||||
"content-type": "text/plain",
|
||||
accept: "text/plain"
|
||||
},
|
||||
url: `/admin/system/create_invite_link?expired_in=${expired_in}`,
|
||||
responseHandler: "text"
|
||||
}),
|
||||
transformResponse: (link: string) => {
|
||||
return transformInviteLink(link);
|
||||
}
|
||||
}),
|
||||
updateServer: builder.mutation<void, Server>({
|
||||
query: (data) => ({
|
||||
url: "admin/system/organization",
|
||||
@@ -434,8 +418,6 @@ export const {
|
||||
useLazyGetServerQuery,
|
||||
useUpdateServerMutation,
|
||||
useUpdateLogoMutation,
|
||||
useCreateInviteLinkQuery,
|
||||
useLazyCreateInviteLinkQuery,
|
||||
useGetThirdPartySecretQuery,
|
||||
useUpdateThirdPartySecretMutation,
|
||||
useCreateAdminMutation,
|
||||
|
||||
Reference in New Issue
Block a user