PageSourceSearch

https://exode.me/client/en-US/chunk-V3JZPFOE.js

js exode.me collected 2026-10-04 16:17:50 UTC 10,967 bytes, 1 lines download raw bytes

1import{Ae as P,Af as f,B as a,Df as x,Ee as B,Og as u,Pg as M,Q as O,Rf as W,S as v,Y as S,Ze as F,aa as c,dh as G,eh as Y,f as E,fg as k,fh as $,ge as s,gf as g,gh as L,i as T,j as D,lh as j,md as y,n as p,nh as z,pd as C,sf as _,th as K,xe as H,ze as d}from"./chunk-HVCWS4IF.js";import{a as w,b as N,j as m}from"./chunk-KJ7W2O2B.js";var h=class h{authHttp=c(C);restExtractor=c(L);accountLoaded=new E(1);getAccount(t){return this.authHttp.get(h.BASE_ACCOUNT_URL+t).pipe(p(e=>new M(e)),v(e=>this.accountLoaded.next(e)),a(e=>this.restExtractor.handleError(e)));}};m(h,"BASE_ACCOUNT_URL",f.apiUrl+"/api/v1/accounts/"),m(h,"\u0275fac",function(e){return new(e||h)();}),m(h,"\u0275prov",S({token:h,factory:h.ɵfac}));var U=h;var A=class V extends u{displayName;description;support;nameWithHost;nameWithHostForced;banners;bannerUrl;updatedAt;ownerAccount;ownerBy;videosCount;viewsPerDay;totalViews;static GET_ACTOR_BANNER_URL(t){if(!t||!Array.isArray(t.banners)||t.banners.length===0)return"";let e=B(t.banners,"width");return e?e.fileUrl:"";}static GET_DEFAULT_AVATAR_URL(t){return t<=48?`${window.location.origin}/client/assets/images/default-avatar-video-channel-48x48.png`:`${window.location.origin}/client/assets/images/default-avatar-video-channel.png`;}static buildPublicUrl(t){return`/c/${u.CREATE_BY_STRING(t.name,t.host)}`;}constructor(t){super(t),this.displayName=t.displayName,this.description=t.description,this.support=t.support,this.banners=t.banners||[],this.isLocal=t.isLocal,this.nameWithHost=u.CREATE_BY_STRING(this.name,this.host),this.nameWithHostForced=u.CREATE_BY_STRING(this.name,this.host,!0),this.videosCount=t.videosCount,t.updatedAt&&(this.updatedAt=new Date(t.updatedAt.toString())),t.viewsPerDay&&(this.viewsPerDay=t.viewsPerDay.map(e=>N(w({},e),{date:new Date(e.date)}))),t.totalViews!==null&&t.totalViews!==void 0&&(this.totalViews=t.totalViews),t.ownerAccount&&(this.ownerAccount=t.ownerAccount,this.ownerBy=u.CREATE_BY_STRING(t.ownerAccount.name,t.ownerAccount.host)),this.updateComputedAttributes();}updateComputedAttributes(){this.bannerUrl=V.GET_ACTOR_BANNER_URL(this);}};var r=class r{authHttp=c(C);restService=c(j);restExtractor=c(L);serverService=c(K);confirmService=c(z);videoChannelLoaded=new E(1);static extractVideoChannels(t){let e=[];for(let i of t.data)e.push(new A(i));return{data:e,total:t.total};}get(t){return this.authHttp.get(r.BASE_VIDEO_CHANNEL_URL+t).pipe(p(e=>new A(e)),v(e=>this.videoChannelLoaded.next(e)),a(e=>this.restExtractor.handleError(e)));}listAccountChannels(t){let{account:e,componentPagination:i,withStats:n=!1,sort:o,search:b,includeCollaborations:R=!1}=t,q=Math.min(this.serverService.getHTMLConfig().videoChannels.maxPerUser,100),Q=i?this.restService.componentToRestPagination(i):{start:0,count:q},l=new y();l=this.restService.addRestGetParams(l,Q,o),l=l.set("withStats",n+""),b&&(l=l.set("search",b)),R&&(l=l.set("includeCollaborations","true"));let Z=U.BASE_ACCOUNT_URL+e.nameWithHost+"/video-channels";return this.authHttp.get(Z,{params:l}).pipe(p(I=>r.extractVideoChannels(I)),a(I=>this.restExtractor.handleError(I)));}create(t){return this.authHttp.post(r.BASE_VIDEO_CHANNEL_URL,t).pipe(a(e=>this.restExtractor.handleError(e)));}update(t,e){return this.authHttp.put(r.BASE_VIDEO_CHANNEL_URL+t,e).pipe(a(i=>this.restExtractor.handleError(i)));}removeWithConfirmation(t){let e="Do you really want to delete "+t.displayName+"?"+"<br />"+x("It will delete {count, plural, =1 {1 video} other {{count} videos}} uploaded in this channel, and you will not be able to create another channel or account with the same name ("+t.name+")!",{count:t.videosCount}),i=this.confirmService.confirmWithExpectedInput(e,"Please type the name of the video channel ("+t.name+") to confirm",t.name,"Delete video channel","Delete");return T(i).pipe(O(n=>n?this.authHttp.delete(r.BASE_VIDEO_CHANNEL_URL+t.nameWithHost).pipe(p(()=>({removed:!0})),a(o=>this.restExtractor.handleError(o))):D({removed:!1})));}changeImage(t,e,i){let n=r.BASE_VIDEO_CHANNEL_URL+t+"/"+i+"/pick";return this.authHttp.post(n,e).pipe(a(o=>this.restExtractor.handleError(o)));}deleteImage(t,e){let i=r.BASE_VIDEO_CHANNEL_URL+t+"/"+e;return this.authHttp.delete(i).pipe(a(n=>this.restExtractor.handleError(n)));}importVideos(t,e,i){let n=r.BASE_VIDEO_CHANNEL_URL+t+"/import-videos",o={externalChannelUrl:e,videoChannelSyncId:i};return this.authHttp.post(n,o).pipe(a(b=>this.restExtractor.handleError(b)));}listCollaborators(t){let e=r.BASE_VIDEO_CHANNEL_URL+t+"/collaborators";return this.authHttp.get(e).pipe(a(i=>this.restExtractor.handleError(i)));}inviteCollaborator(t,e){let i=r.BASE_VIDEO_CHANNEL_URL+t+"/collaborators/invite";return this.authHttp.post(i,{accountHandle:e}).pipe(p(({collaborator:n})=>n),a(n=>this.restExtractor.handleError(n)));}acceptCollaboratorInvitation(t,e){let i=r.BASE_VIDEO_CHANNEL_URL+t+"/collaborators/"+e+"/accept";return this.authHttp.post(i,{}).pipe(a(n=>this.restExtractor.handleError(n)));}rejectCollaboratorInvitation(t,e){let i=r.BASE_VIDEO_CHANNEL_URL+t+"/collaborators/"+e+"/reject";return this.authHttp.post(i,{}).pipe(a(n=>this.restExtractor.handleError(n)));}removeCollaborator(t,e){let i=r.BASE_VIDEO_CHANNEL_URL+t+"/collaborators/"+e;return this.authHttp.delete(i).pipe(a(n=>this.restExtractor.handleError(n)));}listActivities(t){let{channelName:e,componentPagination:i}=t,n=this.restService.componentToRestPagination(i),o=new y();o=this.restService.addRestGetParams(o,n);let b=r.BASE_VIDEO_CHANNEL_URL+e+"/activities";return this.authHttp.get(b,{params:o}).pipe(a(R=>this.restExtractor.handleError(R)));}};m(r,"BASE_VIDEO_CHANNEL_URL",f.apiUrl+"/api/v1/video-channels/"),m(r,"\u0275fac",function(e){return new(e||r)();}),m(r,"\u0275prov",S({token:r,factory:r.ɵfac,providedIn:"root"}));var J=r;var X=class V{byVideoChannel;byAccount;createdAt;updatedAt;publishedAt;originallyPublishedAt;category;licence;language;privacy;truncatedDescription;description;duration;durationLabel;id;uuid;shortUUID;isLocal;name;serverHost;thumbnailPath;thumbnailUrl;previewPath;previewUrl;thumbnails;aspectRatio;isLive;liveSchedules;embedPath;embedUrl;url;views;viewers;downloads;likes;dislikes;nsfw;nsfwFlags;nsfwSummary;originInstanceUrl;originInstanceHost;waitTranscoding;state;scheduledUpdate;blacklisted;blacklistedReason;blockedOwner;blockedServer;account;channel;userHistory;pluginData;streamingPlaylists;files;videoSource;tags;automaticTags;comments;static buildWatchUrl(t){return F({shortUUID:t.shortUUID||t.uuid});}static buildManageUrl(t){return"/videos/manage/"+(t.shortUUID||t.uuid);}static buildDurationLabel(t){return W(t.duration);}constructor(t,e={}){this.createdAt=new Date(t.createdAt.toString()),this.publishedAt=new Date(t.publishedAt.toString()),this.category=t.category,this.licence=t.licence,this.language=t.language,this.privacy=t.privacy,this.waitTranscoding=t.waitTranscoding,this.state=t.state,this.truncatedDescription=t.truncatedDescription,this.description=t.description,this.isLive=t.isLive,this.liveSchedules=t.liveSchedules?t.liveSchedules.map(i=>({startAt:new Date(i.startAt.toString())})):null,this.thumbnails=t.thumbnails,this.duration=t.duration,this.durationLabel=V.buildDurationLabel(this),this.id=t.id,this.uuid=t.uuid,this.shortUUID=t.shortUUID,this.isLocal=t.isLocal,this.name=t.name,this.embedPath=t.embedPath,this.embedUrl=t.embedUrl||k()+t.embedPath,this.url=t.url,this.views=t.views,this.viewers=t.viewers,this.likes=t.likes,this.dislikes=t.dislikes,this.downloads=t.downloads,this.nsfw=t.nsfw,this.nsfwFlags=t.nsfwFlags,this.nsfwSummary=t.nsfwSummary,this.account=t.account,this.channel=t.channel,this.byAccount=u.CREATE_BY_STRING(t.account.name,t.account.host),this.byVideoChannel=u.CREATE_BY_STRING(t.channel.name,t.channel.host),this.category.label=g(this.category.label,e),this.licence.label=g(this.licence.label,e),this.language.label=g(this.language.label,e),this.privacy.label=g(this.privacy.label,e),this.scheduledUpdate=t.scheduledUpdate,this.originallyPublishedAt=t.originallyPublishedAt?new Date(t.originallyPublishedAt.toString()):null,this.state&&(this.state.label=g(this.state.label,e)),this.blackl
1isted=t.blacklisted,this.blacklistedReason=t.blacklistedReason,this.streamingPlaylists=t.streamingPlaylists,this.files=t.files;for(let i of this.getAllVideoFiles())i.resolution.label=g(i.resolution.label,e);this.videoSource=t.videoSource,this.userHistory=t.userHistory,this.originInstanceHost=this.account.host,this.originInstanceUrl="https://"+this.originInstanceHost,this.pluginData=t.pluginData,this.aspectRatio=t.aspectRatio,this.tags=t.tags,this.automaticTags=t.automaticTags,this.comments=t.comments;}isNSFWWarnedForUser(t,e){return G(this,e,t);}isNSFWBlurForUser(t,e){return Y(this,e,t);}isNSFWHiddenForUser(t,e){return $(this,e,t);}isNSFWHiddenOrWarned(t,e){return this.isNSFWHiddenForUser(t,e)||this.isNSFWWarnedForUser(t,e);}isBlockableBy(t){return this.blacklisted!==!0&&t?.hasRight(s.MANAGE_VIDEO_BLACKLIST)===!0;}isUnblockableBy(t){return this.blacklisted===!0&&t?.hasRight(s.MANAGE_VIDEO_BLACKLIST)===!0;}isUpdatableBy(t){return t&&this.isLocal===!0&&(t.isOwnerOfChannel(this.channel)||t.isEditorOfChannel(this.channel)||t.hasRight(s.UPDATE_ANY_VIDEO));}isStudioEditableBy(t){return t.studioEnabled&&this.state?.id===d.PUBLISHED&&this.isUpdatableBy(t.user);}isRemovableBy(t){return t&&this.isLocal===!0&&(t.isOwnerOfChannel(this.channel)||t.isEditorOfChannel(this.channel)||t.hasRight(s.REMOVE_ANY_VIDEO));}canBypassPassword(t){return this.privacy.id===H.PASSWORD_PROTECTED&&t&&this.isLocal===!0&&(t.isOwnerOfChannel(this.channel)||t.isEditorOfChannel(this.channel)||t.hasRight(s.SEE_ALL_VIDEOS));}isLiveInfoAvailableBy(t){return this.isLive&&t&&this.isLocal===!0&&(t.isOwnerOfChannel(this.channel)||t.isEditorOfChannel(this.channel)||t.hasRight(s.GET_ANY_LIVE));}canRemoveOneFile(t){return this.isLocal&&t&&t.hasRight(s.MANAGE_VIDEO_FILES)&&this.state.id!==d.TO_TRANSCODE&&_(this).length>1;}canRemoveAllHLSOrWebFiles(t){return this.isLocal&&t&&t.hasRight(s.MANAGE_VIDEO_FILES)&&this.state.id!==d.TO_TRANSCODE&&this.hasHLS()&&this.hasWebVideos();}canBeDuplicatedBy(t){return t&&this.isLocal===!1&&t.hasRight(s.MANAGE_VIDEOS_REDUNDANCIES);}canRunTranscoding(t){return this.isLocal&&!this.isLive&&t?.hasRight(s.RUN_VIDEO_TRANSCODING)&&this.state?.id&&!this.transcodingAndTranscriptionIncompatibleStates().has(this.state.id);}canGenerateTranscription(t,e){return e&&this.isLocal&&!this.isLive&&t.hasRight(s.UPDATE_ANY_VIDEO)&&this.state?.id&&!this.transcodingAndTranscriptionIncompatibleStates().has(this.state.id);}transcodingAndTranscriptionIncompatibleStates(){return new Set([d.TO_IMPORT,d.TO_IMPORT_FAILED,d.TO_EDIT,d.TO_MOVE_TO_EXTERNAL_STORAGE,d.TO_MOVE_TO_FILE_SYSTEM]);}hasHLS(){return this.streamingPlaylists?.some(t=>t.type===P.HLS);}hasWebVideos(){return this.files&&this.files.length!==0;}getAllVideoFiles(){return _(this);}};export{X as a,A as b,U as c,J as d};/**i18n:347eeb695970c32bc275618edc2e751c67145d9fc3012e70543c114a99b9e016*/

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.