Merge branch 'feature/member_features' of github.com:solidtime-io/solidtime into feature/update_billable_rate

# Conflicts:
#	e2e/members.spec.ts
#	e2e/organization.spec.ts
This commit is contained in:
Gregor Vostrak
2024-07-01 17:15:08 +02:00
14 changed files with 283 additions and 82 deletions

View File

@@ -89,6 +89,9 @@ export type Member = MemberIndexResponse['data'][0];
export type UpdateMemberBody = ZodiosBodyByAlias<SolidTimeApi, 'updateMember'>;
export type InviteMemberBody = ZodiosBodyByAlias<SolidTimeApi, 'invite'>;
export type MemberRole = InviteMemberBody['role'];
export type CreateTagBody = ZodiosBodyByAlias<SolidTimeApi, 'createTag'>;
export type ImportType = ZodiosResponseByAlias<

View File

@@ -7,3 +7,8 @@ export function isBillingActivated() {
return page.props.has_billing_extension;
}
export function hasActiveSubscription() {
// TODO: Replace with server side check
return true;
}

View File

@@ -41,13 +41,17 @@ export const useNotificationsStore = defineStore('notifications', () => {
async function handleApiRequestNotifications<T>(
apiRequest: () => Promise<T>,
successMessage?: string,
errorMessage?: string
errorMessage?: string,
onSuccess?: (response: T) => void
) {
try {
const response = await apiRequest();
if (successMessage) {
addNotification('success', successMessage);
}
if (onSuccess) {
onSuccess(response);
}
return response;
} catch (error) {
if (axios.isAxiosError(error)) {
@@ -72,6 +76,9 @@ export const useNotificationsStore = defineStore('notifications', () => {
if (successMessage) {
addNotification('success', successMessage);
}
if (onSuccess) {
onSuccess(response);
}
return response;
} catch (error) {
router.get(route('login'));